"0x608060405234801561001057600080fd5b5060043610610048576000357c010000000000000000000000000000000000000000000000000000000090048063ec5c21c21461004d575b600080fd5b6100af6004803603604081101561006357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506100f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600082826040516101019061018f565b808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604051809103906000f080158015610186573d6000803e3d6000fd5b50905092915050565b6112778061019d8339019056fe60806040526b03648a260e3486a65a000000600355612a30600460006101000a81548165ffffffffffff021916908365ffffffffffff1602179055506202a300600460066101000a81548165ffffffffffff021916908365ffffffffffff160217905550600060055534801561007457600080fd5b506040516040806112778339810180604052604081101561009457600080fd5b81019080805190602001909291908051906020019092919050505081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050611135806101426000396000f3fe608060405234801561001057600080fd5b50600436106100bb576000357c010000000000000000000000000000000000000000000000000000000090048063b7e9cd2411610083578063b7e9cd2414610275578063c959c42b146102e1578063cfc4af551461030f578063cfdd33021461033d578063f4b9fa751461035b576100bb565b80634423c5f1146100c05780634b43ed121461019d5780634e8b1dd5146101df5780637bd2bea71461020d5780637d780d8214610257575b600080fd5b6100ec600480360360208110156100d657600080fd5b81019080803590602001909291905050506103a5565b604051808781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018465ffffffffffff1665ffffffffffff1681526020018365ffffffffffff1665ffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001965050505050505060405180910390f35b6101dd600480360360608110156101b357600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050610445565b005b6101e7610a31565b604051808265ffffffffffff1665ffffffffffff16815260200191505060405180910390f35b610215610a49565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025f610a6f565b6040518082815260200191505060405180910390f35b6102cb6004803603606081101561028b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610a75565b6040518082815260200191505060405180910390f35b61030d600480360360208110156102f757600080fd5b8101908080359060200190929190505050610d17565b005b610317611041565b604051808265ffffffffffff1665ffffffffffff16815260200191505060405180910390f35b610345611059565b6040518082815260200191505060405180910390f35b61036361105f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160149054906101000a900465ffffffffffff169080600201601a9054906101000a900465ffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905086565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4600073ffffffffffffffffffffffffffffffffffffffff1660008088815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561057057600080fd5b4260008088815260200190815260200160002060020160149054906101000a900465ffffffffffff1665ffffffffffff1611806105dc5750600080600088815260200190815260200160002060020160149054906101000a900465ffffffffffff1665ffffffffffff16145b15156105e757600080fd5b42600080888152602001908152602001600020600201601a9054906101000a900465ffffffffffff1665ffffffffffff1611151561062457600080fd5b600080878152602001908152602001600020600101548514151561064757600080fd5b600080878152602001908152602001600020600001548411151561066a57600080fd5b61068b60035460008089815260200190815260200160002060000154611085565b6106a1856b033b2e3c9fd0803ce8000000611085565b101515156106ae57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb35783b336000808a815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808b8152602001908152602001600020600001546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156107f157600080fd5b505af1158015610805573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb35783b336000808a815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808b81526020019081526020016000206000015488036040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561094e57600080fd5b505af1158015610962573d6000803e3d6000fd5b505050503360008088815260200190815260200160002060020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600080888152602001908152602001600020600001819055506109f242600460009054906101000a900465ffffffffffff166110b5565b60008088815260200190815260200160002060020160146101000a81548165ffffffffffff021916908365ffffffffffff160217905550505050505050565b600460009054906101000a900465ffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600554101515610aa757600080fd5b6005600081546001019190508190559050816000808381526020019081526020016000206000018190555082600080838152602001908152602001600020600101819055503360008083815260200190815260200160002060020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b5e42600460069054906101000a900465ffffffffffff166110b5565b600080838152602001908152602001600020600201601a6101000a81548165ffffffffffff021916908365ffffffffffff1602179055508360008083815260200190815260200160002060030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0c80526610c30336110e1565b610c39306110e1565b866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610c9a57600080fd5b505af1158015610cae573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff167f7e8881001566f9f89aedb9c5dc3d856a2b81e5235a8196413ed484be91cc0df682858560405180848152602001838152602001828152602001935050505060405180910390a29392505050565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a44260008086815260200190815260200160002060020160149054906101000a900465ffffffffffff1665ffffffffffff16108015610e3f5750600080600086815260200190815260200160002060020160149054906101000a900465ffffffffffff1665ffffffffffff1614155b80610e78575042600080868152602001908152602001600020600201601a9054906101000a900465ffffffffffff1665ffffffffffff16105b1515610e8357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0c80526610eca306110e1565b610f0860008089815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166110e1565b600080898152602001908152602001600020600101546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610f7e57600080fd5b505af1158015610f92573d6000803e3d6000fd5b5050505060008085815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160146101000a81549065ffffffffffff021916905560028201601a6101000a81549065ffffffffffff02191690556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055505050505050565b600460069054906101000a900465ffffffffffff1681565b60055481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808214806110a4575082828385029250828115156110a157fe5b04145b15156110af57600080fd5b92915050565b60008265ffffffffffff1682840191508165ffffffffffff16101515156110db57600080fd5b92915050565b6000816c01000000000000000000000000026bffffffffffffffffffffffff1916905091905056fea165627a7a72305820806dd5f6ce5ba7dc9b24509be6422474ef26b2e4bee9adb14ebc964745e0b98f0029a165627a7a72305820d465de5ac776d12b0fd5a77bb5bd49ab4528ea1a43d460cd80312162c51ccf160029"