diff --git a/client/contracts/bindings/oracle/build/OracleMgr.abi b/client/contracts/bindings/oracle/build/OracleMgr.abi index c66594dbe..c29bc773c 100644 --- a/client/contracts/bindings/oracle/build/OracleMgr.abi +++ b/client/contracts/bindings/oracle/build/OracleMgr.abi @@ -1 +1 @@ -[{"constant":true,"inputs":[],"name":"maxNumOracles","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getOracleAtIndex","outputs":[{"name":"code","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_maxNumOracles","type":"uint256"},{"name":"_syncFrequency","type":"uint256"},{"name":"_updatePeriod","type":"uint256"},{"name":"_resolverAddr","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"registerOracle","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getOracleCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_price","type":"uint256"}],"name":"submitPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"knsResolver","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"updatePeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"identity","type":"address"}],"name":"isOracle","outputs":[{"name":"isIndeed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPriceCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getPriceAtIndex","outputs":[{"name":"price","type":"uint256"},{"name":"oracle","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"syncFrequency","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deregisterOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_maxNumOracles","type":"uint256"},{"name":"_syncFrequency","type":"uint256"},{"name":"_updatePeriod","type":"uint256"},{"name":"_resolverAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}] \ No newline at end of file +[{"constant":true,"inputs":[],"name":"maxNumOracles","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getOracleAtIndex","outputs":[{"name":"code","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_maxNumOracles","type":"uint256"},{"name":"_syncFrequency","type":"uint256"},{"name":"_updatePeriod","type":"uint256"},{"name":"_resolverAddr","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getOracleCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"identity","type":"address"}],"name":"deregisterOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_price","type":"uint256"}],"name":"submitPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"knsResolver","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"updatePeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"identity","type":"address"}],"name":"isOracle","outputs":[{"name":"isIndeed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPriceCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getPriceAtIndex","outputs":[{"name":"price","type":"uint256"},{"name":"oracle","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"syncFrequency","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"identity","type":"address"}],"name":"registerOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_maxNumOracles","type":"uint256"},{"name":"_syncFrequency","type":"uint256"},{"name":"_updatePeriod","type":"uint256"},{"name":"_resolverAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}] \ No newline at end of file diff --git a/client/contracts/bindings/oracle/build/OracleMgr.bin b/client/contracts/bindings/oracle/build/OracleMgr.bin index 2354021aa..6dd8ee290 100644 --- a/client/contracts/bindings/oracle/build/OracleMgr.bin +++ b/client/contracts/bindings/oracle/build/OracleMgr.bin @@ -1 +1 @@ -608060405260008060146101000a81548160ff02191690831515021790555034801561002a57600080fd5b506040516080806116b783398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000841115156100ba57600080fd5b60008311156100df576000821180156100d35750828211155b15156100de57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b1580156101d157600080fd5b505af41580156101e5573d6000803e3d6000fd5b505050506040513d60208110156101fb57600080fd5b8101908080519060200190929190505050600681600019169055505050505061148e806102296000396000f30060806040526004361061011c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fe7b111461012157806309fe9d391461014c578063158ef93e146101b95780631f8d519d146101e8578063339d2590146102495780633f4ba83a146102535780633f4e42511461026a5780635c975abb14610295578063715018a6146102c45780638456cb59146102db5780638da5cb5b146102f2578063986fcbe914610349578063a035b1fe14610376578063a2207c6a146103a1578063a83627de146103f8578063a97e5c9314610423578063c48c1a711461047e578063c8104e01146104a9578063cdee7e071461051d578063f2fde38b14610548578063f93a2eb21461058b575b600080fd5b34801561012d57600080fd5b506101366105a2565b6040518082815260200191505060405180910390f35b34801561015857600080fd5b50610177600480360381019080803590602001909291905050506105a8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101ce61062e565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b50610247600480360381019080803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610641565b005b610251610878565b005b34801561025f57600080fd5b50610268610a7e565b005b34801561027657600080fd5b5061027f610b3c565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610b49565b604051808215151515815260200191505060405180910390f35b3480156102d057600080fd5b506102d9610b5c565b005b3480156102e757600080fd5b506102f0610c5e565b005b3480156102fe57600080fd5b50610307610d1e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610d43565b005b34801561038257600080fd5b5061038b610ed9565b6040518082815260200191505060405180910390f35b3480156103ad57600080fd5b506103b6610edf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040457600080fd5b5061040d610f05565b6040518082815260200191505060405180910390f35b34801561042f57600080fd5b50610464600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f0b565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b50610493610f64565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104d460048036038101908080359060200190929190505050610f71565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561052957600080fd5b50610532610fc9565b6040518082815260200191505060405180910390f35b34801561055457600080fd5b50610589600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcf565b005b34801561059757600080fd5b506105a0611036565b005b60015481565b6000806008838154811015156105ba57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905050919050565b600060159054906101000a900460ff1681565b600060159054906101000a900460ff161515156106ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b6000841115156106fb57600080fd5b6000831115610720576000821180156107145750828211155b151561071f57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b15801561081257600080fd5b505af4158015610826573d6000803e3d6000fd5b505050506040513d602081101561083c57600080fd5b8101908080519060200190929190505050600681600019169055506001600060156101000a81548160ff02191690831515021790555050505050565b600060149054906101000a900460ff1615151561089457600080fd5b61089d33610f0b565b1515156108a957600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b3b57de6006546040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561094457600080fd5b505af1158015610958573d6000803e3d6000fd5b505050506040513d602081101561096e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16637d0e81bf336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050506040513d6020811015610a4357600080fd5b81019080805190602001909291905050501515610a5f57600080fd5b610a67611071565b1515610a7257600080fd5b610a7c3334611084565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ad957600080fd5b600060149054906101000a900460ff161515610af457600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600880549050905090565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bb757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb957600080fd5b600060149054906101000a900460ff16151515610cd557600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff16151515610d5f57600080fd5b610d6833610f0b565b1515610d7357600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff16151515610dcf57600080fd5b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600960408051908101604052808381526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b6000600980549050905090565b6000806000600984815481101515610f8557fe5b90600052602060002090600202019050806000015492508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050915091565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102a57600080fd5b61103381611159565b50565b600060149054906101000a900460ff1615151561105257600080fd5b61105b33610f0b565b151561106657600080fd5b61106f33611253565b565b6000806008805490506001540311905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160088490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff021916908315150217905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561119557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020925082600001549150600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549060ff02191690555050600860016008805490500381548110151561132957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508060088381548110151561136657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600880548091906001900361140a9190611411565b5050505050565b81548183558181111561143857818360005260206000209182019101611437919061143d565b5b505050565b61145f91905b8082111561145b576000816000905550600101611443565b5090565b905600a165627a7a723058206edebfea6040cf2a51a7b24a3abd4c4f5147e2cd72dc2e88c61b250d8362437b0029 \ No newline at end of file +608060405260008060146101000a81548160ff02191690831515021790555034801561002a57600080fd5b5060405160808061162283398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000841115156100ba57600080fd5b60008311156100df576000821180156100d35750828211155b15156100de57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b1580156101d157600080fd5b505af41580156101e5573d6000803e3d6000fd5b505050506040513d60208110156101fb57600080fd5b810190808051906020019092919050505060068160001916905550505050506113f9806102296000396000f30060806040526004361061011c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fe7b111461012157806309fe9d391461014c578063158ef93e146101b95780631f8d519d146101e85780633f4ba83a146102495780633f4e4251146102605780635c975abb1461028b578063715018a6146102ba5780638456cb59146102d15780638da5cb5b146102e85780638df4e3e21461033f578063986fcbe914610382578063a035b1fe146103af578063a2207c6a146103da578063a83627de14610431578063a97e5c931461045c578063c48c1a71146104b7578063c8104e01146104e2578063cdee7e0714610556578063e9babaec14610581578063f2fde38b146105c4575b600080fd5b34801561012d57600080fd5b50610136610607565b6040518082815260200191505060405180910390f35b34801561015857600080fd5b506101776004803603810190808035906020019092919050505061060d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101ce610693565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b50610247600480360381019080803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106a6565b005b34801561025557600080fd5b5061025e6108dd565b005b34801561026c57600080fd5b5061027561099b565b6040518082815260200191505060405180910390f35b34801561029757600080fd5b506102a06109a8565b604051808215151515815260200191505060405180910390f35b3480156102c657600080fd5b506102cf6109bb565b005b3480156102dd57600080fd5b506102e6610abd565b005b3480156102f457600080fd5b506102fd610b7d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034b57600080fd5b50610380600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ba2565b005b34801561038e57600080fd5b506103ad60048036038101908080359060200190929190505050610c3b565b005b3480156103bb57600080fd5b506103c4610dd3565b6040518082815260200191505060405180910390f35b3480156103e657600080fd5b506103ef610dd9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043d57600080fd5b50610446610dff565b6040518082815260200191505060405180910390f35b34801561046857600080fd5b5061049d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e05565b604051808215151515815260200191505060405180910390f35b3480156104c357600080fd5b506104cc610e5e565b6040518082815260200191505060405180910390f35b3480156104ee57600080fd5b5061050d60048036038101908080359060200190929190505050610e6b565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561056257600080fd5b5061056b610ec3565b6040518082815260200191505060405180910390f35b34801561058d57600080fd5b506105c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec9565b005b3480156105d057600080fd5b50610605600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f76565b005b60015481565b60008060088381548110151561061f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905050919050565b600060159054906101000a900460ff1681565b600060159054906101000a900460ff16151515610751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b60008411151561076057600080fd5b6000831115610785576000821180156107795750828211155b151561078457600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b15801561087757600080fd5b505af415801561088b573d6000803e3d6000fd5b505050506040513d60208110156108a157600080fd5b8101908080519060200190929190505050600681600019169055506001600060156101000a81548160ff02191690831515021790555050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093857600080fd5b600060149054906101000a900460ff16151561095357600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600880549050905090565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a1657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b1857600080fd5b600060149054906101000a900460ff16151515610b3457600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff16151515610bbe57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1957600080fd5b80610c2381610e05565b1515610c2e57600080fd5b610c3782610fdd565b5050565b600060149054906101000a900460ff16151515610c5757600080fd5b33610c6181610e05565b1515610c6c57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff16151515610cc857600080fd5b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600960408051908101604052808481526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b6000600980549050905090565b6000806000600984815481101515610e7f57fe5b90600052602060002090600202019050806000015492508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050915091565b60025481565b600060149054906101000a900460ff16151515610ee557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4057600080fd5b80610f4a81610e05565b151515610f5657600080fd5b610f5e61119b565b1515610f6957600080fd5b610f72826111ae565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fd157600080fd5b610fda81611282565b50565b6000806000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020925082600001549150600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549060ff0219169055505060086001600880549050038154811015156110b357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050806008838154811015156110f057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506008805480919060019003611194919061137c565b5050505050565b6000806008805490506001540311905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160088390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156112be57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8154818355818111156113a3578183600052602060002091820191016113a291906113a8565b5b505050565b6113ca91905b808211156113c65760008160009055506001016113ae565b5090565b905600a165627a7a72305820408eb5444c69e406a31abf8f5256e82f610f9db7375050d039fb57d2a3eecce80029 \ No newline at end of file diff --git a/client/contracts/bindings/oracle/gen_oracle.go b/client/contracts/bindings/oracle/gen_oracle.go index 9ded375db..d44674765 100644 --- a/client/contracts/bindings/oracle/gen_oracle.go +++ b/client/contracts/bindings/oracle/gen_oracle.go @@ -16,10 +16,10 @@ import ( ) // OracleMgrABI is the input ABI used to generate the binding from. -const OracleMgrABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"maxNumOracles\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getOracleAtIndex\",\"outputs\":[{\"name\":\"code\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_maxNumOracles\",\"type\":\"uint256\"},{\"name\":\"_syncFrequency\",\"type\":\"uint256\"},{\"name\":\"_updatePeriod\",\"type\":\"uint256\"},{\"name\":\"_resolverAddr\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"registerOracle\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOracleCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"submitPrice\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"price\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"knsResolver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"updatePeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"identity\",\"type\":\"address\"}],\"name\":\"isOracle\",\"outputs\":[{\"name\":\"isIndeed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getPriceCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getPriceAtIndex\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"oracle\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"syncFrequency\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deregisterOracle\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_maxNumOracles\",\"type\":\"uint256\"},{\"name\":\"_syncFrequency\",\"type\":\"uint256\"},{\"name\":\"_updatePeriod\",\"type\":\"uint256\"},{\"name\":\"_resolverAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Pause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Unpause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]" +const OracleMgrABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"maxNumOracles\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getOracleAtIndex\",\"outputs\":[{\"name\":\"code\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_maxNumOracles\",\"type\":\"uint256\"},{\"name\":\"_syncFrequency\",\"type\":\"uint256\"},{\"name\":\"_updatePeriod\",\"type\":\"uint256\"},{\"name\":\"_resolverAddr\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOracleCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"identity\",\"type\":\"address\"}],\"name\":\"deregisterOracle\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"submitPrice\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"price\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"knsResolver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"updatePeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"identity\",\"type\":\"address\"}],\"name\":\"isOracle\",\"outputs\":[{\"name\":\"isIndeed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getPriceCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getPriceAtIndex\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"oracle\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"syncFrequency\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"identity\",\"type\":\"address\"}],\"name\":\"registerOracle\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_maxNumOracles\",\"type\":\"uint256\"},{\"name\":\"_syncFrequency\",\"type\":\"uint256\"},{\"name\":\"_updatePeriod\",\"type\":\"uint256\"},{\"name\":\"_resolverAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Pause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Unpause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]" // OracleMgrBin is the compiled bytecode used for deploying new contracts. -const OracleMgrBin = `608060405260008060146101000a81548160ff02191690831515021790555034801561002a57600080fd5b506040516080806116b783398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000841115156100ba57600080fd5b60008311156100df576000821180156100d35750828211155b15156100de57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b1580156101d157600080fd5b505af41580156101e5573d6000803e3d6000fd5b505050506040513d60208110156101fb57600080fd5b8101908080519060200190929190505050600681600019169055505050505061148e806102296000396000f30060806040526004361061011c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fe7b111461012157806309fe9d391461014c578063158ef93e146101b95780631f8d519d146101e8578063339d2590146102495780633f4ba83a146102535780633f4e42511461026a5780635c975abb14610295578063715018a6146102c45780638456cb59146102db5780638da5cb5b146102f2578063986fcbe914610349578063a035b1fe14610376578063a2207c6a146103a1578063a83627de146103f8578063a97e5c9314610423578063c48c1a711461047e578063c8104e01146104a9578063cdee7e071461051d578063f2fde38b14610548578063f93a2eb21461058b575b600080fd5b34801561012d57600080fd5b506101366105a2565b6040518082815260200191505060405180910390f35b34801561015857600080fd5b50610177600480360381019080803590602001909291905050506105a8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101ce61062e565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b50610247600480360381019080803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610641565b005b610251610878565b005b34801561025f57600080fd5b50610268610a7e565b005b34801561027657600080fd5b5061027f610b3c565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610b49565b604051808215151515815260200191505060405180910390f35b3480156102d057600080fd5b506102d9610b5c565b005b3480156102e757600080fd5b506102f0610c5e565b005b3480156102fe57600080fd5b50610307610d1e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610d43565b005b34801561038257600080fd5b5061038b610ed9565b6040518082815260200191505060405180910390f35b3480156103ad57600080fd5b506103b6610edf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040457600080fd5b5061040d610f05565b6040518082815260200191505060405180910390f35b34801561042f57600080fd5b50610464600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f0b565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b50610493610f64565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104d460048036038101908080359060200190929190505050610f71565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561052957600080fd5b50610532610fc9565b6040518082815260200191505060405180910390f35b34801561055457600080fd5b50610589600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcf565b005b34801561059757600080fd5b506105a0611036565b005b60015481565b6000806008838154811015156105ba57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905050919050565b600060159054906101000a900460ff1681565b600060159054906101000a900460ff161515156106ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b6000841115156106fb57600080fd5b6000831115610720576000821180156107145750828211155b151561071f57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b15801561081257600080fd5b505af4158015610826573d6000803e3d6000fd5b505050506040513d602081101561083c57600080fd5b8101908080519060200190929190505050600681600019169055506001600060156101000a81548160ff02191690831515021790555050505050565b600060149054906101000a900460ff1615151561089457600080fd5b61089d33610f0b565b1515156108a957600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b3b57de6006546040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561094457600080fd5b505af1158015610958573d6000803e3d6000fd5b505050506040513d602081101561096e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16637d0e81bf336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050506040513d6020811015610a4357600080fd5b81019080805190602001909291905050501515610a5f57600080fd5b610a67611071565b1515610a7257600080fd5b610a7c3334611084565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ad957600080fd5b600060149054906101000a900460ff161515610af457600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600880549050905090565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bb757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb957600080fd5b600060149054906101000a900460ff16151515610cd557600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff16151515610d5f57600080fd5b610d6833610f0b565b1515610d7357600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff16151515610dcf57600080fd5b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600960408051908101604052808381526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b6000600980549050905090565b6000806000600984815481101515610f8557fe5b90600052602060002090600202019050806000015492508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050915091565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102a57600080fd5b61103381611159565b50565b600060149054906101000a900460ff1615151561105257600080fd5b61105b33610f0b565b151561106657600080fd5b61106f33611253565b565b6000806008805490506001540311905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160088490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff021916908315150217905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561119557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020925082600001549150600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549060ff02191690555050600860016008805490500381548110151561132957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508060088381548110151561136657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600880548091906001900361140a9190611411565b5050505050565b81548183558181111561143857818360005260206000209182019101611437919061143d565b5b505050565b61145f91905b8082111561145b576000816000905550600101611443565b5090565b905600a165627a7a723058206edebfea6040cf2a51a7b24a3abd4c4f5147e2cd72dc2e88c61b250d8362437b0029` +const OracleMgrBin = `608060405260008060146101000a81548160ff02191690831515021790555034801561002a57600080fd5b5060405160808061162283398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000841115156100ba57600080fd5b60008311156100df576000821180156100d35750828211155b15156100de57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b1580156101d157600080fd5b505af41580156101e5573d6000803e3d6000fd5b505050506040513d60208110156101fb57600080fd5b810190808051906020019092919050505060068160001916905550505050506113f9806102296000396000f30060806040526004361061011c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fe7b111461012157806309fe9d391461014c578063158ef93e146101b95780631f8d519d146101e85780633f4ba83a146102495780633f4e4251146102605780635c975abb1461028b578063715018a6146102ba5780638456cb59146102d15780638da5cb5b146102e85780638df4e3e21461033f578063986fcbe914610382578063a035b1fe146103af578063a2207c6a146103da578063a83627de14610431578063a97e5c931461045c578063c48c1a71146104b7578063c8104e01146104e2578063cdee7e0714610556578063e9babaec14610581578063f2fde38b146105c4575b600080fd5b34801561012d57600080fd5b50610136610607565b6040518082815260200191505060405180910390f35b34801561015857600080fd5b506101776004803603810190808035906020019092919050505061060d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101ce610693565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b50610247600480360381019080803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106a6565b005b34801561025557600080fd5b5061025e6108dd565b005b34801561026c57600080fd5b5061027561099b565b6040518082815260200191505060405180910390f35b34801561029757600080fd5b506102a06109a8565b604051808215151515815260200191505060405180910390f35b3480156102c657600080fd5b506102cf6109bb565b005b3480156102dd57600080fd5b506102e6610abd565b005b3480156102f457600080fd5b506102fd610b7d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034b57600080fd5b50610380600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ba2565b005b34801561038e57600080fd5b506103ad60048036038101908080359060200190929190505050610c3b565b005b3480156103bb57600080fd5b506103c4610dd3565b6040518082815260200191505060405180910390f35b3480156103e657600080fd5b506103ef610dd9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043d57600080fd5b50610446610dff565b6040518082815260200191505060405180910390f35b34801561046857600080fd5b5061049d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e05565b604051808215151515815260200191505060405180910390f35b3480156104c357600080fd5b506104cc610e5e565b6040518082815260200191505060405180910390f35b3480156104ee57600080fd5b5061050d60048036038101908080359060200190929190505050610e6b565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561056257600080fd5b5061056b610ec3565b6040518082815260200191505060405180910390f35b34801561058d57600080fd5b506105c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec9565b005b3480156105d057600080fd5b50610605600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f76565b005b60015481565b60008060088381548110151561061f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905050919050565b600060159054906101000a900460ff1681565b600060159054906101000a900460ff16151515610751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b60008411151561076057600080fd5b6000831115610785576000821180156107795750828211155b151561078457600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b15801561087757600080fd5b505af415801561088b573d6000803e3d6000fd5b505050506040513d60208110156108a157600080fd5b8101908080519060200190929190505050600681600019169055506001600060156101000a81548160ff02191690831515021790555050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093857600080fd5b600060149054906101000a900460ff16151561095357600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600880549050905090565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a1657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b1857600080fd5b600060149054906101000a900460ff16151515610b3457600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff16151515610bbe57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1957600080fd5b80610c2381610e05565b1515610c2e57600080fd5b610c3782610fdd565b5050565b600060149054906101000a900460ff16151515610c5757600080fd5b33610c6181610e05565b1515610c6c57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff16151515610cc857600080fd5b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600960408051908101604052808481526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b6000600980549050905090565b6000806000600984815481101515610e7f57fe5b90600052602060002090600202019050806000015492508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050915091565b60025481565b600060149054906101000a900460ff16151515610ee557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4057600080fd5b80610f4a81610e05565b151515610f5657600080fd5b610f5e61119b565b1515610f6957600080fd5b610f72826111ae565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fd157600080fd5b610fda81611282565b50565b6000806000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020925082600001549150600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549060ff0219169055505060086001600880549050038154811015156110b357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050806008838154811015156110f057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506008805480919060019003611194919061137c565b5050505050565b6000806008805490506001540311905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160088390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156112be57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8154818355818111156113a3578183600052602060002091820191016113a291906113a8565b5b505050565b6113ca91905b808211156113c65760008160009055506001016113ae565b5090565b905600a165627a7a72305820408eb5444c69e406a31abf8f5256e82f610f9db7375050d039fb57d2a3eecce80029` // DeployOracleMgr deploys a new Kowala contract, binding an instance of OracleMgr to it. func DeployOracleMgr(auth *bind.TransactOpts, backend bind.ContractBackend, _maxNumOracles *big.Int, _syncFrequency *big.Int, _updatePeriod *big.Int, _resolverAddr common.Address) (common.Address, *types.Transaction, *OracleMgr, error) { @@ -524,25 +524,25 @@ func (_OracleMgr *OracleMgrCallerSession) UpdatePeriod() (*big.Int, error) { return _OracleMgr.Contract.UpdatePeriod(&_OracleMgr.CallOpts) } -// DeregisterOracle is a paid mutator transaction binding the contract method 0xf93a2eb2. +// DeregisterOracle is a paid mutator transaction binding the contract method 0x8df4e3e2. // -// Solidity: function deregisterOracle() returns() -func (_OracleMgr *OracleMgrTransactor) DeregisterOracle(opts *bind.TransactOpts) (*types.Transaction, error) { - return _OracleMgr.contract.Transact(opts, "deregisterOracle") +// Solidity: function deregisterOracle(identity address) returns() +func (_OracleMgr *OracleMgrTransactor) DeregisterOracle(opts *bind.TransactOpts, identity common.Address) (*types.Transaction, error) { + return _OracleMgr.contract.Transact(opts, "deregisterOracle", identity) } -// DeregisterOracle is a paid mutator transaction binding the contract method 0xf93a2eb2. +// DeregisterOracle is a paid mutator transaction binding the contract method 0x8df4e3e2. // -// Solidity: function deregisterOracle() returns() -func (_OracleMgr *OracleMgrSession) DeregisterOracle() (*types.Transaction, error) { - return _OracleMgr.Contract.DeregisterOracle(&_OracleMgr.TransactOpts) +// Solidity: function deregisterOracle(identity address) returns() +func (_OracleMgr *OracleMgrSession) DeregisterOracle(identity common.Address) (*types.Transaction, error) { + return _OracleMgr.Contract.DeregisterOracle(&_OracleMgr.TransactOpts, identity) } -// DeregisterOracle is a paid mutator transaction binding the contract method 0xf93a2eb2. +// DeregisterOracle is a paid mutator transaction binding the contract method 0x8df4e3e2. // -// Solidity: function deregisterOracle() returns() -func (_OracleMgr *OracleMgrTransactorSession) DeregisterOracle() (*types.Transaction, error) { - return _OracleMgr.Contract.DeregisterOracle(&_OracleMgr.TransactOpts) +// Solidity: function deregisterOracle(identity address) returns() +func (_OracleMgr *OracleMgrTransactorSession) DeregisterOracle(identity common.Address) (*types.Transaction, error) { + return _OracleMgr.Contract.DeregisterOracle(&_OracleMgr.TransactOpts, identity) } // Initialize is a paid mutator transaction binding the contract method 0x1f8d519d. @@ -587,25 +587,25 @@ func (_OracleMgr *OracleMgrTransactorSession) Pause() (*types.Transaction, error return _OracleMgr.Contract.Pause(&_OracleMgr.TransactOpts) } -// RegisterOracle is a paid mutator transaction binding the contract method 0x339d2590. +// RegisterOracle is a paid mutator transaction binding the contract method 0xe9babaec. // -// Solidity: function registerOracle() returns() -func (_OracleMgr *OracleMgrTransactor) RegisterOracle(opts *bind.TransactOpts) (*types.Transaction, error) { - return _OracleMgr.contract.Transact(opts, "registerOracle") +// Solidity: function registerOracle(identity address) returns() +func (_OracleMgr *OracleMgrTransactor) RegisterOracle(opts *bind.TransactOpts, identity common.Address) (*types.Transaction, error) { + return _OracleMgr.contract.Transact(opts, "registerOracle", identity) } -// RegisterOracle is a paid mutator transaction binding the contract method 0x339d2590. +// RegisterOracle is a paid mutator transaction binding the contract method 0xe9babaec. // -// Solidity: function registerOracle() returns() -func (_OracleMgr *OracleMgrSession) RegisterOracle() (*types.Transaction, error) { - return _OracleMgr.Contract.RegisterOracle(&_OracleMgr.TransactOpts) +// Solidity: function registerOracle(identity address) returns() +func (_OracleMgr *OracleMgrSession) RegisterOracle(identity common.Address) (*types.Transaction, error) { + return _OracleMgr.Contract.RegisterOracle(&_OracleMgr.TransactOpts, identity) } -// RegisterOracle is a paid mutator transaction binding the contract method 0x339d2590. +// RegisterOracle is a paid mutator transaction binding the contract method 0xe9babaec. // -// Solidity: function registerOracle() returns() -func (_OracleMgr *OracleMgrTransactorSession) RegisterOracle() (*types.Transaction, error) { - return _OracleMgr.Contract.RegisterOracle(&_OracleMgr.TransactOpts) +// Solidity: function registerOracle(identity address) returns() +func (_OracleMgr *OracleMgrTransactorSession) RegisterOracle(identity common.Address) (*types.Transaction, error) { + return _OracleMgr.Contract.RegisterOracle(&_OracleMgr.TransactOpts, identity) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. diff --git a/client/contracts/bindings/oracle/oracle_test.go b/client/contracts/bindings/oracle/oracle_test.go index e1babe896..1f772430a 100644 --- a/client/contracts/bindings/oracle/oracle_test.go +++ b/client/contracts/bindings/oracle/oracle_test.go @@ -154,6 +154,144 @@ func (suite *OracleMgrSuite) TestDeploy_SyncFreqGreaterZero_UpdatePeriodGreaterS req.Error(err, "update period must be less or equal than sync freq") } +func (suite *OracleMgrSuite) TestRegisterOracle_Paused() { + req := suite.Require() + + transactOpts := bind.NewKeyedTransactor(owner) + + // pause service + _, err := suite.oracleMgr.Pause(transactOpts) + req.NoError(err) + suite.Backend.Commit() + + // register oracle must fail + _, err = suite.oracleMgr.RegisterOracle(transactOpts, crypto.PubkeyToAddress(user.PublicKey)) + req.Error(err, "service is paused") +} + +func (suite *OracleMgrSuite) TestRegisterOracle_NotPaused_NotOwner() { + req := suite.Require() + + transactOpts := bind.NewKeyedTransactor(user) + + // register oracle must fail + _, err := suite.oracleMgr.RegisterOracle(transactOpts, crypto.PubkeyToAddress(owner.PublicKey)) + req.Error(err, "not owner") +} + +func (suite *OracleMgrSuite) TestRegisterOracle_NotPaused_Owner_Duplicate() { + req := suite.Require() + + transactOpts := bind.NewKeyedTransactor(owner) + + // register an oracle + _, err := suite.oracleMgr.RegisterOracle(transactOpts, crypto.PubkeyToAddress(user.PublicKey)) + req.NoError(err) + + suite.Backend.Commit() + + // register the same oracle again + _, err = suite.oracleMgr.RegisterOracle(transactOpts, crypto.PubkeyToAddress(user.PublicKey)) + req.Error(err, "duplicate registration") +} + +func (suite *OracleMgrSuite) TestRegisterOracle_NotPaused_Owner_NewCandidate_Full() { + req := suite.Require() + + transactOpts := bind.NewKeyedTransactor(owner) + + // register an oracle + _, err := suite.oracleMgr.RegisterOracle(transactOpts, crypto.PubkeyToAddress(owner.PublicKey)) + req.NoError(err) + + suite.Backend.Commit() + + // register the same oracle again + _, err = suite.oracleMgr.RegisterOracle(transactOpts, crypto.PubkeyToAddress(user.PublicKey)) + req.Error(err, "duplicate registration") +} + +func (suite *OracleMgrSuite) TestRegisterOracle_NotPaused_Owner_NewCandidate_NotFull() { + req := suite.Require() + + transactOpts := bind.NewKeyedTransactor(owner) + + // register an oracle + userAddr := crypto.PubkeyToAddress(user.PublicKey) + _, err := suite.oracleMgr.RegisterOracle(transactOpts, userAddr) + req.NoError(err) + + suite.Backend.Commit() + + oracleCount, err := suite.oracleMgr.GetOracleCount(&bind.CallOpts{}) + req.NoError(err) + req.NotNil(oracleCount) + req.Equal(common.Big1, oracleCount) + + storedOracle, err := suite.oracleMgr.GetOracleAtIndex(&bind.CallOpts{}, common.Big0) + req.NoError(err) + req.NotZero(storedOracle) + req.Equal(storedOracle, userAddr) +} + +func (suite *OracleMgrSuite) TestDeregisterOracle_Paused() { + req := suite.Require() + + transactOpts := bind.NewKeyedTransactor(owner) + userAddr := crypto.PubkeyToAddress(user.PublicKey) + + // register oracle + _, err := suite.oracleMgr.RegisterOracle(transactOpts, userAddr) + req.NoError(err) + + suite.Backend.Commit() + + // pause service + _, err = suite.oracleMgr.Pause(transactOpts) + req.NoError(err) + suite.Backend.Commit() + + // deregister oracle + _, err = suite.oracleMgr.DeregisterOracle(transactOpts, userAddr) + req.Error(err, "service is paused") +} + +func (suite *OracleMgrSuite) TestDeregisterOracle_NotPaused_NotOwner() { + req := suite.Require() + + // deregister oracle + transactOpts := bind.NewKeyedTransactor(user) + _, err := suite.oracleMgr.DeregisterOracle(transactOpts, crypto.PubkeyToAddress(owner.PublicKey)) + req.Error(err, "not owner") +} + +func (suite *OracleMgrSuite) TestDeregisterOracle_NotPaused_Owner_NotOracle() { + req := suite.Require() + + // deregister oracle + transactOpts := bind.NewKeyedTransactor(owner) + _, err := suite.oracleMgr.DeregisterOracle(transactOpts, crypto.PubkeyToAddress(user.PublicKey)) + req.Error(err, "the user is not an oracle") +} + +func (suite *OracleMgrSuite) TestDeregisterOracle_NotPaused_Owner_Oracle() { + req := suite.Require() + + transactOpts := bind.NewKeyedTransactor(owner) + userAddr := crypto.PubkeyToAddress(user.PublicKey) + + // register oracle + _, err := suite.oracleMgr.RegisterOracle(transactOpts, userAddr) + req.NoError(err) + + suite.Backend.Commit() + + // deregister oracle + _, err = suite.oracleMgr.DeregisterOracle(transactOpts, userAddr) + req.NoError(err) +} + +/* func (suite *OracleMgrSuite) TestRegisterOracle_Paused() { req := suite.Require() @@ -185,6 +323,7 @@ func (suite *OracleMgrSuite) TestRegisterOracle_NotPaused_Duplicate() { req.Error(err, "duplicate registration") } + func (suite *OracleMgrSuite) TestRegisterOracle_NotPaused_NewCandidate_NotSuperNode() { req := suite.Require() @@ -194,6 +333,7 @@ func (suite *OracleMgrSuite) TestRegisterOracle_NotPaused_NewCandidate_NotSuperN req.Error(err, "user is not a super node") } + func (suite *OracleMgrSuite) TestRegisterOracle_NotPaused_NewCandidate_SuperNode_Full() { req := suite.Require() @@ -208,6 +348,7 @@ func (suite *OracleMgrSuite) TestRegisterOracle_NotPaused_NewCandidate_SuperNode req.Error(err, "no positions available") } + func (suite *OracleMgrSuite) TestRegisterOracle_NotPaused_NewCandidate_SuperNode_NotFull() { req := suite.Require() @@ -270,13 +411,14 @@ func (suite *OracleMgrSuite) TestDeregisterOracle_NotPaused_Oracle() { req.NoError(err) req.Zero(count.Uint64()) } +*/ func (suite *OracleMgrSuite) TestSubmitPrice_Paused() { req := suite.Require() // register oracle - registerOpts := bind.NewKeyedTransactor(user) - _, err := suite.oracleMgr.RegisterOracle(registerOpts) + registerOpts := bind.NewKeyedTransactor(owner) + _, err := suite.oracleMgr.RegisterOracle(registerOpts, crypto.PubkeyToAddress(user.PublicKey)) req.NoError(err) suite.Backend.Commit() @@ -304,8 +446,8 @@ func (suite *OracleMgrSuite) TestSubmitPrice_NotPaused_Oracle() { req := suite.Require() // register oracle - registerOpts := bind.NewKeyedTransactor(user) - _, err := suite.oracleMgr.RegisterOracle(registerOpts) + registerOpts := bind.NewKeyedTransactor(owner) + _, err := suite.oracleMgr.RegisterOracle(registerOpts, crypto.PubkeyToAddress(user.PublicKey)) req.NoError(err) suite.Backend.Commit() @@ -320,8 +462,8 @@ func (suite *OracleMgrSuite) TestSubmitPrice_NotPaused_Oracle_SubmitPriceTwiceSa req := suite.Require() // register oracle - registerOpts := bind.NewKeyedTransactor(user) - _, err := suite.oracleMgr.RegisterOracle(registerOpts) + registerOpts := bind.NewKeyedTransactor(owner) + _, err := suite.oracleMgr.RegisterOracle(registerOpts, crypto.PubkeyToAddress(user.PublicKey)) req.NoError(err) suite.Backend.Commit() diff --git a/client/contracts/bindings/oracle/testfiles/build/OracleMgr.abi b/client/contracts/bindings/oracle/testfiles/build/OracleMgr.abi index c66594dbe..c29bc773c 100644 --- a/client/contracts/bindings/oracle/testfiles/build/OracleMgr.abi +++ b/client/contracts/bindings/oracle/testfiles/build/OracleMgr.abi @@ -1 +1 @@ -[{"constant":true,"inputs":[],"name":"maxNumOracles","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getOracleAtIndex","outputs":[{"name":"code","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_maxNumOracles","type":"uint256"},{"name":"_syncFrequency","type":"uint256"},{"name":"_updatePeriod","type":"uint256"},{"name":"_resolverAddr","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"registerOracle","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getOracleCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_price","type":"uint256"}],"name":"submitPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"knsResolver","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"updatePeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"identity","type":"address"}],"name":"isOracle","outputs":[{"name":"isIndeed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPriceCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getPriceAtIndex","outputs":[{"name":"price","type":"uint256"},{"name":"oracle","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"syncFrequency","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deregisterOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_maxNumOracles","type":"uint256"},{"name":"_syncFrequency","type":"uint256"},{"name":"_updatePeriod","type":"uint256"},{"name":"_resolverAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}] \ No newline at end of file +[{"constant":true,"inputs":[],"name":"maxNumOracles","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getOracleAtIndex","outputs":[{"name":"code","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_maxNumOracles","type":"uint256"},{"name":"_syncFrequency","type":"uint256"},{"name":"_updatePeriod","type":"uint256"},{"name":"_resolverAddr","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getOracleCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"identity","type":"address"}],"name":"deregisterOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_price","type":"uint256"}],"name":"submitPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"knsResolver","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"updatePeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"identity","type":"address"}],"name":"isOracle","outputs":[{"name":"isIndeed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPriceCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getPriceAtIndex","outputs":[{"name":"price","type":"uint256"},{"name":"oracle","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"syncFrequency","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"identity","type":"address"}],"name":"registerOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_maxNumOracles","type":"uint256"},{"name":"_syncFrequency","type":"uint256"},{"name":"_updatePeriod","type":"uint256"},{"name":"_resolverAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}] \ No newline at end of file diff --git a/client/contracts/bindings/oracle/testfiles/build/OracleMgr.bin b/client/contracts/bindings/oracle/testfiles/build/OracleMgr.bin index 2647a5add..01a6ee719 100644 --- a/client/contracts/bindings/oracle/testfiles/build/OracleMgr.bin +++ b/client/contracts/bindings/oracle/testfiles/build/OracleMgr.bin @@ -1 +1 @@ -608060405260008060146101000a81548160ff02191690831515021790555034801561002a57600080fd5b506040516080806116b783398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000841115156100ba57600080fd5b60008311156100df576000821180156100d35750828211155b15156100de57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732b0d8ac41bd7af24160c1f3c5430f496116b229263098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b1580156101d157600080fd5b505af41580156101e5573d6000803e3d6000fd5b505050506040513d60208110156101fb57600080fd5b8101908080519060200190929190505050600681600019169055505050505061148e806102296000396000f30060806040526004361061011c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fe7b111461012157806309fe9d391461014c578063158ef93e146101b95780631f8d519d146101e8578063339d2590146102495780633f4ba83a146102535780633f4e42511461026a5780635c975abb14610295578063715018a6146102c45780638456cb59146102db5780638da5cb5b146102f2578063986fcbe914610349578063a035b1fe14610376578063a2207c6a146103a1578063a83627de146103f8578063a97e5c9314610423578063c48c1a711461047e578063c8104e01146104a9578063cdee7e071461051d578063f2fde38b14610548578063f93a2eb21461058b575b600080fd5b34801561012d57600080fd5b506101366105a2565b6040518082815260200191505060405180910390f35b34801561015857600080fd5b50610177600480360381019080803590602001909291905050506105a8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101ce61062e565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b50610247600480360381019080803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610641565b005b610251610878565b005b34801561025f57600080fd5b50610268610a7e565b005b34801561027657600080fd5b5061027f610b3c565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610b49565b604051808215151515815260200191505060405180910390f35b3480156102d057600080fd5b506102d9610b5c565b005b3480156102e757600080fd5b506102f0610c5e565b005b3480156102fe57600080fd5b50610307610d1e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610d43565b005b34801561038257600080fd5b5061038b610ed9565b6040518082815260200191505060405180910390f35b3480156103ad57600080fd5b506103b6610edf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040457600080fd5b5061040d610f05565b6040518082815260200191505060405180910390f35b34801561042f57600080fd5b50610464600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f0b565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b50610493610f64565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104d460048036038101908080359060200190929190505050610f71565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561052957600080fd5b50610532610fc9565b6040518082815260200191505060405180910390f35b34801561055457600080fd5b50610589600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcf565b005b34801561059757600080fd5b506105a0611036565b005b60015481565b6000806008838154811015156105ba57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905050919050565b600060159054906101000a900460ff1681565b600060159054906101000a900460ff161515156106ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b6000841115156106fb57600080fd5b6000831115610720576000821180156107145750828211155b151561071f57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732b0d8ac41bd7af24160c1f3c5430f496116b229263098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b15801561081257600080fd5b505af4158015610826573d6000803e3d6000fd5b505050506040513d602081101561083c57600080fd5b8101908080519060200190929190505050600681600019169055506001600060156101000a81548160ff02191690831515021790555050505050565b600060149054906101000a900460ff1615151561089457600080fd5b61089d33610f0b565b1515156108a957600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b3b57de6006546040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561094457600080fd5b505af1158015610958573d6000803e3d6000fd5b505050506040513d602081101561096e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16637d0e81bf336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050506040513d6020811015610a4357600080fd5b81019080805190602001909291905050501515610a5f57600080fd5b610a67611071565b1515610a7257600080fd5b610a7c3334611084565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ad957600080fd5b600060149054906101000a900460ff161515610af457600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600880549050905090565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bb757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb957600080fd5b600060149054906101000a900460ff16151515610cd557600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff16151515610d5f57600080fd5b610d6833610f0b565b1515610d7357600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff16151515610dcf57600080fd5b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600960408051908101604052808381526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b6000600980549050905090565b6000806000600984815481101515610f8557fe5b90600052602060002090600202019050806000015492508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050915091565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102a57600080fd5b61103381611159565b50565b600060149054906101000a900460ff1615151561105257600080fd5b61105b33610f0b565b151561106657600080fd5b61106f33611253565b565b6000806008805490506001540311905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160088490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff021916908315150217905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561119557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020925082600001549150600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549060ff02191690555050600860016008805490500381548110151561132957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508060088381548110151561136657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600880548091906001900361140a9190611411565b5050505050565b81548183558181111561143857818360005260206000209182019101611437919061143d565b5b505050565b61145f91905b8082111561145b576000816000905550600101611443565b5090565b905600a165627a7a72305820e0fb81f9c2e264e57d5e9e27e974170a2c23048798994c9cb0acdd53b9aef2440029 \ No newline at end of file +608060405260008060146101000a81548160ff02191690831515021790555034801561002a57600080fd5b5060405160808061162283398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000841115156100ba57600080fd5b60008311156100df576000821180156100d35750828211155b15156100de57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732b0d8ac41bd7af24160c1f3c5430f496116b229263098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b1580156101d157600080fd5b505af41580156101e5573d6000803e3d6000fd5b505050506040513d60208110156101fb57600080fd5b810190808051906020019092919050505060068160001916905550505050506113f9806102296000396000f30060806040526004361061011c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fe7b111461012157806309fe9d391461014c578063158ef93e146101b95780631f8d519d146101e85780633f4ba83a146102495780633f4e4251146102605780635c975abb1461028b578063715018a6146102ba5780638456cb59146102d15780638da5cb5b146102e85780638df4e3e21461033f578063986fcbe914610382578063a035b1fe146103af578063a2207c6a146103da578063a83627de14610431578063a97e5c931461045c578063c48c1a71146104b7578063c8104e01146104e2578063cdee7e0714610556578063e9babaec14610581578063f2fde38b146105c4575b600080fd5b34801561012d57600080fd5b50610136610607565b6040518082815260200191505060405180910390f35b34801561015857600080fd5b506101776004803603810190808035906020019092919050505061060d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101ce610693565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b50610247600480360381019080803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106a6565b005b34801561025557600080fd5b5061025e6108dd565b005b34801561026c57600080fd5b5061027561099b565b6040518082815260200191505060405180910390f35b34801561029757600080fd5b506102a06109a8565b604051808215151515815260200191505060405180910390f35b3480156102c657600080fd5b506102cf6109bb565b005b3480156102dd57600080fd5b506102e6610abd565b005b3480156102f457600080fd5b506102fd610b7d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034b57600080fd5b50610380600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ba2565b005b34801561038e57600080fd5b506103ad60048036038101908080359060200190929190505050610c3b565b005b3480156103bb57600080fd5b506103c4610dd3565b6040518082815260200191505060405180910390f35b3480156103e657600080fd5b506103ef610dd9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043d57600080fd5b50610446610dff565b6040518082815260200191505060405180910390f35b34801561046857600080fd5b5061049d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e05565b604051808215151515815260200191505060405180910390f35b3480156104c357600080fd5b506104cc610e5e565b6040518082815260200191505060405180910390f35b3480156104ee57600080fd5b5061050d60048036038101908080359060200190929190505050610e6b565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561056257600080fd5b5061056b610ec3565b6040518082815260200191505060405180910390f35b34801561058d57600080fd5b506105c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec9565b005b3480156105d057600080fd5b50610605600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f76565b005b60015481565b60008060088381548110151561061f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905050919050565b600060159054906101000a900460ff1681565b600060159054906101000a900460ff16151515610751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b60008411151561076057600080fd5b6000831115610785576000821180156107795750828211155b151561078457600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732b0d8ac41bd7af24160c1f3c5430f496116b229263098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b15801561087757600080fd5b505af415801561088b573d6000803e3d6000fd5b505050506040513d60208110156108a157600080fd5b8101908080519060200190929190505050600681600019169055506001600060156101000a81548160ff02191690831515021790555050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093857600080fd5b600060149054906101000a900460ff16151561095357600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600880549050905090565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a1657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b1857600080fd5b600060149054906101000a900460ff16151515610b3457600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff16151515610bbe57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1957600080fd5b80610c2381610e05565b1515610c2e57600080fd5b610c3782610fdd565b5050565b600060149054906101000a900460ff16151515610c5757600080fd5b33610c6181610e05565b1515610c6c57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff16151515610cc857600080fd5b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600960408051908101604052808481526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b6000600980549050905090565b6000806000600984815481101515610e7f57fe5b90600052602060002090600202019050806000015492508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050915091565b60025481565b600060149054906101000a900460ff16151515610ee557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4057600080fd5b80610f4a81610e05565b151515610f5657600080fd5b610f5e61119b565b1515610f6957600080fd5b610f72826111ae565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fd157600080fd5b610fda81611282565b50565b6000806000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020925082600001549150600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549060ff0219169055505060086001600880549050038154811015156110b357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050806008838154811015156110f057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506008805480919060019003611194919061137c565b5050505050565b6000806008805490506001540311905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160088390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156112be57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8154818355818111156113a3578183600052602060002091820191016113a291906113a8565b5b505050565b6113ca91905b808211156113c65760008160009055506001016113ae565b5090565b905600a165627a7a72305820d4a686747468d6a79f84ed9754873ae5338ef5edca4050e4c633578bcd0213670029 \ No newline at end of file diff --git a/client/contracts/bindings/oracle/testfiles/gen_oracle.go b/client/contracts/bindings/oracle/testfiles/gen_oracle.go index e4590af95..31a739680 100644 --- a/client/contracts/bindings/oracle/testfiles/gen_oracle.go +++ b/client/contracts/bindings/oracle/testfiles/gen_oracle.go @@ -16,10 +16,10 @@ import ( ) // OracleMgrABI is the input ABI used to generate the binding from. -const OracleMgrABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"maxNumOracles\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getOracleAtIndex\",\"outputs\":[{\"name\":\"code\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_maxNumOracles\",\"type\":\"uint256\"},{\"name\":\"_syncFrequency\",\"type\":\"uint256\"},{\"name\":\"_updatePeriod\",\"type\":\"uint256\"},{\"name\":\"_resolverAddr\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"registerOracle\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOracleCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"submitPrice\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"price\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"knsResolver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"updatePeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"identity\",\"type\":\"address\"}],\"name\":\"isOracle\",\"outputs\":[{\"name\":\"isIndeed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getPriceCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getPriceAtIndex\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"oracle\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"syncFrequency\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deregisterOracle\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_maxNumOracles\",\"type\":\"uint256\"},{\"name\":\"_syncFrequency\",\"type\":\"uint256\"},{\"name\":\"_updatePeriod\",\"type\":\"uint256\"},{\"name\":\"_resolverAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Pause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Unpause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]" +const OracleMgrABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"maxNumOracles\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getOracleAtIndex\",\"outputs\":[{\"name\":\"code\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_maxNumOracles\",\"type\":\"uint256\"},{\"name\":\"_syncFrequency\",\"type\":\"uint256\"},{\"name\":\"_updatePeriod\",\"type\":\"uint256\"},{\"name\":\"_resolverAddr\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOracleCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"identity\",\"type\":\"address\"}],\"name\":\"deregisterOracle\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"submitPrice\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"price\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"knsResolver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"updatePeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"identity\",\"type\":\"address\"}],\"name\":\"isOracle\",\"outputs\":[{\"name\":\"isIndeed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getPriceCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getPriceAtIndex\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"oracle\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"syncFrequency\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"identity\",\"type\":\"address\"}],\"name\":\"registerOracle\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_maxNumOracles\",\"type\":\"uint256\"},{\"name\":\"_syncFrequency\",\"type\":\"uint256\"},{\"name\":\"_updatePeriod\",\"type\":\"uint256\"},{\"name\":\"_resolverAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Pause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Unpause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]" // OracleMgrBin is the compiled bytecode used for deploying new contracts. -const OracleMgrBin = `608060405260008060146101000a81548160ff02191690831515021790555034801561002a57600080fd5b506040516080806116b783398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000841115156100ba57600080fd5b60008311156100df576000821180156100d35750828211155b15156100de57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732b0d8ac41bd7af24160c1f3c5430f496116b229263098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b1580156101d157600080fd5b505af41580156101e5573d6000803e3d6000fd5b505050506040513d60208110156101fb57600080fd5b8101908080519060200190929190505050600681600019169055505050505061148e806102296000396000f30060806040526004361061011c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fe7b111461012157806309fe9d391461014c578063158ef93e146101b95780631f8d519d146101e8578063339d2590146102495780633f4ba83a146102535780633f4e42511461026a5780635c975abb14610295578063715018a6146102c45780638456cb59146102db5780638da5cb5b146102f2578063986fcbe914610349578063a035b1fe14610376578063a2207c6a146103a1578063a83627de146103f8578063a97e5c9314610423578063c48c1a711461047e578063c8104e01146104a9578063cdee7e071461051d578063f2fde38b14610548578063f93a2eb21461058b575b600080fd5b34801561012d57600080fd5b506101366105a2565b6040518082815260200191505060405180910390f35b34801561015857600080fd5b50610177600480360381019080803590602001909291905050506105a8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101ce61062e565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b50610247600480360381019080803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610641565b005b610251610878565b005b34801561025f57600080fd5b50610268610a7e565b005b34801561027657600080fd5b5061027f610b3c565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610b49565b604051808215151515815260200191505060405180910390f35b3480156102d057600080fd5b506102d9610b5c565b005b3480156102e757600080fd5b506102f0610c5e565b005b3480156102fe57600080fd5b50610307610d1e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610d43565b005b34801561038257600080fd5b5061038b610ed9565b6040518082815260200191505060405180910390f35b3480156103ad57600080fd5b506103b6610edf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040457600080fd5b5061040d610f05565b6040518082815260200191505060405180910390f35b34801561042f57600080fd5b50610464600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f0b565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b50610493610f64565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104d460048036038101908080359060200190929190505050610f71565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561052957600080fd5b50610532610fc9565b6040518082815260200191505060405180910390f35b34801561055457600080fd5b50610589600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcf565b005b34801561059757600080fd5b506105a0611036565b005b60015481565b6000806008838154811015156105ba57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905050919050565b600060159054906101000a900460ff1681565b600060159054906101000a900460ff161515156106ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b6000841115156106fb57600080fd5b6000831115610720576000821180156107145750828211155b151561071f57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732b0d8ac41bd7af24160c1f3c5430f496116b229263098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b15801561081257600080fd5b505af4158015610826573d6000803e3d6000fd5b505050506040513d602081101561083c57600080fd5b8101908080519060200190929190505050600681600019169055506001600060156101000a81548160ff02191690831515021790555050505050565b600060149054906101000a900460ff1615151561089457600080fd5b61089d33610f0b565b1515156108a957600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b3b57de6006546040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561094457600080fd5b505af1158015610958573d6000803e3d6000fd5b505050506040513d602081101561096e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16637d0e81bf336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050506040513d6020811015610a4357600080fd5b81019080805190602001909291905050501515610a5f57600080fd5b610a67611071565b1515610a7257600080fd5b610a7c3334611084565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ad957600080fd5b600060149054906101000a900460ff161515610af457600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600880549050905090565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bb757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb957600080fd5b600060149054906101000a900460ff16151515610cd557600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff16151515610d5f57600080fd5b610d6833610f0b565b1515610d7357600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff16151515610dcf57600080fd5b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600960408051908101604052808381526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b6000600980549050905090565b6000806000600984815481101515610f8557fe5b90600052602060002090600202019050806000015492508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050915091565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102a57600080fd5b61103381611159565b50565b600060149054906101000a900460ff1615151561105257600080fd5b61105b33610f0b565b151561106657600080fd5b61106f33611253565b565b6000806008805490506001540311905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160088490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff021916908315150217905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561119557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020925082600001549150600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549060ff02191690555050600860016008805490500381548110151561132957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508060088381548110151561136657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600880548091906001900361140a9190611411565b5050505050565b81548183558181111561143857818360005260206000209182019101611437919061143d565b5b505050565b61145f91905b8082111561145b576000816000905550600101611443565b5090565b905600a165627a7a72305820e0fb81f9c2e264e57d5e9e27e974170a2c23048798994c9cb0acdd53b9aef2440029` +const OracleMgrBin = `608060405260008060146101000a81548160ff02191690831515021790555034801561002a57600080fd5b5060405160808061162283398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000841115156100ba57600080fd5b60008311156100df576000821180156100d35750828211155b15156100de57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732b0d8ac41bd7af24160c1f3c5430f496116b229263098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b1580156101d157600080fd5b505af41580156101e5573d6000803e3d6000fd5b505050506040513d60208110156101fb57600080fd5b810190808051906020019092919050505060068160001916905550505050506113f9806102296000396000f30060806040526004361061011c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fe7b111461012157806309fe9d391461014c578063158ef93e146101b95780631f8d519d146101e85780633f4ba83a146102495780633f4e4251146102605780635c975abb1461028b578063715018a6146102ba5780638456cb59146102d15780638da5cb5b146102e85780638df4e3e21461033f578063986fcbe914610382578063a035b1fe146103af578063a2207c6a146103da578063a83627de14610431578063a97e5c931461045c578063c48c1a71146104b7578063c8104e01146104e2578063cdee7e0714610556578063e9babaec14610581578063f2fde38b146105c4575b600080fd5b34801561012d57600080fd5b50610136610607565b6040518082815260200191505060405180910390f35b34801561015857600080fd5b506101776004803603810190808035906020019092919050505061060d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101ce610693565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b50610247600480360381019080803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106a6565b005b34801561025557600080fd5b5061025e6108dd565b005b34801561026c57600080fd5b5061027561099b565b6040518082815260200191505060405180910390f35b34801561029757600080fd5b506102a06109a8565b604051808215151515815260200191505060405180910390f35b3480156102c657600080fd5b506102cf6109bb565b005b3480156102dd57600080fd5b506102e6610abd565b005b3480156102f457600080fd5b506102fd610b7d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034b57600080fd5b50610380600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ba2565b005b34801561038e57600080fd5b506103ad60048036038101908080359060200190929190505050610c3b565b005b3480156103bb57600080fd5b506103c4610dd3565b6040518082815260200191505060405180910390f35b3480156103e657600080fd5b506103ef610dd9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043d57600080fd5b50610446610dff565b6040518082815260200191505060405180910390f35b34801561046857600080fd5b5061049d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e05565b604051808215151515815260200191505060405180910390f35b3480156104c357600080fd5b506104cc610e5e565b6040518082815260200191505060405180910390f35b3480156104ee57600080fd5b5061050d60048036038101908080359060200190929190505050610e6b565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561056257600080fd5b5061056b610ec3565b6040518082815260200191505060405180910390f35b34801561058d57600080fd5b506105c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec9565b005b3480156105d057600080fd5b50610605600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f76565b005b60015481565b60008060088381548110151561061f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905050919050565b600060159054906101000a900460ff1681565b600060159054906101000a900460ff16151515610751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b60008411151561076057600080fd5b6000831115610785576000821180156107795750828211155b151561078457600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732b0d8ac41bd7af24160c1f3c5430f496116b229263098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b15801561087757600080fd5b505af415801561088b573d6000803e3d6000fd5b505050506040513d60208110156108a157600080fd5b8101908080519060200190929190505050600681600019169055506001600060156101000a81548160ff02191690831515021790555050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093857600080fd5b600060149054906101000a900460ff16151561095357600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600880549050905090565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a1657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b1857600080fd5b600060149054906101000a900460ff16151515610b3457600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff16151515610bbe57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1957600080fd5b80610c2381610e05565b1515610c2e57600080fd5b610c3782610fdd565b5050565b600060149054906101000a900460ff16151515610c5757600080fd5b33610c6181610e05565b1515610c6c57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff16151515610cc857600080fd5b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600960408051908101604052808481526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b6000600980549050905090565b6000806000600984815481101515610e7f57fe5b90600052602060002090600202019050806000015492508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050915091565b60025481565b600060149054906101000a900460ff16151515610ee557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4057600080fd5b80610f4a81610e05565b151515610f5657600080fd5b610f5e61119b565b1515610f6957600080fd5b610f72826111ae565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fd157600080fd5b610fda81611282565b50565b6000806000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020925082600001549150600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549060ff0219169055505060086001600880549050038154811015156110b357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050806008838154811015156110f057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506008805480919060019003611194919061137c565b5050505050565b6000806008805490506001540311905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160088390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156112be57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8154818355818111156113a3578183600052602060002091820191016113a291906113a8565b5b505050565b6113ca91905b808211156113c65760008160009055506001016113ae565b5090565b905600a165627a7a72305820d4a686747468d6a79f84ed9754873ae5338ef5edca4050e4c633578bcd0213670029` // DeployOracleMgr deploys a new Kowala contract, binding an instance of OracleMgr to it. func DeployOracleMgr(auth *bind.TransactOpts, backend bind.ContractBackend, _maxNumOracles *big.Int, _syncFrequency *big.Int, _updatePeriod *big.Int, _resolverAddr common.Address) (common.Address, *types.Transaction, *OracleMgr, error) { @@ -524,25 +524,25 @@ func (_OracleMgr *OracleMgrCallerSession) UpdatePeriod() (*big.Int, error) { return _OracleMgr.Contract.UpdatePeriod(&_OracleMgr.CallOpts) } -// DeregisterOracle is a paid mutator transaction binding the contract method 0xf93a2eb2. +// DeregisterOracle is a paid mutator transaction binding the contract method 0x8df4e3e2. // -// Solidity: function deregisterOracle() returns() -func (_OracleMgr *OracleMgrTransactor) DeregisterOracle(opts *bind.TransactOpts) (*types.Transaction, error) { - return _OracleMgr.contract.Transact(opts, "deregisterOracle") +// Solidity: function deregisterOracle(identity address) returns() +func (_OracleMgr *OracleMgrTransactor) DeregisterOracle(opts *bind.TransactOpts, identity common.Address) (*types.Transaction, error) { + return _OracleMgr.contract.Transact(opts, "deregisterOracle", identity) } -// DeregisterOracle is a paid mutator transaction binding the contract method 0xf93a2eb2. +// DeregisterOracle is a paid mutator transaction binding the contract method 0x8df4e3e2. // -// Solidity: function deregisterOracle() returns() -func (_OracleMgr *OracleMgrSession) DeregisterOracle() (*types.Transaction, error) { - return _OracleMgr.Contract.DeregisterOracle(&_OracleMgr.TransactOpts) +// Solidity: function deregisterOracle(identity address) returns() +func (_OracleMgr *OracleMgrSession) DeregisterOracle(identity common.Address) (*types.Transaction, error) { + return _OracleMgr.Contract.DeregisterOracle(&_OracleMgr.TransactOpts, identity) } -// DeregisterOracle is a paid mutator transaction binding the contract method 0xf93a2eb2. +// DeregisterOracle is a paid mutator transaction binding the contract method 0x8df4e3e2. // -// Solidity: function deregisterOracle() returns() -func (_OracleMgr *OracleMgrTransactorSession) DeregisterOracle() (*types.Transaction, error) { - return _OracleMgr.Contract.DeregisterOracle(&_OracleMgr.TransactOpts) +// Solidity: function deregisterOracle(identity address) returns() +func (_OracleMgr *OracleMgrTransactorSession) DeregisterOracle(identity common.Address) (*types.Transaction, error) { + return _OracleMgr.Contract.DeregisterOracle(&_OracleMgr.TransactOpts, identity) } // Initialize is a paid mutator transaction binding the contract method 0x1f8d519d. @@ -587,25 +587,25 @@ func (_OracleMgr *OracleMgrTransactorSession) Pause() (*types.Transaction, error return _OracleMgr.Contract.Pause(&_OracleMgr.TransactOpts) } -// RegisterOracle is a paid mutator transaction binding the contract method 0x339d2590. +// RegisterOracle is a paid mutator transaction binding the contract method 0xe9babaec. // -// Solidity: function registerOracle() returns() -func (_OracleMgr *OracleMgrTransactor) RegisterOracle(opts *bind.TransactOpts) (*types.Transaction, error) { - return _OracleMgr.contract.Transact(opts, "registerOracle") +// Solidity: function registerOracle(identity address) returns() +func (_OracleMgr *OracleMgrTransactor) RegisterOracle(opts *bind.TransactOpts, identity common.Address) (*types.Transaction, error) { + return _OracleMgr.contract.Transact(opts, "registerOracle", identity) } -// RegisterOracle is a paid mutator transaction binding the contract method 0x339d2590. +// RegisterOracle is a paid mutator transaction binding the contract method 0xe9babaec. // -// Solidity: function registerOracle() returns() -func (_OracleMgr *OracleMgrSession) RegisterOracle() (*types.Transaction, error) { - return _OracleMgr.Contract.RegisterOracle(&_OracleMgr.TransactOpts) +// Solidity: function registerOracle(identity address) returns() +func (_OracleMgr *OracleMgrSession) RegisterOracle(identity common.Address) (*types.Transaction, error) { + return _OracleMgr.Contract.RegisterOracle(&_OracleMgr.TransactOpts, identity) } -// RegisterOracle is a paid mutator transaction binding the contract method 0x339d2590. +// RegisterOracle is a paid mutator transaction binding the contract method 0xe9babaec. // -// Solidity: function registerOracle() returns() -func (_OracleMgr *OracleMgrTransactorSession) RegisterOracle() (*types.Transaction, error) { - return _OracleMgr.Contract.RegisterOracle(&_OracleMgr.TransactOpts) +// Solidity: function registerOracle(identity address) returns() +func (_OracleMgr *OracleMgrTransactorSession) RegisterOracle(identity common.Address) (*types.Transaction, error) { + return _OracleMgr.Contract.RegisterOracle(&_OracleMgr.TransactOpts, identity) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. diff --git a/client/contracts/truffle/contracts/oracle/OracleMgr.sol b/client/contracts/truffle/contracts/oracle/OracleMgr.sol index c315a2e89..2f7b5835c 100644 --- a/client/contracts/truffle/contracts/oracle/OracleMgr.sol +++ b/client/contracts/truffle/contracts/oracle/OracleMgr.sol @@ -31,19 +31,17 @@ contract OracleMgr is Pausable, Initializable { mapping (address => Oracle) private oracleRegistry; - // oraclePool contains the oracle identity ordered by the biggest deposit to - // the smallest deposit. address[] private oraclePool; OraclePrice[] private prices; - modifier onlyOracle { - require(isOracle(msg.sender)); + modifier onlyOracle(address oracle) { + require(isOracle(oracle)); _; } - modifier onlyNewCandidate { - require(!isOracle(msg.sender)); + modifier onlyNewCandidate(address identity) { + require(!isOracle(identity)); _; } @@ -147,9 +145,8 @@ contract OracleMgr is Pausable, Initializable { /** * @dev Inserts oracle * @param identity Address of an Oracle. - * @param deposit Deposit ammount */ - function _insertOracle(address identity, uint deposit) private { + function _insertOracle(address identity) private { Oracle oracle = oracleRegistry[identity]; oracle.index = oraclePool.push(identity) - 1; oracle.isOracle = true; @@ -188,26 +185,34 @@ contract OracleMgr is Pausable, Initializable { oracle = oraclePrice.oracle; } + /** * @dev Registers a new candidate as oracle */ - function registerOracle() public payable whenNotPaused onlyNewCandidate onlySuperNode { + function registerOracle(address identity) public whenNotPaused onlyOwner onlyNewCandidate(identity) { require(_hasAvailability()); - _insertOracle(msg.sender, msg.value); + _insertOracle(identity); } + //function registerOracle() public payable whenNotPaused onlyNewCandidate(identity) onlySuperNode { + // require(_hasAvailability()); + // _insertOracle(msg.sender); + //} /** * @dev Deregisters the msg sender from the oracle set */ - function deregisterOracle() public whenNotPaused onlyOracle { - _deleteOracle(msg.sender); + function deregisterOracle(address identity) public whenNotPaused onlyOwner onlyOracle(identity) { + _deleteOracle(identity); } + //function deregisterOracle() public whenNotPaused onlyOracle(msg.sender) { + // _deleteOracle(msg.sender); + //} /** * @dev Adds price * @param _price price */ - function submitPrice(uint _price) public whenNotPaused onlyOracle onlyOnce { + function submitPrice(uint _price) public whenNotPaused onlyOracle(msg.sender) onlyOnce { oracleRegistry[msg.sender].hasSubmittedPrice = true; prices.push(OraclePrice({price: _price, oracle: msg.sender})); } diff --git a/client/contracts/truffle/test/oracle/OracleMgr.test.js b/client/contracts/truffle/test/oracle/OracleMgr.test.js index cd2ff6057..2e6a9b757 100644 --- a/client/contracts/truffle/test/oracle/OracleMgr.test.js +++ b/client/contracts/truffle/test/oracle/OracleMgr.test.js @@ -66,7 +66,7 @@ contract('OracleMgr', ([_, admin, owner, newOwner, newOwner2, newOwner3, newOwne describe('registration', async () => { it('should register oracle', async () => { // when - await this.oracle.registerOracle({ from: newOwner }); + await this.oracle.registerOracle(newOwner, { from: owner }); // then const oracleCount = await this.oracle.getOracleCount(); @@ -75,10 +75,10 @@ contract('OracleMgr', ([_, admin, owner, newOwner, newOwner2, newOwner3, newOwne it('should not register already registered oracle', async () => { // given - await this.oracle.registerOracle({ from: newOwner }); + await this.oracle.registerOracle(newOwner, { from: owner }); // when - const expectedRegistrationFailure = this.oracle.registerOracle({ from: newOwner }); + const expectedRegistrationFailure = this.oracle.registerOracle(newOwner, { from: owner }); // then await expectedRegistrationFailure.should.eventually.be.rejectedWith(EVMError('revert')); @@ -86,36 +86,36 @@ contract('OracleMgr', ([_, admin, owner, newOwner, newOwner2, newOwner3, newOwne it('should not register oracle above oracle limit', async () => { // given - await this.oracle.registerOracle({ from: newOwner }); - await this.oracle.registerOracle({ from: newOwner2 }); - await this.oracle.registerOracle({ from: newOwner3 }); + await this.oracle.registerOracle(newOwner, { from: owner }); + await this.oracle.registerOracle(newOwner2, { from: owner }); + await this.oracle.registerOracle(newOwner3, { from: owner }); // when - const expectedRegistrationFailure = this.oracle.registerOracle({ from: newOwner4 }); + const expectedRegistrationFailure = this.oracle.registerOracle(newOwner4, { from: owner }); // then await expectedRegistrationFailure.should.eventually.be.rejectedWith(EVMError('revert')); }); - it('should not register oracle when not super node', async () => { - const consensus = await ConsensusMock.new(false); - const resolver = await DomainResolverMock.new(consensus.address); - const oracleWithoutSuperNode = await OracleMgr.new(3, 1, 1, resolver.address, { from: owner }); - // when - const expectedRegistrationFailure = oracleWithoutSuperNode.registerOracle({ from: newOwner }); + // it('should not register oracle when not super node', async () => { + // const consensus = await ConsensusMock.new(false); + // const resolver = await DomainResolverMock.new(consensus.address); + // const oracleWithoutSuperNode = await OracleMgr.new(3, 1, 1, resolver.address, { from: owner }); + // // when + // const expectedRegistrationFailure = oracleWithoutSuperNode.registerOracle(newOwner, { from: owner }); - // then - await expectedRegistrationFailure.should.eventually.be.rejectedWith(EVMError('revert')); - }); + // // then + // await expectedRegistrationFailure.should.eventually.be.rejectedWith(EVMError('revert')); + // }); }); describe('deregistration', async () => { it('should deregister oracle', async () => { // given - await this.oracle.registerOracle({ from: newOwner }); + await this.oracle.registerOracle(newOwner, { from: owner }); // when - await this.oracle.deregisterOracle({ from: newOwner }); + await this.oracle.deregisterOracle(newOwner, { from: owner }); // then const oracleCount = await this.oracle.getOracleCount(); @@ -124,11 +124,11 @@ contract('OracleMgr', ([_, admin, owner, newOwner, newOwner2, newOwner3, newOwne it('should not deregister deregistered oracle', async () => { // given - await this.oracle.registerOracle({ from: newOwner }); - await this.oracle.deregisterOracle({ from: newOwner }); + await this.oracle.registerOracle(newOwner, { from: owner }); + await this.oracle.deregisterOracle(newOwner, { from: owner }); // when - const exptectedFailedDeregistration = this.oracle.deregisterOracle({ from: newOwner }); + const exptectedFailedDeregistration = this.oracle.deregisterOracle(newOwner, { from: owner }); // then await exptectedFailedDeregistration.should.eventually.be.rejectedWith(EVMError('revert')); @@ -136,7 +136,7 @@ contract('OracleMgr', ([_, admin, owner, newOwner, newOwner2, newOwner3, newOwne it('should not deregister non-oracle', async () => { // when - const exptectedFailedDeregistration = this.oracle.deregisterOracle({ from: notOwner }); + const exptectedFailedDeregistration = this.oracle.deregisterOracle(notOwner, { from: owner }); // then await exptectedFailedDeregistration.should.eventually.be.rejectedWith(EVMError('revert')); @@ -160,7 +160,7 @@ contract('OracleMgr', ([_, admin, owner, newOwner, newOwner2, newOwner3, newOwne it('should get oracle`s price', async () => { // given - await this.oracle.registerOracle({ from: newOwner }); + await this.oracle.registerOracle(newOwner, { from: owner }); await this.oracle.submitPrice(10, { from: newOwner }); // when @@ -171,7 +171,7 @@ contract('OracleMgr', ([_, admin, owner, newOwner, newOwner2, newOwner3, newOwne it('should get oracle at index', async () => { // given - await this.oracle.registerOracle({ from: newOwner }); + await this.oracle.registerOracle(newOwner, { from: owner }); // when const oracleAtIndex = await this.oracle.getOracleAtIndex(0, { from: newOwner }); @@ -182,7 +182,7 @@ contract('OracleMgr', ([_, admin, owner, newOwner, newOwner2, newOwner3, newOwne it('should not set price twice', async () => { // given - await this.oracle.registerOracle({ from: newOwner }); + await this.oracle.registerOracle(newOwner, { from: owner }); await this.oracle.submitPrice(10, { from: newOwner }); // when @@ -194,7 +194,7 @@ contract('OracleMgr', ([_, admin, owner, newOwner, newOwner2, newOwner3, newOwne it('should not set price if not oracle', async () => { // given - await this.oracle.registerOracle({ from: newOwner }); + await this.oracle.registerOracle(newOwner, { from: owner }); // when const expectedPriceFailure = this.oracle.submitPrice(10, { from: notOwner }); @@ -205,8 +205,8 @@ contract('OracleMgr', ([_, admin, owner, newOwner, newOwner2, newOwner3, newOwne it('should get price count', async () => { // given - await this.oracle.registerOracle({ from: newOwner }); - await this.oracle.registerOracle({ from: newOwner2 }); + await this.oracle.registerOracle(newOwner, { from: owner }); + await this.oracle.registerOracle(newOwner2, { from: owner }); // when await this.oracle.submitPrice(10, { from: newOwner }); diff --git a/client/knode/genesis/testfiles/genesis.json.golden b/client/knode/genesis/testfiles/genesis.json.golden index 4570aebe3..a738fe053 100644 --- a/client/knode/genesis/testfiles/genesis.json.golden +++ b/client/knode/genesis/testfiles/genesis.json.golden @@ -1 +1 @@ -{"config":{"chainID":1,"konsensus":{}},"timestamp":"0x5b228222","extraData":"0x4b6f77616c61277320666972737420626c6f636b000000000000000000000000","gasLimit":"0x47b760","coinbase":"0x0000000000000000000000000000000000000000","alloc":{"0000000000000000000000000000000000000000":{"balance":"0x1"},"0000000000000000000000000000000000000001":{"balance":"0x1"},"0000000000000000000000000000000000000002":{"balance":"0x1"},"0000000000000000000000000000000000000003":{"balance":"0x1"},"0000000000000000000000000000000000000004":{"balance":"0x1"},"0000000000000000000000000000000000000005":{"balance":"0x1"},"0000000000000000000000000000000000000006":{"balance":"0x1"},"0000000000000000000000000000000000000007":{"balance":"0x1"},"0000000000000000000000000000000000000008":{"balance":"0x1"},"0000000000000000000000000000000000000009":{"balance":"0x1"},"000000000000000000000000000000000000000a":{"balance":"0x1"},"000000000000000000000000000000000000000b":{"balance":"0x1"},"000000000000000000000000000000000000000c":{"balance":"0x1"},"000000000000000000000000000000000000000d":{"balance":"0x1"},"000000000000000000000000000000000000000e":{"balance":"0x1"},"000000000000000000000000000000000000000f":{"balance":"0x1"},"0000000000000000000000000000000000000010":{"balance":"0x1"},"0000000000000000000000000000000000000011":{"balance":"0x1"},"0000000000000000000000000000000000000012":{"balance":"0x1"},"0000000000000000000000000000000000000013":{"balance":"0x1"},"0000000000000000000000000000000000000014":{"balance":"0x1"},"0000000000000000000000000000000000000015":{"balance":"0x1"},"0000000000000000000000000000000000000016":{"balance":"0x1"},"0000000000000000000000000000000000000017":{"balance":"0x1"},"0000000000000000000000000000000000000018":{"balance":"0x1"},"0000000000000000000000000000000000000019":{"balance":"0x1"},"000000000000000000000000000000000000001a":{"balance":"0x1"},"000000000000000000000000000000000000001b":{"balance":"0x1"},"000000000000000000000000000000000000001c":{"balance":"0x1"},"000000000000000000000000000000000000001d":{"balance":"0x1"},"000000000000000000000000000000000000001e":{"balance":"0x1"},"000000000000000000000000000000000000001f":{"balance":"0x1"},"0000000000000000000000000000000000000020":{"balance":"0x1"},"0000000000000000000000000000000000000021":{"balance":"0x1"},"0000000000000000000000000000000000000022":{"balance":"0x1"},"0000000000000000000000000000000000000023":{"balance":"0x1"},"0000000000000000000000000000000000000024":{"balance":"0x1"},"0000000000000000000000000000000000000025":{"balance":"0x1"},"0000000000000000000000000000000000000026":{"balance":"0x1"},"0000000000000000000000000000000000000027":{"balance":"0x1"},"0000000000000000000000000000000000000028":{"balance":"0x1"},"0000000000000000000000000000000000000029":{"balance":"0x1"},"000000000000000000000000000000000000002a":{"balance":"0x1"},"000000000000000000000000000000000000002b":{"balance":"0x1"},"000000000000000000000000000000000000002c":{"balance":"0x1"},"000000000000000000000000000000000000002d":{"balance":"0x1"},"000000000000000000000000000000000000002e":{"balance":"0x1"},"000000000000000000000000000000000000002f":{"balance":"0x1"},"0000000000000000000000000000000000000030":{"balance":"0x1"},"0000000000000000000000000000000000000031":{"balance":"0x1"},"0000000000000000000000000000000000000032":{"balance":"0x1"},"0000000000000000000000000000000000000033":{"balance":"0x1"},"0000000000000000000000000000000000000034":{"balance":"0x1"},"0000000000000000000000000000000000000035":{"balance":"0x1"},"0000000000000000000000000000000000000036":{"balance":"0x1"},"0000000000000000000000000000000000000037":{"balance":"0x1"},"0000000000000000000000000000000000000038":{"balance":"0x1"},"0000000000000000000000000000000000000039":{"balance":"0x1"},"000000000000000000000000000000000000003a":{"balance":"0x1"},"000000000000000000000000000000000000003b":{"balance":"0x1"},"000000000000000000000000000000000000003c":{"balance":"0x1"},"000000000000000000000000000000000000003d":{"balance":"0x1"},"000000000000000000000000000000000000003e":{"balance":"0x1"},"000000000000000000000000000000000000003f":{"balance":"0x1"},"0000000000000000000000000000000000000040":{"balance":"0x1"},"0000000000000000000000000000000000000041":{"balance":"0x1"},"0000000000000000000000000000000000000042":{"balance":"0x1"},"0000000000000000000000000000000000000043":{"balance":"0x1"},"0000000000000000000000000000000000000044":{"balance":"0x1"},"0000000000000000000000000000000000000045":{"balance":"0x1"},"0000000000000000000000000000000000000046":{"balance":"0x1"},"0000000000000000000000000000000000000047":{"balance":"0x1"},"0000000000000000000000000000000000000048":{"balance":"0x1"},"0000000000000000000000000000000000000049":{"balance":"0x1"},"000000000000000000000000000000000000004a":{"balance":"0x1"},"000000000000000000000000000000000000004b":{"balance":"0x1"},"000000000000000000000000000000000000004c":{"balance":"0x1"},"000000000000000000000000000000000000004d":{"balance":"0x1"},"000000000000000000000000000000000000004e":{"balance":"0x1"},"000000000000000000000000000000000000004f":{"balance":"0x1"},"0000000000000000000000000000000000000050":{"balance":"0x1"},"0000000000000000000000000000000000000051":{"balance":"0x1"},"0000000000000000000000000000000000000052":{"balance":"0x1"},"0000000000000000000000000000000000000053":{"balance":"0x1"},"0000000000000000000000000000000000000054":{"balance":"0x1"},"0000000000000000000000000000000000000055":{"balance":"0x1"},"0000000000000000000000000000000000000056":{"balance":"0x1"},"0000000000000000000000000000000000000057":{"balance":"0x1"},"0000000000000000000000000000000000000058":{"balance":"0x1"},"0000000000000000000000000000000000000059":{"balance":"0x1"},"000000000000000000000000000000000000005a":{"balance":"0x1"},"000000000000000000000000000000000000005b":{"balance":"0x1"},"000000000000000000000000000000000000005c":{"balance":"0x1"},"000000000000000000000000000000000000005d":{"balance":"0x1"},"000000000000000000000000000000000000005e":{"balance":"0x1"},"000000000000000000000000000000000000005f":{"balance":"0x1"},"0000000000000000000000000000000000000060":{"balance":"0x1"},"0000000000000000000000000000000000000061":{"balance":"0x1"},"0000000000000000000000000000000000000062":{"balance":"0x1"},"0000000000000000000000000000000000000063":{"balance":"0x1"},"0000000000000000000000000000000000000064":{"balance":"0x1"},"0000000000000000000000000000000000000065":{"balance":"0x1"},"0000000000000000000000000000000000000066":{"balance":"0x1"},"0000000000000000000000000000000000000067":{"balance":"0x1"},"0000000000000000000000000000000000000068":{"balance":"0x1"},"0000000000000000000000000000000000000069":{"balance":"0x1"},"000000000000000000000000000000000000006a":{"balance":"0x1"},"000000000000000000000000000000000000006b":{"balance":"0x1"},"000000000000000000000000000000000000006c":{"balance":"0x1"},"000000000000000000000000000000000000006d":{"balance":"0x1"},"000000000000000000000000000000000000006e":{"balance":"0x1"},"000000000000000000000000000000000000006f":{"balance":"0x1"},"0000000000000000000000000000000000000070":{"balance":"0x1"},"0000000000000000000000000000000000000071":{"balance":"0x1"},"0000000000000000000000000000000000000072":{"balance":"0x1"},"0000000000000000000000000000000000000073":{"balance":"0x1"},"0000000000000000000000000000000000000074":{"balance":"0x1"},"0000000000000000000000000000000000000075":{"balance":"0x1"},"0000000000000000000000000000000000000076":{"balance":"0x1"},"0000000000000000000000000000000000000077":{"balance":"0x1"},"0000000000000000000000000000000000000078":{"balance":"0x1"},"0000000000000000000000000000000000000079":{"balance":"0x1"},"000000000000000000000000000000000000007a":{"balance":"0x1"},"000000000000000000000000000000000000007b":{"balance":"0x1"},"000000000000000000000000000000000000007c":{"balance":"0x1"},"000000000000000000000000000000000000007d":{"balance":"0x1"},"000000000000000000000000000000000000007e":{"balance":"0x1"},"000000000000000000000000000000000000007f":{"balance":"0x1"},"0000000000000000000000000000000000000080":{"balance":"0x1"},"0000000000000000000000000000000000000081":{"balance":"0x1"},"0000000000000000000000000000000000000082":{"balance":"0x1"},"0000000000000000000000000000000000000083":{"balance":"0x1"},"0000000000000000000000000000000000000084":{"balance":"0x1"},"0000000000000000000000000000000000000085":{"balance":"0x1"},"0000000000000000000000000000000000000086":{"balance":"0x1"},"0000000000000000000000000000000000000087":{"balance":"0x1"},"0000000000000000000000000000000000000088":{"balance":"0x1"},"0000000000000000000000000000000000000089":{"balance":"0x1"},"000000000000000000000000000000000000008a":{"balance":"0x1"},"000000000000000000000000000000000000008b":{"balance":"0x1"},"000000000000000000000000000000000000008c":{"balance":"0x1"},"000000000000000000000000000000000000008d":{"balance":"0x1"},"000000000000000000000000000000000000008e":{"balance":"0x1"},"000000000000000000000000000000000000008f":{"balance":"0x1"},"0000000000000000000000000000000000000090":{"balance":"0x1"},"0000000000000000000000000000000000000091":{"balance":"0x1"},"0000000000000000000000000000000000000092":{"balance":"0x1"},"0000000000000000000000000000000000000093":{"balance":"0x1"},"0000000000000000000000000000000000000094":{"balance":"0x1"},"0000000000000000000000000000000000000095":{"balance":"0x1"},"0000000000000000000000000000000000000096":{"balance":"0x1"},"0000000000000000000000000000000000000097":{"balance":"0x1"},"0000000000000000000000000000000000000098":{"balance":"0x1"},"0000000000000000000000000000000000000099":{"balance":"0x1"},"000000000000000000000000000000000000009a":{"balance":"0x1"},"000000000000000000000000000000000000009b":{"balance":"0x1"},"000000000000000000000000000000000000009c":{"balance":"0x1"},"000000000000000000000000000000000000009d":{"balance":"0x1"},"000000000000000000000000000000000000009e":{"balance":"0x1"},"000000000000000000000000000000000000009f":{"balance":"0x1"},"00000000000000000000000000000000000000a0":{"balance":"0x1"},"00000000000000000000000000000000000000a1":{"balance":"0x1"},"00000000000000000000000000000000000000a2":{"balance":"0x1"},"00000000000000000000000000000000000000a3":{"balance":"0x1"},"00000000000000000000000000000000000000a4":{"balance":"0x1"},"00000000000000000000000000000000000000a5":{"balance":"0x1"},"00000000000000000000000000000000000000a6":{"balance":"0x1"},"00000000000000000000000000000000000000a7":{"balance":"0x1"},"00000000000000000000000000000000000000a8":{"balance":"0x1"},"00000000000000000000000000000000000000a9":{"balance":"0x1"},"00000000000000000000000000000000000000aa":{"balance":"0x1"},"00000000000000000000000000000000000000ab":{"balance":"0x1"},"00000000000000000000000000000000000000ac":{"balance":"0x1"},"00000000000000000000000000000000000000ad":{"balance":"0x1"},"00000000000000000000000000000000000000ae":{"balance":"0x1"},"00000000000000000000000000000000000000af":{"balance":"0x1"},"00000000000000000000000000000000000000b0":{"balance":"0x1"},"00000000000000000000000000000000000000b1":{"balance":"0x1"},"00000000000000000000000000000000000000b2":{"balance":"0x1"},"00000000000000000000000000000000000000b3":{"balance":"0x1"},"00000000000000000000000000000000000000b4":{"balance":"0x1"},"00000000000000000000000000000000000000b5":{"balance":"0x1"},"00000000000000000000000000000000000000b6":{"balance":"0x1"},"00000000000000000000000000000000000000b7":{"balance":"0x1"},"00000000000000000000000000000000000000b8":{"balance":"0x1"},"00000000000000000000000000000000000000b9":{"balance":"0x1"},"00000000000000000000000000000000000000ba":{"balance":"0x1"},"00000000000000000000000000000000000000bb":{"balance":"0x1"},"00000000000000000000000000000000000000bc":{"balance":"0x1"},"00000000000000000000000000000000000000bd":{"balance":"0x1"},"00000000000000000000000000000000000000be":{"balance":"0x1"},"00000000000000000000000000000000000000bf":{"balance":"0x1"},"00000000000000000000000000000000000000c0":{"balance":"0x1"},"00000000000000000000000000000000000000c1":{"balance":"0x1"},"00000000000000000000000000000000000000c2":{"balance":"0x1"},"00000000000000000000000000000000000000c3":{"balance":"0x1"},"00000000000000000000000000000000000000c4":{"balance":"0x1"},"00000000000000000000000000000000000000c5":{"balance":"0x1"},"00000000000000000000000000000000000000c6":{"balance":"0x1"},"00000000000000000000000000000000000000c7":{"balance":"0x1"},"00000000000000000000000000000000000000c8":{"balance":"0x1"},"00000000000000000000000000000000000000c9":{"balance":"0x1"},"00000000000000000000000000000000000000ca":{"balance":"0x1"},"00000000000000000000000000000000000000cb":{"balance":"0x1"},"00000000000000000000000000000000000000cc":{"balance":"0x1"},"00000000000000000000000000000000000000cd":{"balance":"0x1"},"00000000000000000000000000000000000000ce":{"balance":"0x1"},"00000000000000000000000000000000000000cf":{"balance":"0x1"},"00000000000000000000000000000000000000d0":{"balance":"0x1"},"00000000000000000000000000000000000000d1":{"balance":"0x1"},"00000000000000000000000000000000000000d2":{"balance":"0x1"},"00000000000000000000000000000000000000d3":{"balance":"0x1"},"00000000000000000000000000000000000000d4":{"balance":"0x1"},"00000000000000000000000000000000000000d5":{"balance":"0x1"},"00000000000000000000000000000000000000d6":{"balance":"0x1"},"00000000000000000000000000000000000000d7":{"balance":"0x1"},"00000000000000000000000000000000000000d8":{"balance":"0x1"},"00000000000000000000000000000000000000d9":{"balance":"0x1"},"00000000000000000000000000000000000000da":{"balance":"0x1"},"00000000000000000000000000000000000000db":{"balance":"0x1"},"00000000000000000000000000000000000000dc":{"balance":"0x1"},"00000000000000000000000000000000000000dd":{"balance":"0x1"},"00000000000000000000000000000000000000de":{"balance":"0x1"},"00000000000000000000000000000000000000df":{"balance":"0x1"},"00000000000000000000000000000000000000e0":{"balance":"0x1"},"00000000000000000000000000000000000000e1":{"balance":"0x1"},"00000000000000000000000000000000000000e2":{"balance":"0x1"},"00000000000000000000000000000000000000e3":{"balance":"0x1"},"00000000000000000000000000000000000000e4":{"balance":"0x1"},"00000000000000000000000000000000000000e5":{"balance":"0x1"},"00000000000000000000000000000000000000e6":{"balance":"0x1"},"00000000000000000000000000000000000000e7":{"balance":"0x1"},"00000000000000000000000000000000000000e8":{"balance":"0x1"},"00000000000000000000000000000000000000e9":{"balance":"0x1"},"00000000000000000000000000000000000000ea":{"balance":"0x1"},"00000000000000000000000000000000000000eb":{"balance":"0x1"},"00000000000000000000000000000000000000ec":{"balance":"0x1"},"00000000000000000000000000000000000000ed":{"balance":"0x1"},"00000000000000000000000000000000000000ee":{"balance":"0x1"},"00000000000000000000000000000000000000ef":{"balance":"0x1"},"00000000000000000000000000000000000000f0":{"balance":"0x1"},"00000000000000000000000000000000000000f1":{"balance":"0x1"},"00000000000000000000000000000000000000f2":{"balance":"0x1"},"00000000000000000000000000000000000000f3":{"balance":"0x1"},"00000000000000000000000000000000000000f4":{"balance":"0x1"},"00000000000000000000000000000000000000f5":{"balance":"0x1"},"00000000000000000000000000000000000000f6":{"balance":"0x1"},"00000000000000000000000000000000000000f7":{"balance":"0x1"},"00000000000000000000000000000000000000f8":{"balance":"0x1"},"00000000000000000000000000000000000000f9":{"balance":"0x1"},"00000000000000000000000000000000000000fa":{"balance":"0x1"},"00000000000000000000000000000000000000fb":{"balance":"0x1"},"00000000000000000000000000000000000000fc":{"balance":"0x1"},"00000000000000000000000000000000000000fd":{"balance":"0x1"},"00000000000000000000000000000000000000fe":{"balance":"0x1"},"00000000000000000000000000000000000000ff":{"balance":"0x1"},"0090137110f43c6666b7bd641fcf5ca5dd989539":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000001000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x00000000000000000000000000000000000000000000000000000000000001f4","0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000015180","0x0000000000000000000000000000000000000000000000000000000000000004":"0x2ff4bbb8a7bdf978bccd784e7eeed6a065ff1a7a86caa9d93fff1d4b37addec4","0x0000000000000000000000000000000000000000000000000000000000000005":"0xc99f18ca33e10b0236fe4fd62bfd9a8eb6ceee10bf8dad1b0d121d5e6a2bf3ba","0x0000000000000000000000000000000000000000000000000000000000000006":"0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000","0x0000000000000000000000000000000000000000000000000000000000000007":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63","0x0000000000000000000000000000000000000000000000000000000000000009":"0x0000000000000000000000000000000000000000000000000000000000000001","0x000000000000000000000000000000000000000000000000000000000000000a":"0x0000000000000000000000006ad6b24c43a622d58e2959474e3912ba94dfd957","0x000000000000000000000000000000000000000000000000000000000000000b":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x1d5591f7b65bd8059a423253186881b3d932200e53c2c265d512fab5f166496d":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000","0x1d5591f7b65bd8059a423253186881b3d932200e53c2c265d512fab5f166496e":"0x0000000000000000000000000000000000000000000000000000000000000000","0x6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af":"0x0000000000000000000000006ad6b24c43a622d58e2959474e3912ba94dfd957","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000b5822d5f8d221ce2dc73e388629eca256b0aa4f2","0xa2dcbca414a2b283753bfd046a448ad06f34c483e6a942f2b13331deeee6b7b9":"0x0000000000000000000000000000000000000000000000000000000000000000","0xa2dcbca414a2b283753bfd046a448ad06f34c483e6a942f2b13331deeee6b7ba":"0x0000000000000000000000000000000000000000000000000000000000000101","0xa2dcbca414a2b283753bfd046a448ad06f34c483e6a942f2b13331deeee6b7bb":"0x0000000000000000000000000000000000000000000000000000000000000001"},"balance":"0x0"},"01e1056f6a829e53dadeb8a5a6189a9333bd1d63":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x00000000000000000000004195b06a6e4d5bedde15165e01a64f324f03d5d101","0x0aa9b499df4e99716f35c650af5247f98c5dc1bef63f3a923d9f13a6e945b800":"0x000000000000000000000000426f2e2baa6030668b799c2d9193319dface6b7a","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x6f7bca21f817d86a5b85f307683ec061c9c10f572e1c3ca5e8312058e1c3f5e7":"0x000000000000000000000000dfcb946fd93a0ae4056d7d6dca59d59fd830f8a5","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x0000000000000000000000007f0de05687a7cb9a05399a26f4d1519ba6afc95f","0x86b51839584f7178845a4241ea004c1f5fcaa1a8c0141b741967e2b99d943641":"0x0000000000000000000000000090137110f43c6666b7bd641fcf5ca5dd989539","0xd485b3e3671c35d525826a03b001f5c3d40c5cfcad1d19ecc0c924f943cb06c8":"0x000000000000000000000000c497f7ad7105db9f4138de92b13a0883b19ee0fa","0xf4b8bad9907850b244478fd4ce9bd72dbd061f18d6e4c56d102809e23bf83642":"0x000000000000000000000000485fa6d2f818145a23ace24d84cdc966d8d2de22"},"balance":"0x0"},"049ec8777b4806eff0bb6039551690d8f650b25a":{"balance":"0x8ac7230489e80000"},"0e5d0fd336650e663c710ef420f85fb081e21415":{"code":"0x60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025e7c2714610177578063173825d9146101e457806320ea8d86146102275780632f54bf6e146102545780633411c81c146102af57806354741525146103145780637065cb4814610363578063784547a7146103a65780638b51d13f146103eb5780639ace38c21461042c578063a0e67e2b14610517578063a8abe69a14610583578063b5dc40c314610627578063b77bf600146106a9578063ba51a6df146106d4578063c01a8c8414610701578063c64274741461072e578063d74f8edd146107d5578063dc8452cd14610800578063e20056e61461082b578063ee22610b1461088e575b6000341115610175573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a25b005b34801561018357600080fd5b506101a2600480360381019080803590602001909291905050506108bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f057600080fd5b50610225600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108f9565b005b34801561023357600080fd5b5061025260048036038101908080359060200190929190505050610b92565b005b34801561026057600080fd5b50610295600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d3a565b604051808215151515815260200191505060405180910390f35b3480156102bb57600080fd5b506102fa60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5a565b604051808215151515815260200191505060405180910390f35b34801561032057600080fd5b5061034d600480360381019080803515159060200190929190803515159060200190929190505050610d89565b6040518082815260200191505060405180910390f35b34801561036f57600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e1b565b005b3480156103b257600080fd5b506103d160048036038101908080359060200190929190505050611020565b604051808215151515815260200191505060405180910390f35b3480156103f757600080fd5b5061041660048036038101908080359060200190929190505050611105565b6040518082815260200191505060405180910390f35b34801561043857600080fd5b50610457600480360381019080803590602001909291905050506111d0565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156104d95780820151818401526020810190506104be565b50505050905090810190601f1680156105065780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561052357600080fd5b5061052c6112c5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561056f578082015181840152602081019050610554565b505050509050019250505060405180910390f35b34801561058f57600080fd5b506105d06004803603810190808035906020019092919080359060200190929190803515159060200190929190803515159060200190929190505050611353565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106135780820151818401526020810190506105f8565b505050509050019250505060405180910390f35b34801561063357600080fd5b50610652600480360381019080803590602001909291905050506114c4565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561069557808201518184015260208101905061067a565b505050509050019250505060405180910390f35b3480156106b557600080fd5b506106be611701565b6040518082815260200191505060405180910390f35b3480156106e057600080fd5b506106ff60048036038101908080359060200190929190505050611707565b005b34801561070d57600080fd5b5061072c600480360381019080803590602001909291905050506117c1565b005b34801561073a57600080fd5b506107bf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061199e565b6040518082815260200191505060405180910390f35b3480156107e157600080fd5b506107ea6119bd565b6040518082815260200191505060405180910390f35b34801561080c57600080fd5b506108156119c2565b6040518082815260200191505060405180910390f35b34801561083757600080fd5b5061088c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119c8565b005b34801561089a57600080fd5b506108b960048036038101908080359060200190929190505050611cdd565b005b6003818154811015156108ca57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093557600080fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561098e57600080fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600091505b600160038054905003821015610b13578273ffffffffffffffffffffffffffffffffffffffff16600383815481101515610a2157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b06576003600160038054905003815481101515610a7f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600383815481101515610ab957fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b13565b81806001019250506109eb565b6001600381818054905003915081610b2b91906120ff565b506003805490506004541115610b4a57610b49600380549050611707565b5b8273ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a2505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610beb57600080fd5b81336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610c5657600080fd5b8360008082815260200190815260200160002060030160009054906101000a900460ff16151515610c8657600080fd5b60006001600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e960405160405180910390a35050505050565b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600080600090505b600554811015610e1457838015610dc8575060008082815260200190815260200160002060030160009054906101000a900460ff16155b80610dfb5750828015610dfa575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b15610e07576001820191505b8080600101915050610d91565b5092915050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e5557600080fd5b80600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610eaf57600080fd5b8160008173ffffffffffffffffffffffffffffffffffffffff1614151515610ed657600080fd5b60016003805490500160045460328211158015610ef35750818111155b8015610f00575060008114155b8015610f0d575060008214155b1515610f1857600080fd5b6001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508473ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b6000806000809150600090505b6003805490508110156110fd5760016000858152602001908152602001600020600060038381548110151561105e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156110dd576001820191505b6004548214156110f057600192506110fe565b808060010191505061102d565b5b5050919050565b600080600090505b6003805490508110156111ca5760016000848152602001908152602001600020600060038381548110151561113e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111bd576001820191505b808060010191505061110d565b50919050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015490806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112a85780601f1061127d576101008083540402835291602001916112a8565b820191906000526020600020905b81548152906001019060200180831161128b57829003601f168201915b5050505050908060030160009054906101000a900460ff16905084565b6060600380548060200260200160405190810160405280929190818152602001828054801561134957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116112ff575b5050505050905090565b60608060008060055460405190808252806020026020018201604052801561138a5781602001602082028038833980820191505090505b50925060009150600090505b600554811015611436578580156113cd575060008082815260200190815260200160002060030160009054906101000a900460ff16155b8061140057508480156113ff575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b156114295780838381518110151561141457fe5b90602001906020020181815250506001820191505b8080600101915050611396565b8787036040519080825280602002602001820160405280156114675781602001602082028038833980820191505090505b5093508790505b868110156114b957828181518110151561148457fe5b906020019060200201518489830381518110151561149e57fe5b9060200190602002018181525050808060010191505061146e565b505050949350505050565b6060806000806003805490506040519080825280602002602001820160405280156114fe5781602001602082028038833980820191505090505b50925060009150600090505b60038054905081101561164b5760016000868152602001908152602001600020600060038381548110151561153b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561163e576003818154811015156115c257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683838151811015156115fb57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b808060010191505061150a565b8160405190808252806020026020018201604052801561167a5781602001602082028038833980820191505090505b509350600090505b818110156116f957828181518110151561169857fe5b9060200190602002015184828151811015156116b057fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050611682565b505050919050565b60055481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174157600080fd5b60038054905081603282111580156117595750818111155b8015611766575060008114155b8015611773575060008214155b151561177e57600080fd5b826004819055507fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a836040518082815260200191505060405180910390a1505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561181a57600080fd5b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561187657600080fd5b82336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156118e257600080fd5b600180600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef60405160405180910390a361199785611cdd565b5050505050565b60006119ab848484611f85565b90506119b6816117c1565b9392505050565b603281565b60045481565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0457600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611a5d57600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611ab757600080fd5b600092505b600380549050831015611ba0578473ffffffffffffffffffffffffffffffffffffffff16600384815481101515611aef57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611b935783600384815481101515611b4657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611ba0565b8280600101935050611abc565b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508473ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a28373ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b600033600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611d3857600080fd5b82336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611da357600080fd5b8460008082815260200190815260200160002060030160009054906101000a900460ff16151515611dd357600080fd5b611ddc86611020565b15611f7d57600080878152602001908152602001600020945060018560030160006101000a81548160ff021916908315150217905550611efa8560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866001015487600201805460018160011615610100020316600290049050886002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ef05780601f10611ec557610100808354040283529160200191611ef0565b820191906000526020600020905b815481529060010190602001808311611ed357829003601f168201915b50505050506120d7565b15611f3157857f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7560405160405180910390a2611f7c565b857f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923660405160405180910390a260008560030160006101000a81548160ff0219169083151502179055505b5b505050505050565b60008360008173ffffffffffffffffffffffffffffffffffffffff1614151515611fae57600080fd5b60055491506080604051908101604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020016000151581525060008084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201908051906020019061206d92919061212b565b5060608201518160030160006101000a81548160ff0219169083151502179055509050506001600560008282540192505081905550817fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5160405160405180910390a2509392505050565b6000806040516020840160008287838a8c62054bdc5a03f19250505080915050949350505050565b8154818355818111156121265781836000526020600020918201910161212591906121ab565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061216c57805160ff191683800117855561219a565b8280016001018555821561219a579182015b8281111561219957825182559160200191906001019061217e565b5b5090506121a791906121ab565b5090565b6121cd91905b808211156121c95760008160009055506001016121b1565b5090565b905600a165627a7a72305820b9132d118b85ee91b3ef33d8346c1ba518df422ee90630ed557599092709a7670029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004":"0x0000000000000000000000000000000000000000000000000000000000000002","0xa19cbe59d468f3fb5b320edc5e49298d3f391d6304c436497c6a7f03ca25515c":"0x0000000000000000000000000000000000000000000000000000000000000001","0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c":"0x000000000000000000000000049ec8777b4806eff0bb6039551690d8f650b25a","0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d":"0x000000000000000000000000902f069af381a650b7f18ff28ffdad0f11eb425b","0xf5a9159dd7a73776c0d06b82c491e439b0f434ee7f48db2184c62b8a0915f8f5":"0x0000000000000000000000000000000000000000000000000000000000000001","0xf662ac89672a6f91a243a9cf313e14d1828bf7f3a3ab7938a1f979da6f908864":"0x0000000000000000000000000000000000000000000000000000000000000001"},"balance":"0x0"},"2d7465b88a0a5a1bbff2671c8ed78f7506465ddc":{"code":"0x732d7465b88a0a5a1bbff2671c8ed78f7506465ddc30146080604052600080fd00a165627a7a72305820de029ffd61fdb3181f53609fdbaafec7c7b031427512423ba1afef4928177f300029","balance":"0x0"},"3b058a1a62e59d185618f64bebbaf3c52bf099e0":{"code":"0x733b058a1a62e59d185618f64bebbaf3c52bf099e03014608060405260043610610058576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063098799621461005d575b600080fd5b6100b7600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506100d5565b60405180826000191660001916815260200191505060405180910390f35b60006100df610599565b60006100e9610599565b606060006100f6876102c3565b945060006001029350610108856102f1565b15156102b65761014c6040805190810160405280600181526020017f2e000000000000000000000000000000000000000000000000000000000000008152506102c3565b92506001610163848761030190919063ffffffff16565b0160405190808252806020026020018201604052801561019757816020015b60608152602001906001900390816101825790505b509150600090505b81518110156101eb576101c36101be848761037890919063ffffffff16565b610392565b82828151811015156101d157fe5b90602001906020020181905250808060010191505061019f565b600090505b81518110156102b55783826001838551030381518110151561020e57fe5b906020019060200201516040518082805190602001908083835b60208310151561024d5780518252602082019150602081019050602083039250610228565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518083600019166000191681526020018260001916600019168152602001925050506040518091039020935080806001019150506101f0565b5b8395505050505050919050565b6102cb610599565b600060208301905060408051908101604052808451815260200182815250915050919050565b6000808260000151149050919050565b600080826000015161032585600001518660200151866000015187602001516103f4565b0190505b83600001518460200151018111151561037157818060010192505082600001516103698560200151830386600001510383866000015187602001516103f4565b019050610329565b5092915050565b610380610599565b61038b8383836104b0565b5092915050565b606080600083600001516040519080825280601f01601f1916602001820160405280156103ce5781602001602082028038833980820191505090505b5091506020820190506103ea818560200151866000015161054e565b8192505050919050565b6000806000806000888711151561049e576020871115156104555760018760200360080260020a031980875116888b038a018a96505b81838851161461044a5760018701965080600188031061042a578b8b0196505b5050508394506104a4565b8686209150879350600092505b8689038311151561049d57868420905080600019168260001916141561048a578394506104a4565b6001840193508280600101935050610462565b5b88880194505b50505050949350505050565b6104b8610599565b60006104d685600001518660200151866000015187602001516103f4565b90508460200151836020018181525050846020015181038360000181815250508460000151856020015101811415610518576000856000018181525050610543565b8360000151836000015101856000018181510391508181525050836000015181018560200181815250505b829150509392505050565b60005b6020821015156105765782518452602084019350602083019250602082039150610551565b6001826020036101000a0390508019835116818551168181178652505050505050565b6040805190810160405280600081526020016000815250905600a165627a7a72305820bdb7fa7f1254d03496a55a35a971f38f891e40961a467acc8100eadce57bdad70029","balance":"0x0"},"4195b06a6e4d5bedde15165e01a64f324f03d5d1":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0aa9b499df4e99716f35c650af5247f98c5dc1bef63f3a923d9f13a6e945b800":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0x0aa9b499df4e99716f35c650af5247f98c5dc1bef63f3a923d9f13a6e945b801":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x6793bdf4379ec85ee52adbbe524203920c00866a03f73066b816feb521b95a0f":"0x000000000000000000000000e1adb6075619f52fc00bdd50def1b754b9e7bd17","0x6f7bca21f817d86a5b85f307683ec061c9c10f572e1c3ca5e8312058e1c3f5e7":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0x6f7bca21f817d86a5b85f307683ec061c9c10f572e1c3ca5e8312058e1c3f5e8":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000bfb47d8008d1ccdcaf3a36110a9338a274e86343","0x86b51839584f7178845a4241ea004c1f5fcaa1a8c0141b741967e2b99d943641":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0x86b51839584f7178845a4241ea004c1f5fcaa1a8c0141b741967e2b99d943642":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63","0xa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0xd485b3e3671c35d525826a03b001f5c3d40c5cfcad1d19ecc0c924f943cb06c8":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0xd485b3e3671c35d525826a03b001f5c3d40c5cfcad1d19ecc0c924f943cb06c9":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63","0xf4b8bad9907850b244478fd4ce9bd72dbd061f18d6e4c56d102809e23bf83642":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0xf4b8bad9907850b244478fd4ce9bd72dbd061f18d6e4c56d102809e23bf83643":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63"},"balance":"0x0"},"426f2e2baa6030668b799c2d9193319dface6b7a":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000001000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000032","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000000000000000258","0x0000000000000000000000000000000000000000000000000000000000000003":"0x000000000000000000000000000000000000000000000000000000000000001e","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000090137110f43c6666b7bd641fcf5ca5dd989539","0x0000000000000000000000000000000000000000000000000000000000000006":"0x13a02f7cebf86cd2a5bc43aab96f2b5c4dd7406102f5a3b3e734a749ce84ea87","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000616a77ba32adc911dba37f5883e4013b5278a279"},"balance":"0x0"},"485fa6d2f818145a23ace24d84cdc966d8d2de22":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000001000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000056bc75e2d63100000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x000000000000000000000000c3c45781031885313d5a598042950d6d7be96350","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000cdca8b1b7edfb0827f10f4ed3968d98fa5c90ea0"},"balance":"0x0"},"616a77ba32adc911dba37f5883e4013b5278a279":{"code":"0x60806040526004361061011c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fe7b111461012157806309fe9d391461014c578063158ef93e146101b95780631f8d519d146101e8578063339d2590146102495780633f4ba83a146102535780633f4e42511461026a5780635c975abb14610295578063715018a6146102c45780638456cb59146102db5780638da5cb5b146102f2578063986fcbe914610349578063a035b1fe14610376578063a2207c6a146103a1578063a83627de146103f8578063a97e5c9314610423578063c48c1a711461047e578063c8104e01146104a9578063cdee7e071461051d578063f2fde38b14610548578063f93a2eb21461058b575b600080fd5b34801561012d57600080fd5b506101366105a2565b6040518082815260200191505060405180910390f35b34801561015857600080fd5b50610177600480360381019080803590602001909291905050506105a8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101ce61062e565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b50610247600480360381019080803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610641565b005b610251610878565b005b34801561025f57600080fd5b50610268610a7e565b005b34801561027657600080fd5b5061027f610b3c565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610b49565b604051808215151515815260200191505060405180910390f35b3480156102d057600080fd5b506102d9610b5c565b005b3480156102e757600080fd5b506102f0610c5e565b005b3480156102fe57600080fd5b50610307610d1e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610d43565b005b34801561038257600080fd5b5061038b610ed9565b6040518082815260200191505060405180910390f35b3480156103ad57600080fd5b506103b6610edf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040457600080fd5b5061040d610f05565b6040518082815260200191505060405180910390f35b34801561042f57600080fd5b50610464600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f0b565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b50610493610f64565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104d460048036038101908080359060200190929190505050610f71565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561052957600080fd5b50610532610fc9565b6040518082815260200191505060405180910390f35b34801561055457600080fd5b50610589600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcf565b005b34801561059757600080fd5b506105a0611036565b005b60015481565b6000806008838154811015156105ba57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905050919050565b600060159054906101000a900460ff1681565b600060159054906101000a900460ff161515156106ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b6000841115156106fb57600080fd5b6000831115610720576000821180156107145750828211155b151561071f57600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b15801561081257600080fd5b505af4158015610826573d6000803e3d6000fd5b505050506040513d602081101561083c57600080fd5b8101908080519060200190929190505050600681600019169055506001600060156101000a81548160ff02191690831515021790555050505050565b600060149054906101000a900460ff1615151561089457600080fd5b61089d33610f0b565b1515156108a957600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b3b57de6006546040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561094457600080fd5b505af1158015610958573d6000803e3d6000fd5b505050506040513d602081101561096e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16637d0e81bf336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050506040513d6020811015610a4357600080fd5b81019080805190602001909291905050501515610a5f57600080fd5b610a67611071565b1515610a7257600080fd5b610a7c3334611084565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ad957600080fd5b600060149054906101000a900460ff161515610af457600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600880549050905090565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bb757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb957600080fd5b600060149054906101000a900460ff16151515610cd557600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff16151515610d5f57600080fd5b610d6833610f0b565b1515610d7357600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff16151515610dcf57600080fd5b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600960408051908101604052808381526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b6000600980549050905090565b6000806000600984815481101515610f8557fe5b90600052602060002090600202019050806000015492508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050915091565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102a57600080fd5b61103381611159565b50565b600060149054906101000a900460ff1615151561105257600080fd5b61105b33610f0b565b151561106657600080fd5b61106f33611253565b565b6000806008805490506001540311905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160088490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff021916908315150217905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561119557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020925082600001549150600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549060ff02191690555050600860016008805490500381548110151561132957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508060088381548110151561136657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600880548091906001900361140a9190611411565b5050505050565b81548183558181111561143857818360005260206000209182019101611437919061143d565b5b505050565b61145f91905b8082111561145b576000816000905550600101611443565b5090565b905600a165627a7a723058206edebfea6040cf2a51a7b24a3abd4c4f5147e2cd72dc2e88c61b250d8362437b0029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000032","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000000000000000258","0x0000000000000000000000000000000000000000000000000000000000000003":"0x000000000000000000000000000000000000000000000000000000000000001e","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000090137110f43c6666b7bd641fcf5ca5dd989539","0x0000000000000000000000000000000000000000000000000000000000000006":"0x13a02f7cebf86cd2a5bc43aab96f2b5c4dd7406102f5a3b3e734a749ce84ea87"},"balance":"0x0"},"64c2a9cb0220d3e56783ed87cc1b20115bc93f96":{"code":"0x6080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461010157806306fdde0314610130578063158ef93e146101c057806318160ddd146101ef578063313ce5671461021a578063355274ea1461024b57806340c10f191461027657806341658f3c146102db57806370a08231146103a1578063715018a6146103f85780637d64bcb41461040f578063893d20e81461043e5780638da5cb5b1461049557806395d89b41146104ec578063a9059cbb1461057c578063be45fd62146105e1578063f2fde38b1461068c578063f6368f8a146106cf575b600080fd5b34801561010d57600080fd5b506101166107c0565b604051808215151515815260200191505060405180910390f35b34801561013c57600080fd5b506101456107d3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018557808201518184015260208101905061016a565b50505050905090810190601f1680156101b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cc57600080fd5b506101d5610875565b604051808215151515815260200191505060405180910390f35b3480156101fb57600080fd5b50610204610888565b6040518082815260200191505060405180910390f35b34801561022657600080fd5b5061022f610892565b604051808260ff1660ff16815260200191505060405180910390f35b34801561025757600080fd5b506102606108a9565b6040518082815260200191505060405180910390f35b34801561028257600080fd5b506102c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108af565b604051808215151515815260200191505060405180910390f35b3480156102e757600080fd5b5061039f600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190803560ff169060200190929190505050610960565b005b3480156103ad57600080fd5b506103e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610acb565b6040518082815260200191505060405180910390f35b34801561040457600080fd5b5061040d610b14565b005b34801561041b57600080fd5b50610424610c19565b604051808215151515815260200191505060405180910390f35b34801561044a57600080fd5b50610453610ce1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104a157600080fd5b506104aa610d0b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104f857600080fd5b50610501610d31565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610541578082015181840152602081019050610526565b50505050905090810190601f16801561056e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561058857600080fd5b506105c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dd3565b604051808215151515815260200191505060405180910390f35b3480156105ed57600080fd5b50610672600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e0c565b604051808215151515815260200191505060405180910390f35b34801561069857600080fd5b506106cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e43565b005b3480156106db57600080fd5b506107a6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610eab565b604051808215151515815260200191505060405180910390f35b600760149054906101000a900460ff1681565b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561086b5780601f106108405761010080835404028352916020019161086b565b820191906000526020600020905b81548152906001019060200180831161084e57829003601f168201915b5050505050905090565b600160009054906101000a900460ff1681565b6000600654905090565b6000600560009054906101000a900460ff16905090565b60085481565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561090d57600080fd5b600760149054906101000a900460ff1615151561092957600080fd5b6008546109418360065461126890919063ffffffff16565b1115151561094e57600080fd5b6109588383611284565b905092915050565b600160009054906101000a900460ff16151515610a0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600082111515610a1a57600080fd5b8160088190555033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360039080519060200190610a78929190611b11565b508260049080519060200190610a8f929190611b11565b5080600560006101000a81548160ff021916908360ff16021790555060018060006101000a81548160ff02191690831515021790555050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7057600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7757600080fd5b600760149054906101000a900460ff16151515610c9357600080fd5b6001600760146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dc95780601f10610d9e57610100808354040283529160200191610dc9565b820191906000526020600020905b815481529060010190602001808311610dac57829003601f168201915b5050505050905090565b60006060610de084611480565b15610df757610df0848483611493565b9150610e05565b610e028484836117de565b91505b5092915050565b6000610e1784611480565b15610e2e57610e27848484611493565b9050610e3c565b610e398484846117de565b90505b9392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e9f57600080fd5b610ea8816119fc565b50565b6000610eb685611480565b156112525783610ec533610acb565b1015610ed057600080fd5b610f2284600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611af890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb784600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461126890919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff166000836040518082805190602001908083835b6020831015156110495780518252602082019150602081019050602083039250611024565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207c01000000000000000000000000000000000000000000000000000000009004903387876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828051906020019080838360005b8381101561112a57808201518184015260208101905061110f565b50505050905090810190601f1680156111575780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af19350505050151561117757fe5b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561120e5780820151818401526020810190506111f3565b50505050905090810190601f16801561123b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a360019050611260565b61125d8585856117de565b90505b949350505050565b6000818301905082811015151561127b57fe5b80905092915050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112e257600080fd5b600760149054906101000a900460ff161515156112fe57600080fd5b6113138260065461126890919063ffffffff16565b60068190555061136b82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461126890919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168460405180828152602001806020018281038252600081526020016020019250505060405180910390a36001905092915050565b600080823b905060008111915050919050565b600080836114a033610acb565b10156114ab57600080fd5b6114fd84600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611af890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061159284600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461126890919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508490508073ffffffffffffffffffffffffffffffffffffffff1663c0ee0b8a3386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561169a57808201518184015260208101905061167f565b50505050905090810190601f1680156116c75780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156116e857600080fd5b505af11580156116fc573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561179757808201518184015260208101905061177c565b50505050905090810190601f1680156117c45780820380516001836020036101000a031916815260200191505b50935050505060405180910390a360019150509392505050565b6000826117ea33610acb565b10156117f557600080fd5b61184783600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611af890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118dc83600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461126890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156119b657808201518184015260208101905061199b565b50505050905090810190601f1680156119e35780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3600190509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611a3857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611b0657fe5b818303905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b5257805160ff1916838001178555611b80565b82800160010185558215611b80579182015b82811115611b7f578251825591602001919060010190611b64565b5b509050611b8d9190611b91565b5090565b611bb391905b80821115611baf576000816000905550600101611b97565b5090565b905600a165627a7a723058205e5cc50b54a1435f03d0f8490f628e5477e3c71169f264d34c47d0a49253bbfc0029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000003":"0x6d55534400000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000004":"0x6d55534400000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000007":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0x0000000000000000000000000000000000000000000000000000000000000008":"0x000000000000000000000000000000000000000003782dace9d9000000000000"},"balance":"0x0"},"6ad6b24c43a622d58e2959474e3912ba94dfd957":{"balance":"0x8ac7230489e80000"},"6d5e05684c737d42f313d5b82a88090136e831f8":{"balance":"0x21e19e0c9bab2400000"},"7a5727e94bbb559e0eafc399354dd30dbd51d2aa":{"code":"0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806325b5672714610051578063c6e8b4f3146100f4575b600080fd5b34801561005d57600080fd5b506100b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061029b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000806101dc836103fa565b90508073ffffffffffffffffffffffffffffffffffffffff16638f283970856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561027957600080fd5b505af115801561028d573d6000803e3d6000fd5b505050508091505092915050565b6000806102a7846103fa565b90508073ffffffffffffffffffffffffffffffffffffffff16638f283970866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561034457600080fd5b505af1158015610358573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16348460405180828051906020019080838360005b838110156103a2578082015181840152602081019050610387565b50505050905090810190601f1680156103cf5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af19250505015156103ef57600080fd5b809150509392505050565b600080826104066104c6565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080158015610458573d6000803e3d6000fd5b5090507efffc2da0b561cae30d9826d37709e9421c4725faebc226cbbb7ef5fc5e734981604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a180915050919050565b604051610b27806104d7833901905600608060405234801561001057600080fd5b50604051602080610b27833981018060405281019080805190602001909291905050508060405180807f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481526020017f696f6e000000000000000000000000000000000000000000000000000000000081525060230190506040518091039020600019167f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3600102600019161415156100c557fe5b6100dd81610167640100000000026401000000009004565b5060405180807f6f72672e7a657070656c696e6f732e70726f78792e61646d696e000000000000815250601a0190506040518091039020600019167f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001026000191614151561014957fe5b6101613361024c640100000000026401000000009004565b5061028e565b60006101858261027b6401000000000261084b176401000000009004565b151561021f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b600080823b905060008111915050919050565b61088a8061029d6000396000f30060806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029a165627a7a7230582075bac8779341600a0dbcebbbdf6fb8487503343b22b6218c9bd744b22b6435780029","balance":"0x0"},"7f0de05687a7cb9a05399a26f4d1519ba6afc95f":{"code":"0x6080604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a7146100f657806310f13a8c1461015a578063158ef93e146102175780632203ab561461024657806329cd62ea146103015780632dff69411461034e5780633b3b57de1461039b57806359d1d43c1461040c578063623195b0146104fc578063691f34311461057d5780637737221314610627578063aa4cb5471461069e578063c3d014d614610715578063c4d66de814610754578063c869023314610797578063d5fa2b00146107f3578063e89401a114610844575b600080fd5b34801561010257600080fd5b5061014060048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506108ee565b604051808215151515815260200191505060405180910390f35b34801561016657600080fd5b506102156004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610c48565b005b34801561022357600080fd5b5061022c610f06565b604051808215151515815260200191505060405180910390f35b34801561025257600080fd5b5061027f600480360381019080803560001916906020019092919080359060200190929190505050610f18565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102c55780820151818401526020810190506102aa565b50505050905090810190601f1680156102f25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561030d57600080fd5b5061034c60048036038101908080356000191690602001909291908035600019169060200190929190803560001916906020019092919050505061105b565b005b34801561035a57600080fd5b5061037d6004803603810190808035600019169060200190929190505050611221565b60405180826000191660001916815260200191505060405180910390f35b3480156103a757600080fd5b506103ca6004803603810190808035600019169060200190929190505050611249565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041857600080fd5b506104816004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611291565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104c15780820151818401526020810190506104a6565b50505050905090810190601f1680156104ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050857600080fd5b5061057b600480360381019080803560001916906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506113bb565b005b34801561058957600080fd5b506105ac6004803603810190808035600019169060200190929190505050611559565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105ec5780820151818401526020810190506105d1565b50505050905090810190601f1680156106195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561063357600080fd5b5061069c6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611619565b005b3480156106aa57600080fd5b506107136004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611800565b005b34801561072157600080fd5b50610752600480360381019080803560001916906020019092919080356000191690602001909291905050506119e7565b005b34801561076057600080fd5b50610795600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b65565b005b3480156107a357600080fd5b506107c66004803603810190808035600019169060200190929190505050611c6d565b60405180836000191660001916815260200182600019166000191681526020019250505060405180910390f35b3480156107ff57600080fd5b506108426004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cbd565b005b34801561085057600080fd5b506108736004803603810190808035600019169060200190929190505050611e95565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108b3578082015181840152602081019050610898565b50505050905090810190601f1680156108e05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000633b3b57de7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109bf575063d8389dc57c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610a2a575063691f34317c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610a955750632203ab567c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b00575063c86902337c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b6b57506359d1d43c7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610bd6575063e89401a17c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610c4157506301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b823373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610cf957600080fd5b505af1158015610d0d573d6000803e3d6000fd5b505050506040513d6020811015610d2357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515610d5657600080fd5b81600160008660001916600019168152602001908152602001600020600501846040518082805190602001908083835b602083101515610dab5780518252602082019150602081019050602083039250610d86565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390209080519060200190610df1929190611f55565b5083600019167fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a75508485604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610e5e578082015181840152602081019050610e43565b50505050905090810190601f168015610e8b5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ec4578082015181840152602081019050610ea9565b50505050905090810190601f168015610ef15780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a250505050565b6000809054906101000a900460ff1681565b6000606060006001600086600019166000191681526020019081526020016000209050600192505b838311151561104e57600084841614158015610f8557506000816006016000858152602001908152602001600020805460018160011615610100020316600290049050115b1561103f578060060160008481526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110335780601f1061100857610100808354040283529160200191611033565b820191906000526020600020905b81548152906001019060200180831161101657829003601f168201915b50505050509150611053565b6001839060020a029250610f40565b600092505b509250929050565b823373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561110c57600080fd5b505af1158015611120573d6000803e3d6000fd5b505050506040513d602081101561113657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614151561116957600080fd5b6040805190810160405280846000191681526020018360001916815250600160008660001916600019168152602001908152602001600020600301600082015181600001906000191690556020820151816001019060001916905590505083600019167f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46848460405180836000191660001916815260200182600019166000191681526020019250505060405180910390a250505050565b6000600160008360001916600019168152602001908152602001600020600101549050919050565b600060016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060600160008460001916600019168152602001908152602001600020600501826040518082805190602001908083835b6020831015156112e757805182526020820191506020810190506020830392506112c2565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113ae5780601f10611383576101008083540402835291602001916113ae565b820191906000526020600020905b81548152906001019060200180831161139157829003601f168201915b5050505050905092915050565b823373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561146c57600080fd5b505af1158015611480573d6000803e3d6000fd5b505050506040513d602081101561149657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415156114c957600080fd5b60008360018503161415156114dd57600080fd5b8160016000866000191660001916815260200190815260200160002060060160008581526020019081526020016000209080519060200190611520929190611fd5565b508284600019167faa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe360405160405180910390a350505050565b60606001600083600019166000191681526020019081526020016000206002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561160d5780601f106115e25761010080835404028352916020019161160d565b820191906000526020600020905b8154815290600101906020018083116115f057829003601f168201915b50505050509050919050565b813373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b505050506040513d60208110156116f457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614151561172757600080fd5b816001600085600019166000191681526020019081526020016000206002019080519060200190611759929190611f55565b5082600019167fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7836040518080602001828103825283818151815260200191508051906020019080838360005b838110156117c15780820151818401526020810190506117a6565b50505050905090810190601f1680156117ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505050565b813373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156118b157600080fd5b505af11580156118c5573d6000803e3d6000fd5b505050506040513d60208110156118db57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614151561190e57600080fd5b816001600085600019166000191681526020019081526020016000206007019080519060200190611940929190611fd5565b5082600019167fc0b0fc07269fc2749adada3221c095a1d2187b2d075b51c915857b520f3a5021836040518080602001828103825283818151815260200191508051906020019080838360005b838110156119a857808201518184015260208101905061198d565b50505050905090810190601f1680156119d55780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505050565b813373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611a9857600080fd5b505af1158015611aac573d6000803e3d6000fd5b505050506040513d6020811015611ac257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611af557600080fd5b81600160008560001916600019168152602001908152602001600020600101816000191690555082600019167f0424b6fe0d9c3bdbece0e7879dc241bb0c22e900be8b6c168b4ee08bd9bf83bc8360405180826000191660001916815260200191505060405180910390a2505050565b6000809054906101000a900460ff16151515611c0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b80600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000806101000a81548160ff02191690831515021790555050565b600080600160008460001916600019168152602001908152602001600020600301600001546001600085600019166000191681526020019081526020016000206003016001015491509150915091565b813373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d6e57600080fd5b505af1158015611d82573d6000803e3d6000fd5b505050506040513d6020811015611d9857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611dcb57600080fd5b8160016000856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600019167f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd283604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a2505050565b60606001600083600019166000191681526020019081526020016000206007018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f495780601f10611f1e57610100808354040283529160200191611f49565b820191906000526020600020905b815481529060010190602001808311611f2c57829003601f168201915b50505050509050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f9657805160ff1916838001178555611fc4565b82800160010185558215611fc4579182015b82811115611fc3578251825591602001919060010190611fa8565b5b509050611fd19190612055565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061201657805160ff1916838001178555612044565b82800160010185558215612044579182015b82811115612043578251825591602001919060010190612028565b5b5090506120519190612055565b5090565b61207791905b8082111561207357600081600090555060010161205b565b5090565b905600a165627a7a72305820027c05d350dcea72c694473f4a996d01df5e087012864c93d8c8fb87b44584380029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000000"},"balance":"0x0"},"902f069af381a650b7f18ff28ffdad0f11eb425b":{"balance":"0x8ac7230489e80000"},"b5822d5f8d221ce2dc73e388629eca256b0aa4f2":{"code":"0x60806040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063035cf1421461016f5780630a3cb6631461019a578063158ef93e146101c55780632086ca25146101f4578063268331481461021f5780633ed0a3731461024a5780633f4ba83a146102925780635c975abb146102a957806369474625146102d85780636a911ccf146103035780637071688a1461031a578063715018a6146103455780637d0e81bf1461035c5780638456cb59146103b75780638da5cb5b146103ce5780639363a1411461042557806397584b3e146104505780639abee7d01461047f5780639bb2ea5a146104cc578063a2207c6a146104f9578063aded41ec14610550578063b774cb1e14610567578063c22a933c1461059a578063ccd65296146105c7578063cefddda914610632578063e7a60a9c1461068d578063f2fde38b14610701578063facd743b14610744575b600080fd5b34801561017b57600080fd5b5061018461079f565b6040518082815260200191505060405180910390f35b3480156101a657600080fd5b506101af610872565b6040518082815260200191505060405180910390f35b3480156101d157600080fd5b506101da610878565b604051808215151515815260200191505060405180910390f35b34801561020057600080fd5b5061020961088b565b6040518082815260200191505060405180910390f35b34801561022b57600080fd5b50610234610891565b6040518082815260200191505060405180910390f35b34801561025657600080fd5b5061027560048036038101908080359060200190929190505050610897565b604051808381526020018281526020019250505060405180910390f35b34801561029e57600080fd5b506102a761090f565b005b3480156102b557600080fd5b506102be6109cd565b604051808215151515815260200191505060405180910390f35b3480156102e457600080fd5b506102ed6109e0565b6040518082815260200191505060405180910390f35b34801561030f57600080fd5b506103186109e6565b005b34801561032657600080fd5b5061032f610a21565b6040518082815260200191505060405180910390f35b34801561035157600080fd5b5061035a610a2e565b005b34801561036857600080fd5b5061039d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b30565b604051808215151515815260200191505060405180910390f35b3480156103c357600080fd5b506103cc610bc4565b005b3480156103da57600080fd5b506103e3610c84565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043157600080fd5b5061043a610ca9565b6040518082815260200191505060405180910390f35b34801561045c57600080fd5b50610465610cf6565b604051808215151515815260200191505060405180910390f35b34801561048b57600080fd5b506104ca600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d09565b005b3480156104d857600080fd5b506104f760048036038101908080359060200190929190505050610d96565b005b34801561050557600080fd5b5061050e610e3a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055c57600080fd5b50610565610e60565b005b34801561057357600080fd5b5061057c611135565b60405180826000191660001916815260200191505060405180910390f35b3480156105a657600080fd5b506105c56004803603810190808035906020019092919050505061113b565b005b3480156105d357600080fd5b5061063060048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111a0565b005b34801561063e57600080fd5b50610673600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113bf565b604051808215151515815260200191505060405180910390f35b34801561069957600080fd5b506106b860048036038101908080359060200190929190505050611418565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34801561070d57600080fd5b50610742600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114cf565b005b34801561075057600080fd5b50610785600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611536565b604051808215151515815260200191505060405180910390f35b6000806107aa610cf6565b156107b957600154915061086e565b6008600060096001600980549050038154811015156107d457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600181600201600183600201805490500381548110151561085857fe5b9060005260206000209060020201600001540191505b5090565b60035481565b600060159054906101000a900460ff1681565b60025481565b60065481565b6000806000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201848154811015156108eb57fe5b90600052602060002090600202019050806000015481600101549250925050915091565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561096a57600080fd5b600060149054906101000a900460ff16151561098557600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600060149054906101000a900460ff1681565b60015481565b600060149054906101000a900460ff16151515610a0257600080fd5b610a0b33611536565b1515610a1657600080fd5b610a1f3361158f565b565b6000600980549050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a8957600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080610b3c83611536565b1515610b4b5760009150610bbe565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002019050600654816001838054905003815481101515610ba757fe5b906000526020600020906002020160000154101591505b50919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1f57600080fd5b600060149054906101000a900460ff16151515610c3b57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020180549050905090565b6000806009805490506002540311905090565b60408051908101604052808373ffffffffffffffffffffffffffffffffffffffff16815260200182815250600a60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050610d92611701565b5050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610df457600080fd5b600980549050831015610e2e5782600980549050039150600090505b81811015610e2d57610e206117bf565b8080600101915050610e10565b5b82600281905550505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600060149054906101000a900460ff16151515610e8257600080fd5b6000935060009250600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020191505b818054905083108015610f02575060008284815481101515610eed57fe5b90600052602060002090600202016001015414155b15610f64578183815481101515610f1557fe5b906000526020600020906002020160010154421015610f3357610f64565b8183815481101515610f4157fe5b906000526020600020906002020160000154840193508280600101935050610ecf565b610f6e338461180b565b600084111561112f57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b3b57de6005546040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561101257600080fd5b505af1158015611026573d6000803e3d6000fd5b505050506040513d602081101561103c57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156110f257600080fd5b505af1158015611106573d6000803e3d6000fd5b505050506040513d602081101561111c57600080fd5b8101908080519060200190929190505050505b50505050565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119657600080fd5b8060018190555050565b600060159054906101000a900460ff1615151561124b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b60008411151561125a57600080fd5b84600181905550836002819055506201518083026003819055508160068190555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260128152602001807f6d696e696e67746f6b656e2e6b6f77616c61000000000000000000000000000081525060200191505060206040518083038186803b15801561135857600080fd5b505af415801561136c573d6000803e3d6000fd5b505050506040513d602081101561138257600080fd5b8101908080519060200190929190505050600581600019169055506001600060156101000a81548160ff0219169083151502179055505050505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff169050919050565b600080600060098481548110151561142c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060020160018260020180549050038154811015156114b557fe5b906000526020600020906002020160000154915050915091565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561152a57600080fd5b611533816118f8565b50565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b600080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150816000015490505b60016009805490500381101561168c576009600182018154811015156115fd57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660098281548110151561163757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080806001019150506115db565b60098054809190600190036116a19190611db9565b5060008260010160006101000a81548160ff02191690831515021790555060035442018260020160018460020180549050038154811015156116df57fe5b9060005260206000209060020201600101819055506116fc6119f2565b505050565b600060149054906101000a900460ff1615151561171d57600080fd5b61174b600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611536565b15151561175757600080fd5b61175f61079f565b600a600101541015151561177257600080fd5b61177a610cf6565b1515611789576117886117bf565b5b6117bd600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a60010154611a75565b565b61180960096001600980549050038154811015156117d957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661158f565b565b60008060008084141561181d576118f1565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250600091508390505b82600201805490508110156118df57826002018181548110151561188657fe5b906000526020600020906002020183600201838154811015156118a557fe5b9060005260206000209060020201600082015481600001556001820154816001015590505081806001019250508080600101915050611866565b8183600201816118ef9190611de5565b505b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561193457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6009604051808280548015611a5c57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611a12575b5050915050604051809103902060048160001916905550565b600080600080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600160098790806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003846000018190555060018460010160006101000a81548160ff0219169083151502179055506000431415611b705760018460010160016101000a81548160ff0219169083151502179055505b8360020160408051908101604052808781526020016000815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050836000015492505b6000831115611da95760086000600960018603815481101515611bf357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150816002016001836002018054905003815481101515611c7557fe5b90600052602060002090600202019050806000015485111515611c9757611da9565b600960018403815481101515611ca957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600984815481101515611ce357fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600960018503815481101515611d3e57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828260000181905550600183038460000181905550828060019003935050611bd4565b611db16119f2565b505050505050565b815481835581811115611de057818360005260206000209182019101611ddf9190611e17565b5b505050565b815481835581811115611e1257600202816002028360005260206000209182019101611e119190611e3c565b5b505050565b611e3991905b80821115611e35576000816000905550600101611e1d565b5090565b90565b611e6891905b80821115611e6457600080820160009055600182016000905550600201611e42565b5090565b905600a165627a7a72305820191fba81bca640eb79ed9424e349e31a1a476c3140d3d27c954efbfec8e60f0b0029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0x0000000000000000000000000000000000000000000000000000000000000001":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x00000000000000000000000000000000000000000000000000000000000001f4","0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000015180","0x0000000000000000000000000000000000000000000000000000000000000005":"0xc99f18ca33e10b0236fe4fd62bfd9a8eb6ceee10bf8dad1b0d121d5e6a2bf3ba","0x0000000000000000000000000000000000000000000000000000000000000006":"0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000","0x0000000000000000000000000000000000000000000000000000000000000007":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63"},"balance":"0x0"},"bfb47d8008d1ccdcaf3a36110a9338a274e86343":{"code":"0x608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630178b8bf1461009e57806302571be31461010f57806306ab59231461018057806314ab9038146101df578063158ef93e1461022457806316a25cbd146102535780631896f70a146102ac5780635b0fc9c3146102fd578063c4d66de81461034e575b600080fd5b3480156100aa57600080fd5b506100cd6004803603810190808035600019169060200190929190505050610391565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011b57600080fd5b5061013e60048036038101908080356000191690602001909291905050506103d9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561018c57600080fd5b506101dd60048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610421565b005b3480156101eb57600080fd5b506102226004803603810190808035600019169060200190929190803567ffffffffffffffff16906020019092919050505061059d565b005b34801561023057600080fd5b506102396106b0565b604051808215151515815260200191505060405180910390f35b34801561025f57600080fd5b5061028260048036038101908080356000191690602001909291905050506106c2565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3480156102b857600080fd5b506102fb6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106fe565b005b34801561030957600080fd5b5061034c6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610841565b005b34801561035a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610984565b005b600060016000836000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600060016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000833373ffffffffffffffffffffffffffffffffffffffff1660016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561049c57600080fd5b848460405180836000191660001916815260200182600019166000191681526020019250505060405180910390209150836000191685600019167fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8285604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a38260016000846000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b813373ffffffffffffffffffffffffffffffffffffffff1660016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561061657600080fd5b82600019167f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6883604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a28160016000856000191660001916815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050565b6000809054906101000a900460ff1681565b600060016000836000191660001916815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b813373ffffffffffffffffffffffffffffffffffffffff1660016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561077757600080fd5b82600019167f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a28160016000856000191660001916815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b813373ffffffffffffffffffffffffffffffffffffffff1660016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156108ba57600080fd5b82600019167fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26683604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a28160016000856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6000809054906101000a900460ff16151515610a2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b80600160008060010260001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000806101000a81548160ff021916908315150217905550505600a165627a7a72305820e6c94ed3c260b949380eb0a722b651d424262e08f3c684546711633d9eb70ec10029","storage":{"0xa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415"},"balance":"0x0"},"c3c45781031885313d5a598042950d6d7be96350":{"code":"0x6080604052600436106100a3576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062bf32ca146100a8578063158ef93e146100e957806321873631146101185780632af4f9c0146101435780632d3802421461016e5780636df566d714610199578063a035b1fe146101c4578063b0c6363d146101ef578063e4a301161461021a578063fc634f4b14610251575b600080fd5b3480156100b457600080fd5b506100d36004803603810190808035906020019092919050505061027c565b6040518082815260200191505060405180910390f35b3480156100f557600080fd5b506100fe610295565b604051808215151515815260200191505060405180910390f35b34801561012457600080fd5b5061012d6102a7565b6040518082815260200191505060405180910390f35b34801561014f57600080fd5b506101586102d7565b6040518082815260200191505060405180910390f35b34801561017a57600080fd5b506101836102dd565b6040518082815260200191505060405180910390f35b3480156101a557600080fd5b506101ae610365565b6040518082815260200191505060405180910390f35b3480156101d057600080fd5b506101d961036b565b6040518082815260200191505060405180910390f35b3480156101fb57600080fd5b50610204610375565b6040518082815260200191505060405180910390f35b34801561022657600080fd5b5061024f600480360381019080803590602001909291908035906020019092919050505061037b565b005b34801561025d57600080fd5b5061026661045f565b6040518082815260200191505060405180910390f35b600060648260040281151561028d57fe5b049050919050565b6000809054906101000a900460ff1681565b60006102d2670de0b6b3a76400003073ffffffffffffffffffffffffffffffffffffffff1631610465565b905090565b60045481565b600080600180430114156102fc57680246ddf979766800009150610361565b61271060045481151561030b57fe5b04905060015460025411801561032a5750670de0b6b3a7640000600154115b1561034b57610344816004540161033f61047e565b610465565b9150610361565b61035e816004540364e8d4a510006104bf565b91505b5090565b60025481565b6000600254905090565b60035481565b6000809054906101000a900460ff16151515610425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b8160018190555081600281905550806004819055508060038190555060016000806101000a81548160ff0219169083151502179055505050565b60015481565b60008183106104745781610476565b825b905092915050565b6000600180430111801561049657506104956104d9565b5b6104a957680471fa858b9e0800006104ba565b6127106003548115156104b857fe5b045b905090565b6000818310156104cf57816104d1565b825b905092915050565b600069d3c21bcecceda100000060035410159050905600a165627a7a723058206fe4f1f991942cb71ef574c8d7fffd57bd4a05e408f7df2f2c0ecd8fe40406390029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000de0b6b3a7640000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000de0b6b3a7640000","0x0000000000000000000000000000000000000000000000000000000000000003":"0x00000000000000000000000000000000000000000000021fba3632c84ff80000","0x0000000000000000000000000000000000000000000000000000000000000004":"0x00000000000000000000000000000000000000000000021fba3632c84ff80000"},"balance":"0x0"},"c497f7ad7105db9f4138de92b13a0883b19ee0fa":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000de0b6b3a7640000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000de0b6b3a7640000","0x0000000000000000000000000000000000000000000000000000000000000003":"0x00000000000000000000000000000000000000000000021fba3632c84ff80000","0x0000000000000000000000000000000000000000000000000000000000000004":"0x00000000000000000000000000000000000000000000021fba3632c84ff80000","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000c3c45781031885313d5a598042950d6d7be96350"},"balance":"0x0"},"cdca8b1b7edfb0827f10f4ed3968d98fa5c90ea0":{"code":"0x6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063158ef93e146100ca5780633f4ba83a146100f9578063402300461461011057806341b3d185146101845780635c975abb146101af57806366419970146101de578063715018a6146102095780638456cb59146102205780638da5cb5b146102375780638f449a051461028e578063da35a26f14610298578063f2fde38b146102e5578063fcae448414610328575b600080fd5b3480156100d657600080fd5b506100df61033f565b604051808215151515815260200191505060405180910390f35b34801561010557600080fd5b5061010e610352565b005b34801561011c57600080fd5b5061013b60048036038101908080359060200190929190505050610410565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34801561019057600080fd5b5061019961049f565b6040518082815260200191505060405180910390f35b3480156101bb57600080fd5b506101c46104a5565b604051808215151515815260200191505060405180910390f35b3480156101ea57600080fd5b506101f36104b8565b6040518082815260200191505060405180910390f35b34801561021557600080fd5b5061021e6104c5565b005b34801561022c57600080fd5b506102356105c7565b005b34801561024357600080fd5b5061024c610687565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102966106ac565b005b3480156102a457600080fd5b506102e360048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061073b565b005b3480156102f157600080fd5b50610326600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061084d565b005b34801561033457600080fd5b5061033d6108b4565b005b600060159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103ad57600080fd5b600060149054906101000a900460ff1615156103c857600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600080600060048481548110151561042457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060020154915050915091565b60015481565b600060149054906101000a900460ff1681565b6000600480549050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561052057600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561062257600080fd5b600060149054906101000a900460ff1615151561063e57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060149054906101000a900460ff161515156106c957600080fd5b6106d233610b9b565b1561072f57600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050348160020160008282540192505081905550610738565b610737610bf4565b5b50565b600060159054906101000a900460ff161515156107e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b8160018190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600060156101000a81548160ff0219169083151502179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108a857600080fd5b6108b181610ce1565b50565b60008060006108c233610b9b565b15156108cd57600080fd5b670de0b6b3a7640000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a035b1fe6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561095c57600080fd5b505af1158015610970573d6000803e3d6000fd5b505050506040513d602081101561098657600080fd5b8101908080519060200190929190505050101515156109a457600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250826000015491503373ffffffffffffffffffffffffffffffffffffffff166108fc84600201549081150290604051600060405180830381858888f19350505050158015610a36573d6000803e3d6000fd5b50600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff0219169055600282016000905550506004600160048054905003815481101515610ab457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080600483815481101515610af157fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506004805480919060019003610b959190610ddb565b50505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b60006001543410151515610c0757600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160043390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff02191690831515021790555034816002018190555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d1d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b815481835581811115610e0257818360005260206000209182019101610e019190610e07565b5b505050565b610e2991905b80821115610e25576000816000905550600101610e0d565b5090565b905600a165627a7a7230582003e9f8a667889c71192d8deb1e6aa5493e226a18e8f0762c904236c8053c7c100029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000056bc75e2d63100000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x000000000000000000000000c3c45781031885313d5a598042950d6d7be96350"},"balance":"0x0"},"dfcb946fd93a0ae4056d7d6dca59d59fd830f8a5":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000003":"0x6d55534400000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000004":"0x6d55534400000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000006":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000","0x0000000000000000000000000000000000000000000000000000000000000007":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0x0000000000000000000000000000000000000000000000000000000000000008":"0x000000000000000000000000000000000000000003782dace9d9000000000000","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x4cf2bf7c4513f31bb90f26db288d81637a55e0204ce44ed81fd8bd44cf72e94d":"0x0000000000000000000000000000000000000000000000000000000000000000","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x00000000000000000000000064c2a9cb0220d3e56783ed87cc1b20115bc93f96","0x83a6ad9b45a481c71774303d5fe0197831d788806fafa3028fb2edd9e977cd46":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000"},"balance":"0x0"},"e1adb6075619f52fc00bdd50def1b754b9e7bd17":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x00000000000000000000004195b06a6e4d5bedde15165e01a64f324f03d5d101","0x0000000000000000000000000000000000000000000000000000000000000001":"0xbc25ce339c62a23a50c9bdae4aba9cb6dab4cefd53d1501dcbf2eec2583d200e","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000e95d0d373e2fd320b84aac705434b67b905092ae"},"balance":"0x0"},"e95d0d373e2fd320b84aac705434b67b905092ae":{"code":"0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063158ef93e1461005c578063be13f47c1461008b578063d22057a9146100dc575b600080fd5b34801561006857600080fd5b5061007161012d565b604051808215151515815260200191505060405180910390f35b34801561009757600080fd5b506100da600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919050505061013f565b005b3480156100e857600080fd5b5061012b6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610253565b005b6000809054906101000a900460ff1681565b6000809054906101000a900460ff161515156101e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b81600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806001816000191690555060016000806101000a81548160ff0219169083151502179055505050565b8160008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001548460405180836000191660001916815260200182600019166000191681526020019250505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561031d57600080fd5b505af1158015610331573d6000803e3d6000fd5b505050506040513d602081101561034757600080fd5b8101908080519060200190929190505050905060008173ffffffffffffffffffffffffffffffffffffffff1614806103aa57503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15156103b557600080fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab592360015486866040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b15801561049457600080fd5b505af11580156104a8573d6000803e3d6000fd5b50505050505050505600a165627a7a723058205053cd7ff3b82a7e6e8531ed12a7195800886445328be2a9911c057f02b1f0cf0029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000000"},"balance":"0x0"}},"number":"0x0","gasUsed":"0x0","parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000"} +{"config":{"chainID":1,"konsensus":{}},"timestamp":"0x5b228222","extraData":"0x4b6f77616c61277320666972737420626c6f636b000000000000000000000000","gasLimit":"0x47b760","coinbase":"0x0000000000000000000000000000000000000000","alloc":{"0000000000000000000000000000000000000000":{"balance":"0x1"},"0000000000000000000000000000000000000001":{"balance":"0x1"},"0000000000000000000000000000000000000002":{"balance":"0x1"},"0000000000000000000000000000000000000003":{"balance":"0x1"},"0000000000000000000000000000000000000004":{"balance":"0x1"},"0000000000000000000000000000000000000005":{"balance":"0x1"},"0000000000000000000000000000000000000006":{"balance":"0x1"},"0000000000000000000000000000000000000007":{"balance":"0x1"},"0000000000000000000000000000000000000008":{"balance":"0x1"},"0000000000000000000000000000000000000009":{"balance":"0x1"},"000000000000000000000000000000000000000a":{"balance":"0x1"},"000000000000000000000000000000000000000b":{"balance":"0x1"},"000000000000000000000000000000000000000c":{"balance":"0x1"},"000000000000000000000000000000000000000d":{"balance":"0x1"},"000000000000000000000000000000000000000e":{"balance":"0x1"},"000000000000000000000000000000000000000f":{"balance":"0x1"},"0000000000000000000000000000000000000010":{"balance":"0x1"},"0000000000000000000000000000000000000011":{"balance":"0x1"},"0000000000000000000000000000000000000012":{"balance":"0x1"},"0000000000000000000000000000000000000013":{"balance":"0x1"},"0000000000000000000000000000000000000014":{"balance":"0x1"},"0000000000000000000000000000000000000015":{"balance":"0x1"},"0000000000000000000000000000000000000016":{"balance":"0x1"},"0000000000000000000000000000000000000017":{"balance":"0x1"},"0000000000000000000000000000000000000018":{"balance":"0x1"},"0000000000000000000000000000000000000019":{"balance":"0x1"},"000000000000000000000000000000000000001a":{"balance":"0x1"},"000000000000000000000000000000000000001b":{"balance":"0x1"},"000000000000000000000000000000000000001c":{"balance":"0x1"},"000000000000000000000000000000000000001d":{"balance":"0x1"},"000000000000000000000000000000000000001e":{"balance":"0x1"},"000000000000000000000000000000000000001f":{"balance":"0x1"},"0000000000000000000000000000000000000020":{"balance":"0x1"},"0000000000000000000000000000000000000021":{"balance":"0x1"},"0000000000000000000000000000000000000022":{"balance":"0x1"},"0000000000000000000000000000000000000023":{"balance":"0x1"},"0000000000000000000000000000000000000024":{"balance":"0x1"},"0000000000000000000000000000000000000025":{"balance":"0x1"},"0000000000000000000000000000000000000026":{"balance":"0x1"},"0000000000000000000000000000000000000027":{"balance":"0x1"},"0000000000000000000000000000000000000028":{"balance":"0x1"},"0000000000000000000000000000000000000029":{"balance":"0x1"},"000000000000000000000000000000000000002a":{"balance":"0x1"},"000000000000000000000000000000000000002b":{"balance":"0x1"},"000000000000000000000000000000000000002c":{"balance":"0x1"},"000000000000000000000000000000000000002d":{"balance":"0x1"},"000000000000000000000000000000000000002e":{"balance":"0x1"},"000000000000000000000000000000000000002f":{"balance":"0x1"},"0000000000000000000000000000000000000030":{"balance":"0x1"},"0000000000000000000000000000000000000031":{"balance":"0x1"},"0000000000000000000000000000000000000032":{"balance":"0x1"},"0000000000000000000000000000000000000033":{"balance":"0x1"},"0000000000000000000000000000000000000034":{"balance":"0x1"},"0000000000000000000000000000000000000035":{"balance":"0x1"},"0000000000000000000000000000000000000036":{"balance":"0x1"},"0000000000000000000000000000000000000037":{"balance":"0x1"},"0000000000000000000000000000000000000038":{"balance":"0x1"},"0000000000000000000000000000000000000039":{"balance":"0x1"},"000000000000000000000000000000000000003a":{"balance":"0x1"},"000000000000000000000000000000000000003b":{"balance":"0x1"},"000000000000000000000000000000000000003c":{"balance":"0x1"},"000000000000000000000000000000000000003d":{"balance":"0x1"},"000000000000000000000000000000000000003e":{"balance":"0x1"},"000000000000000000000000000000000000003f":{"balance":"0x1"},"0000000000000000000000000000000000000040":{"balance":"0x1"},"0000000000000000000000000000000000000041":{"balance":"0x1"},"0000000000000000000000000000000000000042":{"balance":"0x1"},"0000000000000000000000000000000000000043":{"balance":"0x1"},"0000000000000000000000000000000000000044":{"balance":"0x1"},"0000000000000000000000000000000000000045":{"balance":"0x1"},"0000000000000000000000000000000000000046":{"balance":"0x1"},"0000000000000000000000000000000000000047":{"balance":"0x1"},"0000000000000000000000000000000000000048":{"balance":"0x1"},"0000000000000000000000000000000000000049":{"balance":"0x1"},"000000000000000000000000000000000000004a":{"balance":"0x1"},"000000000000000000000000000000000000004b":{"balance":"0x1"},"000000000000000000000000000000000000004c":{"balance":"0x1"},"000000000000000000000000000000000000004d":{"balance":"0x1"},"000000000000000000000000000000000000004e":{"balance":"0x1"},"000000000000000000000000000000000000004f":{"balance":"0x1"},"0000000000000000000000000000000000000050":{"balance":"0x1"},"0000000000000000000000000000000000000051":{"balance":"0x1"},"0000000000000000000000000000000000000052":{"balance":"0x1"},"0000000000000000000000000000000000000053":{"balance":"0x1"},"0000000000000000000000000000000000000054":{"balance":"0x1"},"0000000000000000000000000000000000000055":{"balance":"0x1"},"0000000000000000000000000000000000000056":{"balance":"0x1"},"0000000000000000000000000000000000000057":{"balance":"0x1"},"0000000000000000000000000000000000000058":{"balance":"0x1"},"0000000000000000000000000000000000000059":{"balance":"0x1"},"000000000000000000000000000000000000005a":{"balance":"0x1"},"000000000000000000000000000000000000005b":{"balance":"0x1"},"000000000000000000000000000000000000005c":{"balance":"0x1"},"000000000000000000000000000000000000005d":{"balance":"0x1"},"000000000000000000000000000000000000005e":{"balance":"0x1"},"000000000000000000000000000000000000005f":{"balance":"0x1"},"0000000000000000000000000000000000000060":{"balance":"0x1"},"0000000000000000000000000000000000000061":{"balance":"0x1"},"0000000000000000000000000000000000000062":{"balance":"0x1"},"0000000000000000000000000000000000000063":{"balance":"0x1"},"0000000000000000000000000000000000000064":{"balance":"0x1"},"0000000000000000000000000000000000000065":{"balance":"0x1"},"0000000000000000000000000000000000000066":{"balance":"0x1"},"0000000000000000000000000000000000000067":{"balance":"0x1"},"0000000000000000000000000000000000000068":{"balance":"0x1"},"0000000000000000000000000000000000000069":{"balance":"0x1"},"000000000000000000000000000000000000006a":{"balance":"0x1"},"000000000000000000000000000000000000006b":{"balance":"0x1"},"000000000000000000000000000000000000006c":{"balance":"0x1"},"000000000000000000000000000000000000006d":{"balance":"0x1"},"000000000000000000000000000000000000006e":{"balance":"0x1"},"000000000000000000000000000000000000006f":{"balance":"0x1"},"0000000000000000000000000000000000000070":{"balance":"0x1"},"0000000000000000000000000000000000000071":{"balance":"0x1"},"0000000000000000000000000000000000000072":{"balance":"0x1"},"0000000000000000000000000000000000000073":{"balance":"0x1"},"0000000000000000000000000000000000000074":{"balance":"0x1"},"0000000000000000000000000000000000000075":{"balance":"0x1"},"0000000000000000000000000000000000000076":{"balance":"0x1"},"0000000000000000000000000000000000000077":{"balance":"0x1"},"0000000000000000000000000000000000000078":{"balance":"0x1"},"0000000000000000000000000000000000000079":{"balance":"0x1"},"000000000000000000000000000000000000007a":{"balance":"0x1"},"000000000000000000000000000000000000007b":{"balance":"0x1"},"000000000000000000000000000000000000007c":{"balance":"0x1"},"000000000000000000000000000000000000007d":{"balance":"0x1"},"000000000000000000000000000000000000007e":{"balance":"0x1"},"000000000000000000000000000000000000007f":{"balance":"0x1"},"0000000000000000000000000000000000000080":{"balance":"0x1"},"0000000000000000000000000000000000000081":{"balance":"0x1"},"0000000000000000000000000000000000000082":{"balance":"0x1"},"0000000000000000000000000000000000000083":{"balance":"0x1"},"0000000000000000000000000000000000000084":{"balance":"0x1"},"0000000000000000000000000000000000000085":{"balance":"0x1"},"0000000000000000000000000000000000000086":{"balance":"0x1"},"0000000000000000000000000000000000000087":{"balance":"0x1"},"0000000000000000000000000000000000000088":{"balance":"0x1"},"0000000000000000000000000000000000000089":{"balance":"0x1"},"000000000000000000000000000000000000008a":{"balance":"0x1"},"000000000000000000000000000000000000008b":{"balance":"0x1"},"000000000000000000000000000000000000008c":{"balance":"0x1"},"000000000000000000000000000000000000008d":{"balance":"0x1"},"000000000000000000000000000000000000008e":{"balance":"0x1"},"000000000000000000000000000000000000008f":{"balance":"0x1"},"0000000000000000000000000000000000000090":{"balance":"0x1"},"0000000000000000000000000000000000000091":{"balance":"0x1"},"0000000000000000000000000000000000000092":{"balance":"0x1"},"0000000000000000000000000000000000000093":{"balance":"0x1"},"0000000000000000000000000000000000000094":{"balance":"0x1"},"0000000000000000000000000000000000000095":{"balance":"0x1"},"0000000000000000000000000000000000000096":{"balance":"0x1"},"0000000000000000000000000000000000000097":{"balance":"0x1"},"0000000000000000000000000000000000000098":{"balance":"0x1"},"0000000000000000000000000000000000000099":{"balance":"0x1"},"000000000000000000000000000000000000009a":{"balance":"0x1"},"000000000000000000000000000000000000009b":{"balance":"0x1"},"000000000000000000000000000000000000009c":{"balance":"0x1"},"000000000000000000000000000000000000009d":{"balance":"0x1"},"000000000000000000000000000000000000009e":{"balance":"0x1"},"000000000000000000000000000000000000009f":{"balance":"0x1"},"00000000000000000000000000000000000000a0":{"balance":"0x1"},"00000000000000000000000000000000000000a1":{"balance":"0x1"},"00000000000000000000000000000000000000a2":{"balance":"0x1"},"00000000000000000000000000000000000000a3":{"balance":"0x1"},"00000000000000000000000000000000000000a4":{"balance":"0x1"},"00000000000000000000000000000000000000a5":{"balance":"0x1"},"00000000000000000000000000000000000000a6":{"balance":"0x1"},"00000000000000000000000000000000000000a7":{"balance":"0x1"},"00000000000000000000000000000000000000a8":{"balance":"0x1"},"00000000000000000000000000000000000000a9":{"balance":"0x1"},"00000000000000000000000000000000000000aa":{"balance":"0x1"},"00000000000000000000000000000000000000ab":{"balance":"0x1"},"00000000000000000000000000000000000000ac":{"balance":"0x1"},"00000000000000000000000000000000000000ad":{"balance":"0x1"},"00000000000000000000000000000000000000ae":{"balance":"0x1"},"00000000000000000000000000000000000000af":{"balance":"0x1"},"00000000000000000000000000000000000000b0":{"balance":"0x1"},"00000000000000000000000000000000000000b1":{"balance":"0x1"},"00000000000000000000000000000000000000b2":{"balance":"0x1"},"00000000000000000000000000000000000000b3":{"balance":"0x1"},"00000000000000000000000000000000000000b4":{"balance":"0x1"},"00000000000000000000000000000000000000b5":{"balance":"0x1"},"00000000000000000000000000000000000000b6":{"balance":"0x1"},"00000000000000000000000000000000000000b7":{"balance":"0x1"},"00000000000000000000000000000000000000b8":{"balance":"0x1"},"00000000000000000000000000000000000000b9":{"balance":"0x1"},"00000000000000000000000000000000000000ba":{"balance":"0x1"},"00000000000000000000000000000000000000bb":{"balance":"0x1"},"00000000000000000000000000000000000000bc":{"balance":"0x1"},"00000000000000000000000000000000000000bd":{"balance":"0x1"},"00000000000000000000000000000000000000be":{"balance":"0x1"},"00000000000000000000000000000000000000bf":{"balance":"0x1"},"00000000000000000000000000000000000000c0":{"balance":"0x1"},"00000000000000000000000000000000000000c1":{"balance":"0x1"},"00000000000000000000000000000000000000c2":{"balance":"0x1"},"00000000000000000000000000000000000000c3":{"balance":"0x1"},"00000000000000000000000000000000000000c4":{"balance":"0x1"},"00000000000000000000000000000000000000c5":{"balance":"0x1"},"00000000000000000000000000000000000000c6":{"balance":"0x1"},"00000000000000000000000000000000000000c7":{"balance":"0x1"},"00000000000000000000000000000000000000c8":{"balance":"0x1"},"00000000000000000000000000000000000000c9":{"balance":"0x1"},"00000000000000000000000000000000000000ca":{"balance":"0x1"},"00000000000000000000000000000000000000cb":{"balance":"0x1"},"00000000000000000000000000000000000000cc":{"balance":"0x1"},"00000000000000000000000000000000000000cd":{"balance":"0x1"},"00000000000000000000000000000000000000ce":{"balance":"0x1"},"00000000000000000000000000000000000000cf":{"balance":"0x1"},"00000000000000000000000000000000000000d0":{"balance":"0x1"},"00000000000000000000000000000000000000d1":{"balance":"0x1"},"00000000000000000000000000000000000000d2":{"balance":"0x1"},"00000000000000000000000000000000000000d3":{"balance":"0x1"},"00000000000000000000000000000000000000d4":{"balance":"0x1"},"00000000000000000000000000000000000000d5":{"balance":"0x1"},"00000000000000000000000000000000000000d6":{"balance":"0x1"},"00000000000000000000000000000000000000d7":{"balance":"0x1"},"00000000000000000000000000000000000000d8":{"balance":"0x1"},"00000000000000000000000000000000000000d9":{"balance":"0x1"},"00000000000000000000000000000000000000da":{"balance":"0x1"},"00000000000000000000000000000000000000db":{"balance":"0x1"},"00000000000000000000000000000000000000dc":{"balance":"0x1"},"00000000000000000000000000000000000000dd":{"balance":"0x1"},"00000000000000000000000000000000000000de":{"balance":"0x1"},"00000000000000000000000000000000000000df":{"balance":"0x1"},"00000000000000000000000000000000000000e0":{"balance":"0x1"},"00000000000000000000000000000000000000e1":{"balance":"0x1"},"00000000000000000000000000000000000000e2":{"balance":"0x1"},"00000000000000000000000000000000000000e3":{"balance":"0x1"},"00000000000000000000000000000000000000e4":{"balance":"0x1"},"00000000000000000000000000000000000000e5":{"balance":"0x1"},"00000000000000000000000000000000000000e6":{"balance":"0x1"},"00000000000000000000000000000000000000e7":{"balance":"0x1"},"00000000000000000000000000000000000000e8":{"balance":"0x1"},"00000000000000000000000000000000000000e9":{"balance":"0x1"},"00000000000000000000000000000000000000ea":{"balance":"0x1"},"00000000000000000000000000000000000000eb":{"balance":"0x1"},"00000000000000000000000000000000000000ec":{"balance":"0x1"},"00000000000000000000000000000000000000ed":{"balance":"0x1"},"00000000000000000000000000000000000000ee":{"balance":"0x1"},"00000000000000000000000000000000000000ef":{"balance":"0x1"},"00000000000000000000000000000000000000f0":{"balance":"0x1"},"00000000000000000000000000000000000000f1":{"balance":"0x1"},"00000000000000000000000000000000000000f2":{"balance":"0x1"},"00000000000000000000000000000000000000f3":{"balance":"0x1"},"00000000000000000000000000000000000000f4":{"balance":"0x1"},"00000000000000000000000000000000000000f5":{"balance":"0x1"},"00000000000000000000000000000000000000f6":{"balance":"0x1"},"00000000000000000000000000000000000000f7":{"balance":"0x1"},"00000000000000000000000000000000000000f8":{"balance":"0x1"},"00000000000000000000000000000000000000f9":{"balance":"0x1"},"00000000000000000000000000000000000000fa":{"balance":"0x1"},"00000000000000000000000000000000000000fb":{"balance":"0x1"},"00000000000000000000000000000000000000fc":{"balance":"0x1"},"00000000000000000000000000000000000000fd":{"balance":"0x1"},"00000000000000000000000000000000000000fe":{"balance":"0x1"},"00000000000000000000000000000000000000ff":{"balance":"0x1"},"0090137110f43c6666b7bd641fcf5ca5dd989539":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000001000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x00000000000000000000000000000000000000000000000000000000000001f4","0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000015180","0x0000000000000000000000000000000000000000000000000000000000000004":"0x2ff4bbb8a7bdf978bccd784e7eeed6a065ff1a7a86caa9d93fff1d4b37addec4","0x0000000000000000000000000000000000000000000000000000000000000005":"0xc99f18ca33e10b0236fe4fd62bfd9a8eb6ceee10bf8dad1b0d121d5e6a2bf3ba","0x0000000000000000000000000000000000000000000000000000000000000006":"0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000","0x0000000000000000000000000000000000000000000000000000000000000007":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63","0x0000000000000000000000000000000000000000000000000000000000000009":"0x0000000000000000000000000000000000000000000000000000000000000001","0x000000000000000000000000000000000000000000000000000000000000000a":"0x0000000000000000000000006ad6b24c43a622d58e2959474e3912ba94dfd957","0x000000000000000000000000000000000000000000000000000000000000000b":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x1d5591f7b65bd8059a423253186881b3d932200e53c2c265d512fab5f166496d":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000","0x1d5591f7b65bd8059a423253186881b3d932200e53c2c265d512fab5f166496e":"0x0000000000000000000000000000000000000000000000000000000000000000","0x6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af":"0x0000000000000000000000006ad6b24c43a622d58e2959474e3912ba94dfd957","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000b5822d5f8d221ce2dc73e388629eca256b0aa4f2","0xa2dcbca414a2b283753bfd046a448ad06f34c483e6a942f2b13331deeee6b7b9":"0x0000000000000000000000000000000000000000000000000000000000000000","0xa2dcbca414a2b283753bfd046a448ad06f34c483e6a942f2b13331deeee6b7ba":"0x0000000000000000000000000000000000000000000000000000000000000101","0xa2dcbca414a2b283753bfd046a448ad06f34c483e6a942f2b13331deeee6b7bb":"0x0000000000000000000000000000000000000000000000000000000000000001"},"balance":"0x0"},"01e1056f6a829e53dadeb8a5a6189a9333bd1d63":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x00000000000000000000004195b06a6e4d5bedde15165e01a64f324f03d5d101","0x0aa9b499df4e99716f35c650af5247f98c5dc1bef63f3a923d9f13a6e945b800":"0x000000000000000000000000426f2e2baa6030668b799c2d9193319dface6b7a","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x6f7bca21f817d86a5b85f307683ec061c9c10f572e1c3ca5e8312058e1c3f5e7":"0x000000000000000000000000dfcb946fd93a0ae4056d7d6dca59d59fd830f8a5","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x0000000000000000000000007f0de05687a7cb9a05399a26f4d1519ba6afc95f","0x86b51839584f7178845a4241ea004c1f5fcaa1a8c0141b741967e2b99d943641":"0x0000000000000000000000000090137110f43c6666b7bd641fcf5ca5dd989539","0xd485b3e3671c35d525826a03b001f5c3d40c5cfcad1d19ecc0c924f943cb06c8":"0x000000000000000000000000c497f7ad7105db9f4138de92b13a0883b19ee0fa","0xf4b8bad9907850b244478fd4ce9bd72dbd061f18d6e4c56d102809e23bf83642":"0x000000000000000000000000485fa6d2f818145a23ace24d84cdc966d8d2de22"},"balance":"0x0"},"049ec8777b4806eff0bb6039551690d8f650b25a":{"balance":"0x8ac7230489e80000"},"0e5d0fd336650e663c710ef420f85fb081e21415":{"code":"0x60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025e7c2714610177578063173825d9146101e457806320ea8d86146102275780632f54bf6e146102545780633411c81c146102af57806354741525146103145780637065cb4814610363578063784547a7146103a65780638b51d13f146103eb5780639ace38c21461042c578063a0e67e2b14610517578063a8abe69a14610583578063b5dc40c314610627578063b77bf600146106a9578063ba51a6df146106d4578063c01a8c8414610701578063c64274741461072e578063d74f8edd146107d5578063dc8452cd14610800578063e20056e61461082b578063ee22610b1461088e575b6000341115610175573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a25b005b34801561018357600080fd5b506101a2600480360381019080803590602001909291905050506108bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f057600080fd5b50610225600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108f9565b005b34801561023357600080fd5b5061025260048036038101908080359060200190929190505050610b92565b005b34801561026057600080fd5b50610295600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d3a565b604051808215151515815260200191505060405180910390f35b3480156102bb57600080fd5b506102fa60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5a565b604051808215151515815260200191505060405180910390f35b34801561032057600080fd5b5061034d600480360381019080803515159060200190929190803515159060200190929190505050610d89565b6040518082815260200191505060405180910390f35b34801561036f57600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e1b565b005b3480156103b257600080fd5b506103d160048036038101908080359060200190929190505050611020565b604051808215151515815260200191505060405180910390f35b3480156103f757600080fd5b5061041660048036038101908080359060200190929190505050611105565b6040518082815260200191505060405180910390f35b34801561043857600080fd5b50610457600480360381019080803590602001909291905050506111d0565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156104d95780820151818401526020810190506104be565b50505050905090810190601f1680156105065780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561052357600080fd5b5061052c6112c5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561056f578082015181840152602081019050610554565b505050509050019250505060405180910390f35b34801561058f57600080fd5b506105d06004803603810190808035906020019092919080359060200190929190803515159060200190929190803515159060200190929190505050611353565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106135780820151818401526020810190506105f8565b505050509050019250505060405180910390f35b34801561063357600080fd5b50610652600480360381019080803590602001909291905050506114c4565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561069557808201518184015260208101905061067a565b505050509050019250505060405180910390f35b3480156106b557600080fd5b506106be611701565b6040518082815260200191505060405180910390f35b3480156106e057600080fd5b506106ff60048036038101908080359060200190929190505050611707565b005b34801561070d57600080fd5b5061072c600480360381019080803590602001909291905050506117c1565b005b34801561073a57600080fd5b506107bf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061199e565b6040518082815260200191505060405180910390f35b3480156107e157600080fd5b506107ea6119bd565b6040518082815260200191505060405180910390f35b34801561080c57600080fd5b506108156119c2565b6040518082815260200191505060405180910390f35b34801561083757600080fd5b5061088c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119c8565b005b34801561089a57600080fd5b506108b960048036038101908080359060200190929190505050611cdd565b005b6003818154811015156108ca57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093557600080fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561098e57600080fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600091505b600160038054905003821015610b13578273ffffffffffffffffffffffffffffffffffffffff16600383815481101515610a2157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b06576003600160038054905003815481101515610a7f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600383815481101515610ab957fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b13565b81806001019250506109eb565b6001600381818054905003915081610b2b91906120ff565b506003805490506004541115610b4a57610b49600380549050611707565b5b8273ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a2505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610beb57600080fd5b81336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610c5657600080fd5b8360008082815260200190815260200160002060030160009054906101000a900460ff16151515610c8657600080fd5b60006001600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e960405160405180910390a35050505050565b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600080600090505b600554811015610e1457838015610dc8575060008082815260200190815260200160002060030160009054906101000a900460ff16155b80610dfb5750828015610dfa575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b15610e07576001820191505b8080600101915050610d91565b5092915050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e5557600080fd5b80600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610eaf57600080fd5b8160008173ffffffffffffffffffffffffffffffffffffffff1614151515610ed657600080fd5b60016003805490500160045460328211158015610ef35750818111155b8015610f00575060008114155b8015610f0d575060008214155b1515610f1857600080fd5b6001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508473ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b6000806000809150600090505b6003805490508110156110fd5760016000858152602001908152602001600020600060038381548110151561105e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156110dd576001820191505b6004548214156110f057600192506110fe565b808060010191505061102d565b5b5050919050565b600080600090505b6003805490508110156111ca5760016000848152602001908152602001600020600060038381548110151561113e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111bd576001820191505b808060010191505061110d565b50919050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015490806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112a85780601f1061127d576101008083540402835291602001916112a8565b820191906000526020600020905b81548152906001019060200180831161128b57829003601f168201915b5050505050908060030160009054906101000a900460ff16905084565b6060600380548060200260200160405190810160405280929190818152602001828054801561134957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116112ff575b5050505050905090565b60608060008060055460405190808252806020026020018201604052801561138a5781602001602082028038833980820191505090505b50925060009150600090505b600554811015611436578580156113cd575060008082815260200190815260200160002060030160009054906101000a900460ff16155b8061140057508480156113ff575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b156114295780838381518110151561141457fe5b90602001906020020181815250506001820191505b8080600101915050611396565b8787036040519080825280602002602001820160405280156114675781602001602082028038833980820191505090505b5093508790505b868110156114b957828181518110151561148457fe5b906020019060200201518489830381518110151561149e57fe5b9060200190602002018181525050808060010191505061146e565b505050949350505050565b6060806000806003805490506040519080825280602002602001820160405280156114fe5781602001602082028038833980820191505090505b50925060009150600090505b60038054905081101561164b5760016000868152602001908152602001600020600060038381548110151561153b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561163e576003818154811015156115c257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683838151811015156115fb57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b808060010191505061150a565b8160405190808252806020026020018201604052801561167a5781602001602082028038833980820191505090505b509350600090505b818110156116f957828181518110151561169857fe5b9060200190602002015184828151811015156116b057fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050611682565b505050919050565b60055481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174157600080fd5b60038054905081603282111580156117595750818111155b8015611766575060008114155b8015611773575060008214155b151561177e57600080fd5b826004819055507fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a836040518082815260200191505060405180910390a1505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561181a57600080fd5b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561187657600080fd5b82336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156118e257600080fd5b600180600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef60405160405180910390a361199785611cdd565b5050505050565b60006119ab848484611f85565b90506119b6816117c1565b9392505050565b603281565b60045481565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0457600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611a5d57600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611ab757600080fd5b600092505b600380549050831015611ba0578473ffffffffffffffffffffffffffffffffffffffff16600384815481101515611aef57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611b935783600384815481101515611b4657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611ba0565b8280600101935050611abc565b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508473ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a28373ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b600033600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611d3857600080fd5b82336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611da357600080fd5b8460008082815260200190815260200160002060030160009054906101000a900460ff16151515611dd357600080fd5b611ddc86611020565b15611f7d57600080878152602001908152602001600020945060018560030160006101000a81548160ff021916908315150217905550611efa8560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866001015487600201805460018160011615610100020316600290049050886002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ef05780601f10611ec557610100808354040283529160200191611ef0565b820191906000526020600020905b815481529060010190602001808311611ed357829003601f168201915b50505050506120d7565b15611f3157857f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7560405160405180910390a2611f7c565b857f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923660405160405180910390a260008560030160006101000a81548160ff0219169083151502179055505b5b505050505050565b60008360008173ffffffffffffffffffffffffffffffffffffffff1614151515611fae57600080fd5b60055491506080604051908101604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020016000151581525060008084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201908051906020019061206d92919061212b565b5060608201518160030160006101000a81548160ff0219169083151502179055509050506001600560008282540192505081905550817fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5160405160405180910390a2509392505050565b6000806040516020840160008287838a8c62054bdc5a03f19250505080915050949350505050565b8154818355818111156121265781836000526020600020918201910161212591906121ab565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061216c57805160ff191683800117855561219a565b8280016001018555821561219a579182015b8281111561219957825182559160200191906001019061217e565b5b5090506121a791906121ab565b5090565b6121cd91905b808211156121c95760008160009055506001016121b1565b5090565b905600a165627a7a72305820b9132d118b85ee91b3ef33d8346c1ba518df422ee90630ed557599092709a7670029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004":"0x0000000000000000000000000000000000000000000000000000000000000002","0xa19cbe59d468f3fb5b320edc5e49298d3f391d6304c436497c6a7f03ca25515c":"0x0000000000000000000000000000000000000000000000000000000000000001","0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c":"0x000000000000000000000000049ec8777b4806eff0bb6039551690d8f650b25a","0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d":"0x000000000000000000000000902f069af381a650b7f18ff28ffdad0f11eb425b","0xf5a9159dd7a73776c0d06b82c491e439b0f434ee7f48db2184c62b8a0915f8f5":"0x0000000000000000000000000000000000000000000000000000000000000001","0xf662ac89672a6f91a243a9cf313e14d1828bf7f3a3ab7938a1f979da6f908864":"0x0000000000000000000000000000000000000000000000000000000000000001"},"balance":"0x0"},"2d7465b88a0a5a1bbff2671c8ed78f7506465ddc":{"code":"0x732d7465b88a0a5a1bbff2671c8ed78f7506465ddc30146080604052600080fd00a165627a7a72305820de029ffd61fdb3181f53609fdbaafec7c7b031427512423ba1afef4928177f300029","balance":"0x0"},"3b058a1a62e59d185618f64bebbaf3c52bf099e0":{"code":"0x733b058a1a62e59d185618f64bebbaf3c52bf099e03014608060405260043610610058576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063098799621461005d575b600080fd5b6100b7600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506100d5565b60405180826000191660001916815260200191505060405180910390f35b60006100df610599565b60006100e9610599565b606060006100f6876102c3565b945060006001029350610108856102f1565b15156102b65761014c6040805190810160405280600181526020017f2e000000000000000000000000000000000000000000000000000000000000008152506102c3565b92506001610163848761030190919063ffffffff16565b0160405190808252806020026020018201604052801561019757816020015b60608152602001906001900390816101825790505b509150600090505b81518110156101eb576101c36101be848761037890919063ffffffff16565b610392565b82828151811015156101d157fe5b90602001906020020181905250808060010191505061019f565b600090505b81518110156102b55783826001838551030381518110151561020e57fe5b906020019060200201516040518082805190602001908083835b60208310151561024d5780518252602082019150602081019050602083039250610228565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206040518083600019166000191681526020018260001916600019168152602001925050506040518091039020935080806001019150506101f0565b5b8395505050505050919050565b6102cb610599565b600060208301905060408051908101604052808451815260200182815250915050919050565b6000808260000151149050919050565b600080826000015161032585600001518660200151866000015187602001516103f4565b0190505b83600001518460200151018111151561037157818060010192505082600001516103698560200151830386600001510383866000015187602001516103f4565b019050610329565b5092915050565b610380610599565b61038b8383836104b0565b5092915050565b606080600083600001516040519080825280601f01601f1916602001820160405280156103ce5781602001602082028038833980820191505090505b5091506020820190506103ea818560200151866000015161054e565b8192505050919050565b6000806000806000888711151561049e576020871115156104555760018760200360080260020a031980875116888b038a018a96505b81838851161461044a5760018701965080600188031061042a578b8b0196505b5050508394506104a4565b8686209150879350600092505b8689038311151561049d57868420905080600019168260001916141561048a578394506104a4565b6001840193508280600101935050610462565b5b88880194505b50505050949350505050565b6104b8610599565b60006104d685600001518660200151866000015187602001516103f4565b90508460200151836020018181525050846020015181038360000181815250508460000151856020015101811415610518576000856000018181525050610543565b8360000151836000015101856000018181510391508181525050836000015181018560200181815250505b829150509392505050565b60005b6020821015156105765782518452602084019350602083019250602082039150610551565b6001826020036101000a0390508019835116818551168181178652505050505050565b6040805190810160405280600081526020016000815250905600a165627a7a72305820bdb7fa7f1254d03496a55a35a971f38f891e40961a467acc8100eadce57bdad70029","balance":"0x0"},"4195b06a6e4d5bedde15165e01a64f324f03d5d1":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0aa9b499df4e99716f35c650af5247f98c5dc1bef63f3a923d9f13a6e945b800":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0x0aa9b499df4e99716f35c650af5247f98c5dc1bef63f3a923d9f13a6e945b801":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x6793bdf4379ec85ee52adbbe524203920c00866a03f73066b816feb521b95a0f":"0x000000000000000000000000e1adb6075619f52fc00bdd50def1b754b9e7bd17","0x6f7bca21f817d86a5b85f307683ec061c9c10f572e1c3ca5e8312058e1c3f5e7":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0x6f7bca21f817d86a5b85f307683ec061c9c10f572e1c3ca5e8312058e1c3f5e8":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000bfb47d8008d1ccdcaf3a36110a9338a274e86343","0x86b51839584f7178845a4241ea004c1f5fcaa1a8c0141b741967e2b99d943641":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0x86b51839584f7178845a4241ea004c1f5fcaa1a8c0141b741967e2b99d943642":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63","0xa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0xd485b3e3671c35d525826a03b001f5c3d40c5cfcad1d19ecc0c924f943cb06c8":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0xd485b3e3671c35d525826a03b001f5c3d40c5cfcad1d19ecc0c924f943cb06c9":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63","0xf4b8bad9907850b244478fd4ce9bd72dbd061f18d6e4c56d102809e23bf83642":"0x0000000000000000000000006d5e05684c737d42f313d5b82a88090136e831f8","0xf4b8bad9907850b244478fd4ce9bd72dbd061f18d6e4c56d102809e23bf83643":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63"},"balance":"0x0"},"426f2e2baa6030668b799c2d9193319dface6b7a":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000001000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000032","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000000000000000258","0x0000000000000000000000000000000000000000000000000000000000000003":"0x000000000000000000000000000000000000000000000000000000000000001e","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000090137110f43c6666b7bd641fcf5ca5dd989539","0x0000000000000000000000000000000000000000000000000000000000000006":"0x13a02f7cebf86cd2a5bc43aab96f2b5c4dd7406102f5a3b3e734a749ce84ea87","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000616a77ba32adc911dba37f5883e4013b5278a279"},"balance":"0x0"},"485fa6d2f818145a23ace24d84cdc966d8d2de22":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000001000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000056bc75e2d63100000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x000000000000000000000000c3c45781031885313d5a598042950d6d7be96350","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000cdca8b1b7edfb0827f10f4ed3968d98fa5c90ea0"},"balance":"0x0"},"616a77ba32adc911dba37f5883e4013b5278a279":{"code":"0x60806040526004361061011c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062fe7b111461012157806309fe9d391461014c578063158ef93e146101b95780631f8d519d146101e85780633f4ba83a146102495780633f4e4251146102605780635c975abb1461028b578063715018a6146102ba5780638456cb59146102d15780638da5cb5b146102e85780638df4e3e21461033f578063986fcbe914610382578063a035b1fe146103af578063a2207c6a146103da578063a83627de14610431578063a97e5c931461045c578063c48c1a71146104b7578063c8104e01146104e2578063cdee7e0714610556578063e9babaec14610581578063f2fde38b146105c4575b600080fd5b34801561012d57600080fd5b50610136610607565b6040518082815260200191505060405180910390f35b34801561015857600080fd5b506101776004803603810190808035906020019092919050505061060d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101ce610693565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b50610247600480360381019080803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106a6565b005b34801561025557600080fd5b5061025e6108dd565b005b34801561026c57600080fd5b5061027561099b565b6040518082815260200191505060405180910390f35b34801561029757600080fd5b506102a06109a8565b604051808215151515815260200191505060405180910390f35b3480156102c657600080fd5b506102cf6109bb565b005b3480156102dd57600080fd5b506102e6610abd565b005b3480156102f457600080fd5b506102fd610b7d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034b57600080fd5b50610380600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ba2565b005b34801561038e57600080fd5b506103ad60048036038101908080359060200190929190505050610c3b565b005b3480156103bb57600080fd5b506103c4610dd3565b6040518082815260200191505060405180910390f35b3480156103e657600080fd5b506103ef610dd9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043d57600080fd5b50610446610dff565b6040518082815260200191505060405180910390f35b34801561046857600080fd5b5061049d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e05565b604051808215151515815260200191505060405180910390f35b3480156104c357600080fd5b506104cc610e5e565b6040518082815260200191505060405180910390f35b3480156104ee57600080fd5b5061050d60048036038101908080359060200190929190505050610e6b565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561056257600080fd5b5061056b610ec3565b6040518082815260200191505060405180910390f35b34801561058d57600080fd5b506105c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec9565b005b3480156105d057600080fd5b50610605600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f76565b005b60015481565b60008060088381548110151561061f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905050919050565b600060159054906101000a900460ff1681565b600060159054906101000a900460ff16151515610751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b60008411151561076057600080fd5b6000831115610785576000821180156107795750828211155b151561078457600080fd5b5b83600181905550826002819055508160038190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260138152602001807f76616c696461746f726d67722e6b6f77616c610000000000000000000000000081525060200191505060206040518083038186803b15801561087757600080fd5b505af415801561088b573d6000803e3d6000fd5b505050506040513d60208110156108a157600080fd5b8101908080519060200190929190505050600681600019169055506001600060156101000a81548160ff02191690831515021790555050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093857600080fd5b600060149054906101000a900460ff16151561095357600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600880549050905090565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a1657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b1857600080fd5b600060149054906101000a900460ff16151515610b3457600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff16151515610bbe57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1957600080fd5b80610c2381610e05565b1515610c2e57600080fd5b610c3782610fdd565b5050565b600060149054906101000a900460ff16151515610c5757600080fd5b33610c6181610e05565b1515610c6c57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff16151515610cc857600080fd5b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600960408051908101604052808481526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b6000600980549050905090565b6000806000600984815481101515610e7f57fe5b90600052602060002090600202019050806000015492508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050915091565b60025481565b600060149054906101000a900460ff16151515610ee557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4057600080fd5b80610f4a81610e05565b151515610f5657600080fd5b610f5e61119b565b1515610f6957600080fd5b610f72826111ae565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fd157600080fd5b610fda81611282565b50565b6000806000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020925082600001549150600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549060ff0219169055505060086001600880549050038154811015156110b357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050806008838154811015156110f057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506008805480919060019003611194919061137c565b5050505050565b6000806008805490506001540311905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160088390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156112be57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8154818355818111156113a3578183600052602060002091820191016113a291906113a8565b5b505050565b6113ca91905b808211156113c65760008160009055506001016113ae565b5090565b905600a165627a7a72305820408eb5444c69e406a31abf8f5256e82f610f9db7375050d039fb57d2a3eecce80029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000032","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000000000000000258","0x0000000000000000000000000000000000000000000000000000000000000003":"0x000000000000000000000000000000000000000000000000000000000000001e","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000090137110f43c6666b7bd641fcf5ca5dd989539","0x0000000000000000000000000000000000000000000000000000000000000006":"0x13a02f7cebf86cd2a5bc43aab96f2b5c4dd7406102f5a3b3e734a749ce84ea87"},"balance":"0x0"},"64c2a9cb0220d3e56783ed87cc1b20115bc93f96":{"code":"0x6080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461010157806306fdde0314610130578063158ef93e146101c057806318160ddd146101ef578063313ce5671461021a578063355274ea1461024b57806340c10f191461027657806341658f3c146102db57806370a08231146103a1578063715018a6146103f85780637d64bcb41461040f578063893d20e81461043e5780638da5cb5b1461049557806395d89b41146104ec578063a9059cbb1461057c578063be45fd62146105e1578063f2fde38b1461068c578063f6368f8a146106cf575b600080fd5b34801561010d57600080fd5b506101166107c0565b604051808215151515815260200191505060405180910390f35b34801561013c57600080fd5b506101456107d3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018557808201518184015260208101905061016a565b50505050905090810190601f1680156101b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cc57600080fd5b506101d5610875565b604051808215151515815260200191505060405180910390f35b3480156101fb57600080fd5b50610204610888565b6040518082815260200191505060405180910390f35b34801561022657600080fd5b5061022f610892565b604051808260ff1660ff16815260200191505060405180910390f35b34801561025757600080fd5b506102606108a9565b6040518082815260200191505060405180910390f35b34801561028257600080fd5b506102c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108af565b604051808215151515815260200191505060405180910390f35b3480156102e757600080fd5b5061039f600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190803560ff169060200190929190505050610960565b005b3480156103ad57600080fd5b506103e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610acb565b6040518082815260200191505060405180910390f35b34801561040457600080fd5b5061040d610b14565b005b34801561041b57600080fd5b50610424610c19565b604051808215151515815260200191505060405180910390f35b34801561044a57600080fd5b50610453610ce1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104a157600080fd5b506104aa610d0b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104f857600080fd5b50610501610d31565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610541578082015181840152602081019050610526565b50505050905090810190601f16801561056e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561058857600080fd5b506105c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dd3565b604051808215151515815260200191505060405180910390f35b3480156105ed57600080fd5b50610672600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e0c565b604051808215151515815260200191505060405180910390f35b34801561069857600080fd5b506106cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e43565b005b3480156106db57600080fd5b506107a6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610eab565b604051808215151515815260200191505060405180910390f35b600760149054906101000a900460ff1681565b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561086b5780601f106108405761010080835404028352916020019161086b565b820191906000526020600020905b81548152906001019060200180831161084e57829003601f168201915b5050505050905090565b600160009054906101000a900460ff1681565b6000600654905090565b6000600560009054906101000a900460ff16905090565b60085481565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561090d57600080fd5b600760149054906101000a900460ff1615151561092957600080fd5b6008546109418360065461126890919063ffffffff16565b1115151561094e57600080fd5b6109588383611284565b905092915050565b600160009054906101000a900460ff16151515610a0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600082111515610a1a57600080fd5b8160088190555033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360039080519060200190610a78929190611b11565b508260049080519060200190610a8f929190611b11565b5080600560006101000a81548160ff021916908360ff16021790555060018060006101000a81548160ff02191690831515021790555050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7057600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7757600080fd5b600760149054906101000a900460ff16151515610c9357600080fd5b6001600760146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dc95780601f10610d9e57610100808354040283529160200191610dc9565b820191906000526020600020905b815481529060010190602001808311610dac57829003601f168201915b5050505050905090565b60006060610de084611480565b15610df757610df0848483611493565b9150610e05565b610e028484836117de565b91505b5092915050565b6000610e1784611480565b15610e2e57610e27848484611493565b9050610e3c565b610e398484846117de565b90505b9392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e9f57600080fd5b610ea8816119fc565b50565b6000610eb685611480565b156112525783610ec533610acb565b1015610ed057600080fd5b610f2284600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611af890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb784600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461126890919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff166000836040518082805190602001908083835b6020831015156110495780518252602082019150602081019050602083039250611024565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207c01000000000000000000000000000000000000000000000000000000009004903387876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828051906020019080838360005b8381101561112a57808201518184015260208101905061110f565b50505050905090810190601f1680156111575780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af19350505050151561117757fe5b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561120e5780820151818401526020810190506111f3565b50505050905090810190601f16801561123b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a360019050611260565b61125d8585856117de565b90505b949350505050565b6000818301905082811015151561127b57fe5b80905092915050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112e257600080fd5b600760149054906101000a900460ff161515156112fe57600080fd5b6113138260065461126890919063ffffffff16565b60068190555061136b82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461126890919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168460405180828152602001806020018281038252600081526020016020019250505060405180910390a36001905092915050565b600080823b905060008111915050919050565b600080836114a033610acb565b10156114ab57600080fd5b6114fd84600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611af890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061159284600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461126890919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508490508073ffffffffffffffffffffffffffffffffffffffff1663c0ee0b8a3386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561169a57808201518184015260208101905061167f565b50505050905090810190601f1680156116c75780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156116e857600080fd5b505af11580156116fc573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561179757808201518184015260208101905061177c565b50505050905090810190601f1680156117c45780820380516001836020036101000a031916815260200191505b50935050505060405180910390a360019150509392505050565b6000826117ea33610acb565b10156117f557600080fd5b61184783600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611af890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118dc83600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461126890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156119b657808201518184015260208101905061199b565b50505050905090810190601f1680156119e35780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3600190509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611a3857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611b0657fe5b818303905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b5257805160ff1916838001178555611b80565b82800160010185558215611b80579182015b82811115611b7f578251825591602001919060010190611b64565b5b509050611b8d9190611b91565b5090565b611bb391905b80821115611baf576000816000905550600101611b97565b5090565b905600a165627a7a723058205e5cc50b54a1435f03d0f8490f628e5477e3c71169f264d34c47d0a49253bbfc0029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000003":"0x6d55534400000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000004":"0x6d55534400000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000007":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0x0000000000000000000000000000000000000000000000000000000000000008":"0x000000000000000000000000000000000000000003782dace9d9000000000000"},"balance":"0x0"},"6ad6b24c43a622d58e2959474e3912ba94dfd957":{"balance":"0x8ac7230489e80000"},"6d5e05684c737d42f313d5b82a88090136e831f8":{"balance":"0x21e19e0c9bab2400000"},"7a5727e94bbb559e0eafc399354dd30dbd51d2aa":{"code":"0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806325b5672714610051578063c6e8b4f3146100f4575b600080fd5b34801561005d57600080fd5b506100b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061029b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000806101dc836103fa565b90508073ffffffffffffffffffffffffffffffffffffffff16638f283970856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561027957600080fd5b505af115801561028d573d6000803e3d6000fd5b505050508091505092915050565b6000806102a7846103fa565b90508073ffffffffffffffffffffffffffffffffffffffff16638f283970866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561034457600080fd5b505af1158015610358573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16348460405180828051906020019080838360005b838110156103a2578082015181840152602081019050610387565b50505050905090810190601f1680156103cf5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af19250505015156103ef57600080fd5b809150509392505050565b600080826104066104c6565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080158015610458573d6000803e3d6000fd5b5090507efffc2da0b561cae30d9826d37709e9421c4725faebc226cbbb7ef5fc5e734981604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a180915050919050565b604051610b27806104d7833901905600608060405234801561001057600080fd5b50604051602080610b27833981018060405281019080805190602001909291905050508060405180807f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481526020017f696f6e000000000000000000000000000000000000000000000000000000000081525060230190506040518091039020600019167f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3600102600019161415156100c557fe5b6100dd81610167640100000000026401000000009004565b5060405180807f6f72672e7a657070656c696e6f732e70726f78792e61646d696e000000000000815250601a0190506040518091039020600019167f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001026000191614151561014957fe5b6101613361024c640100000000026401000000009004565b5061028e565b60006101858261027b6401000000000261084b176401000000009004565b151561021f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b600080823b905060008111915050919050565b61088a8061029d6000396000f30060806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029a165627a7a7230582075bac8779341600a0dbcebbbdf6fb8487503343b22b6218c9bd744b22b6435780029","balance":"0x0"},"7f0de05687a7cb9a05399a26f4d1519ba6afc95f":{"code":"0x6080604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ffc9a7146100f657806310f13a8c1461015a578063158ef93e146102175780632203ab561461024657806329cd62ea146103015780632dff69411461034e5780633b3b57de1461039b57806359d1d43c1461040c578063623195b0146104fc578063691f34311461057d5780637737221314610627578063aa4cb5471461069e578063c3d014d614610715578063c4d66de814610754578063c869023314610797578063d5fa2b00146107f3578063e89401a114610844575b600080fd5b34801561010257600080fd5b5061014060048036038101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506108ee565b604051808215151515815260200191505060405180910390f35b34801561016657600080fd5b506102156004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610c48565b005b34801561022357600080fd5b5061022c610f06565b604051808215151515815260200191505060405180910390f35b34801561025257600080fd5b5061027f600480360381019080803560001916906020019092919080359060200190929190505050610f18565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102c55780820151818401526020810190506102aa565b50505050905090810190601f1680156102f25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561030d57600080fd5b5061034c60048036038101908080356000191690602001909291908035600019169060200190929190803560001916906020019092919050505061105b565b005b34801561035a57600080fd5b5061037d6004803603810190808035600019169060200190929190505050611221565b60405180826000191660001916815260200191505060405180910390f35b3480156103a757600080fd5b506103ca6004803603810190808035600019169060200190929190505050611249565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041857600080fd5b506104816004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611291565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104c15780820151818401526020810190506104a6565b50505050905090810190601f1680156104ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050857600080fd5b5061057b600480360381019080803560001916906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506113bb565b005b34801561058957600080fd5b506105ac6004803603810190808035600019169060200190929190505050611559565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105ec5780820151818401526020810190506105d1565b50505050905090810190601f1680156106195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561063357600080fd5b5061069c6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611619565b005b3480156106aa57600080fd5b506107136004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611800565b005b34801561072157600080fd5b50610752600480360381019080803560001916906020019092919080356000191690602001909291905050506119e7565b005b34801561076057600080fd5b50610795600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b65565b005b3480156107a357600080fd5b506107c66004803603810190808035600019169060200190929190505050611c6d565b60405180836000191660001916815260200182600019166000191681526020019250505060405180910390f35b3480156107ff57600080fd5b506108426004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cbd565b005b34801561085057600080fd5b506108736004803603810190808035600019169060200190929190505050611e95565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108b3578082015181840152602081019050610898565b50505050905090810190601f1680156108e05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000633b3b57de7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109bf575063d8389dc57c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610a2a575063691f34317c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610a955750632203ab567c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b00575063c86902337c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b6b57506359d1d43c7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610bd6575063e89401a17c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610c4157506301ffc9a77c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b823373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610cf957600080fd5b505af1158015610d0d573d6000803e3d6000fd5b505050506040513d6020811015610d2357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515610d5657600080fd5b81600160008660001916600019168152602001908152602001600020600501846040518082805190602001908083835b602083101515610dab5780518252602082019150602081019050602083039250610d86565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390209080519060200190610df1929190611f55565b5083600019167fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a75508485604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610e5e578082015181840152602081019050610e43565b50505050905090810190601f168015610e8b5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ec4578082015181840152602081019050610ea9565b50505050905090810190601f168015610ef15780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a250505050565b6000809054906101000a900460ff1681565b6000606060006001600086600019166000191681526020019081526020016000209050600192505b838311151561104e57600084841614158015610f8557506000816006016000858152602001908152602001600020805460018160011615610100020316600290049050115b1561103f578060060160008481526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110335780601f1061100857610100808354040283529160200191611033565b820191906000526020600020905b81548152906001019060200180831161101657829003601f168201915b50505050509150611053565b6001839060020a029250610f40565b600092505b509250929050565b823373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561110c57600080fd5b505af1158015611120573d6000803e3d6000fd5b505050506040513d602081101561113657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614151561116957600080fd5b6040805190810160405280846000191681526020018360001916815250600160008660001916600019168152602001908152602001600020600301600082015181600001906000191690556020820151816001019060001916905590505083600019167f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e46848460405180836000191660001916815260200182600019166000191681526020019250505060405180910390a250505050565b6000600160008360001916600019168152602001908152602001600020600101549050919050565b600060016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060600160008460001916600019168152602001908152602001600020600501826040518082805190602001908083835b6020831015156112e757805182526020820191506020810190506020830392506112c2565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113ae5780601f10611383576101008083540402835291602001916113ae565b820191906000526020600020905b81548152906001019060200180831161139157829003601f168201915b5050505050905092915050565b823373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561146c57600080fd5b505af1158015611480573d6000803e3d6000fd5b505050506040513d602081101561149657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415156114c957600080fd5b60008360018503161415156114dd57600080fd5b8160016000866000191660001916815260200190815260200160002060060160008581526020019081526020016000209080519060200190611520929190611fd5565b508284600019167faa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe360405160405180910390a350505050565b60606001600083600019166000191681526020019081526020016000206002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561160d5780601f106115e25761010080835404028352916020019161160d565b820191906000526020600020905b8154815290600101906020018083116115f057829003601f168201915b50505050509050919050565b813373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b505050506040513d60208110156116f457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614151561172757600080fd5b816001600085600019166000191681526020019081526020016000206002019080519060200190611759929190611f55565b5082600019167fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7836040518080602001828103825283818151815260200191508051906020019080838360005b838110156117c15780820151818401526020810190506117a6565b50505050905090810190601f1680156117ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505050565b813373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156118b157600080fd5b505af11580156118c5573d6000803e3d6000fd5b505050506040513d60208110156118db57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614151561190e57600080fd5b816001600085600019166000191681526020019081526020016000206007019080519060200190611940929190611fd5565b5082600019167fc0b0fc07269fc2749adada3221c095a1d2187b2d075b51c915857b520f3a5021836040518080602001828103825283818151815260200191508051906020019080838360005b838110156119a857808201518184015260208101905061198d565b50505050905090810190601f1680156119d55780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505050565b813373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611a9857600080fd5b505af1158015611aac573d6000803e3d6000fd5b505050506040513d6020811015611ac257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611af557600080fd5b81600160008560001916600019168152602001908152602001600020600101816000191690555082600019167f0424b6fe0d9c3bdbece0e7879dc241bb0c22e900be8b6c168b4ee08bd9bf83bc8360405180826000191660001916815260200191505060405180910390a2505050565b6000809054906101000a900460ff16151515611c0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b80600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000806101000a81548160ff02191690831515021790555050565b600080600160008460001916600019168152602001908152602001600020600301600001546001600085600019166000191681526020019081526020016000206003016001015491509150915091565b813373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d6e57600080fd5b505af1158015611d82573d6000803e3d6000fd5b505050506040513d6020811015611d9857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611dcb57600080fd5b8160016000856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600019167f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd283604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a2505050565b60606001600083600019166000191681526020019081526020016000206007018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f495780601f10611f1e57610100808354040283529160200191611f49565b820191906000526020600020905b815481529060010190602001808311611f2c57829003601f168201915b50505050509050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f9657805160ff1916838001178555611fc4565b82800160010185558215611fc4579182015b82811115611fc3578251825591602001919060010190611fa8565b5b509050611fd19190612055565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061201657805160ff1916838001178555612044565b82800160010185558215612044579182015b82811115612043578251825591602001919060010190612028565b5b5090506120519190612055565b5090565b61207791905b8082111561207357600081600090555060010161205b565b5090565b905600a165627a7a72305820027c05d350dcea72c694473f4a996d01df5e087012864c93d8c8fb87b44584380029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000000"},"balance":"0x0"},"902f069af381a650b7f18ff28ffdad0f11eb425b":{"balance":"0x8ac7230489e80000"},"b5822d5f8d221ce2dc73e388629eca256b0aa4f2":{"code":"0x60806040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063035cf1421461016f5780630a3cb6631461019a578063158ef93e146101c55780632086ca25146101f4578063268331481461021f5780633ed0a3731461024a5780633f4ba83a146102925780635c975abb146102a957806369474625146102d85780636a911ccf146103035780637071688a1461031a578063715018a6146103455780637d0e81bf1461035c5780638456cb59146103b75780638da5cb5b146103ce5780639363a1411461042557806397584b3e146104505780639abee7d01461047f5780639bb2ea5a146104cc578063a2207c6a146104f9578063aded41ec14610550578063b774cb1e14610567578063c22a933c1461059a578063ccd65296146105c7578063cefddda914610632578063e7a60a9c1461068d578063f2fde38b14610701578063facd743b14610744575b600080fd5b34801561017b57600080fd5b5061018461079f565b6040518082815260200191505060405180910390f35b3480156101a657600080fd5b506101af610872565b6040518082815260200191505060405180910390f35b3480156101d157600080fd5b506101da610878565b604051808215151515815260200191505060405180910390f35b34801561020057600080fd5b5061020961088b565b6040518082815260200191505060405180910390f35b34801561022b57600080fd5b50610234610891565b6040518082815260200191505060405180910390f35b34801561025657600080fd5b5061027560048036038101908080359060200190929190505050610897565b604051808381526020018281526020019250505060405180910390f35b34801561029e57600080fd5b506102a761090f565b005b3480156102b557600080fd5b506102be6109cd565b604051808215151515815260200191505060405180910390f35b3480156102e457600080fd5b506102ed6109e0565b6040518082815260200191505060405180910390f35b34801561030f57600080fd5b506103186109e6565b005b34801561032657600080fd5b5061032f610a21565b6040518082815260200191505060405180910390f35b34801561035157600080fd5b5061035a610a2e565b005b34801561036857600080fd5b5061039d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b30565b604051808215151515815260200191505060405180910390f35b3480156103c357600080fd5b506103cc610bc4565b005b3480156103da57600080fd5b506103e3610c84565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043157600080fd5b5061043a610ca9565b6040518082815260200191505060405180910390f35b34801561045c57600080fd5b50610465610cf6565b604051808215151515815260200191505060405180910390f35b34801561048b57600080fd5b506104ca600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d09565b005b3480156104d857600080fd5b506104f760048036038101908080359060200190929190505050610d96565b005b34801561050557600080fd5b5061050e610e3a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055c57600080fd5b50610565610e60565b005b34801561057357600080fd5b5061057c611135565b60405180826000191660001916815260200191505060405180910390f35b3480156105a657600080fd5b506105c56004803603810190808035906020019092919050505061113b565b005b3480156105d357600080fd5b5061063060048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111a0565b005b34801561063e57600080fd5b50610673600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113bf565b604051808215151515815260200191505060405180910390f35b34801561069957600080fd5b506106b860048036038101908080359060200190929190505050611418565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34801561070d57600080fd5b50610742600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114cf565b005b34801561075057600080fd5b50610785600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611536565b604051808215151515815260200191505060405180910390f35b6000806107aa610cf6565b156107b957600154915061086e565b6008600060096001600980549050038154811015156107d457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600181600201600183600201805490500381548110151561085857fe5b9060005260206000209060020201600001540191505b5090565b60035481565b600060159054906101000a900460ff1681565b60025481565b60065481565b6000806000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201848154811015156108eb57fe5b90600052602060002090600202019050806000015481600101549250925050915091565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561096a57600080fd5b600060149054906101000a900460ff16151561098557600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600060149054906101000a900460ff1681565b60015481565b600060149054906101000a900460ff16151515610a0257600080fd5b610a0b33611536565b1515610a1657600080fd5b610a1f3361158f565b565b6000600980549050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a8957600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080610b3c83611536565b1515610b4b5760009150610bbe565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002019050600654816001838054905003815481101515610ba757fe5b906000526020600020906002020160000154101591505b50919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1f57600080fd5b600060149054906101000a900460ff16151515610c3b57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020180549050905090565b6000806009805490506002540311905090565b60408051908101604052808373ffffffffffffffffffffffffffffffffffffffff16815260200182815250600a60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050610d92611701565b5050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610df457600080fd5b600980549050831015610e2e5782600980549050039150600090505b81811015610e2d57610e206117bf565b8080600101915050610e10565b5b82600281905550505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600060149054906101000a900460ff16151515610e8257600080fd5b6000935060009250600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020191505b818054905083108015610f02575060008284815481101515610eed57fe5b90600052602060002090600202016001015414155b15610f64578183815481101515610f1557fe5b906000526020600020906002020160010154421015610f3357610f64565b8183815481101515610f4157fe5b906000526020600020906002020160000154840193508280600101935050610ecf565b610f6e338461180b565b600084111561112f57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b3b57de6005546040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561101257600080fd5b505af1158015611026573d6000803e3d6000fd5b505050506040513d602081101561103c57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156110f257600080fd5b505af1158015611106573d6000803e3d6000fd5b505050506040513d602081101561111c57600080fd5b8101908080519060200190929190505050505b50505050565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119657600080fd5b8060018190555050565b600060159054906101000a900460ff1615151561124b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b60008411151561125a57600080fd5b84600181905550836002819055506201518083026003819055508160068190555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b058a1a62e59d185618f64bebbaf3c52bf099e063098799626040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260128152602001807f6d696e696e67746f6b656e2e6b6f77616c61000000000000000000000000000081525060200191505060206040518083038186803b15801561135857600080fd5b505af415801561136c573d6000803e3d6000fd5b505050506040513d602081101561138257600080fd5b8101908080519060200190929190505050600581600019169055506001600060156101000a81548160ff0219169083151502179055505050505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff169050919050565b600080600060098481548110151561142c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060020160018260020180549050038154811015156114b557fe5b906000526020600020906002020160000154915050915091565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561152a57600080fd5b611533816118f8565b50565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b600080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150816000015490505b60016009805490500381101561168c576009600182018154811015156115fd57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660098281548110151561163757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080806001019150506115db565b60098054809190600190036116a19190611db9565b5060008260010160006101000a81548160ff02191690831515021790555060035442018260020160018460020180549050038154811015156116df57fe5b9060005260206000209060020201600101819055506116fc6119f2565b505050565b600060149054906101000a900460ff1615151561171d57600080fd5b61174b600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611536565b15151561175757600080fd5b61175f61079f565b600a600101541015151561177257600080fd5b61177a610cf6565b1515611789576117886117bf565b5b6117bd600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a60010154611a75565b565b61180960096001600980549050038154811015156117d957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661158f565b565b60008060008084141561181d576118f1565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250600091508390505b82600201805490508110156118df57826002018181548110151561188657fe5b906000526020600020906002020183600201838154811015156118a557fe5b9060005260206000209060020201600082015481600001556001820154816001015590505081806001019250508080600101915050611866565b8183600201816118ef9190611de5565b505b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561193457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6009604051808280548015611a5c57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611a12575b5050915050604051809103902060048160001916905550565b600080600080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600160098790806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003846000018190555060018460010160006101000a81548160ff0219169083151502179055506000431415611b705760018460010160016101000a81548160ff0219169083151502179055505b8360020160408051908101604052808781526020016000815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050836000015492505b6000831115611da95760086000600960018603815481101515611bf357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150816002016001836002018054905003815481101515611c7557fe5b90600052602060002090600202019050806000015485111515611c9757611da9565b600960018403815481101515611ca957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600984815481101515611ce357fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600960018503815481101515611d3e57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828260000181905550600183038460000181905550828060019003935050611bd4565b611db16119f2565b505050505050565b815481835581811115611de057818360005260206000209182019101611ddf9190611e17565b5b505050565b815481835581811115611e1257600202816002028360005260206000209182019101611e119190611e3c565b5b505050565b611e3991905b80821115611e35576000816000905550600101611e1d565b5090565b90565b611e6891905b80821115611e6457600080820160009055600182016000905550600201611e42565b5090565b905600a165627a7a72305820191fba81bca640eb79ed9424e349e31a1a476c3140d3d27c954efbfec8e60f0b0029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0x0000000000000000000000000000000000000000000000000000000000000001":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x00000000000000000000000000000000000000000000000000000000000001f4","0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000015180","0x0000000000000000000000000000000000000000000000000000000000000005":"0xc99f18ca33e10b0236fe4fd62bfd9a8eb6ceee10bf8dad1b0d121d5e6a2bf3ba","0x0000000000000000000000000000000000000000000000000000000000000006":"0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000","0x0000000000000000000000000000000000000000000000000000000000000007":"0x00000000000000000000000001e1056f6a829e53dadeb8a5a6189a9333bd1d63"},"balance":"0x0"},"bfb47d8008d1ccdcaf3a36110a9338a274e86343":{"code":"0x608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630178b8bf1461009e57806302571be31461010f57806306ab59231461018057806314ab9038146101df578063158ef93e1461022457806316a25cbd146102535780631896f70a146102ac5780635b0fc9c3146102fd578063c4d66de81461034e575b600080fd5b3480156100aa57600080fd5b506100cd6004803603810190808035600019169060200190929190505050610391565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011b57600080fd5b5061013e60048036038101908080356000191690602001909291905050506103d9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561018c57600080fd5b506101dd60048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610421565b005b3480156101eb57600080fd5b506102226004803603810190808035600019169060200190929190803567ffffffffffffffff16906020019092919050505061059d565b005b34801561023057600080fd5b506102396106b0565b604051808215151515815260200191505060405180910390f35b34801561025f57600080fd5b5061028260048036038101908080356000191690602001909291905050506106c2565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3480156102b857600080fd5b506102fb6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106fe565b005b34801561030957600080fd5b5061034c6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610841565b005b34801561035a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610984565b005b600060016000836000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600060016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000833373ffffffffffffffffffffffffffffffffffffffff1660016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561049c57600080fd5b848460405180836000191660001916815260200182600019166000191681526020019250505060405180910390209150836000191685600019167fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8285604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a38260016000846000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b813373ffffffffffffffffffffffffffffffffffffffff1660016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561061657600080fd5b82600019167f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6883604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a28160016000856000191660001916815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050565b6000809054906101000a900460ff1681565b600060016000836000191660001916815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b813373ffffffffffffffffffffffffffffffffffffffff1660016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561077757600080fd5b82600019167f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a28160016000856000191660001916815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b813373ffffffffffffffffffffffffffffffffffffffff1660016000836000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156108ba57600080fd5b82600019167fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26683604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a28160016000856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6000809054906101000a900460ff16151515610a2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b80600160008060010260001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000806101000a81548160ff021916908315150217905550505600a165627a7a72305820e6c94ed3c260b949380eb0a722b651d424262e08f3c684546711633d9eb70ec10029","storage":{"0xa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415"},"balance":"0x0"},"c3c45781031885313d5a598042950d6d7be96350":{"code":"0x6080604052600436106100a3576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062bf32ca146100a8578063158ef93e146100e957806321873631146101185780632af4f9c0146101435780632d3802421461016e5780636df566d714610199578063a035b1fe146101c4578063b0c6363d146101ef578063e4a301161461021a578063fc634f4b14610251575b600080fd5b3480156100b457600080fd5b506100d36004803603810190808035906020019092919050505061027c565b6040518082815260200191505060405180910390f35b3480156100f557600080fd5b506100fe610295565b604051808215151515815260200191505060405180910390f35b34801561012457600080fd5b5061012d6102a7565b6040518082815260200191505060405180910390f35b34801561014f57600080fd5b506101586102d7565b6040518082815260200191505060405180910390f35b34801561017a57600080fd5b506101836102dd565b6040518082815260200191505060405180910390f35b3480156101a557600080fd5b506101ae610365565b6040518082815260200191505060405180910390f35b3480156101d057600080fd5b506101d961036b565b6040518082815260200191505060405180910390f35b3480156101fb57600080fd5b50610204610375565b6040518082815260200191505060405180910390f35b34801561022657600080fd5b5061024f600480360381019080803590602001909291908035906020019092919050505061037b565b005b34801561025d57600080fd5b5061026661045f565b6040518082815260200191505060405180910390f35b600060648260040281151561028d57fe5b049050919050565b6000809054906101000a900460ff1681565b60006102d2670de0b6b3a76400003073ffffffffffffffffffffffffffffffffffffffff1631610465565b905090565b60045481565b600080600180430114156102fc57680246ddf979766800009150610361565b61271060045481151561030b57fe5b04905060015460025411801561032a5750670de0b6b3a7640000600154115b1561034b57610344816004540161033f61047e565b610465565b9150610361565b61035e816004540364e8d4a510006104bf565b91505b5090565b60025481565b6000600254905090565b60035481565b6000809054906101000a900460ff16151515610425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b8160018190555081600281905550806004819055508060038190555060016000806101000a81548160ff0219169083151502179055505050565b60015481565b60008183106104745781610476565b825b905092915050565b6000600180430111801561049657506104956104d9565b5b6104a957680471fa858b9e0800006104ba565b6127106003548115156104b857fe5b045b905090565b6000818310156104cf57816104d1565b825b905092915050565b600069d3c21bcecceda100000060035410159050905600a165627a7a723058206fe4f1f991942cb71ef574c8d7fffd57bd4a05e408f7df2f2c0ecd8fe40406390029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000de0b6b3a7640000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000de0b6b3a7640000","0x0000000000000000000000000000000000000000000000000000000000000003":"0x00000000000000000000000000000000000000000000021fba3632c84ff80000","0x0000000000000000000000000000000000000000000000000000000000000004":"0x00000000000000000000000000000000000000000000021fba3632c84ff80000"},"balance":"0x0"},"c497f7ad7105db9f4138de92b13a0883b19ee0fa":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000de0b6b3a7640000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000de0b6b3a7640000","0x0000000000000000000000000000000000000000000000000000000000000003":"0x00000000000000000000000000000000000000000000021fba3632c84ff80000","0x0000000000000000000000000000000000000000000000000000000000000004":"0x00000000000000000000000000000000000000000000021fba3632c84ff80000","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000c3c45781031885313d5a598042950d6d7be96350"},"balance":"0x0"},"cdca8b1b7edfb0827f10f4ed3968d98fa5c90ea0":{"code":"0x6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063158ef93e146100ca5780633f4ba83a146100f9578063402300461461011057806341b3d185146101845780635c975abb146101af57806366419970146101de578063715018a6146102095780638456cb59146102205780638da5cb5b146102375780638f449a051461028e578063da35a26f14610298578063f2fde38b146102e5578063fcae448414610328575b600080fd5b3480156100d657600080fd5b506100df61033f565b604051808215151515815260200191505060405180910390f35b34801561010557600080fd5b5061010e610352565b005b34801561011c57600080fd5b5061013b60048036038101908080359060200190929190505050610410565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34801561019057600080fd5b5061019961049f565b6040518082815260200191505060405180910390f35b3480156101bb57600080fd5b506101c46104a5565b604051808215151515815260200191505060405180910390f35b3480156101ea57600080fd5b506101f36104b8565b6040518082815260200191505060405180910390f35b34801561021557600080fd5b5061021e6104c5565b005b34801561022c57600080fd5b506102356105c7565b005b34801561024357600080fd5b5061024c610687565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102966106ac565b005b3480156102a457600080fd5b506102e360048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061073b565b005b3480156102f157600080fd5b50610326600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061084d565b005b34801561033457600080fd5b5061033d6108b4565b005b600060159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103ad57600080fd5b600060149054906101000a900460ff1615156103c857600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600080600060048481548110151561042457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060020154915050915091565b60015481565b600060149054906101000a900460ff1681565b6000600480549050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561052057600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561062257600080fd5b600060149054906101000a900460ff1615151561063e57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060149054906101000a900460ff161515156106c957600080fd5b6106d233610b9b565b1561072f57600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050348160020160008282540192505081905550610738565b610737610bf4565b5b50565b600060159054906101000a900460ff161515156107e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b8160018190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600060156101000a81548160ff0219169083151502179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108a857600080fd5b6108b181610ce1565b50565b60008060006108c233610b9b565b15156108cd57600080fd5b670de0b6b3a7640000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a035b1fe6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561095c57600080fd5b505af1158015610970573d6000803e3d6000fd5b505050506040513d602081101561098657600080fd5b8101908080519060200190929190505050101515156109a457600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250826000015491503373ffffffffffffffffffffffffffffffffffffffff166108fc84600201549081150290604051600060405180830381858888f19350505050158015610a36573d6000803e3d6000fd5b50600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff0219169055600282016000905550506004600160048054905003815481101515610ab457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080600483815481101515610af157fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506004805480919060019003610b959190610ddb565b50505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b60006001543410151515610c0757600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160043390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555003816000018190555060018160010160006101000a81548160ff02191690831515021790555034816002018190555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d1d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b815481835581811115610e0257818360005260206000209182019101610e019190610e07565b5b505050565b610e2991905b80821115610e25576000816000905550600101610e0d565b5090565b905600a165627a7a7230582003e9f8a667889c71192d8deb1e6aa5493e226a18e8f0762c904236c8053c7c100029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000056bc75e2d63100000","0x0000000000000000000000000000000000000000000000000000000000000002":"0x000000000000000000000000c3c45781031885313d5a598042950d6d7be96350"},"balance":"0x0"},"dfcb946fd93a0ae4056d7d6dca59d59fd830f8a5":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000003":"0x6d55534400000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000004":"0x6d55534400000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000006":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000","0x0000000000000000000000000000000000000000000000000000000000000007":"0x0000000000000000000000000e5d0fd336650e663c710ef420f85fb081e21415","0x0000000000000000000000000000000000000000000000000000000000000008":"0x000000000000000000000000000000000000000003782dace9d9000000000000","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x4cf2bf7c4513f31bb90f26db288d81637a55e0204ce44ed81fd8bd44cf72e94d":"0x0000000000000000000000000000000000000000000000000000000000000000","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x00000000000000000000000064c2a9cb0220d3e56783ed87cc1b20115bc93f96","0x83a6ad9b45a481c71774303d5fe0197831d788806fafa3028fb2edd9e977cd46":"0x00000000000000000000000000000000000000000000065a4da25d3016c00000"},"balance":"0x0"},"e1adb6075619f52fc00bdd50def1b754b9e7bd17":{"code":"0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820b31d41a72e81559b9fbd6f52c3db76ab77aeacd5de378d37ab93861a9b684f120029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x00000000000000000000004195b06a6e4d5bedde15165e01a64f324f03d5d101","0x0000000000000000000000000000000000000000000000000000000000000001":"0xbc25ce339c62a23a50c9bdae4aba9cb6dab4cefd53d1501dcbf2eec2583d200e","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b":"0x000000000000000000000000ff9dfbd395cd1c4a4f23c16aa8a5c44109bc17df","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3":"0x000000000000000000000000e95d0d373e2fd320b84aac705434b67b905092ae"},"balance":"0x0"},"e95d0d373e2fd320b84aac705434b67b905092ae":{"code":"0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063158ef93e1461005c578063be13f47c1461008b578063d22057a9146100dc575b600080fd5b34801561006857600080fd5b5061007161012d565b604051808215151515815260200191505060405180910390f35b34801561009757600080fd5b506100da600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919050505061013f565b005b3480156100e857600080fd5b5061012b6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610253565b005b6000809054906101000a900460ff1681565b6000809054906101000a900460ff161515156101e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b81600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806001816000191690555060016000806101000a81548160ff0219169083151502179055505050565b8160008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001548460405180836000191660001916815260200182600019166000191681526020019250505060405180910390206040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561031d57600080fd5b505af1158015610331573d6000803e3d6000fd5b505050506040513d602081101561034757600080fd5b8101908080519060200190929190505050905060008173ffffffffffffffffffffffffffffffffffffffff1614806103aa57503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15156103b557600080fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab592360015486866040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b15801561049457600080fd5b505af11580156104a8573d6000803e3d6000fd5b50505050505050505600a165627a7a723058205053cd7ff3b82a7e6e8531ed12a7195800886445328be2a9911c057f02b1f0cf0029","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000000"},"balance":"0x0"}},"number":"0x0","gasUsed":"0x0","parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}