diff --git a/metadium/contracts/MetadiumGovernance.js b/metadium/contracts/MetadiumGovernance.js index 964906693af9..2b6214016e0b 100644 --- a/metadium/contracts/MetadiumGovernance.js +++ b/metadium/contracts/MetadiumGovernance.js @@ -1,4 +1,4 @@ -var Gov_data = "0x608060405234801561001057600080fd5b506040516106fc3803806106fc83398101604081905261002f91610301565b80604051806020016040528060008152506100528282600061005a60201b60201c565b5050506103a5565b61006383610090565b6000825111806100705750805b1561008b5761008983836100d060201b61008b1760201c565b505b505050565b610099816100fc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100f583836040518060600160405280602781526020016106d5602791396101ce565b9392505050565b61010f8161024760201b6100b71760201c565b6101765760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101ad7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61025660201b6100c61760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101eb919061032a565b600060405180830381855af49150503d8060008114610226576040519150601f19603f3d011682016040523d82523d6000602084013e61022b565b606091505b50909250905061023d86838387610259565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102c55782516102be576001600160a01b0385163b6102be5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161016d565b50816102cf565b6102cf83836102d7565b949350505050565b8151156102e75781518083602001fd5b8060405162461bcd60e51b815260040161016d9190610346565b60006020828403121561031357600080fd5b81516001600160a01b03811681146100f557600080fd5b6000825161033c818460208701610379565b9190910192915050565b6020815260008251806020840152610365816040850160208701610379565b601f01601f19169190910160400192915050565b60005b8381101561039457818101518382015260200161037c565b838111156100895750506000910152565b610321806103b46000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e61007c565b6040516001600160a01b03909116815260200160405180910390f35b61007a6100756100c9565b6100fc565b565b60006100866100c9565b905090565b60606100b083836040518060600160405280602781526020016102c560279139610120565b9392505050565b6001600160a01b03163b151590565b90565b60006100867f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b3660008037600080366000845af43d6000803e80801561011b573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161013d9190610245565b600060405180830381855af49150503d8060008114610178576040519150601f19603f3d011682016040523d82523d6000602084013e61017d565b606091505b509150915061018e86838387610198565b9695505050505050565b60608315610209578251610202576001600160a01b0385163b6102025760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610213565b610213838361021b565b949350505050565b81511561022b5781518083602001fd5b8060405162461bcd60e51b81526004016101f99190610261565b60008251610257818460208701610294565b9190910192915050565b6020815260008251806020840152610280816040850160208701610294565b601f01601f19169190910160400192915050565b60005b838110156102af578181015183820152602001610297565b838111156102be576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212207465332dc618a2f5eb63fb7bbbf1a8bdc5122d00040dba21b4a8ec1e9ece14cc64736f6c63430008060033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564"; +var Gov_data = "0x608060405234801561001057600080fd5b506040516106fc3803806106fc83398101604081905261002f91610301565b80604051806020016040528060008152506100528282600061005a60201b60201c565b5050506103a5565b61006383610090565b6000825111806100705750805b1561008b5761008983836100d060201b61008b1760201c565b505b505050565b610099816100fc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100f583836040518060600160405280602781526020016106d5602791396101ce565b9392505050565b61010f8161024760201b6100b71760201c565b6101765760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101ad7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61025660201b6100c61760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101eb919061032a565b600060405180830381855af49150503d8060008114610226576040519150601f19603f3d011682016040523d82523d6000602084013e61022b565b606091505b50909250905061023d86838387610259565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102c55782516102be576001600160a01b0385163b6102be5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161016d565b50816102cf565b6102cf83836102d7565b949350505050565b8151156102e75781518083602001fd5b8060405162461bcd60e51b815260040161016d9190610346565b60006020828403121561031357600080fd5b81516001600160a01b03811681146100f557600080fd5b6000825161033c818460208701610379565b9190910192915050565b6020815260008251806020840152610365816040850160208701610379565b601f01601f19169190910160400192915050565b60005b8381101561039457818101518382015260200161037c565b838111156100895750506000910152565b610321806103b46000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e61007c565b6040516001600160a01b03909116815260200160405180910390f35b61007a6100756100c9565b6100fc565b565b60006100866100c9565b905090565b60606100b083836040518060600160405280602781526020016102c560279139610120565b9392505050565b6001600160a01b03163b151590565b90565b60006100867f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b3660008037600080366000845af43d6000803e80801561011b573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161013d9190610245565b600060405180830381855af49150503d8060008114610178576040519150601f19603f3d011682016040523d82523d6000602084013e61017d565b606091505b509150915061018e86838387610198565b9695505050505050565b60608315610209578251610202576001600160a01b0385163b6102025760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610213565b610213838361021b565b949350505050565b81511561022b5781518083602001fd5b8060405162461bcd60e51b81526004016101f99190610261565b60008251610257818460208701610294565b9190910192915050565b6020815260008251806020840152610280816040850160208701610294565b601f01601f19169190910160400192915050565b60005b838110156102af578181015183820152602001610297565b838111156102be576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122065ab26d77cc72ee54ac799a3aa7fc21cb0015838c2672079085ec8c3194f2bcc64736f6c63430008060033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564"; var Gov_contract = web3.eth.contract([{"inputs":[{"internalType":"address","name":"_imp","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]); function Gov_new() { @@ -17,7 +17,7 @@ function Gov_new() { function Gov_load(addr) { return Gov_contract.at(addr); } -var GovChecker_data = "0x608060405234801561001057600080fd5b5061044a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c5780638da5cb5b116100665780638da5cb5b146101b05780639986e4b9146101c1578063a91ee0dc146101d8578063f2fde38b146101eb57600080fd5b8063715018a614610167578063738fdd1a146101715780637bf465301461019c57600080fd5b80631e0cba0d146100d45780632f40992e146100f857806334125c841461010c5780634bd1ed761461011f5780635a731cca146101345780636c78d2cf1461014b575b600080fd5b6100e5665374616b696e6760c81b81565b6040519081526020015b60405180910390f35b6100e56914995dd85c99141bdbdb60b21b81565b6100e56845636f73797374656d60b81b81565b6100e56a4d61696e74656e616e636560a81b81565b6100e56c14dd185ada5b99d4995dd85c99609a1b81565b6100e57111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b61016f6101fe565b005b606554610184906001600160a01b031681565b6040516001600160a01b0390911681526020016100ef565b6100e569456e7653746f7261676560b01b81565b6033546001600160a01b0316610184565b6100e56c42616c6c6f7453746f7261676560981b81565b61016f6101e63660046103e4565b610212565b61016f6101f93660046103e4565b6102bf565b610206610338565b6102106000610392565b565b61021a610338565b6001600160a01b0381166102755760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060448201526064015b60405180910390fd5b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b6102c7610338565b6001600160a01b03811661032c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161026c565b61033581610392565b50565b6033546001600160a01b031633146102105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156103f657600080fd5b81356001600160a01b038116811461040d57600080fd5b939250505056fea2646970667358221220b535bc527ced07912974506f7ab75828bfc3ac177e8912e3fd2555b419df60db64736f6c63430008060033"; +var GovChecker_data = "0x608060405234801561001057600080fd5b5061044a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c5780638da5cb5b116100665780638da5cb5b146101b05780639986e4b9146101c1578063a91ee0dc146101d8578063f2fde38b146101eb57600080fd5b8063715018a614610167578063738fdd1a146101715780637bf465301461019c57600080fd5b80631e0cba0d146100d45780632f40992e146100f857806334125c841461010c5780634bd1ed761461011f5780635a731cca146101345780636c78d2cf1461014b575b600080fd5b6100e5665374616b696e6760c81b81565b6040519081526020015b60405180910390f35b6100e56914995dd85c99141bdbdb60b21b81565b6100e56845636f73797374656d60b81b81565b6100e56a4d61696e74656e616e636560a81b81565b6100e56c14dd185ada5b99d4995dd85c99609a1b81565b6100e57111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b61016f6101fe565b005b606554610184906001600160a01b031681565b6040516001600160a01b0390911681526020016100ef565b6100e569456e7653746f7261676560b01b81565b6033546001600160a01b0316610184565b6100e56c42616c6c6f7453746f7261676560981b81565b61016f6101e63660046103e4565b610212565b61016f6101f93660046103e4565b6102bf565b610206610338565b6102106000610392565b565b61021a610338565b6001600160a01b0381166102755760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060448201526064015b60405180910390fd5b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b6102c7610338565b6001600160a01b03811661032c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161026c565b61033581610392565b50565b6033546001600160a01b031633146102105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156103f657600080fd5b81356001600160a01b038116811461040d57600080fd5b939250505056fea26469706673582212208bcaa1e12375a4588cedfae89902f7e657aacbe32bb1d512867b6ff44cf399f364736f6c63430008060033"; var GovChecker_contract = web3.eth.contract([{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"SetRegistry","type":"event"},{"inputs":[],"name":"BALLOT_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ENV_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOV_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINTENANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_POOL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reg","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]); function GovChecker_new() { @@ -36,8 +36,8 @@ function GovChecker_new() { function GovChecker_load(addr) { return GovChecker_contract.at(addr); } -var GovImp_data = "0x60a06040523060601b6080523480156200001857600080fd5b506200002362000029565b620000ea565b600054610100900460ff1615620000965760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e8576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805160601c6177ba6200012560003960008181611dac01528181611dec015281816127380152818161277801526127f401526177ba6000f3fe6080604052600436106104515760003560e01c8063738fdd1a1161023f578063c00ace6c11610139578063d07bff0c116100b6578063e27bdaef1161007a578063e27bdaef14610f5d578063e75235b814610f7d578063e9523fb514610f92578063f2fde38b14610fa8578063f38ecf4714610fc857600080fd5b8063d07bff0c14610ec7578063d13a174414610efd578063d6f9cfce14610f1d578063d965ea0014610f33578063de09b37714610f4857600080fd5b8063c9d27afe116100fd578063c9d27afe14610e0f578063ce04b9d414610e2f578063ce6a54ff14610e44578063ce93a23614610e7a578063cec5b62214610e9a57600080fd5b8063c00ace6c14610d0b578063c0b4fe1514610d3f578063c42a0abc14610d73578063c6713baf14610da7578063c7d3da3414610ddb57600080fd5b8063a6868b7d116101c7578063aaf0dd361161018b578063aaf0dd3614610c3f578063ab3545e514610c6c578063af08557e14610ca2578063af6af2ff14610cc2578063b128f88014610cd757600080fd5b8063a6868b7d14610b5f578063a7771ee314610b93578063a8915a3e14610bcb578063a91ee0dc14610beb578063a9b629b214610c0b57600080fd5b80638da5cb5b1161020e5780638da5cb5b14610aba578063918f867414610ad85780639986e4b914610aee578063a0c1268314610b12578063a230c52414610b3f57600080fd5b8063738fdd1a14610a2f5780637b2bfb0114610a4f5780637bf4653014610a835780637d10dd1b14610aa457600080fd5b80633f35c8fe116103505780636167eb45116102d85780636f1e85331161029c5780636f1e8533146109795780636f6de96d146109b15780636fde207a146109d1578063715018a614610a0557806372016f7514610a1a57600080fd5b80636167eb451461089f578063656e3052146108d35780636ba99181146109075780636c78d2cf1461091c5780636d583ca71461094557600080fd5b80634f0f4aa91161031f5780634f0f4aa91461080e5780634f1ef2861461083e57806352d1902d146108515780635a731cca146108665780635aaa40401461088a57600080fd5b80633f35c8fe1461076457806340690353146107985780634bd1ed76146107b85780634d273e28146107da57600080fd5b80631e0cba0d116103de57806334125c84116103a257806334125c84146106b0578063351bacda146106d05780633659cfe6146106f057806336e83d8314610710578063382944191461073057600080fd5b80631e0cba0d146105f3578063238737b614610611578063278bb12a146106455780632f40992e146106795780633310569c1461069a57600080fd5b806315bf6b4d1161042557806315bf6b4d1461051e57806316fbe8311461056c5780631c12b030146105835780631c150171146105a85780631c4b774b146105bd57600080fd5b806215a73b146104565780630b1d39b81461049d5780630efa4909146104d1578063139d9dd3146104f1575b600080fd5b34801561046257600080fd5b5061048a7f0c4fbe9dc9de15dd7c0d064975ee1a2f2f9b954fa0e65d4f6cddba94884bdc3e81565b6040519081526020015b60405180910390f35b3480156104a957600080fd5b5061048a7fdd5a41a7fc01f5c6d30816b17f638d6531625f1e1eaa599673ab2f6079f2dd9d81565b3480156104dd57600080fd5b5061048a6104ec366004616ab6565b610ffc565b3480156104fd57600080fd5b5061048a61050c36600461694f565b60a86020526000908152604090205481565b34801561052a57600080fd5b50610554610539366004616ea5565b6000908152607060205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610494565b34801561057857600080fd5b50610581611346565b005b34801561058f57600080fd5b50610598611685565b6040519015158152602001610494565b3480156105b457600080fd5b5061048a6116d6565b3480156105c957600080fd5b506105546105d8366004616ea5565b6000908152606a60205260409020546001600160a01b031690565b3480156105ff57600080fd5b5061048a665374616b696e6760c81b81565b34801561061d57600080fd5b5061048a7f1d36f8ce53f59e624857e1d8dc7932d19981a2ea1b8faa4eb8ff843fc3e5a27881565b34801561065157600080fd5b5061048a7f9b2e0c7fdae148f225bae7deb92d7e7bd24bb77edb12956e8fa7204900dd8a2281565b34801561068557600080fd5b5061048a6914995dd85c99141bdbdb60b21b81565b3480156106a657600080fd5b5061048a60a75481565b3480156106bc57600080fd5b5061048a6845636f73797374656d60b81b81565b3480156106dc57600080fd5b506105816106eb366004616b0e565b611755565b3480156106fc57600080fd5b5061058161070b36600461694f565b611da1565b34801561071c57600080fd5b5061048a61072b366004616e20565b611e87565b34801561073c57600080fd5b5061048a7fbe90e461bbdb9a95a694f7796912ea04244caf7f5b60ad7ded17e16821d3e44c81565b34801561077057600080fd5b5061048a7f2a268972a70c8c688b62366bdfdd9bb09cf19d3e5b6e7e7bb158e671ffdcedd281565b3480156107a457600080fd5b5061048a6107b3366004616da2565b61229e565b3480156107c457600080fd5b5061048a6a4d61696e74656e616e636560a81b81565b3480156107e657600080fd5b5061048a7f77884798208df1e64f70968be41ef2d3211ec53613397ca59313416813df088881565b34801561081a57600080fd5b5061082e610829366004616ea5565b612550565b60405161049494939291906170b4565b61058161084c366004616a67565b61272d565b34801561085d57600080fd5b5061048a6127e7565b34801561087257600080fd5b5061048a6c14dd185ada5b99d4995dd85c99609a1b81565b34801561089657600080fd5b5061048a61289a565b3480156108ab57600080fd5b5061048a7f9f1de481f899d76889aa8a2b44cc7b604d42691aa93d4ba618a1a1fd439f505081565b3480156108df57600080fd5b5061048a7fe10074dceffb75f13bf0ce50145afd35182d63796823f1280ce40e01c19109e781565b34801561091357600080fd5b506105816128dc565b34801561092857600080fd5b5061048a7111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b34801561095157600080fd5b5061048a7fc69fc6b7d0efc934fd5a3581c7253a7107a952526bb6dbcd814ef8d8dae1f44a81565b34801561098557600080fd5b5061059861099436600461694f565b6001600160a01b03166000908152606d6020526040902054151590565b3480156109bd57600080fd5b506105546109cc36600461694f565b6129d9565b3480156109dd57600080fd5b5061048a7f0b09c9badbbeb6c813a598ee910770a39ccda797a1940439bb6e47fc6c87548b81565b348015610a1157600080fd5b50610581612a48565b348015610a2657600080fd5b5060715461048a565b348015610a3b57600080fd5b50606554610554906001600160a01b031681565b348015610a5b57600080fd5b5061048a7f9346226931826838eedd13d9677fa33551e7c81f604b171ef3fac355458da9aa81565b348015610a8f57600080fd5b5061048a69456e7653746f7261676560b01b81565b348015610ab057600080fd5b5061048a60665481565b348015610ac657600080fd5b506033546001600160a01b0316610554565b348015610ae457600080fd5b5061048a61271081565b348015610afa57600080fd5b5061048a6c42616c6c6f7453746f7261676560981b81565b348015610b1e57600080fd5b5061048a610b2d36600461694f565b606d6020526000908152604090205481565b348015610b4b57600080fd5b50610598610b5a36600461694f565b612a5c565b348015610b6b57600080fd5b5061048a7f6c6f69f426081752a5d3e73746599acd2a4cb145d5de4203ca1e3473b281680b81565b348015610b9f57600080fd5b50610598610bae36600461694f565b6001600160a01b0316600090815260686020526040902054151590565b348015610bd757600080fd5b50610581610be6366004616b66565b612a9f565b348015610bf757600080fd5b50610581610c0636600461694f565b612f0f565b348015610c1757600080fd5b5061048a7f89dd490ecaf395283ed4ff2fd9557ca767fc425dce063451a9b0da6d72f600c381565b348015610c4b57600080fd5b5061048a610c5a36600461694f565b606b6020526000908152604090205481565b348015610c7857600080fd5b50610554610c87366004616ea5565b6000908152606c60205260409020546001600160a01b031690565b348015610cae57600080fd5b50610581610cbd366004616c72565b612fb7565b348015610cce57600080fd5b5061048a61322a565b348015610ce357600080fd5b5061048a7f829561ab7af084b7efc6600518d2df79b8d95f3f4c3a550f54f8f7ec7d2b805781565b348015610d1757600080fd5b5061048a7f18ad4415ef4a621ce1a136395c51ab6c3712bb2e24b79d526059925cea58dcb881565b348015610d4b57600080fd5b5061048a7f8086da5becff4dfac91a3105821b361078d2d4abba0ccc2401b974cf0dcf05c181565b348015610d7f57600080fd5b5061048a7fb38b2c133e931937bd95337c65c8aefa7040ed64bbed732e3e29a4944c65747381565b348015610db357600080fd5b5061048a7fc9e15e34073efbcd0328740feaf503caac9124b55b38c73d1a97b53da80a2f6081565b348015610de757600080fd5b5061048a7f04f7b94450bbcad85f37ea47cd1062728f884bb2040e357738f8fd53056134bc81565b348015610e1b57600080fd5b50610581610e2a366004616ebe565b61326c565b348015610e3b57600080fd5b5061048a613422565b348015610e5057600080fd5b5061048a610e5f36600461694f565b6001600160a01b03166000908152606f602052604090205490565b348015610e8657600080fd5b5061048a610e95366004616e54565b613464565b348015610ea657600080fd5b5061048a610eb536600461694f565b60686020526000908152604090205481565b348015610ed357600080fd5b50610554610ee2366004616ea5565b6000908152606760205260409020546001600160a01b031690565b348015610f0957600080fd5b5061048a610f18366004616c12565b61390b565b348015610f2957600080fd5b5061048a60725481565b348015610f3f57600080fd5b5060695461048a565b348015610f5457600080fd5b5060745461048a565b348015610f6957600080fd5b50610581610f78366004616ea5565b613c6b565b348015610f8957600080fd5b5061138961048a565b348015610f9e57600080fd5b5061048a60735481565b348015610fb457600080fd5b50610581610fc336600461694f565b613cf1565b348015610fd457600080fd5b5061048a7f7c1150f0e1a39ff55552d52764f97e6c387e2a247e1df344369f122c4254be2f81565b6000611006613d67565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b15801561104757600080fd5b505afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190616d27565b6110a45760405162461bcd60e51b815260040161109b90617288565b60405180910390fd5b60006110af336129d9565b90506110b961289a565b6110c282613d87565b111580156110df57506110d361322a565b6110dc82613d87565b10155b6110fb5760405162461bcd60e51b815260040161109b9061739b565b6001600160a01b0385166111515760405162461bcd60e51b815260206004820152601d60248201527f496d706c656d656e746174696f6e2063616e6e6f74206265207a65726f000000604482015260640161109b565b611159613e0d565b6001600160a01b0316856001600160a01b031614156111b25760405162461bcd60e51b815260206004820152601560248201527453616d6520636f6e7472616374206164647265737360581b604482015260640161109b565b846001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111eb57600080fd5b505afa92505050801561121b575060408051601f3d908101601f1916820190925261121891810190616d44565b60015b6112375760405162461bcd60e51b815260040161109b906172dd565b6000805160206176fe83398151915281146112645760405162461bcd60e51b815260040161109b906171f1565b506072546112739060016175e0565b915061127d613e29565b6001600160a01b0316630a3a63fe607254600161129a91906175e0565b60046040516001600160e01b031960e085901b16815260048101929092526024820152604481018690523360648201526001600160a01b038816608482015260a401602060405180830381600087803b1580156112f657600080fd5b505af115801561130a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132e9190616d44565b506113398285613e44565b5060728190559392505050565b600054600290610100900460ff16158015611368575060005460ff8083169116105b6113845760405162461bcd60e51b815260040161109b9061723a565b6000805461ffff191660ff8316176101001790556113a0613eaf565b60005b606954811015611651576000818152606e60205260408082208151608081019092528054829082906113d49061765d565b80601f01602080910402602001604051908101604052809291908181526020018280546114009061765d565b801561144d5780601f106114225761010080835404028352916020019161144d565b820191906000526020600020905b81548152906001019060200180831161143057829003601f168201915b505050505081526020016001820180546114669061765d565b80601f01602080910402602001604051908101604052809291908181526020018280546114929061765d565b80156114df5780601f106114b4576101008083540402835291602001916114df565b820191906000526020600020905b8154815290600101906020018083116114c257829003601f168201915b505050505081526020016002820180546114f89061765d565b80601f01602080910402602001604051908101604052809291908181526020018280546115249061765d565b80156115715780601f1061154657610100808354040283529160200191611571565b820191906000526020600020905b81548152906001019060200180831161155457829003601f168201915b505050505081526020016003820154815250509050600160a9826000015160405161159c9190617010565b90815260405160209181900382018120805460ff19169315159390931790925582015160019160aa916115ce91617010565b908152602001604051809103902060006101000a81548160ff021916908315150217905550600160ab60008360400151846060015160405160200161161492919061702c565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055506001016113a3565b506000805461ff001916905560405160ff8216815260008051602061771e833981519152906020015b60405180910390a150565b60006074546000146116d057600061169e607454613f09565b5091505060006116af607454613fa0565b5091505060028214156116cd57428110156116cd5760009250505090565b50505b50600190565b60006116e061402a565b6001600160a01b03166333be496e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561171857600080fd5b505afa15801561172c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117509190616d44565b905090565b600054610100900460ff16158080156117755750600054600160ff909116105b8061178f5750303b15801561178f575060005460ff166001145b6117ab5760405162461bcd60e51b815260040161109b9061723a565b6000805460ff1916600117905580156117ce576000805461ff0019166101001790555b6117d6614042565b6117de614071565b6117e784612f0f565b4360665560006117f56140a0565b90506117ff61322a565b841015801561181557508361181261289a565b10155b6118315760405162461bcd60e51b815260040161109b9061732b565b600080600060608060606000806000905060008060208d0191508c518261185891906175e0565b90505b80821015611d5357815199506118726020836175e0565b915080821061188057600080fd5b8151985061188f6020836175e0565b915080821061189d57600080fd5b815197506118ac6020836175e0565b91508082106118ba57600080fd5b819650865160206118cb91906175e0565b6118d590836175e0565b91508082106118e357600080fd5b819550855160206118f491906175e0565b6118fe90836175e0565b915080821061190c57600080fd5b8194508451602061191d91906175e0565b61192790836175e0565b915080821061193557600080fd5b815193506119446020836175e0565b91506119516001846175e0565b925061195c8a612a5c565b15801561196f575061196d89612a5c565b155b6119ac5760405162461bcd60e51b815260206004820152600e60248201526d20b63932b0b23c9036b2b6b132b960911b604482015260640161109b565b886067600085815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082606860008b6001600160a01b03166001600160a01b031681526020019081526020016000208190555087606a600085815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082606b60008a6001600160a01b03166001600160a01b031681526020019081526020016000208190555089606c600085815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082606d60008c6001600160a01b03166001600160a01b03168152602001908152602001600020819055508d8b6001600160a01b03166325d998bb8c6040518263ffffffff1660e01b8152600401611b0e91906001600160a01b0391909116815260200190565b60206040518083038186803b158015611b2657600080fd5b505afa158015611b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5e9190616d44565b1015611ba35760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207374616b696e6760601b604482015260640161109b565b611baf878787876140b5565b611bcb5760405162461bcd60e51b815260040161109b906172af565b611bd58a8f614164565b6000838152606e6020908152604090912088519091611bf89183918b01906165d0565b508651611c0e90600183019060208a01906165d0565b508551611c2490600283019060208901906165d0565b50848160030181905550600160a989604051611c409190617010565b908152604051908190036020018120805492151560ff199093169290921790915560019060aa90611c72908a90617010565b908152602001604051809103902060006101000a81548160ff021916908315150217905550600160ab60008888604051602001611cb092919061702c565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff0219169083151502179055508a6070600086815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083606f60008d6001600160a01b03166001600160a01b03168152602001908152602001600020819055505061185b565b50506069819055607155505086159550611d9b945050505050576000805461ff00191690556040516001815260008051602061771e8339815191529060200160405180910390a15b50505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415611dea5760405162461bcd60e51b815260040161109b90617112565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611e1c613e0d565b6001600160a01b031614611e425760405162461bcd60e51b815260040161109b906171a5565b611e4b816141a3565b611e848160005b6040519080825280601f01601f191660200182016040528015611e7c576020820181803683370190505b506000614240565b50565b6000611e91613d67565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b158015611ed257600080fd5b505afa158015611ee6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0a9190616d27565b611f265760405162461bcd60e51b815260040161109b90617288565b6000611f31336129d9565b60a7546001600160a01b038216600090815260a8602052604090205491925090611f5b904261761a565b1015611f795760405162461bcd60e51b815260040161109b9061741d565b6000611f84336129d9565b9050611f8e61289a565b611f9782613d87565b11158015611fb45750611fa861322a565b611fb182613d87565b10155b611fd05760405162461bcd60e51b815260040161109b9061739b565b602084015184906001600160a01b031661201c5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103b37ba32b960991b604482015260640161109b565b6000816060015151116120655760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964206e6f6465206e616d6560781b604482015260640161109b565b60008160a0015151116120ac5760405162461bcd60e51b815260206004820152600f60248201526e0496e76616c6964206e6f646520495608c1b604482015260640161109b565b60008160c00151116120f45760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081b9bd919481c1bdc9d607a1b604482015260640161109b565b6120fc61322a565b8160e001511015801561211a575061211261289a565b8160e0015111155b61215c5760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b1bd8dac8105b5bdd5b9d606a1b604482015260640161109b565b845161216790612a5c565b156121a55760405162461bcd60e51b815260206004820152600e60248201526d20b63932b0b23c9036b2b6b132b960911b604482015260640161109b565b84602001516001600160a01b031685600001516001600160a01b0316146122045760405162461bcd60e51b815260206004820152601360248201527229ba30b5b2b91034b9903737ba103b37ba32b960691b604482015260640161109b565b612220856060015186608001518760a001518860c001516140b5565b61223c5760405162461bcd60e51b815260040161109b906172af565b60725461224a9060016175e0565b935061225b84600133600089614336565b612269848660e001516143d9565b61227884866101000151613e44565b505060728290556001600160a01b0316600090815260a860205260409020429055919050565b60006122a8613d67565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b1580156122e957600080fd5b505afa1580156122fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123219190616d27565b61233d5760405162461bcd60e51b815260040161109b90617288565b6000612348336129d9565b60a7546001600160a01b038216600090815260a8602052604090205491925090612372904261761a565b10156123905760405162461bcd60e51b815260040161109b9061741d565b600061239b336129d9565b90506123a561289a565b6123ae82613d87565b111580156123cb57506123bf61322a565b6123c882613d87565b10155b6123e75760405162461bcd60e51b815260040161109b9061739b565b866001111580156123f9575060098711155b6124345760405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964207479706560a01b604482015260640161109b565b61243e8887614417565b61247a5760405162461bcd60e51b815260206004820152600d60248201526c496e76616c69642076616c756560981b604482015260640161109b565b6072546124889060016175e0565b9250612492613e29565b6001600160a01b0316634a57823e84600587338d8d8d6040518863ffffffff1660e01b81526004016124ca97969594939291906174f1565b602060405180830381600087803b1580156124e457600080fd5b505af11580156124f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061251c9190616d44565b506125278386613e44565b5060728290556001600160a01b0316600090815260a86020526040902042905595945050505050565b6000818152606e60205260408120600381015481546060938493849391929091600183019160028401919084906125869061765d565b80601f01602080910402602001604051908101604052809291908181526020018280546125b29061765d565b80156125ff5780601f106125d4576101008083540402835291602001916125ff565b820191906000526020600020905b8154815290600101906020018083116125e257829003601f168201915b505050505093508280546126129061765d565b80601f016020809104026020016040519081016040528092919081815260200182805461263e9061765d565b801561268b5780601f106126605761010080835404028352916020019161268b565b820191906000526020600020905b81548152906001019060200180831161266e57829003601f168201915b5050505050925081805461269e9061765d565b80601f01602080910402602001604051908101604052809291908181526020018280546126ca9061765d565b80156127175780601f106126ec57610100808354040283529160200191612717565b820191906000526020600020905b8154815290600101906020018083116126fa57829003601f168201915b5050505050915093509350935093509193509193565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156127765760405162461bcd60e51b815260040161109b90617112565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166127a8613e0d565b6001600160a01b0316146127ce5760405162461bcd60e51b815260040161109b906171a5565b6127d7826141a3565b6127e382826001614240565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146128875760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161109b565b506000805160206176fe83398151915290565b60006128a461402a565b6001600160a01b031663737c59b86040518163ffffffff1660e01b815260040160206040518083038186803b15801561171857600080fd5b6128e4613d67565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b15801561292557600080fd5b505afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190616d27565b6129795760405162461bcd60e51b815260040161109b90617288565b612981611685565b156129c45760405162461bcd60e51b8152602060048201526013602482015272159bdd1a5b99c81a5cc81b9bdd08195b991959606a1b604482015260640161109b565b6074546129d29060046144a5565b6000607455565b6001600160a01b0381166000908152606d6020526040812054156129fb575090565b6001600160a01b03821660009081526068602052604090205415612a4357506001600160a01b038082166000908152606860209081526040808320548352606c909152902054165b919050565b612a50613eaf565b612a5a60006144e3565b565b6001600160a01b0381166000908152606d6020526040812054151580612a9957506001600160a01b03821660009081526068602052604090205415155b92915050565b600054610100900460ff1615808015612abf5750600054600160ff909116105b80612ad95750303b158015612ad9575060005460ff166001145b612af55760405162461bcd60e51b815260040161109b9061723a565b6000805460ff191660011790558015612b18576000805461ff0019166101001790555b60008611612b745760405162461bcd60e51b815260206004820152602360248201527f6c6f636b416d6f756e742073686f756c64206265206d6f7265207468656e207a60448201526265726f60e81b606482015260840161109b565b612b7c614042565b612b84614071565b612b8d87612f0f565b6000612b976140a0565b6040516325d998bb60e01b815233600482015290915087906001600160a01b038316906325d998bb9060240160206040518083038186803b158015612bdb57600080fd5b505afa158015612bef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c139190616d44565b1015612c585760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207374616b696e6760601b604482015260640161109b565b60405163282d3fdf60e01b8152336004820152602481018890526001600160a01b0382169063282d3fdf90604401600060405180830381600087803b158015612ca057600080fd5b505af1158015612cb4573d6000803e3d6000fd5b5050600160698190557f6bee784efeb983674392298ab585b22866bedf00ebb0eea949d1e66f3f50e71d8054336001600160a01b0319918216811790925560008281526068602090815260408083208690557ff585789965ba69220d5ce3dc1b444eb22ff546f2650694fef8fafe9c26560af98054851686179055606b82528083208690557fdcf345d7f6a8deb7427d0fee62009fa15100353a1c666b51bb5387b25addcfa98054909416909417909255606d82529182208390556071839055919052606e815288517f44e4f44bb0aae4b5d1e07207f82567d4201c1d09f6b5859dddcfb50647f55a709350612daf925083918a01906165d0565b508551612dc590600183019060208901906165d0565b508451612ddb90600283019060208801906165d0565b50838160030181905550600160a988604051612df79190617010565b908152604051908190036020018120805492151560ff199093169290921790915560019060aa90612e29908990617010565b908152602001604051809103902060006101000a81548160ff021916908315150217905550600160ab60008787604051602001612e6792919061702c565b60408051808303601f1901815291815281516020928301208352828201939093529082016000908120805460ff19169415159490941790935560715433808552606f83528385208290559084526070909152912080546001600160a01b03191690911790555050436066558015612f06576000805461ff00191690556040516001815260008051602061771e8339815191529060200160405180910390a15b50505050505050565b612f17613eaf565b6001600160a01b038116612f6d5760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f000000000000604482015260640161109b565b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b600054600390610100900460ff16158015612fd9575060005460ff8083169116105b612ff55760405162461bcd60e51b815260040161109b9061723a565b6000805461ffff191660ff831617610100179055613011613eaf565b60005b83518110156130a8576000818152606a602052604081205484516001600160a01b03909116919085906000198501908110613051576130516176ae565b6020908102919091018101516000858152606a8352604080822080546001600160a01b0319166001600160a01b039485169081179091558252606b9093528281208690559316835282209190915550600101613014565b506028600052606e60205260405160019060a9906130e7907f04079abe36e73820234ca7dbf98752b8db3cab495520d93e9301720bfccf3f4f9061704e565b90815260405160209181900382018120805460ff1916931515939093179092556028600052606e905260019060aa90613141907f04079abe36e73820234ca7dbf98752b8db3cab495520d93e9301720bfccf3f509061704e565b90815260405160209181900382018120805460ff19169315159390931790925560286000908152606e82527f04079abe36e73820234ca7dbf98752b8db3cab495520d93e9301720bfccf3f525460019360ab936131c2927f04079abe36e73820234ca7dbf98752b8db3cab495520d93e9301720bfccf3f519290910161705a565b60408051808303601f1901815291815281516020928301208352828201939093529082016000908120805460ff191694151594909417909355825461ff0019169092555160ff8316815260008051602061771e833981519152910160405180910390a1505050565b600061323461402a565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561171857600080fd5b613274613d67565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b1580156132b557600080fd5b505afa1580156132c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132ed9190616d27565b6133095760405162461bcd60e51b815260040161109b90617288565b613311614535565b600061331c336129d9565b905061332661289a565b61332f82613d87565b1115801561334c575061334061322a565b61334982613d87565b10155b6133685760405162461bcd60e51b815260040161109b9061739b565b613370611685565b6133a65760405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b604482015260640161109b565b60006133b18461458f565b90506133bd84846146a4565b6000806133c98661477e565b925092505060006133d961138990565b905080831015806133ea5750808210155b806133ff57506133fa82846175e0565b612710145b1561341357613413878584861160006147b8565b50505050506127e36001607555565b600061342c61402a565b6001600160a01b0316631b27e01b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561171857600080fd5b600061346e613d67565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b1580156134af57600080fd5b505afa1580156134c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134e79190616d27565b6135035760405162461bcd60e51b815260040161109b90617288565b600061350e336129d9565b60a7546001600160a01b038216600090815260a8602052604090205491925090613538904261761a565b10156135565760405162461bcd60e51b815260040161109b9061741d565b6000613561336129d9565b905061356b61289a565b61357482613d87565b11158015613591575061358561322a565b61358e82613d87565b10155b6135ad5760405162461bcd60e51b815260040161109b9061739b565b602085015185906001600160a01b03166135f95760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103b37ba32b960991b604482015260640161109b565b6000816060015151116136425760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964206e6f6465206e616d6560781b604482015260640161109b565b60008160a0015151116136895760405162461bcd60e51b815260206004820152600f60248201526e0496e76616c6964206e6f646520495608c1b604482015260640161109b565b60008160c00151116136d15760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081b9bd919481c1bdc9d607a1b604482015260640161109b565b6136d961322a565b8160e00151101580156136f757506136ef61289a565b8160e0015111155b6137395760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b1bd8dac8105b5bdd5b9d606a1b604482015260640161109b565b6001600160a01b0385166137855760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964206f6c64204164647265737360681b604482015260640161109b565b61378e85612a5c565b6137c75760405162461bcd60e51b815260206004820152600a6024820152692737b716b6b2b6b132b960b11b604482015260640161109b565b6020808701516001600160a01b038781166000908152606d845260408082205482526067909452929092205482169116148061380d575061380b8660200151612a5c565b155b61384b5760405162461bcd60e51b815260206004820152600f60248201526e20b63932b0b23c9030903b37ba32b960891b604482015260640161109b565b6072546138599060016175e0565b935061386984600333888a614336565b613877848760e001516143d9565b61388684876101000151613e44565b6072849055336001600160a01b0386161480156138af575085516001600160a01b038681169116145b156138e95760006138bf85613fa0565b925050506138d9854283426138d491906175e0565b61484e565b6138e78560036001806147b8565b505b50506001600160a01b0316600090815260a86020526040902042905592915050565b6000613915613d67565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b15801561395657600080fd5b505afa15801561396a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061398e9190616d27565b6139aa5760405162461bcd60e51b815260040161109b90617288565b60006139b5336129d9565b60a7546001600160a01b038216600090815260a86020526040902054919250906139df904261761a565b10156139fd5760405162461bcd60e51b815260040161109b9061741d565b6000613a08336129d9565b9050613a1261289a565b613a1b82613d87565b11158015613a385750613a2c61322a565b613a3582613d87565b10155b613a545760405162461bcd60e51b815260040161109b9061739b565b6001600160a01b038716613a9c5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161109b565b613aa587612a5c565b613ade5760405162461bcd60e51b815260206004820152600a6024820152692737b716b6b2b6b132b960b11b604482015260640161109b565b6001613ae960695490565b11613b365760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742072656d6f7665206120736f6c65206d656d6265720000000000604482015260640161109b565b85613b4088613d87565b1015613ba15760405162461bcd60e51b815260206004820152602a60248201527f496e73756666696369656e742062616c616e636520746861742063616e206265604482015269103ab73637b1b5b2b21760b11b606482015260840161109b565b607254613baf9060016175e0565b604080516101408101825260008082526020808301829052828401829052835182815280820185526060840152835182815280820185526080840152835182815290810190935260a082019290925260c081019190915260e0810188905261010081018790526101208101869052909350613c2e846002338b85614336565b613c3884886143d9565b613c428487613e44565b505060728290556001600160a01b0316600090815260a860205260409020429055949350505050565b613c73613eaf565b610e108110613cbc5760405162461bcd60e51b81526020600482015260156024820152746e6577506572696f6420697320746f6f206c6f6e6760581b604482015260640161109b565b60a78190556040518181527f17c6f1d1ce638844b664872f5c6eecb7d150ec0c41187d7f85826a656ee7946f9060200161167a565b613cf9613eaf565b6001600160a01b038116613d5e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161109b565b611e84816144e3565b60006117507111dbdd995c9b985b98d950dbdb9d1c9858dd60721b6148bc565b6000613d916140a0565b604051632c9aab9b60e11b81526001600160a01b03848116600483015291909116906359355736906024015b60206040518083038186803b158015613dd557600080fd5b505afa158015613de9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a999190616d44565b6000805160206176fe833981519152546001600160a01b031690565b60006117506c42616c6c6f7453746f7261676560981b6148bc565b613e4c613e29565b6001600160a01b031663bce0dbc183836040518363ffffffff1660e01b8152600401613e79929190617073565b600060405180830381600087803b158015613e9357600080fd5b505af1158015613ea7573d6000803e3d6000fd5b505050505050565b6033546001600160a01b03163314612a5a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161109b565b6000806000613f16613e29565b6001600160a01b031663688ca5b2856040518263ffffffff1660e01b8152600401613f4391815260200190565b60606040518083038186803b158015613f5b57600080fd5b505afa158015613f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f939190616ee3565b9250925092509193909250565b6000806000613fad613e29565b6001600160a01b03166309970688856040518263ffffffff1660e01b8152600401613fda91815260200190565b60606040518083038186803b158015613ff257600080fd5b505afa158015614006573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f939190616f1c565b600061175069456e7653746f7261676560b01b6148bc565b600054610100900460ff166140695760405162461bcd60e51b815260040161109b906173d2565b612a5a614939565b600054610100900460ff166140985760405162461bcd60e51b815260040161109b906173d2565b612a5a614960565b6000611750665374616b696e6760c81b6148bc565b60405160019060aa906140c9908690617010565b9081526040519081900360200190205460ff16156140e5575060005b60a9856040516140f59190617010565b9081526040519081900360200190205460ff1615614111575060005b6000838360405160200161412692919061702c565b60408051601f198184030181529181528151602092830120600081815260ab90935291205490915060ff161561415b57600091505b50949350505050565b61416c6140a0565b60405163282d3fdf60e01b81526001600160a01b03848116600483015260248201849052919091169063282d3fdf90604401613e79565b6141ab613d67565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b1580156141ec57600080fd5b505afa158015614200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142249190616d27565b611e845760405162461bcd60e51b815260040161109b90617288565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156142785761427383614990565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156142b157600080fd5b505afa9250505080156142e1575060408051601f3d908101601f191682019092526142de91810190616d44565b60015b6142fd5760405162461bcd60e51b815260040161109b906172dd565b6000805160206176fe833981519152811461432a5760405162461bcd60e51b815260040161109b906171f1565b50614273838383614a2c565b61433e613e29565b6001600160a01b031663daacbb95868684610120015187878760000151886020015189604001518a606001518b608001518c60a001518d60c001516040518d63ffffffff1660e01b81526004016143a09c9b9a99989796959493929190617454565b600060405180830381600087803b1580156143ba57600080fd5b505af11580156143ce573d6000803e3d6000fd5b505050505050505050565b6143e1613e29565b604051633968764960e11b815260048101849052602481018390526001600160a01b0391909116906372d0ec9290604401613e79565b600061442161402a565b6001600160a01b0316639801bff984846040518363ffffffff1660e01b815260040161444e929190617073565b60206040518083038186803b15801561446657600080fd5b505afa15801561447a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061449e9190616d27565b9392505050565b6144ad613e29565b60405163548f2cdd60e11b815260048101849052602481018390526001600160a01b03919091169063a91e59ba90604401613e79565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260755414156145885760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161109b565b6002607555565b600080600061459d84613f09565b509092509050600181141561463c57607454156145cc5760405162461bcd60e51b815260040161109b90617358565b60006145d785613fa0565b925050506145e36116d6565b8110156146065761460185426145f76116d6565b6138d490426175e0565b614631565b8061460f613422565b10156146225761460185426145f7613422565b61463185426138d484826175e0565b50607484905561469d565b600281141561466b5760745484146146665760405162461bcd60e51b815260040161109b90617358565b61469d565b60405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b604482015260640161109b565b5092915050565b600060735460016146b591906175e0565b905060006146c2336129d9565b905060006146cf60695490565b6146db906127106175f8565b90506000846146eb5760026146ee565b60015b90506146f8613e29565b6040516325918ae760e21b815260048101869052602481018890526001600160a01b038581166044830152606482018490526084820185905291909116906396462b9c9060a401600060405180830381600087803b15801561475957600080fd5b505af115801561476d573d6000803e3d6000fd5b505050607394909455505050505050565b600080600061478b613e29565b6001600160a01b03166356ba988e856040518263ffffffff1660e01b8152600401613fda91815260200190565b6004821561482b5750600360018414156147e2576147d585614a51565b6147dd575060045b61482b565b60028414156147f4576147dd85614f15565b6003841415614807576147d58583615459565b6004841415614819576147dd85615db6565b600584141561482b5761482b85615e75565b61483585826144a5565b816148405760006074555b5050505050565b6001607555565b614856613e29565b60405163605b78c360e11b81526004810185905260248101849052604481018390526001600160a01b03919091169063c0b6f18690606401600060405180830381600087803b1580156148a857600080fd5b505af1158015612f06573d6000803e3d6000fd5b606554604051630d2020dd60e01b8152600481018390526000916001600160a01b031690630d2020dd9060240160206040518083038186803b15801561490157600080fd5b505afa158015614915573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a99919061696c565b600054610100900460ff166148475760405162461bcd60e51b815260040161109b906173d2565b600054610100900460ff166149875760405162461bcd60e51b815260040161109b906173d2565b612a5a336144e3565b6001600160a01b0381163b6149fd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161109b565b6000805160206176fe83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b614a3583615fc8565b600082511180614a425750805b1561427357611d9b8383616008565b6000614a5e82600161602d565b600080600080600080600080614a738a616134565b9850985098509850985098509850985050614a8d88612a5c565b15614aeb578960008051602061773e833981519152604051614ad39060208082526010908201526f20b63932b0b23c90309036b2b6b132b960811b604082015260600190565b60405180910390a25060009998505050505050505050565b614af361322a565b811080614b06575080614b0461289a565b105b15614b27578960008051602061773e833981519152604051614ad39061732b565b80614b31896161ea565b1015614b53578960008051602061773e833981519152604051614ad39061715e565b866001600160a01b0316886001600160a01b031614158015614b875750856001600160a01b0316886001600160a01b031614155b15614bd3578960008051602061773e833981519152604051614ad390602080825260169082015275496e76616c6964206d656d626572206164647265737360501b604082015260600190565b614bdd8882614164565b60006069546001614bee91906175e0565b9050876067600083815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080606860008a6001600160a01b03166001600160a01b031681526020019081526020016000208190555086606a600083815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080606b6000896001600160a01b03166001600160a01b031681526020019081526020016000208190555088606c600083815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080606d60008b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060006071546001614d2791906175e0565b6000818152606e60209081526040909120895192935091614d4d918391908b01906165d0565b508651614d6390600183019060208a01906165d0565b508551614d7990600283019060208901906165d0565b50848160030181905550600160a989604051614d959190617010565b908152604051908190036020018120805492151560ff199093169290921790915560019060aa90614dc7908a90617010565b908152602001604051809103902060006101000a81548160ff021916908315150217905550600160ab60008888604051602001614e0592919061702c565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff0219169083151502179055508a6070600084815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081606f60008d6001600160a01b03166001600160a01b031681526020019081526020016000208190555087816000019080519060200190614eba9291906165d0565b5060698390556071829055436066556040516001600160a01b03808c1691908d16907f6a2af11b2d73f347f9d5840aea46899e17609730b5cd91bd9c312098038acba690600090a35060019c9b505050505050505050505050565b614f2081600261602d565b600080614f2c83616134565b9850505050505050509150614f4082612a5c565b614f96578260008051602061773e833981519152604051614f89906020808252601490820152732737ba1030b63932b0b23c90309036b2b6b132b960611b604082015260600190565b60405180910390a2505050565b6001600160a01b038083166000818152606d6020818152604080842054606954808652606c8452828620548287526067855283872054606a865293872054979096529390925290949283169390831692169084146150fe57606980546000908152606c6020818152604080842080546001600160a01b038d8116808852606d80875285892080549e8a529787528589209087529b821688528488209c909c559486905581546001600160a01b03199081169092558954821690851617909855888452606b8083528185205486548652606a80855283872080548a881689528487528589208054948a529287528589209487528716808952858920939093559087905580548b16905581548a16179055978352606880825288842054945484526067808352898520805489861687528385528b872080548989529386528c882094909552909416808652998520559290558054861690558054909416851790935591929161517b565b606980546000908152606c6020908152604080832080546001600160a01b03199081169091556001600160a01b038b81168552606d845282852085905585548552606a84528285208054831690558681168552606b8452828520859055945484526067835281842080549091169055928516825260689052908120555b600160695461518a919061761a565b6069556000848152606e6020526040808220905190919060aa906151b290600185019061704e565b908152604051908190036020018120805492151560ff199093169290921790915560009060a9906151e490849061704e565b90815260405160209181900382018120805460ff191693151593909317909255600383015460009260ab9284926152209260028801920161705a565b60408051808303601f1901815291815281516020928301208352828201939093529082016000908120805460ff1916941515949094179093556071546001600160a01b038b168452606f9091529120541461537a576001600160a01b038088166000908152606f602090815260408083205460715484526070835281842054606e90935292208054929850921695508291906152bb9061765d565b6152c6929190616654565b506071546000908152606e6020526040902060019081018054918301916152ec9061765d565b6152f7929190616654565b506071546000908152606e60205260409020600290810180549183019161531d9061765d565b615328929190616654565b506071546000908152606e60209081526040808320600390810154908501558783526070825280832080546001600160a01b0319166001600160a01b0389169081179091558352606f90915290208590555b60718054600090815260706020908152604080832080546001600160a01b03191690556001600160a01b038b168352606f825280832083905592548252606e9052908120906153c982826166cf565b6153d76001830160006166cf565b6153e56002830160006166cf565b6003820160009055505060016071546153fe919061761a565b6071554360665561540f8787616224565b826001600160a01b0316876001600160a01b03167faa91016c21c52c58ac64f23f71bbe75becc9ada603e18ee671d09ff15492d1c160405160405180910390a35050505050505050565b60008161546b5761546b83600361602d565b60008060008060008060008060006154828c616134565b98509850985098509850985098509850985061549d89612a5c565b615509578b60008051602061773e8339815191526040516154ef906020808252601b908201527f4f6c642061646472657373206973206e6f742061206d656d6265720000000000604082015260600190565b60405180910390a260009950505050505050505050612a99565b6001600160a01b03808a166000818152606d6020526040902054918a16146156d65761553489612a5c565b156155a2578c60008051602061773e833981519152604051615587906020808252601f908201527f6e6577206164647265737320697320616c72656164792061206d656d62657200604082015260600190565b60405180910390a260009a5050505050505050505050612a99565b876001600160a01b0316896001600160a01b0316141580156155d65750866001600160a01b0316896001600160a01b031614155b15615621578c60008051602061773e83398151915260405161558790602080825260159082015274496e76616c696420766f746572206164647265737360581b604082015260600190565b6000818152606c6020908152604080832080546001600160a01b0319166001600160a01b038e81169182179092558452606d909252808320849055908c16825281205561566c61322a565b82108061567f57508161567d61289a565b105b156156a0578c60008051602061773e8339815191526040516155879061732b565b816156aa8a6161ea565b10156156cc578c60008051602061773e8339815191526040516155879061715e565b6156d68983614164565b6000606f60008c6001600160a01b03166001600160a01b031681526020019081526020016000205490506000606e600083815260200190815260200160002090506158ef888888888560405180608001604052908160008201805461573a9061765d565b80601f01602080910402602001604051908101604052809291908181526020018280546157669061765d565b80156157b35780601f10615788576101008083540402835291602001916157b3565b820191906000526020600020905b81548152906001019060200180831161579657829003601f168201915b505050505081526020016001820180546157cc9061765d565b80601f01602080910402602001604051908101604052809291908181526020018280546157f89061765d565b80156158455780601f1061581a57610100808354040283529160200191615845565b820191906000526020600020905b81548152906001019060200180831161582857829003601f168201915b5050505050815260200160028201805461585e9061765d565b80601f016020809104026020016040519081016040528092919081815260200182805461588a9061765d565b80156158d75780601f106158ac576101008083540402835291602001916158d7565b820191906000526020600020905b8154815290600101906020018083116158ba57829003601f168201915b50505050508152602001600382015481525050616348565b61592c578e60008051602061773e83398151915260405161590f906172af565b60405180910390a260009c50505050505050505050505050612a99565b600060a982600001604051615941919061704e565b908152604051908190036020018120805492151560ff199093169290921790915560009060aa9061597690600185019061704e565b90815260405160209181900382018120805460ff191693151593909317909255600383015460009260ab9284926159b29260028801920161705a565b60408051808303601f1901815291815281516020928301208352828201939093529101600020805460ff19169215159290921790915588516159f9918391908b01906165d0565b508651615a0f90600183019060208a01906165d0565b508551615a2590600283019060208901906165d0565b50600381018590554360665560405160019060a990615a45908b90617010565b908152604051908190036020018120805492151560ff199093169290921790915560019060aa90615a77908a90617010565b908152602001604051809103902060006101000a81548160ff021916908315150217905550600160ab60008888604051602001615ab592919061702c565b60408051808303601f1901815291815281516020928301208352828201939093529082016000908120805460ff191694151594909417909355858352606a90529020546001600160a01b03908116915089168114615b51576000838152606a6020908152604080832080546001600160a01b0319166001600160a01b038e81169182179092558452606b90925280832086905590831682528120555b506000828152606760205260409020546001600160a01b03908116908a168114615c61576001600160a01b038a1660009081526068602052604090205415615bd3578e60008051602061773e83398151915260405161590f906020808252600f908201526e20b63932b0b23c9030903b37ba32b960891b604082015260600190565b896067600085815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082606860008c6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600060686000836001600160a01b03166001600160a01b03168152602001908152602001600020819055505b50896001600160a01b03168b6001600160a01b031614615d6157896070600083815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080606f60008c6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000606f60008d6001600160a01b03166001600160a01b0316815260200190815260200160002081905550615d128b84616224565b886001600160a01b03168a6001600160a01b03168c6001600160a01b03167f15f4d750630db473a85edd9d47c500527a2648cc5e676f39645e52790cf07be060405160405180910390a4615da2565b896001600160a01b03168b6001600160a01b03167f1feee1b4fcb797c62645da41c5c6edd5f91d4291de0054da625c42b823594c1f60405160405180910390a35b5060019d9c50505050505050505050505050565b615dc181600461602d565b6000615dcb613e29565b6001600160a01b0316637efa9ae3836040518263ffffffff1660e01b8152600401615df891815260200190565b60206040518083038186803b158015615e1057600080fd5b505afa158015615e24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190615e48919061696c565b90506001600160a01b038116156127e357615e62816141a3565b615e6d816000611e52565b436066555050565b615e8081600561602d565b6000806000615e8d613e29565b6001600160a01b0316631d940da2856040518263ffffffff1660e01b8152600401615eba91815260200190565b60006040518083038186803b158015615ed257600080fd5b505afa158015615ee6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052615f0e9190810190616d5d565b9250925092506000615f1e61402a565b6040516388c2801960e01b81529091506001600160a01b038216906388c2801990615f4f9087908690600401617073565b600060405180830381600087803b158015615f6957600080fd5b505af1158015615f7d573d6000803e3d6000fd5b50504360665550506040517f701c16c2519cdb79aaac423a84733590e3510d9552055b6ad6908f0ab12b6c2990615fb99086908690869061708c565b60405180910390a15050505050565b615fd181614990565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061449e838360405180606001604052806027815260200161775e60279139616471565b60008061603984613f09565b50915091508282146160835760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420766f74696e67207479706560681b604482015260640161109b565b600281146160ca5760405162461bcd60e51b8152602060048201526014602482015273496e76616c696420766f74696e6720737461746560601b604482015260640161109b565b6000806160d68661477e565b92509250506160e461138990565b821015806160f457506113898110155b613ea75760405162461bcd60e51b8152602060048201526011602482015270139bdd081e595d08199a5b985b1a5e9959607a1b604482015260640161109b565b600080600080606080606060008061614a613e29565b6001600160a01b03166373df4e018b6040518263ffffffff1660e01b815260040161617791815260200190565b60006040518083038186803b15801561618f57600080fd5b505afa1580156161a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526161cb9190810190616989565b9850985098509850985098509850985098509193959799909294969850565b60006161f46140a0565b6040516325d998bb60e01b81526001600160a01b03848116600483015291909116906325d998bb90602401613dbd565b600061622e6140a0565b604051632c9aab9b60e11b81526001600160a01b03858116600483015291925060009183169063593557369060240160206040518083038186803b15801561627557600080fd5b505afa158015616289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906162ad9190616d44565b90508281111561633e576001600160a01b038216637756c908856162d1868561761a565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561631757600080fd5b505af115801561632b573d6000803e3d6000fd5b5050505061633984846164e9565b611d9b565b611d9b84826164e9565b60006001905084805190602001208260200151805190602001201415801561638f575060aa8560405161637b9190617010565b9081526040519081900360200190205460ff165b15616398575060005b8580519060200120826000015180519060200120141580156163d9575060a9866040516163c59190617010565b9081526040519081900360200190205460ff165b156163e2575060005b600084846040516020016163f792919061702c565b604051602081830303815290604052805190602001209050808360400151846060015160405160200161642b92919061702c565b604051602081830303815290604052805190602001201415801561645d5750600081815260ab602052604090205460ff165b1561646757600091505b5095945050505050565b6060600080856001600160a01b03168560405161648e9190617010565b600060405180830381855af49150503d80600081146164c9576040519150601f19603f3d011682016040523d82523d6000602084013e6164ce565b606091505b50915091506164df86838387616528565b9695505050505050565b6164f16140a0565b604051637eee288d60e01b81526001600160a01b038481166004830152602482018490529190911690637eee288d90604401613e79565b6060831561659457825161658d576001600160a01b0385163b61658d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161109b565b508161659e565b61659e83836165a6565b949350505050565b8151156165b65781518083602001fd5b8060405162461bcd60e51b815260040161109b91906170ff565b8280546165dc9061765d565b90600052602060002090601f0160209004810192826165fe5760008555616644565b82601f1061661757805160ff1916838001178555616644565b82800160010185558215616644579182015b82811115616644578251825591602001919060010190616629565b50616650929150616705565b5090565b8280546166609061765d565b90600052602060002090601f0160209004810192826166825760008555616644565b82601f106166935780548555616644565b8280016001018555821561664457600052602060002091601f016020900482015b828111156166445782548255916001019190600101906166b4565b5080546166db9061765d565b6000825580601f106166eb575050565b601f016020900490600052602060002090810190611e8491905b5b808211156166505760008155600101616706565b8035612a43816176da565b8051612a43816176da565b600082601f83011261674157600080fd5b8135602061675661675183617596565b617566565b80838252828201915082860187848660051b890101111561677657600080fd5b60005b8581101561679e57813561678c816176da565b84529284019290840190600101616779565b5090979650505050505050565b600082601f8301126167bc57600080fd5b81356167ca616751826175b9565b8181528460208386010111156167df57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261680d57600080fd5b815161681b616751826175b9565b81815284602083860101111561683057600080fd5b61659e826020830160208701617631565b6000610140828403121561685457600080fd5b61685c61753d565b90506168678261671a565b81526168756020830161671a565b60208201526168866040830161671a565b604082015260608201356001600160401b03808211156168a557600080fd5b6168b1858386016167ab565b606084015260808401359150808211156168ca57600080fd5b6168d6858386016167ab565b608084015260a08401359150808211156168ef57600080fd5b6168fb858386016167ab565b60a084015260c084013560c084015260e084013560e08401526101009150818401358181111561692a57600080fd5b616936868287016167ab565b8385015250505061012080830135818301525092915050565b60006020828403121561696157600080fd5b813561449e816176da565b60006020828403121561697e57600080fd5b815161449e816176da565b60008060008060008060008060006101208a8c0312156169a857600080fd5b6169b18a616725565b98506169bf60208b01616725565b97506169cd60408b01616725565b96506169db60608b01616725565b955060808a01516001600160401b03808211156169f757600080fd5b616a038d838e016167fc565b965060a08c0151915080821115616a1957600080fd5b616a258d838e016167fc565b955060c08c0151915080821115616a3b57600080fd5b50616a488c828d016167fc565b93505060e08a015191506101008a015190509295985092959850929598565b60008060408385031215616a7a57600080fd5b8235616a85816176da565b915060208301356001600160401b03811115616aa057600080fd5b616aac858286016167ab565b9150509250929050565b600080600060608486031215616acb57600080fd5b8335616ad6816176da565b925060208401356001600160401b03811115616af157600080fd5b616afd868287016167ab565b925050604084013590509250925092565b600080600060608486031215616b2357600080fd5b8335616b2e816176da565b92506020840135915060408401356001600160401b03811115616b5057600080fd5b616b5c868287016167ab565b9150509250925092565b60008060008060008060c08789031215616b7f57600080fd5b8635616b8a816176da565b95506020870135945060408701356001600160401b0380821115616bad57600080fd5b616bb98a838b016167ab565b95506060890135915080821115616bcf57600080fd5b616bdb8a838b016167ab565b94506080890135915080821115616bf157600080fd5b50616bfe89828a016167ab565b92505060a087013590509295509295509295565b60008060008060808587031215616c2857600080fd5b8435616c33816176da565b93506020850135925060408501356001600160401b03811115616c5557600080fd5b616c61878288016167ab565b949793965093946060013593505050565b60008060408385031215616c8557600080fd5b82356001600160401b0380821115616c9c57600080fd5b818501915085601f830112616cb057600080fd5b81356020616cc061675183617596565b8083825282820191508286018a848660051b8901011115616ce057600080fd5b600096505b84871015616d03578035835260019690960195918301918301616ce5565b5096505086013592505080821115616d1a57600080fd5b50616aac85828601616730565b600060208284031215616d3957600080fd5b815161449e816176ef565b600060208284031215616d5657600080fd5b5051919050565b600080600060608486031215616d7257600080fd5b835192506020840151915060408401516001600160401b03811115616d9657600080fd5b616b5c868287016167fc565b600080600080600060a08688031215616dba57600080fd5b853594506020860135935060408601356001600160401b0380821115616ddf57600080fd5b616deb89838a016167ab565b94506060880135915080821115616e0157600080fd5b50616e0e888289016167ab565b95989497509295608001359392505050565b600060208284031215616e3257600080fd5b81356001600160401b03811115616e4857600080fd5b61659e84828501616841565b60008060408385031215616e6757600080fd5b82356001600160401b03811115616e7d57600080fd5b616e8985828601616841565b9250506020830135616e9a816176da565b809150509250929050565b600060208284031215616eb757600080fd5b5035919050565b60008060408385031215616ed157600080fd5b823591506020830135616e9a816176ef565b600080600060608486031215616ef857600080fd5b83519250602084015191506040840151616f11816176ef565b809150509250925092565b600080600060608486031215616f3157600080fd5b8351925060208401519150604084015190509250925092565b60008151808452616f62816020860160208601617631565b601f01601f19169290920160200192915050565b8054600090600181811c9080831680616f9057607f831692505b6020808410821415616fb257634e487b7160e01b600052602260045260246000fd5b818015616fc65760018114616fd757617004565b60ff19861689528489019650617004565b60008881526020902060005b86811015616ffc5781548b820152908501908301616fe3565b505084890196505b50505050505092915050565b60008251617022818460208701617631565b9190910192915050565b6000835161703e818460208801617631565b9190910191825250602001919050565b600061449e8284616f76565b60006170668285616f76565b9283525050602001919050565b82815260406020820152600061659e6040830184616f4a565b8381528260208201526060604082015260006170ab6060830184616f4a565b95945050505050565b6080815260006170c76080830187616f4a565b82810360208401526170d98187616f4a565b905082810360408401526170ed8186616f4a565b91505082606083015295945050505050565b60208152600061449e6020830184616f4a565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b60208082526027908201527f496e73756666696369656e742062616c616e636520746861742063616e206265604082015266081b1bd8dad95960ca1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526029908201527f45524331393637557067726164653a20756e737570706f727465642070726f786040820152681a58589b195555525160ba1b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c2737902832b936b4b9b9b4b7b760991b604082015260600190565b6020808252601490820152734475706c696361746564206e6f646520696e666f60601b604082015260600190565b6020808252602e908201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b606082015260800190565b602080825260139082015272125b9d985b1a59081b1bd8dac8185b5bdd5b9d606a1b604082015260600190565b60208082526023908201527f4e6f7720696e20766f74696e67207769746820646966666572656e742062616c6040820152621b1bdd60ea1b606082015260800190565b60208082526017908201527f496e76616c6964207374616b696e672062616c616e6365000000000000000000604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6020808252601d908201527f43616e6e6f74206164642070726f706f73616c20746f6f206561726c79000000604082015260600190565b8c8152602081018c9052604081018b90526001600160a01b038a81166060830152898116608083015288811660a083015287811660c0830152861660e08201526000610180806101008401526174ac81840188616f4a565b90508281036101208401526174c18187616f4a565b90508281036101408401526174d68186616f4a565b915050826101608301529d9c50505050505050505050505050565b87815286602082015285604082015260018060a01b03851660608201528360808201528260a082015260e060c0820152600061753060e0830184616f4a565b9998505050505050505050565b60405161014081016001600160401b0381118282101715617560576175606176c4565b60405290565b604051601f8201601f191681016001600160401b038111828210171561758e5761758e6176c4565b604052919050565b60006001600160401b038211156175af576175af6176c4565b5060051b60200190565b60006001600160401b038211156175d2576175d26176c4565b50601f01601f191660200190565b600082198211156175f3576175f3617698565b500190565b60008261761557634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561762c5761762c617698565b500390565b60005b8381101561764c578181015183820152602001617634565b83811115611d9b5750506000910152565b600181811c9082168061767157607f821691505b6020821081141561769257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611e8457600080fd5b8015158114611e8457600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249885e7f4987c0698db47045ad8cea110b51138f0eecbd94915842328cf6c3dc97d416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203a2bbee45b822c4012cf11fc82497b3003f417d49c0f0e6d6062c409c902f88864736f6c63430008060033"; -var GovImp_contract = web3.eth.contract([{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"envName","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"envType","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"envVal","type":"bytes"}],"name":"EnvChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"voter","type":"address"}],"name":"MemberAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAddr","type":"address"},{"indexed":true,"internalType":"address","name":"newAddr","type":"address"},{"indexed":true,"internalType":"address","name":"newVoter","type":"address"}],"name":"MemberChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"voter","type":"address"}],"name":"MemberRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"voter","type":"address"}],"name":"MemberUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"ballotId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"NotApplicable","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newPeriod","type":"uint256"}],"name":"SetProposalTimePeriod","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"SetRegistry","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"BALLOT_DURATION_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BALLOT_DURATION_MIN_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BALLOT_DURATION_MIN_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BALLOT_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BASE_FEE_MAX_CHANGE_RATE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCKS_PER_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_CREATION_TIME_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_GASLIMIT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_AMOUNT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_BLOCK_PRODUCER_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_MAINTANANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_METHOD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DENOMINATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ENV_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GASLIMIT_AND_BASE_FEE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GAS_TARGET_PERCENTAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOV_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINTENANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BASE_FEE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_IDLE_BLOCK_INTERVAL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_PRIORITY_FEE_PER_GAS_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_POOL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MIN_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MIN_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"staker","type":"address"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"address","name":"reward","type":"address"},{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"bytes","name":"enode","type":"bytes"},{"internalType":"bytes","name":"ip","type":"bytes"},{"internalType":"uint256","name":"port","type":"uint256"},{"internalType":"uint256","name":"lockAmount","type":"uint256"},{"internalType":"bytes","name":"memo","type":"bytes"},{"internalType":"uint256","name":"duration","type":"uint256"}],"internalType":"struct GovImp.MemberInfo","name":"info","type":"tuple"}],"name":"addProposalToAddMember","outputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"envName","type":"bytes32"},{"internalType":"uint256","name":"envType","type":"uint256"},{"internalType":"bytes","name":"envVal","type":"bytes"},{"internalType":"bytes","name":"memo","type":"bytes"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"addProposalToChangeEnv","outputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newGovAddr","type":"address"},{"internalType":"bytes","name":"memo","type":"bytes"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"addProposalToChangeGov","outputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"staker","type":"address"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"address","name":"reward","type":"address"},{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"bytes","name":"enode","type":"bytes"},{"internalType":"bytes","name":"ip","type":"bytes"},{"internalType":"uint256","name":"port","type":"uint256"},{"internalType":"uint256","name":"lockAmount","type":"uint256"},{"internalType":"bytes","name":"memo","type":"bytes"},{"internalType":"uint256","name":"duration","type":"uint256"}],"internalType":"struct GovImp.MemberInfo","name":"newInfo","type":"tuple"},{"internalType":"address","name":"oldStaker","type":"address"}],"name":"addProposalToChangeMember","outputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"staker","type":"address"},{"internalType":"uint256","name":"lockAmount","type":"uint256"},{"internalType":"bytes","name":"memo","type":"bytes"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"addProposalToRemoveMember","outputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ballotLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkUnfinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalizeEndedVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBallotInVoting","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxStaking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxVotingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"getMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"getMemberFromNodeIdx","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMemberLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinStaking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinVotingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"getNode","outputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"bytes","name":"enode","type":"bytes"},{"internalType":"bytes","name":"ip","type":"bytes"},{"internalType":"uint256","name":"port","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getNodeIdxFromMember","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNodeLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"getReward","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"getStakerAddr","outputs":[{"internalType":"address","name":"staker","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"getVoter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"registry","type":"address"},{"internalType":"uint256","name":"lockAmount","type":"uint256"},{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"bytes","name":"enode","type":"bytes"},{"internalType":"bytes","name":"ip","type":"bytes"},{"internalType":"uint256","name":"port","type":"uint256"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registry","type":"address"},{"internalType":"uint256","name":"lockAmount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"initOnce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isMember","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isStaker","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isVoter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastAddProposalTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"modifiedBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposal_time_period","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reInit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"indices","type":"uint256[]"},{"internalType":"address[]","name":"newRewards","type":"address[]"}],"name":"reInitV3","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reg","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewardIdx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPeriod","type":"uint256"}],"name":"setProposalTimePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakerIdx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"},{"internalType":"bool","name":"approval","type":"bool"}],"name":"vote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"voteLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"voterIdx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]); +var GovImp_data = "0x60a06040523060601b6080523480156200001857600080fd5b506200002362000029565b620000ea565b600054610100900460ff1615620000965760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e8576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805160601c61891d6200012560003960008181611eca01528181611f0a0152818161297c015281816129bc0152612a38015261891d6000f3fe6080604052600436106104935760003560e01c80637b2bfb0111610260578063c42a0abc11610144578063d40635fa116100c1578063e75235b811610085578063e75235b814611048578063e9523fb51461105d578063ee59de5014611073578063f2fde38b14611093578063f38ecf47146110b3578063f499f96d146110e757600080fd5b8063d40635fa14610fc8578063d6f9cfce14610fe8578063d965ea0014610ffe578063de09b37714611013578063e27bdaef1461102857600080fd5b8063ce6a54ff11610108578063ce6a54ff14610eef578063ce93a23614610f25578063cec5b62214610f45578063d07bff0c14610f72578063d13a174414610fa857600080fd5b8063c42a0abc14610e1e578063c6713baf14610e52578063c7d3da3414610e86578063c9d27afe14610eba578063ce04b9d414610eda57600080fd5b8063a7771ee3116101dd578063ab3545e5116101a1578063ab3545e514610d17578063af08557e14610d4d578063af6af2ff14610d6d578063b128f88014610d82578063c00ace6c14610db6578063c0b4fe1514610dea57600080fd5b8063a7771ee314610c3e578063a8915a3e14610c76578063a91ee0dc14610c96578063a9b629b214610cb6578063aaf0dd3614610cea57600080fd5b8063918f867411610224578063918f867414610b835780639986e4b914610b99578063a0c1268314610bbd578063a230c52414610bea578063a6868b7d14610c0a57600080fd5b80637b2bfb0114610ad15780637bf4653014610b055780637d10dd1b14610b265780638a2129a714610b3c5780638da5cb5b14610b6557600080fd5b80633f35c8fe116103875780636167eb45116103045780636f1e8533116102c85780636f1e8533146109fb5780636f6de96d14610a335780636fde207a14610a53578063715018a614610a8757806372016f7514610a9c578063738fdd1a14610ab157600080fd5b80636167eb4514610921578063656e3052146109555780636ba99181146109895780636c78d2cf1461099e5780636d583ca7146109c757600080fd5b80634f0f4aa91161034b5780634f0f4aa9146108905780634f1ef286146108c057806352d1902d146108d35780635a731cca146108e85780635aaa40401461090c57600080fd5b80633f35c8fe146107c657806340690353146107fa5780634bd1ed761461081a5780634d273e281461083c5780634d5ce0381461087057600080fd5b8063238737b611610415578063351bacda116103d9578063351bacda146107125780633659cfe61461073257806336e83d83146107525780633829441914610772578063397e38e7146107a657600080fd5b8063238737b614610653578063278bb12a146106875780632f40992e146106bb5780633310569c146106dc57806334125c84146106f257600080fd5b806316fbe8311161045c57806316fbe831146105ae5780631c12b030146105c55780631c150171146105ea5780631c4b774b146105ff5780631e0cba0d1461063557600080fd5b806215a73b146104985780630b1d39b8146104df5780630efa490914610513578063139d9dd31461053357806315bf6b4d14610560575b600080fd5b3480156104a457600080fd5b506104cc7f0c4fbe9dc9de15dd7c0d064975ee1a2f2f9b954fa0e65d4f6cddba94884bdc3e81565b6040519081526020015b60405180910390f35b3480156104eb57600080fd5b506104cc7fdd5a41a7fc01f5c6d30816b17f638d6531625f1e1eaa599673ab2f6079f2dd9d81565b34801561051f57600080fd5b506104cc61052e366004617a50565b611107565b34801561053f57600080fd5b506104cc61054e36600461788d565b60ab6020526000908152604090205481565b34801561056c57600080fd5b5061059661057b366004617f10565b6000908152607360205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020016104d6565b3480156105ba57600080fd5b506105c3611451565b005b3480156105d157600080fd5b506105da611790565b60405190151581526020016104d6565b3480156105f657600080fd5b506104cc6117e1565b34801561060b57600080fd5b5061059661061a366004617f10565b6000908152606a60205260409020546001600160a01b031690565b34801561064157600080fd5b506104cc665374616b696e6760c81b81565b34801561065f57600080fd5b506104cc7f1d36f8ce53f59e624857e1d8dc7932d19981a2ea1b8faa4eb8ff843fc3e5a27881565b34801561069357600080fd5b506104cc7f9b2e0c7fdae148f225bae7deb92d7e7bd24bb77edb12956e8fa7204900dd8a2281565b3480156106c757600080fd5b506104cc6914995dd85c99141bdbdb60b21b81565b3480156106e857600080fd5b506104cc60aa5481565b3480156106fe57600080fd5b506104cc6845636f73797374656d60b81b81565b34801561071e57600080fd5b506105c361072d366004617aea565b611860565b34801561073e57600080fd5b506105c361074d36600461788d565b611ebf565b34801561075e57600080fd5b506104cc61076d366004617e8b565b611fa5565b34801561077e57600080fd5b506104cc7fbe90e461bbdb9a95a694f7796912ea04244caf7f5b60ad7ded17e16821d3e44c81565b3480156107b257600080fd5b506105c36107c1366004617aa8565b6123f5565b3480156107d257600080fd5b506104cc7f2a268972a70c8c688b62366bdfdd9bb09cf19d3e5b6e7e7bb158e671ffdcedd281565b34801561080657600080fd5b506104cc610815366004617d7e565b6124c5565b34801561082657600080fd5b506104cc6a4d61696e74656e616e636560a81b81565b34801561084857600080fd5b506104cc7f77884798208df1e64f70968be41ef2d3211ec53613397ca59313416813df088881565b34801561087c57600080fd5b506105da61088b36600461788d565b612777565b34801561089c57600080fd5b506108b06108ab366004617f10565b612794565b6040516104d69493929190618217565b6105c36108ce366004617a01565b612971565b3480156108df57600080fd5b506104cc612a2b565b3480156108f457600080fd5b506104cc6c14dd185ada5b99d4995dd85c99609a1b81565b34801561091857600080fd5b506104cc612ade565b34801561092d57600080fd5b506104cc7f9f1de481f899d76889aa8a2b44cc7b604d42691aa93d4ba618a1a1fd439f505081565b34801561096157600080fd5b506104cc7fe10074dceffb75f13bf0ce50145afd35182d63796823f1280ce40e01c19109e781565b34801561099557600080fd5b506105c3612b20565b3480156109aa57600080fd5b506104cc7111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b3480156109d357600080fd5b506104cc7fc69fc6b7d0efc934fd5a3581c7253a7107a952526bb6dbcd814ef8d8dae1f44a81565b348015610a0757600080fd5b506105da610a1636600461788d565b6001600160a01b03166000908152606d6020526040902054151590565b348015610a3f57600080fd5b50610596610a4e36600461788d565b612c1d565b348015610a5f57600080fd5b506104cc7f0b09c9badbbeb6c813a598ee910770a39ccda797a1940439bb6e47fc6c87548b81565b348015610a9357600080fd5b506105c3612c8c565b348015610aa857600080fd5b506074546104cc565b348015610abd57600080fd5b50606554610596906001600160a01b031681565b348015610add57600080fd5b506104cc7f9346226931826838eedd13d9677fa33551e7c81f604b171ef3fac355458da9aa81565b348015610b1157600080fd5b506104cc69456e7653746f7261676560b01b81565b348015610b3257600080fd5b506104cc60665481565b348015610b4857600080fd5b506105c3610b57366004618053565b607592909255607655607755565b348015610b7157600080fd5b506033546001600160a01b0316610596565b348015610b8f57600080fd5b506104cc61271081565b348015610ba557600080fd5b506104cc6c42616c6c6f7453746f7261676560981b81565b348015610bc957600080fd5b506104cc610bd836600461788d565b606d6020526000908152604090205481565b348015610bf657600080fd5b506105da610c0536600461788d565b612ca0565b348015610c1657600080fd5b506104cc7f6c6f69f426081752a5d3e73746599acd2a4cb145d5de4203ca1e3473b281680b81565b348015610c4a57600080fd5b506105da610c5936600461788d565b6001600160a01b0316600090815260686020526040902054151590565b348015610c8257600080fd5b506105c3610c91366004617b42565b612ce3565b348015610ca257600080fd5b506105c3610cb136600461788d565b613153565b348015610cc257600080fd5b506104cc7f89dd490ecaf395283ed4ff2fd9557ca767fc425dce063451a9b0da6d72f600c381565b348015610cf657600080fd5b506104cc610d0536600461788d565b606b6020526000908152604090205481565b348015610d2357600080fd5b50610596610d32366004617f10565b6000908152606c60205260409020546001600160a01b031690565b348015610d5957600080fd5b506105c3610d68366004617c4e565b6131fb565b348015610d7957600080fd5b506104cc61346e565b348015610d8e57600080fd5b506104cc7f829561ab7af084b7efc6600518d2df79b8d95f3f4c3a550f54f8f7ec7d2b805781565b348015610dc257600080fd5b506104cc7f18ad4415ef4a621ce1a136395c51ab6c3712bb2e24b79d526059925cea58dcb881565b348015610df657600080fd5b506104cc7f8086da5becff4dfac91a3105821b361078d2d4abba0ccc2401b974cf0dcf05c181565b348015610e2a57600080fd5b506104cc7fb38b2c133e931937bd95337c65c8aefa7040ed64bbed732e3e29a4944c65747381565b348015610e5e57600080fd5b506104cc7fc9e15e34073efbcd0328740feaf503caac9124b55b38c73d1a97b53da80a2f6081565b348015610e9257600080fd5b506104cc7f04f7b94450bbcad85f37ea47cd1062728f884bb2040e357738f8fd53056134bc81565b348015610ec657600080fd5b506105c3610ed5366004618000565b6134b0565b348015610ee657600080fd5b506104cc613666565b348015610efb57600080fd5b506104cc610f0a36600461788d565b6001600160a01b031660009081526072602052604090205490565b348015610f3157600080fd5b506104cc610f40366004617ebf565b6136a8565b348015610f5157600080fd5b506104cc610f6036600461788d565b60686020526000908152604090205481565b348015610f7e57600080fd5b50610596610f8d366004617f10565b6000908152606760205260409020546001600160a01b031690565b348015610fb457600080fd5b506104cc610fc3366004617bee565b613c07565b348015610fd457600080fd5b506105c3610fe3366004617f10565b60aa55565b348015610ff457600080fd5b506104cc60755481565b34801561100a57600080fd5b506069546104cc565b34801561101f57600080fd5b506077546104cc565b34801561103457600080fd5b506105c3611043366004617f10565b613f67565b34801561105457600080fd5b506113896104cc565b34801561106957600080fd5b506104cc60765481565b34801561107f57600080fd5b506104cc61108e3660046178c7565b613fed565b34801561109f57600080fd5b506105c36110ae36600461788d565b614794565b3480156110bf57600080fd5b506104cc7f7c1150f0e1a39ff55552d52764f97e6c387e2a247e1df344369f122c4254be2f81565b3480156110f357600080fd5b506105c3611102366004617f29565b61480a565b6000611111614a7f565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b15801561115257600080fd5b505afa158015611166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118a9190617d03565b6111af5760405162461bcd60e51b81526004016111a6906183eb565b60405180910390fd5b60006111ba33612c1d565b90506111c4612ade565b6111cd82614a9f565b111580156111ea57506111de61346e565b6111e782614a9f565b10155b6112065760405162461bcd60e51b81526004016111a6906184fe565b6001600160a01b03851661125c5760405162461bcd60e51b815260206004820152601d60248201527f496d706c656d656e746174696f6e2063616e6e6f74206265207a65726f00000060448201526064016111a6565b611264614b25565b6001600160a01b0316856001600160a01b031614156112bd5760405162461bcd60e51b815260206004820152601560248201527453616d6520636f6e7472616374206164647265737360581b60448201526064016111a6565b846001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156112f657600080fd5b505afa925050508015611326575060408051601f3d908101601f1916820190925261132391810190617d20565b60015b6113425760405162461bcd60e51b81526004016111a690618440565b600080516020618861833981519152811461136f5760405162461bcd60e51b81526004016111a690618354565b5060755461137e906001618743565b9150611388614b41565b6001600160a01b0316630a3a63fe60755460016113a59190618743565b60046040516001600160e01b031960e085901b16815260048101929092526024820152604481018690523360648201526001600160a01b038816608482015260a401602060405180830381600087803b15801561140157600080fd5b505af1158015611415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114399190617d20565b506114448285614b5c565b5060758190559392505050565b600054600290610100900460ff16158015611473575060005460ff8083169116105b61148f5760405162461bcd60e51b81526004016111a69061839d565b6000805461ffff191660ff8316176101001790556114ab614bc7565b60005b60695481101561175c576000818152607160205260408082208151608081019092528054829082906114df906187c0565b80601f016020809104026020016040519081016040528092919081815260200182805461150b906187c0565b80156115585780601f1061152d57610100808354040283529160200191611558565b820191906000526020600020905b81548152906001019060200180831161153b57829003601f168201915b50505050508152602001600182018054611571906187c0565b80601f016020809104026020016040519081016040528092919081815260200182805461159d906187c0565b80156115ea5780601f106115bf576101008083540402835291602001916115ea565b820191906000526020600020905b8154815290600101906020018083116115cd57829003601f168201915b50505050508152602001600282018054611603906187c0565b80601f016020809104026020016040519081016040528092919081815260200182805461162f906187c0565b801561167c5780601f106116515761010080835404028352916020019161167c565b820191906000526020600020905b81548152906001019060200180831161165f57829003601f168201915b5050505050815260200160038201548152505090506001606e82600001516040516116a79190618173565b90815260405160209181900382018120805460ff191693151593909317909255820151600191606f916116d991618173565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506001607060008360400151846060015160405160200161171f92919061818f565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055506001016114ae565b506000805461ff001916905560405160ff82168152600080516020618881833981519152906020015b60405180910390a150565b60006077546000146117db5760006117a9607754614c21565b5091505060006117ba607754614cb8565b5091505060028214156117d857428110156117d85760009250505090565b50505b50600190565b60006117eb614d42565b6001600160a01b03166333be496e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561182357600080fd5b505afa158015611837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185b9190617d20565b905090565b600054610100900460ff16158080156118805750600054600160ff909116105b8061189a5750303b15801561189a575060005460ff166001145b6118b65760405162461bcd60e51b81526004016111a69061839d565b6000805460ff1916600117905580156118d9576000805461ff0019166101001790555b6118e1614d5a565b6118e9614d89565b6118f284613153565b436066556000611900614db8565b905061190a61346e565b841015801561192057508361191d612ade565b10155b61193c5760405162461bcd60e51b81526004016111a69061848e565b600080600060608060606000806000905060008060208d0191508c51826119639190618743565b90505b80821015611e70578151995061197d602083618743565b915080821061198b57600080fd5b8151985061199a602083618743565b91508082106119a857600080fd5b815197506119b7602083618743565b91508082106119c557600080fd5b819650865160206119d69190618743565b6119e09083618743565b91508082106119ee57600080fd5b819550855160206119ff9190618743565b611a099083618743565b9150808210611a1757600080fd5b81945084516020611a289190618743565b611a329083618743565b9150808210611a4057600080fd5b81519350611a4f602083618743565b9150611a5c600184618743565b9250611a678a612ca0565b158015611a7a5750611a7889612ca0565b155b8015611a8c5750611a8a88612777565b155b611ac95760405162461bcd60e51b815260206004820152600e60248201526d20b63932b0b23c9036b2b6b132b960911b60448201526064016111a6565b886067600085815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082606860008b6001600160a01b03166001600160a01b031681526020019081526020016000208190555087606a600085815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082606b60008a6001600160a01b03166001600160a01b031681526020019081526020016000208190555089606c600085815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082606d60008c6001600160a01b03166001600160a01b03168152602001908152602001600020819055508d8b6001600160a01b03166325d998bb8c6040518263ffffffff1660e01b8152600401611c2b91906001600160a01b0391909116815260200190565b60206040518083038186803b158015611c4357600080fd5b505afa158015611c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7b9190617d20565b1015611cc05760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207374616b696e6760601b60448201526064016111a6565b611ccc87878787614dcd565b611ce85760405162461bcd60e51b81526004016111a690618412565b611cf28a8f614e7a565b600083815260716020908152604090912088519091611d159183918b019061750e565b508651611d2b90600183019060208a019061750e565b508551611d41906002830190602089019061750e565b508481600301819055506001606e89604051611d5d9190618173565b908152604051908190036020018120805492151560ff1990931692909217909155600190606f90611d8f908a90618173565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506001607060008888604051602001611dcd92919061818f565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff0219169083151502179055508a6073600086815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083607260008d6001600160a01b03166001600160a01b031681526020019081526020016000208190555050611966565b50506069819055607455505086159550611eb9945050505050576000805461ff001916905560405160018152600080516020618881833981519152906020015b60405180910390a15b50505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415611f085760405162461bcd60e51b81526004016111a690618275565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611f3a614b25565b6001600160a01b031614611f605760405162461bcd60e51b81526004016111a690618308565b611f6981614eb9565b611fa28160005b6040519080825280601f01601f191660200182016040528015611f9a576020820181803683370190505b506000614f56565b50565b6000611faf614a7f565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b158015611ff057600080fd5b505afa158015612004573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120289190617d03565b6120445760405162461bcd60e51b81526004016111a6906183eb565b600061204f33612c1d565b60aa546001600160a01b038216600090815260ab602052604090205491925090612079904261877d565b10156120975760405162461bcd60e51b81526004016111a690618580565b60006120a233612c1d565b90506120ac612ade565b6120b582614a9f565b111580156120d257506120c661346e565b6120cf82614a9f565b10155b6120ee5760405162461bcd60e51b81526004016111a6906184fe565b602084015184906001600160a01b031661213a5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103b37ba32b960991b60448201526064016111a6565b6000816060015151116121835760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964206e6f6465206e616d6560781b60448201526064016111a6565b60008160a0015151116121ca5760405162461bcd60e51b815260206004820152600f60248201526e0496e76616c6964206e6f646520495608c1b60448201526064016111a6565b60008160c00151116122125760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081b9bd919481c1bdc9d607a1b60448201526064016111a6565b61221a61346e565b8160e00151101580156122385750612230612ade565b8160e0015111155b61227a5760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b1bd8dac8105b5bdd5b9d606a1b60448201526064016111a6565b845161228590612ca0565b15801561229a5750845161229890612777565b155b6122d75760405162461bcd60e51b815260206004820152600e60248201526d20b63932b0b23c9036b2b6b132b960911b60448201526064016111a6565b84602001516001600160a01b031685600001516001600160a01b0316148015612319575084604001516001600160a01b031685600001516001600160a01b0316145b61235b5760405162461bcd60e51b815260206004820152601360248201527229ba30b5b2b91034b9903737ba103b37ba32b960691b60448201526064016111a6565b612377856060015186608001518760a001518860c00151614dcd565b6123935760405162461bcd60e51b81526004016111a690618412565b6075546123a1906001618743565b93506123b28460013360008961504c565b6123c0848660e001516150ef565b6123cf84866101000151614b5c565b505060758290556001600160a01b0316600090815260ab60205260409020429055919050565b600054610100900460ff16158080156124155750600054600160ff909116105b8061242f5750303b15801561242f575060005460ff166001145b61244b5760405162461bcd60e51b81526004016111a69061839d565b6000805460ff19166001179055801561246e576000805461ff0019166101001790555b612476614d5a565b61247e614d89565b61248784613153565b606683905561249582614794565b8015611eb9576000805461ff00191690556040516001815260008051602061888183398151915290602001611eb0565b60006124cf614a7f565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b15801561251057600080fd5b505afa158015612524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125489190617d03565b6125645760405162461bcd60e51b81526004016111a6906183eb565b600061256f33612c1d565b60aa546001600160a01b038216600090815260ab602052604090205491925090612599904261877d565b10156125b75760405162461bcd60e51b81526004016111a690618580565b60006125c233612c1d565b90506125cc612ade565b6125d582614a9f565b111580156125f257506125e661346e565b6125ef82614a9f565b10155b61260e5760405162461bcd60e51b81526004016111a6906184fe565b86600111158015612620575060098711155b61265b5760405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964207479706560a01b60448201526064016111a6565b612665888761512d565b6126a15760405162461bcd60e51b815260206004820152600d60248201526c496e76616c69642076616c756560981b60448201526064016111a6565b6075546126af906001618743565b92506126b9614b41565b6001600160a01b0316634a57823e84600587338d8d8d6040518863ffffffff1660e01b81526004016126f19796959493929190618654565b602060405180830381600087803b15801561270b57600080fd5b505af115801561271f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127439190617d20565b5061274e8386614b5c565b5060758290556001600160a01b0316600090815260ab6020526040902042905595945050505050565b6001600160a01b03166000908152606b6020526040902054151590565b6000818152607160205260408120600381015481546060938493849391929091600183019160028401919084906127ca906187c0565b80601f01602080910402602001604051908101604052809291908181526020018280546127f6906187c0565b80156128435780601f1061281857610100808354040283529160200191612843565b820191906000526020600020905b81548152906001019060200180831161282657829003601f168201915b50505050509350828054612856906187c0565b80601f0160208091040260200160405190810160405280929190818152602001828054612882906187c0565b80156128cf5780601f106128a4576101008083540402835291602001916128cf565b820191906000526020600020905b8154815290600101906020018083116128b257829003601f168201915b505050505092508180546128e2906187c0565b80601f016020809104026020016040519081016040528092919081815260200182805461290e906187c0565b801561295b5780601f106129305761010080835404028352916020019161295b565b820191906000526020600020905b81548152906001019060200180831161293e57829003601f168201915b5050505050915093509350935093509193509193565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156129ba5760405162461bcd60e51b81526004016111a690618275565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166129ec614b25565b6001600160a01b031614612a125760405162461bcd60e51b81526004016111a690618308565b612a1b82614eb9565b612a2782826001614f56565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612acb5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016111a6565b5060008051602061886183398151915290565b6000612ae8614d42565b6001600160a01b031663737c59b86040518163ffffffff1660e01b815260040160206040518083038186803b15801561182357600080fd5b612b28614a7f565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b158015612b6957600080fd5b505afa158015612b7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba19190617d03565b612bbd5760405162461bcd60e51b81526004016111a6906183eb565b612bc5611790565b15612c085760405162461bcd60e51b8152602060048201526013602482015272159bdd1a5b99c81a5cc81b9bdd08195b991959606a1b60448201526064016111a6565b607754612c169060046151bb565b6000607755565b6001600160a01b0381166000908152606d602052604081205415612c3f575090565b6001600160a01b03821660009081526068602052604090205415612c8757506001600160a01b038082166000908152606860209081526040808320548352606c909152902054165b919050565b612c94614bc7565b612c9e60006151f9565b565b6001600160a01b0381166000908152606d6020526040812054151580612cdd57506001600160a01b03821660009081526068602052604090205415155b92915050565b600054610100900460ff1615808015612d035750600054600160ff909116105b80612d1d5750303b158015612d1d575060005460ff166001145b612d395760405162461bcd60e51b81526004016111a69061839d565b6000805460ff191660011790558015612d5c576000805461ff0019166101001790555b60008611612db85760405162461bcd60e51b815260206004820152602360248201527f6c6f636b416d6f756e742073686f756c64206265206d6f7265207468656e207a60448201526265726f60e81b60648201526084016111a6565b612dc0614d5a565b612dc8614d89565b612dd187613153565b6000612ddb614db8565b6040516325d998bb60e01b815233600482015290915087906001600160a01b038316906325d998bb9060240160206040518083038186803b158015612e1f57600080fd5b505afa158015612e33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e579190617d20565b1015612e9c5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207374616b696e6760601b60448201526064016111a6565b60405163282d3fdf60e01b8152336004820152602481018890526001600160a01b0382169063282d3fdf90604401600060405180830381600087803b158015612ee457600080fd5b505af1158015612ef8573d6000803e3d6000fd5b5050600160698190557f6bee784efeb983674392298ab585b22866bedf00ebb0eea949d1e66f3f50e71d8054336001600160a01b0319918216811790925560008281526068602090815260408083208690557ff585789965ba69220d5ce3dc1b444eb22ff546f2650694fef8fafe9c26560af98054851686179055606b82528083208690557fdcf345d7f6a8deb7427d0fee62009fa15100353a1c666b51bb5387b25addcfa98054909416909417909255606d825291822083905560748390559190526071815288517f169c6be1b0e6ab5de76b532e587a77340130ac65c5591db02be822dcf1dc0ed69350612ff3925083918a019061750e565b508551613009906001830190602089019061750e565b50845161301f906002830190602088019061750e565b508381600301819055506001606e8860405161303b9190618173565b908152604051908190036020018120805492151560ff1990931692909217909155600190606f9061306d908990618173565b908152602001604051809103902060006101000a81548160ff02191690831515021790555060016070600087876040516020016130ab92919061818f565b60408051808303601f1901815291815281516020928301208352828201939093529082016000908120805460ff19169415159490941790935560745433808552607283528385208290559084526073909152912080546001600160a01b0319169091179055505043606655801561314a576000805461ff0019169055604051600181526000805160206188818339815191529060200160405180910390a15b50505050505050565b61315b614bc7565b6001600160a01b0381166131b15760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060448201526064016111a6565b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b600054600390610100900460ff1615801561321d575060005460ff8083169116105b6132395760405162461bcd60e51b81526004016111a69061839d565b6000805461ffff191660ff831617610100179055613255614bc7565b60005b83518110156132ec576000818152606a602052604081205484516001600160a01b0390911691908590600019850190811061329557613295618811565b6020908102919091018101516000858152606a8352604080822080546001600160a01b0319166001600160a01b039485169081179091558252606b9093528281208690559316835282209190915550600101613258565b5060286000526071602052604051600190606e9061332b907f4413607b8da693d7048f7d89166a2d39aa4ab0c15d5850f546c8999c9bd9492c906181b1565b90815260405160209181900382018120805460ff191693151593909317909255602860005260719052600190606f90613385907f4413607b8da693d7048f7d89166a2d39aa4ab0c15d5850f546c8999c9bd9492d906181b1565b90815260405160209181900382018120805460ff19169315159390931790925560286000908152607182527f4413607b8da693d7048f7d89166a2d39aa4ab0c15d5850f546c8999c9bd9492f54600193607093613406927f4413607b8da693d7048f7d89166a2d39aa4ab0c15d5850f546c8999c9bd9492e929091016181bd565b60408051808303601f1901815291815281516020928301208352828201939093529082016000908120805460ff191694151594909417909355825461ff0019169092555160ff83168152600080516020618881833981519152910160405180910390a1505050565b6000613478614d42565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561182357600080fd5b6134b8614a7f565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b1580156134f957600080fd5b505afa15801561350d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135319190617d03565b61354d5760405162461bcd60e51b81526004016111a6906183eb565b61355561524b565b600061356033612c1d565b905061356a612ade565b61357382614a9f565b11158015613590575061358461346e565b61358d82614a9f565b10155b6135ac5760405162461bcd60e51b81526004016111a6906184fe565b6135b4611790565b6135ea5760405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b60448201526064016111a6565b60006135f5846152a5565b905061360184846153ba565b60008061360d86615494565b9250925050600061361d61138990565b9050808310158061362e5750808210155b80613643575061363e8284618743565b612710145b1561365757613657878584861160006154ce565b5050505050612a276001607855565b6000613670614d42565b6001600160a01b0316631b27e01b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561182357600080fd5b60006136b2614a7f565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b1580156136f357600080fd5b505afa158015613707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372b9190617d03565b6137475760405162461bcd60e51b81526004016111a6906183eb565b600061375233612c1d565b60aa546001600160a01b038216600090815260ab60205260409020549192509061377c904261877d565b101561379a5760405162461bcd60e51b81526004016111a690618580565b60006137a533612c1d565b90506137af612ade565b6137b882614a9f565b111580156137d557506137c961346e565b6137d282614a9f565b10155b6137f15760405162461bcd60e51b81526004016111a6906184fe565b602085015185906001600160a01b031661383d5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103b37ba32b960991b60448201526064016111a6565b6000816060015151116138865760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964206e6f6465206e616d6560781b60448201526064016111a6565b60008160a0015151116138cd5760405162461bcd60e51b815260206004820152600f60248201526e0496e76616c6964206e6f646520495608c1b60448201526064016111a6565b60008160c00151116139155760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081b9bd919481c1bdc9d607a1b60448201526064016111a6565b61391d61346e565b8160e001511015801561393b5750613933612ade565b8160e0015111155b61397d5760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b1bd8dac8105b5bdd5b9d606a1b60448201526064016111a6565b6001600160a01b0385166139c95760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964206f6c64204164647265737360681b60448201526064016111a6565b6139d285612ca0565b613a0b5760405162461bcd60e51b815260206004820152600a6024820152692737b716b6b2b6b132b960b11b60448201526064016111a6565b6020808701516001600160a01b038781166000908152606d8452604080822054825260679094529290922054821691161480613a5c5750846001600160a01b031686602001516001600160a01b0316145b80613a865750613a6f8660200151612ca0565b158015613a865750613a848660200151612777565b155b8015613b0857506040808701516001600160a01b038781166000908152606d6020908152848220548252606a90529290922054821691161480613ade5750846001600160a01b031686604001516001600160a01b0316145b80613b085750613af18660400151612ca0565b158015613b085750613b068660400151612777565b155b613b475760405162461bcd60e51b815260206004820152601060248201526f20b63932b0b23c90309036b2b6b132b960811b60448201526064016111a6565b607554613b55906001618743565b9350613b6584600333888a61504c565b613b73848760e001516150ef565b613b8284876101000151614b5c565b6075849055336001600160a01b038616148015613bab575085516001600160a01b038681169116145b15613be5576000613bbb85614cb8565b92505050613bd585428342613bd09190618743565b615564565b613be38560036001806154ce565b505b50506001600160a01b0316600090815260ab6020526040902042905592915050565b6000613c11614a7f565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b158015613c5257600080fd5b505afa158015613c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c8a9190617d03565b613ca65760405162461bcd60e51b81526004016111a6906183eb565b6000613cb133612c1d565b60aa546001600160a01b038216600090815260ab602052604090205491925090613cdb904261877d565b1015613cf95760405162461bcd60e51b81526004016111a690618580565b6000613d0433612c1d565b9050613d0e612ade565b613d1782614a9f565b11158015613d345750613d2861346e565b613d3182614a9f565b10155b613d505760405162461bcd60e51b81526004016111a6906184fe565b6001600160a01b038716613d985760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b60448201526064016111a6565b613da187612ca0565b613dda5760405162461bcd60e51b815260206004820152600a6024820152692737b716b6b2b6b132b960b11b60448201526064016111a6565b6001613de560695490565b11613e325760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742072656d6f7665206120736f6c65206d656d626572000000000060448201526064016111a6565b85613e3c88614a9f565b1015613e9d5760405162461bcd60e51b815260206004820152602a60248201527f496e73756666696369656e742062616c616e636520746861742063616e206265604482015269103ab73637b1b5b2b21760b11b60648201526084016111a6565b607554613eab906001618743565b604080516101408101825260008082526020808301829052828401829052835182815280820185526060840152835182815280820185526080840152835182815290810190935260a082019290925260c081019190915260e0810188905261010081018790526101208101869052909350613f2a846002338b8561504c565b613f3484886150ef565b613f3e8487614b5c565b505060758290556001600160a01b0316600090815260ab60205260409020429055949350505050565b613f6f614bc7565b610e108110613fb85760405162461bcd60e51b81526020600482015260156024820152746e6577506572696f6420697320746f6f206c6f6e6760581b60448201526064016111a6565b60aa8190556040518181527f17c6f1d1ce638844b664872f5c6eecb7d150ec0c41187d7f85826a656ee7946f90602001611785565b60008054610100900460ff161580801561400e5750600054600160ff909116105b806140285750303b158015614028575060005460ff166001145b6140445760405162461bcd60e51b81526004016111a69061839d565b6000805460ff191660011790558015614067576000805461ff0019166101001790555b61406f614d5a565b614077614d89565b60008690506140f0816001600160a01b031663738fdd1a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156140b857600080fd5b505afa1580156140cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb191906178aa565b4360668190555061416b816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561413357600080fd5b505afa158015614147573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ae91906178aa565b60015b816001600160a01b031663d965ea006040518163ffffffff1660e01b815260040160206040518083038186803b1580156141a757600080fd5b505afa1580156141bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141df9190617d20565b81116145ef5760405163ab3545e560e01b8152600481018290526001600160a01b0383169063ab3545e59060240160206040518083038186803b15801561422557600080fd5b505afa158015614239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061425d91906178aa565b6000828152606c6020908152604080832080546001600160a01b039586166001600160a01b0319918216811783558552606d84528285208790558685529054606784528285208054909216908616908117909155835260689091529081902083905551631c4b774b60e01b81526004810183905290831690631c4b774b9060240160206040518083038186803b1580156142f657600080fd5b505afa15801561430a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061432e91906178aa565b6000828152606a6020908152604080832080546001600160a01b0319166001600160a01b03959095169485179055928252606b8152828220849055606984905582516080810184526060808252918101829052928301819052820152604051634f0f4aa960e01b8152600481018390526001600160a01b03841690634f0f4aa99060240160006040518083038186803b1580156143ca57600080fd5b505afa1580156143de573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526144069190810190617dfc565b60608501819052604085018290526020850183905283855261442b93929190856155d2565b6144715760405162461bcd60e51b81526020600482015260176024820152761b9bd919481a5b999bc81a5cc8191d5c1b1a58d85d1959604a1b60448201526064016111a6565b6001606e82600001516040516144879190618173565b90815260405160209181900382018120805460ff191693151593909317909255820151600191606f916144b991618173565b908152602001604051809103902060006101000a81548160ff021916908315150217905550600160706000836040015184606001516040516020016144ff92919061818f565b60408051808303601f1901815291815281516020928301208352828201939093529082016000908120805460ff19169415159490941790935584835260718152912082518051849361455592849291019061750e565b50602082810151805161456e926001850192019061750e565b506040820151805161458a91600284019160209091019061750e565b5060609190910151600390910155506000818152606c6020908152604080832080546001600160a01b0390811685526072845282852086905585855290546073909352922080546001600160a01b03191691909216179055607481905560010161416e565b50806001600160a01b031663d6f9cfce6040518163ffffffff1660e01b815260040160206040518083038186803b15801561462957600080fd5b505afa15801561463d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146619190617d20565b607581905550806001600160a01b031663e9523fb56040518163ffffffff1660e01b815260040160206040518083038186803b1580156146a057600080fd5b505afa1580156146b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146d89190617d20565b607681905550806001600160a01b031663de09b3776040518163ffffffff1660e01b815260040160206040518083038186803b15801561471757600080fd5b505afa15801561472b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061474f9190617d20565b6077555060009150801561478b576000805461ff0019169055604051600181526000805160206188818339815191529060200160405180910390a15b50949350505050565b61479c614bc7565b6001600160a01b0381166148015760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016111a6565b611fa2816151f9565b6000898152606c6020908152604080832080546001600160a01b03808e166001600160a01b03199283168117909355918552606d84528285208e90558d85526067845282852080548d841690831681179091558552606884528285208e90558d8552606a84528285208054928c1692909116821790558352606b8252918290208b905560698b90558151608081018352868152908101859052908101839052606081018290526148bd85858585856155d2565b6149035760405162461bcd60e51b81526020600482015260176024820152761b9bd919481a5b999bc81a5cc8191d5c1b1a58d85d1959604a1b60448201526064016111a6565b6001606e82600001516040516149199190618173565b90815260405160209181900382018120805460ff191693151593909317909255820151600191606f9161494b91618173565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506001607060008360400151846060015160405160200161499192919061818f565b60408051808303601f1901815291815281516020928301208352828201939093529082016000908120805460ff1916941515949094179093558c83526071815291208251805184936149e792849291019061750e565b506020828101518051614a00926001850192019061750e565b5060408201518051614a1c91600284019160209091019061750e565b50606091909101516003909101555050506001600160a01b0390951660008181526072602090815260408083208a90558983526073825280832080546001600160a01b0319168517905560749990995591815260ab909152959095205550505050565b600061185b7111dbdd995c9b985b98d950dbdb9d1c9858dd60721b6156fb565b6000614aa9614db8565b604051632c9aab9b60e11b81526001600160a01b03848116600483015291909116906359355736906024015b60206040518083038186803b158015614aed57600080fd5b505afa158015614b01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cdd9190617d20565b600080516020618861833981519152546001600160a01b031690565b600061185b6c42616c6c6f7453746f7261676560981b6156fb565b614b64614b41565b6001600160a01b031663bce0dbc183836040518363ffffffff1660e01b8152600401614b919291906181d6565b600060405180830381600087803b158015614bab57600080fd5b505af1158015614bbf573d6000803e3d6000fd5b505050505050565b6033546001600160a01b03163314612c9e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016111a6565b6000806000614c2e614b41565b6001600160a01b031663688ca5b2856040518263ffffffff1660e01b8152600401614c5b91815260200190565b60606040518083038186803b158015614c7357600080fd5b505afa158015614c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cab9190618025565b9250925092509193909250565b6000806000614cc5614b41565b6001600160a01b03166309970688856040518263ffffffff1660e01b8152600401614cf291815260200190565b60606040518083038186803b158015614d0a57600080fd5b505afa158015614d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cab919061807f565b600061185b69456e7653746f7261676560b01b6156fb565b600054610100900460ff16614d815760405162461bcd60e51b81526004016111a690618535565b612c9e615778565b600054610100900460ff16614db05760405162461bcd60e51b81526004016111a690618535565b612c9e61579f565b600061185b665374616b696e6760c81b6156fb565b604051600190606f90614de1908690618173565b9081526040519081900360200190205460ff1615614dfd575060005b606e85604051614e0d9190618173565b9081526040519081900360200190205460ff1615614e29575060005b60008383604051602001614e3e92919061818f565b60408051601f1981840301815291815281516020928301206000818152607090935291205490915060ff161561478b5750600095945050505050565b614e82614db8565b60405163282d3fdf60e01b81526001600160a01b03848116600483015260248201849052919091169063282d3fdf90604401614b91565b614ec1614a7f565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b158015614f0257600080fd5b505afa158015614f16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f3a9190617d03565b611fa25760405162461bcd60e51b81526004016111a6906183eb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615614f8e57614f89836157cf565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015614fc757600080fd5b505afa925050508015614ff7575060408051601f3d908101601f19168201909252614ff491810190617d20565b60015b6150135760405162461bcd60e51b81526004016111a690618440565b60008051602061886183398151915281146150405760405162461bcd60e51b81526004016111a690618354565b50614f8983838361586b565b615054614b41565b6001600160a01b031663daacbb95868684610120015187878760000151886020015189604001518a606001518b608001518c60a001518d60c001516040518d63ffffffff1660e01b81526004016150b69c9b9a999897969594939291906185b7565b600060405180830381600087803b1580156150d057600080fd5b505af11580156150e4573d6000803e3d6000fd5b505050505050505050565b6150f7614b41565b604051633968764960e11b815260048101849052602481018390526001600160a01b0391909116906372d0ec9290604401614b91565b6000615137614d42565b6001600160a01b0316639801bff984846040518363ffffffff1660e01b81526004016151649291906181d6565b60206040518083038186803b15801561517c57600080fd5b505afa158015615190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906151b49190617d03565b9392505050565b6151c3614b41565b60405163548f2cdd60e11b815260048101849052602481018390526001600160a01b03919091169063a91e59ba90604401614b91565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6002607854141561529e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016111a6565b6002607855565b60008060006152b384614c21565b509092509050600181141561535257607754156152e25760405162461bcd60e51b81526004016111a6906184bb565b60006152ed85614cb8565b925050506152f96117e1565b81101561531c57615317854261530d6117e1565b613bd09042618743565b615347565b80615325613666565b101561533857615317854261530d613666565b6153478542613bd08482618743565b5060778490556153b3565b600281141561538157607754841461537c5760405162461bcd60e51b81526004016111a6906184bb565b6153b3565b60405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b60448201526064016111a6565b5092915050565b600060765460016153cb9190618743565b905060006153d833612c1d565b905060006153e560695490565b6153f19061271061875b565b9050600084615401576002615404565b60015b905061540e614b41565b6040516325918ae760e21b815260048101869052602481018890526001600160a01b038581166044830152606482018490526084820185905291909116906396462b9c9060a401600060405180830381600087803b15801561546f57600080fd5b505af1158015615483573d6000803e3d6000fd5b505050607694909455505050505050565b60008060006154a1614b41565b6001600160a01b03166356ba988e856040518263ffffffff1660e01b8152600401614cf291815260200190565b600482156155415750600360018414156154f8576154eb85615890565b6154f3575060045b615541565b600284141561550a576154f385615da5565b600384141561551d576154eb85836162e9565b600484141561552f576154f385616883565b60058414156155415761554185616942565b61554b85826151bb565b816155565760006077555b5050505050565b6001607855565b61556c614b41565b60405163605b78c360e11b81526004810185905260248101849052604481018390526001600160a01b03919091169063c0b6f18690606401600060405180830381600087803b1580156155be57600080fd5b505af115801561314a573d6000803e3d6000fd5b6000600190508480519060200120826020015180519060200120141580156156195750606f856040516156059190618173565b9081526040519081900360200190205460ff165b15615622575060005b8580519060200120826000015180519060200120141580156156635750606e8660405161564f9190618173565b9081526040519081900360200190205460ff165b1561566c575060005b6000848460405160200161568192919061818f565b60405160208183030381529060405280519060200120905080836040015184606001516040516020016156b592919061818f565b60405160208183030381529060405280519060200120141580156156e7575060008181526070602052604090205460ff165b156156f157600091505b5095945050505050565b606554604051630d2020dd60e01b8152600481018390526000916001600160a01b031690630d2020dd9060240160206040518083038186803b15801561574057600080fd5b505afa158015615754573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cdd91906178aa565b600054610100900460ff1661555d5760405162461bcd60e51b81526004016111a690618535565b600054610100900460ff166157c65760405162461bcd60e51b81526004016111a690618535565b612c9e336151f9565b6001600160a01b0381163b61583c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016111a6565b60008051602061886183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61587483616a95565b6000825111806158815750805b15614f8957611eb98383616ad5565b600061589d826001616afa565b6000806000806000806000806158b28a616c01565b98509850985098509850985098509850506158cc88612ca0565b1561592a57896000805160206188a18339815191526040516159129060208082526010908201526f20b63932b0b23c90309036b2b6b132b960811b604082015260600190565b60405180910390a25060009998505050505050505050565b61593386612777565b1561597b57896000805160206188a18339815191526040516159129060208082526012908201527120b63932b0b23c9030903932bbb0b93232b960711b604082015260600190565b61598361346e565b811080615996575080615994612ade565b105b156159b757896000805160206188a18339815191526040516159129061848e565b806159c189616cb7565b10156159e357896000805160206188a1833981519152604051615912906182c1565b866001600160a01b0316886001600160a01b031614158015615a175750856001600160a01b0316886001600160a01b031614155b15615a6357896000805160206188a183398151915260405161591290602080825260169082015275496e76616c6964206d656d626572206164647265737360501b604082015260600190565b615a6d8882614e7a565b60006069546001615a7e9190618743565b9050876067600083815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080606860008a6001600160a01b03166001600160a01b031681526020019081526020016000208190555086606a600083815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080606b6000896001600160a01b03166001600160a01b031681526020019081526020016000208190555088606c600083815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080606d60008b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060006074546001615bb79190618743565b6000818152607160209081526040909120895192935091615bdd918391908b019061750e565b508651615bf390600183019060208a019061750e565b508551615c09906002830190602089019061750e565b508481600301819055506001606e89604051615c259190618173565b908152604051908190036020018120805492151560ff1990931692909217909155600190606f90615c57908a90618173565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506001607060008888604051602001615c9592919061818f565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff0219169083151502179055508a6073600084815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081607260008d6001600160a01b03166001600160a01b031681526020019081526020016000208190555087816000019080519060200190615d4a92919061750e565b5060698390556074829055436066556040516001600160a01b03808c1691908d16907f6a2af11b2d73f347f9d5840aea46899e17609730b5cd91bd9c312098038acba690600090a35060019c9b505050505050505050505050565b615db0816002616afa565b600080615dbc83616c01565b9850505050505050509150615dd082612ca0565b615e2657826000805160206188a1833981519152604051615e19906020808252601490820152732737ba1030b63932b0b23c90309036b2b6b132b960611b604082015260600190565b60405180910390a2505050565b6001600160a01b038083166000818152606d6020818152604080842054606954808652606c8452828620548287526067855283872054606a86529387205497909652939092529094928316939083169216908414615f8e57606980546000908152606c6020818152604080842080546001600160a01b038d8116808852606d80875285892080549e8a529787528589209087529b821688528488209c909c559486905581546001600160a01b03199081169092558954821690851617909855888452606b8083528185205486548652606a80855283872080548a881689528487528589208054948a529287528589209487528716808952858920939093559087905580548b16905581548a16179055978352606880825288842054945484526067808352898520805489861687528385528b872080548989529386528c882094909552909416808652998520559290558054861690558054909416851790935591929161600b565b606980546000908152606c6020908152604080832080546001600160a01b03199081169091556001600160a01b038b81168552606d845282852085905585548552606a84528285208054831690558681168552606b8452828520859055945484526067835281842080549091169055928516825260689052908120555b600160695461601a919061877d565b6069556000848152607160205260408082209051909190606f906160429060018501906181b1565b908152604051908190036020018120805492151560ff1990931692909217909155600090606e906160749084906181b1565b90815260405160209181900382018120805460ff191693151593909317909255600383015460009260709284926160b0926002880192016181bd565b60408051808303601f1901815291815281516020928301208352828201939093529082016000908120805460ff1916941515949094179093556074546001600160a01b038b16845260729091529120541461620a576001600160a01b03808816600090815260726020908152604080832054607454845260738352818420546071909352922080549298509216955082919061614b906187c0565b616156929190617592565b506074546000908152607160205260409020600190810180549183019161617c906187c0565b616187929190617592565b50607454600090815260716020526040902060029081018054918301916161ad906187c0565b6161b8929190617592565b506074546000908152607160209081526040808320600390810154908501558783526073825280832080546001600160a01b0319166001600160a01b0389169081179091558352607290915290208590555b60748054600090815260736020908152604080832080546001600160a01b03191690556001600160a01b038b16835260728252808320839055925482526071905290812090616259828261760d565b61626760018301600061760d565b61627560028301600061760d565b60038201600090555050600160745461628e919061877d565b6074554360665561629f8787616cf1565b826001600160a01b0316876001600160a01b03167faa91016c21c52c58ac64f23f71bbe75becc9ada603e18ee671d09ff15492d1c160405160405180910390a35050505050505050565b6000816162fb576162fb836003616afa565b60008060008060008060008060006163128c616c01565b98509850985098509850985098509850985061632d89612ca0565b616399578b6000805160206188a183398151915260405161637f906020808252601b908201527f4f6c642061646472657373206973206e6f742061206d656d6265720000000000604082015260600190565b60405180910390a260009950505050505050505050612cdd565b6163ac8c8c8b8b8b8b8b8b8b8b8b616e15565b6163c25760009950505050505050505050612cdd565b6001600160a01b03808a166000818152606d6020526040902054918a1614616431576000818152606c6020908152604080832080546001600160a01b0319166001600160a01b038e81169182179092558452606d909252808320849055908c1682528120556164318983614e7a565b6001600160a01b038a166000908152607260209081526040808320548084526071909252808320905191929091606e9061646c9084906181b1565b908152604051908190036020018120805492151560ff1990931692909217909155600090606f906164a19060018501906181b1565b90815260405160209181900382018120805460ff191693151593909317909255600383015460009260709284926164dd926002880192016181bd565b60408051808303601f1901815291815281516020928301208352828201939093529101600020805460ff1916921515929092179091558851616524918391908b019061750e565b50865161653a90600183019060208a019061750e565b508551616550906002830190602089019061750e565b506003810185905543606655604051600190606e90616570908b90618173565b908152604051908190036020018120805492151560ff1990931692909217909155600190606f906165a2908a90618173565b908152602001604051809103902060006101000a81548160ff02191690831515021790555060016070600088886040516020016165e092919061818f565b60408051808303601f1901815291815281516020928301208352828201939093529082016000908120805460ff191694151594909417909355858352606a90529020546001600160a01b0390811691508916811461667c576000838152606a6020908152604080832080546001600160a01b0319166001600160a01b038e81169182179092558452606b90925280832086905590831682528120555b506000828152606760205260409020546001600160a01b03908116908a16811461672e57896067600085815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082606860008c6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600060686000836001600160a01b03166001600160a01b03168152602001908152602001600020819055505b50896001600160a01b03168b6001600160a01b03161461682e57896073600083815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080607260008c6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000607260008d6001600160a01b03166001600160a01b03168152602001908152602001600020819055506167df8b84616cf1565b886001600160a01b03168a6001600160a01b03168c6001600160a01b03167f15f4d750630db473a85edd9d47c500527a2648cc5e676f39645e52790cf07be060405160405180910390a461686f565b896001600160a01b03168b6001600160a01b03167f1feee1b4fcb797c62645da41c5c6edd5f91d4291de0054da625c42b823594c1f60405160405180910390a35b5060019d9c50505050505050505050505050565b61688e816004616afa565b6000616898614b41565b6001600160a01b0316637efa9ae3836040518263ffffffff1660e01b81526004016168c591815260200190565b60206040518083038186803b1580156168dd57600080fd5b505afa1580156168f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061691591906178aa565b90506001600160a01b03811615612a275761692f81614eb9565b61693a816000611f70565b436066555050565b61694d816005616afa565b600080600061695a614b41565b6001600160a01b0316631d940da2856040518263ffffffff1660e01b815260040161698791815260200190565b60006040518083038186803b15801561699f57600080fd5b505afa1580156169b3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526169db9190810190617d39565b92509250925060006169eb614d42565b6040516388c2801960e01b81529091506001600160a01b038216906388c2801990616a1c90879086906004016181d6565b600060405180830381600087803b158015616a3657600080fd5b505af1158015616a4a573d6000803e3d6000fd5b50504360665550506040517f701c16c2519cdb79aaac423a84733590e3510d9552055b6ad6908f0ab12b6c2990616a86908690869086906181ef565b60405180910390a15050505050565b616a9e816157cf565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606151b483836040518060600160405280602781526020016188c1602791396173af565b600080616b0684614c21565b5091509150828214616b505760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420766f74696e67207479706560681b60448201526064016111a6565b60028114616b975760405162461bcd60e51b8152602060048201526014602482015273496e76616c696420766f74696e6720737461746560601b60448201526064016111a6565b600080616ba386615494565b9250925050616bb161138990565b82101580616bc157506113898110155b614bbf5760405162461bcd60e51b8152602060048201526011602482015270139bdd081e595d08199a5b985b1a5e9959607a1b60448201526064016111a6565b6000806000806060806060600080616c17614b41565b6001600160a01b03166373df4e018b6040518263ffffffff1660e01b8152600401616c4491815260200190565b60006040518083038186803b158015616c5c57600080fd5b505afa158015616c70573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052616c989190810190617923565b9850985098509850985098509850985098509193959799909294969850565b6000616cc1614db8565b6040516325d998bb60e01b81526001600160a01b03848116600483015291909116906325d998bb90602401614ad5565b6000616cfb614db8565b604051632c9aab9b60e11b81526001600160a01b03858116600483015291925060009183169063593557369060240160206040518083038186803b158015616d4257600080fd5b505afa158015616d56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190616d7a9190617d20565b905082811115616e0b576001600160a01b038216637756c90885616d9e868561877d565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015616de457600080fd5b505af1158015616df8573d6000803e3d6000fd5b50505050616e068484617427565b611eb9565b611eb98482617427565b60008a616e2757616e278c6003616afa565b616e308a612ca0565b616e92578b6000805160206188a1833981519152604051616e82906020808252601b908201527f4f6c642061646472657373206973206e6f742061206d656d6265720000000000604082015260600190565b60405180910390a25060006173a0565b6001600160a01b03808b166000818152606d6020526040902054918b161461700957616ebd8a612ca0565b15616f22578c6000805160206188a1833981519152604051616f10906020808252601f908201527f6e6577206164647265737320697320616c72656164792061206d656d62657200604082015260600190565b60405180910390a260009150506173a0565b886001600160a01b03168a6001600160a01b031614158015616f565750876001600160a01b03168a6001600160a01b031614155b15616fa1578c6000805160206188a1833981519152604051616f1090602080825260159082015274496e76616c696420766f746572206164647265737360581b604082015260600190565b616fa961346e565b831080616fbc575082616fba612ade565b105b15616fdd578c6000805160206188a1833981519152604051616f109061848e565b82616fe78b616cb7565b1015617009578c6000805160206188a1833981519152604051616f10906182c1565b6001600160a01b038b16600090815260726020908152604080832054808452607190925280832081516080810190925280549293928290829061704b906187c0565b80601f0160208091040260200160405190810160405280929190818152602001828054617077906187c0565b80156170c45780601f10617099576101008083540402835291602001916170c4565b820191906000526020600020905b8154815290600101906020018083116170a757829003601f168201915b505050505081526020016001820180546170dd906187c0565b80601f0160208091040260200160405190810160405280929190818152602001828054617109906187c0565b80156171565780601f1061712b57610100808354040283529160200191617156565b820191906000526020600020905b81548152906001019060200180831161713957829003601f168201915b5050505050815260200160028201805461716f906187c0565b80601f016020809104026020016040519081016040528092919081815260200182805461719b906187c0565b80156171e85780601f106171bd576101008083540402835291602001916171e8565b820191906000526020600020905b8154815290600101906020018083116171cb57829003601f168201915b50505050508152602001600382015481525050905061720a89898989856155d2565b61723e578e6000805160206188a183398151915260405161722a90618412565b60405180910390a2600093505050506173a0565b506000828152606a60205260409020546001600160a01b03908116908d8116908b16148015906172805750896001600160a01b0316816001600160a01b031614155b801561729f57506172908a612ca0565b8061729f575061729f8a612777565b156172eb578e6000805160206188a183398151915260405161722a90602080825260169082015275496e76616c696420726577617264206164647265737360501b604082015260600190565b506000828152606760205260409020546001600160a01b03908116908d8116908c161480159061732d57508a6001600160a01b0316816001600160a01b031614155b801561734c575061733d8b612ca0565b8061734c575061734c8b612777565b15617398578e6000805160206188a183398151915260405161722a90602080825260169082015275496e76616c696420766f74657273206164647265737360501b604082015260600190565b506001925050505b9b9a5050505050505050505050565b6060600080856001600160a01b0316856040516173cc9190618173565b600060405180830381855af49150503d8060008114617407576040519150601f19603f3d011682016040523d82523d6000602084013e61740c565b606091505b509150915061741d86838387617466565b9695505050505050565b61742f614db8565b604051637eee288d60e01b81526001600160a01b038481166004830152602482018490529190911690637eee288d90604401614b91565b606083156174d25782516174cb576001600160a01b0385163b6174cb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016111a6565b50816174dc565b6174dc83836174e4565b949350505050565b8151156174f45781518083602001fd5b8060405162461bcd60e51b81526004016111a69190618262565b82805461751a906187c0565b90600052602060002090601f01602090048101928261753c5760008555617582565b82601f1061755557805160ff1916838001178555617582565b82800160010185558215617582579182015b82811115617582578251825591602001919060010190617567565b5061758e929150617643565b5090565b82805461759e906187c0565b90600052602060002090601f0160209004810192826175c05760008555617582565b82601f106175d15780548555617582565b8280016001018555821561758257600052602060002091601f016020900482015b828111156175825782548255916001019190600101906175f2565b508054617619906187c0565b6000825580601f10617629575050565b601f016020900490600052602060002090810190611fa291905b5b8082111561758e5760008155600101617644565b8035612c878161883d565b8051612c878161883d565b600082601f83011261767f57600080fd5b8135602061769461768f836186f9565b6186c9565b80838252828201915082860187848660051b89010111156176b457600080fd5b60005b858110156176dc5781356176ca8161883d565b845292840192908401906001016176b7565b5090979650505050505050565b600082601f8301126176fa57600080fd5b813561770861768f8261871c565b81815284602083860101111561771d57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261774b57600080fd5b815161775961768f8261871c565b81815284602083860101111561776e57600080fd5b6174dc826020830160208701618794565b6000610140828403121561779257600080fd5b61779a6186a0565b90506177a582617658565b81526177b360208301617658565b60208201526177c460408301617658565b604082015260608201356001600160401b03808211156177e357600080fd5b6177ef858386016176e9565b6060840152608084013591508082111561780857600080fd5b617814858386016176e9565b608084015260a084013591508082111561782d57600080fd5b617839858386016176e9565b60a084015260c084013560c084015260e084013560e08401526101009150818401358181111561786857600080fd5b617874868287016176e9565b8385015250505061012080830135818301525092915050565b60006020828403121561789f57600080fd5b81356151b48161883d565b6000602082840312156178bc57600080fd5b81516151b48161883d565b600080600080608085870312156178dd57600080fd5b84356178e88161883d565b935060208501356178f88161883d565b925060408501356179088161883d565b915060608501356179188161883d565b939692955090935050565b60008060008060008060008060006101208a8c03121561794257600080fd5b61794b8a617663565b985061795960208b01617663565b975061796760408b01617663565b965061797560608b01617663565b955060808a01516001600160401b038082111561799157600080fd5b61799d8d838e0161773a565b965060a08c01519150808211156179b357600080fd5b6179bf8d838e0161773a565b955060c08c01519150808211156179d557600080fd5b506179e28c828d0161773a565b93505060e08a015191506101008a015190509295985092959850929598565b60008060408385031215617a1457600080fd5b8235617a1f8161883d565b915060208301356001600160401b03811115617a3a57600080fd5b617a46858286016176e9565b9150509250929050565b600080600060608486031215617a6557600080fd5b8335617a708161883d565b925060208401356001600160401b03811115617a8b57600080fd5b617a97868287016176e9565b925050604084013590509250925092565b600080600060608486031215617abd57600080fd5b8335617ac88161883d565b9250602084013591506040840135617adf8161883d565b809150509250925092565b600080600060608486031215617aff57600080fd5b8335617b0a8161883d565b92506020840135915060408401356001600160401b03811115617b2c57600080fd5b617b38868287016176e9565b9150509250925092565b60008060008060008060c08789031215617b5b57600080fd5b8635617b668161883d565b95506020870135945060408701356001600160401b0380821115617b8957600080fd5b617b958a838b016176e9565b95506060890135915080821115617bab57600080fd5b617bb78a838b016176e9565b94506080890135915080821115617bcd57600080fd5b50617bda89828a016176e9565b92505060a087013590509295509295509295565b60008060008060808587031215617c0457600080fd5b8435617c0f8161883d565b93506020850135925060408501356001600160401b03811115617c3157600080fd5b617c3d878288016176e9565b949793965093946060013593505050565b60008060408385031215617c6157600080fd5b82356001600160401b0380821115617c7857600080fd5b818501915085601f830112617c8c57600080fd5b81356020617c9c61768f836186f9565b8083825282820191508286018a848660051b8901011115617cbc57600080fd5b600096505b84871015617cdf578035835260019690960195918301918301617cc1565b5096505086013592505080821115617cf657600080fd5b50617a468582860161766e565b600060208284031215617d1557600080fd5b81516151b481618852565b600060208284031215617d3257600080fd5b5051919050565b600080600060608486031215617d4e57600080fd5b835192506020840151915060408401516001600160401b03811115617d7257600080fd5b617b388682870161773a565b600080600080600060a08688031215617d9657600080fd5b853594506020860135935060408601356001600160401b0380821115617dbb57600080fd5b617dc789838a016176e9565b94506060880135915080821115617ddd57600080fd5b50617dea888289016176e9565b95989497509295608001359392505050565b60008060008060808587031215617e1257600080fd5b84516001600160401b0380821115617e2957600080fd5b617e358883890161773a565b95506020870151915080821115617e4b57600080fd5b617e578883890161773a565b94506040870151915080821115617e6d57600080fd5b50617e7a8782880161773a565b606096909601519497939650505050565b600060208284031215617e9d57600080fd5b81356001600160401b03811115617eb357600080fd5b6174dc8482850161777f565b60008060408385031215617ed257600080fd5b82356001600160401b03811115617ee857600080fd5b617ef48582860161777f565b9250506020830135617f058161883d565b809150509250929050565b600060208284031215617f2257600080fd5b5035919050565b60008060008060008060008060006101208a8c031215617f4857600080fd5b89359850617f5860208b01617658565b9750617f6660408b01617658565b9650617f7460608b01617658565b955060808a0135945060a08a01356001600160401b0380821115617f9757600080fd5b617fa38d838e016176e9565b955060c08c0135915080821115617fb957600080fd5b617fc58d838e016176e9565b945060e08c0135915080821115617fdb57600080fd5b50617fe88c828d016176e9565b9250506101008a013590509295985092959850929598565b6000806040838503121561801357600080fd5b823591506020830135617f0581618852565b60008060006060848603121561803a57600080fd5b83519250602084015191506040840151617adf81618852565b60008060006060848603121561806857600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561809457600080fd5b8351925060208401519150604084015190509250925092565b600081518084526180c5816020860160208601618794565b601f01601f19169290920160200192915050565b8054600090600181811c90808316806180f357607f831692505b602080841082141561811557634e487b7160e01b600052602260045260246000fd5b818015618129576001811461813a57618167565b60ff19861689528489019650618167565b60008881526020902060005b8681101561815f5781548b820152908501908301618146565b505084890196505b50505050505092915050565b60008251618185818460208701618794565b9190910192915050565b600083516181a1818460208801618794565b9190910191825250602001919050565b60006151b482846180d9565b60006181c982856180d9565b9283525050602001919050565b8281526040602082015260006174dc60408301846180ad565b83815282602082015260606040820152600061820e60608301846180ad565b95945050505050565b60808152600061822a60808301876180ad565b828103602084015261823c81876180ad565b9050828103604084015261825081866180ad565b91505082606083015295945050505050565b6020815260006151b460208301846180ad565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b60208082526027908201527f496e73756666696369656e742062616c616e636520746861742063616e206265604082015266081b1bd8dad95960ca1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526029908201527f45524331393637557067726164653a20756e737570706f727465642070726f786040820152681a58589b195555525160ba1b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c2737902832b936b4b9b9b4b7b760991b604082015260600190565b6020808252601490820152734475706c696361746564206e6f646520696e666f60601b604082015260600190565b6020808252602e908201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b606082015260800190565b602080825260139082015272125b9d985b1a59081b1bd8dac8185b5bdd5b9d606a1b604082015260600190565b60208082526023908201527f4e6f7720696e20766f74696e67207769746820646966666572656e742062616c6040820152621b1bdd60ea1b606082015260800190565b60208082526017908201527f496e76616c6964207374616b696e672062616c616e6365000000000000000000604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6020808252601d908201527f43616e6e6f74206164642070726f706f73616c20746f6f206561726c79000000604082015260600190565b8c8152602081018c9052604081018b90526001600160a01b038a81166060830152898116608083015288811660a083015287811660c0830152861660e082015260006101808061010084015261860f818401886180ad565b905082810361012084015261862481876180ad565b905082810361014084015261863981866180ad565b915050826101608301529d9c50505050505050505050505050565b87815286602082015285604082015260018060a01b03851660608201528360808201528260a082015260e060c0820152600061869360e08301846180ad565b9998505050505050505050565b60405161014081016001600160401b03811182821017156186c3576186c3618827565b60405290565b604051601f8201601f191681016001600160401b03811182821017156186f1576186f1618827565b604052919050565b60006001600160401b0382111561871257618712618827565b5060051b60200190565b60006001600160401b0382111561873557618735618827565b50601f01601f191660200190565b60008219821115618756576187566187fb565b500190565b60008261877857634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561878f5761878f6187fb565b500390565b60005b838110156187af578181015183820152602001618797565b83811115611eb95750506000910152565b600181811c908216806187d457607f821691505b602082108114156187f557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611fa257600080fd5b8015158114611fa257600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249885e7f4987c0698db47045ad8cea110b51138f0eecbd94915842328cf6c3dc97d416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220163f727eb145e62fc56689f2d3411fa2e8208979dc968c491e3bc38e376c3a1864736f6c63430008060033"; +var GovImp_contract = web3.eth.contract([{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"envName","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"envType","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"envVal","type":"bytes"}],"name":"EnvChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"voter","type":"address"}],"name":"MemberAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAddr","type":"address"},{"indexed":true,"internalType":"address","name":"newAddr","type":"address"},{"indexed":true,"internalType":"address","name":"newVoter","type":"address"}],"name":"MemberChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"voter","type":"address"}],"name":"MemberRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"voter","type":"address"}],"name":"MemberUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"ballotId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"NotApplicable","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newPeriod","type":"uint256"}],"name":"SetProposalTimePeriod","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"SetRegistry","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"BALLOT_DURATION_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BALLOT_DURATION_MIN_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BALLOT_DURATION_MIN_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BALLOT_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BASE_FEE_MAX_CHANGE_RATE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCKS_PER_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_CREATION_TIME_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_GASLIMIT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_AMOUNT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_BLOCK_PRODUCER_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_MAINTANANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_METHOD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DENOMINATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ENV_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GASLIMIT_AND_BASE_FEE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GAS_TARGET_PERCENTAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOV_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINTENANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BASE_FEE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_IDLE_BLOCK_INTERVAL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_PRIORITY_FEE_PER_GAS_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_POOL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MIN_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MIN_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"staker","type":"address"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"address","name":"reward","type":"address"},{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"bytes","name":"enode","type":"bytes"},{"internalType":"bytes","name":"ip","type":"bytes"},{"internalType":"uint256","name":"port","type":"uint256"},{"internalType":"uint256","name":"lockAmount","type":"uint256"},{"internalType":"bytes","name":"memo","type":"bytes"},{"internalType":"uint256","name":"duration","type":"uint256"}],"internalType":"struct GovImp.MemberInfo","name":"info","type":"tuple"}],"name":"addProposalToAddMember","outputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"envName","type":"bytes32"},{"internalType":"uint256","name":"envType","type":"uint256"},{"internalType":"bytes","name":"envVal","type":"bytes"},{"internalType":"bytes","name":"memo","type":"bytes"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"addProposalToChangeEnv","outputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newGovAddr","type":"address"},{"internalType":"bytes","name":"memo","type":"bytes"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"addProposalToChangeGov","outputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"staker","type":"address"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"address","name":"reward","type":"address"},{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"bytes","name":"enode","type":"bytes"},{"internalType":"bytes","name":"ip","type":"bytes"},{"internalType":"uint256","name":"port","type":"uint256"},{"internalType":"uint256","name":"lockAmount","type":"uint256"},{"internalType":"bytes","name":"memo","type":"bytes"},{"internalType":"uint256","name":"duration","type":"uint256"}],"internalType":"struct GovImp.MemberInfo","name":"newInfo","type":"tuple"},{"internalType":"address","name":"oldStaker","type":"address"}],"name":"addProposalToChangeMember","outputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"staker","type":"address"},{"internalType":"uint256","name":"lockAmount","type":"uint256"},{"internalType":"bytes","name":"memo","type":"bytes"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"addProposalToRemoveMember","outputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ballotLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkUnfinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalizeEndedVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBallotInVoting","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxStaking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxVotingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"getMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"getMemberFromNodeIdx","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMemberLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinStaking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinVotingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"getNode","outputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"bytes","name":"enode","type":"bytes"},{"internalType":"bytes","name":"ip","type":"bytes"},{"internalType":"uint256","name":"port","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getNodeIdxFromMember","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNodeLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"getReward","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"getStakerAddr","outputs":[{"internalType":"address","name":"staker","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"getVoter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"registry","type":"address"},{"internalType":"uint256","name":"lockAmount","type":"uint256"},{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"bytes","name":"enode","type":"bytes"},{"internalType":"bytes","name":"ip","type":"bytes"},{"internalType":"uint256","name":"port","type":"uint256"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registry","type":"address"},{"internalType":"uint256","name":"oldModifiedBlock","type":"uint256"},{"internalType":"address","name":"oldOwner","type":"address"}],"name":"initMigration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registry","type":"address"},{"internalType":"uint256","name":"lockAmount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"initOnce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isMember","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isStaker","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isVoter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastAddProposalTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"oldGov","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"migrateFromLegacy","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"modifiedBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposal_time_period","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reInit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"indices","type":"uint256[]"},{"internalType":"address[]","name":"newRewards","type":"address[]"}],"name":"reInitV3","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reg","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewardIdx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"oldballotLength","type":"uint256"},{"internalType":"uint256","name":"oldvoteLength","type":"uint256"},{"internalType":"uint256","name":"oldballotInVoting","type":"uint256"}],"name":"setBallotForMigration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"staker","type":"address"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"address","name":"reward","type":"address"},{"internalType":"uint256","name":"stakerLastAddProposalTime","type":"uint256"},{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"bytes","name":"enode","type":"bytes"},{"internalType":"bytes","name":"ip","type":"bytes"},{"internalType":"uint256","name":"port","type":"uint256"}],"name":"setMembersForMigration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPeriod","type":"uint256"}],"name":"setProposalTimePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPeriod","type":"uint256"}],"name":"setProposalTimePeriodForMigration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakerIdx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ballotIdx","type":"uint256"},{"internalType":"bool","name":"approval","type":"bool"}],"name":"vote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"voteLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"voterIdx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]); function GovImp_new() { return GovImp_contract.new( @@ -55,7 +55,24 @@ function GovImp_new() { function GovImp_load(addr) { return GovImp_contract.at(addr); } -var Registry_data = "0x60806040526d57656d697820526567697374727960015534801561002257600080fd5b5061002c33610031565b610081565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6105f8806100906000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806360d6c7cf1161007157806360d6c7cf14610159578063715018a6146101925780637d10dd1b1461019c5780638da5cb5b146101a5578063ec56a373146101b6578063f2fde38b146101df57600080fd5b806304af66ad146100ae5780630d2020dd146100d65780630d854646146101015780633ec50c6c14610118578063599e4c7014610146575b600080fd5b6100c16100bc36600461051a565b6101f2565b60405190151581526020015b60405180910390f35b6100e96100e4366004610501565b610298565b6040516001600160a01b0390911681526020016100cd565b61010a60015481565b6040519081526020016100cd565b6100c161012636600461051a565b600460209081526000928352604080842090915290825290205460ff1681565b6100c1610154366004610546565b6102e8565b6100c161016736600461051a565b60009182526004602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61019a61038c565b005b61010a60025481565b6000546001600160a01b03166100e9565b6100e96101c4366004610501565b6003602052600090815260409020546001600160a01b031681565b61019a6101ed3660046104df565b6103a0565b60006101fc610419565b6001600160a01b03821661022b5760405162461bcd60e51b81526004016102229061058b565b60405180910390fd5b60008381526003602090815260409182902080546001600160a01b0319166001600160a01b03861690811790915543600255915133815285917f37724a4a9968ac9654e6ee52f3d0c93e5ef8863e057254ee2e36e8ad3e8429db910160405180910390a350600192915050565b6000818152600360205260408120546001600160a01b03166102cc5760405162461bcd60e51b81526004016102229061058b565b506000908152600360205260409020546001600160a01b031690565b60006102f2610419565b6001600160a01b0383166103185760405162461bcd60e51b81526004016102229061058b565b60008481526004602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915543600255905190815286917fe9f5231bbfb4b32867755b94562215cff6c8998489de8ba20926f8d0980e7818910160405180910390a35060019392505050565b610394610419565b61039e6000610473565b565b6103a8610419565b6001600160a01b03811661040d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610222565b61041681610473565b50565b6000546001600160a01b0316331461039e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610222565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146104da57600080fd5b919050565b6000602082840312156104f157600080fd5b6104fa826104c3565b9392505050565b60006020828403121561051357600080fd5b5035919050565b6000806040838503121561052d57600080fd5b8235915061053d602084016104c3565b90509250929050565b60008060006060848603121561055b57600080fd5b8335925061056b602085016104c3565b91506040840135801515811461058057600080fd5b809150509250925092565b6020808252601a908201527f616464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060408201526060019056fea2646970667358221220ace1d66b72bec2834a1452da82bfec0907eb0c949c79ae3ed7e43001d360266964736f6c63430008060033"; + +function IRegistrySet_new() { + return IRegistrySet_contract.new( + { + from: web3.eth.accounts[0], + data: IRegistrySet_data, + gas: "0x10000000" + }, function (e, contract) { + if (typeof contract.address !== "undefined") { + console.log("Contract mined! address: " + contract.address + " transactionHash: " + contract.transactionHash); + } + }); +} + +function IRegistrySet_load(addr) { + return IRegistrySet_contract.at(addr); +} +var Registry_data = "0x6080604052704d6574616469756d20526567697374727960015534801561002557600080fd5b5061002f33610034565b610084565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6105f8806100936000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806360d6c7cf1161007157806360d6c7cf14610159578063715018a6146101925780637d10dd1b1461019c5780638da5cb5b146101a5578063ec56a373146101b6578063f2fde38b146101df57600080fd5b806304af66ad146100ae5780630d2020dd146100d65780630d854646146101015780633ec50c6c14610118578063599e4c7014610146575b600080fd5b6100c16100bc36600461051a565b6101f2565b60405190151581526020015b60405180910390f35b6100e96100e4366004610501565b610298565b6040516001600160a01b0390911681526020016100cd565b61010a60015481565b6040519081526020016100cd565b6100c161012636600461051a565b600460209081526000928352604080842090915290825290205460ff1681565b6100c1610154366004610546565b6102e8565b6100c161016736600461051a565b60009182526004602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61019a61038c565b005b61010a60025481565b6000546001600160a01b03166100e9565b6100e96101c4366004610501565b6003602052600090815260409020546001600160a01b031681565b61019a6101ed3660046104df565b6103a0565b60006101fc610419565b6001600160a01b03821661022b5760405162461bcd60e51b81526004016102229061058b565b60405180910390fd5b60008381526003602090815260409182902080546001600160a01b0319166001600160a01b03861690811790915543600255915133815285917f37724a4a9968ac9654e6ee52f3d0c93e5ef8863e057254ee2e36e8ad3e8429db910160405180910390a350600192915050565b6000818152600360205260408120546001600160a01b03166102cc5760405162461bcd60e51b81526004016102229061058b565b506000908152600360205260409020546001600160a01b031690565b60006102f2610419565b6001600160a01b0383166103185760405162461bcd60e51b81526004016102229061058b565b60008481526004602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915543600255905190815286917fe9f5231bbfb4b32867755b94562215cff6c8998489de8ba20926f8d0980e7818910160405180910390a35060019392505050565b610394610419565b61039e6000610473565b565b6103a8610419565b6001600160a01b03811661040d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610222565b61041681610473565b50565b6000546001600160a01b0316331461039e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610222565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146104da57600080fd5b919050565b6000602082840312156104f157600080fd5b6104fa826104c3565b9392505050565b60006020828403121561051357600080fd5b5035919050565b6000806040838503121561052d57600080fd5b8235915061053d602084016104c3565b90509250929050565b60008060006060848603121561055b57600080fd5b8335925061056b602085016104c3565b91506040840135801515811461058057600080fd5b809150509250925092565b6020808252601a908201527f616464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060408201526060019056fea26469706673582212207cc709427cfc466690cf0a816c34288b0983b2314731cee267be41787b78f54764736f6c63430008060033"; var Registry_contract = web3.eth.contract([{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"setter","type":"address"},{"indexed":true,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"SetContractDomain","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_contract","type":"bytes32"},{"indexed":true,"internalType":"address","name":"granted","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"SetPermission","type":"event"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"contracts","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}],"name":"getContractAddress","outputs":[{"internalType":"address","name":"addr","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_contract","type":"bytes32"},{"internalType":"address","name":"_granted","type":"address"}],"name":"getPermission","outputs":[{"internalType":"bool","name":"found","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"magic","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"modifiedBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"permissions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"},{"internalType":"address","name":"_addr","type":"address"}],"name":"setContractDomain","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_contract","type":"bytes32"},{"internalType":"address","name":"_granted","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setPermission","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]); function Registry_new() { @@ -74,8 +91,8 @@ function Registry_new() { function Registry_load(addr) { return Registry_contract.at(addr); } -var StakingImp_data = "0x60a06040523060601b608052609b805460ff191690553480156200002257600080fd5b506200002d62000033565b620000f4565b600054610100900460ff1615620000a05760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000f2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805160601c612f216200012f60003960008181610b7101528181610bb101528181610c4e01528181610c8e0152610d1d0152612f216000f3fe6080604052600436106102345760003560e01c8063738fdd1a1161012e578063a91ee0dc116100ab578063d5c258901161006f578063d5c25890146106b3578063f1b8aa1d146106c8578063f2fde38b146106e8578063f3f6308014610708578063f69318221461072857600080fd5b8063a91ee0dc14610643578063b6549f7514610663578063bac4f33814610678578063c0d91eaf1461068b578063d0e30db0146106ab57600080fd5b80637f2f4c06116100f25780637f2f4c06146105a1578063884d97a7146105c15780638da5cb5b146105e15780639667e76a146105ff5780639986e4b91461061f57600080fd5b8063738fdd1a146104e85780637756c908146105205780637bf46530146105405780637d77a0eb146105615780637eee288d1461058157600080fd5b806334125c84116101bc5780635935573611610180578063593557361461041a5780635a731cca146104505780636c78d2cf1461047457806370a082311461049d578063715018a6146104d357600080fd5b806334125c84146103905780633659cfe6146103b05780634bd1ed76146103d05780634f1ef286146103f257806352d1902d1461040557600080fd5b8063282d3fdf11610203578063282d3fdf146102ea5780632b0b9c5e1461030c5780632bc9ed021461032c5780632e1a7d4d1461034f5780632f40992e1461036f57600080fd5b80631285361514610243578063193468ac146102765780631e0cba0d146102ac57806325d998bb146102ca57600080fd5b3661023e57600080fd5b600080fd5b34801561024f57600080fd5b5061026361025e366004612968565b610748565b6040519081526020015b60405180910390f35b34801561028257600080fd5b5061026361029136600461292e565b6001600160a01b0316600090815260ce602052604090205490565b3480156102b857600080fd5b50610263665374616b696e6760c81b81565b3480156102d657600080fd5b506102636102e536600461292e565b610775565b3480156102f657600080fd5b5061030a610305366004612a65565b6107a3565b005b34801561031857600080fd5b5061026361032736600461292e565b6107e9565b34801561033857600080fd5b50609b5460ff16604051901515815260200161026d565b34801561035b57600080fd5b5061030a61036a366004612b03565b610845565b34801561037b57600080fd5b506102636914995dd85c99141bdbdb60b21b81565b34801561039c57600080fd5b506102636845636f73797374656d60b81b81565b3480156103bc57600080fd5b5061030a6103cb36600461292e565b610b66565b3480156103dc57600080fd5b506102636a4d61696e74656e616e636560a81b81565b61030a6104003660046129a1565b610c43565b34801561041157600080fd5b50610263610d10565b34801561042657600080fd5b5061026361043536600461292e565b6001600160a01b031660009081526099602052604090205490565b34801561045c57600080fd5b506102636c14dd185ada5b99d4995dd85c99609a1b81565b34801561048057600080fd5b506102637111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b3480156104a957600080fd5b506102636104b836600461292e565b6001600160a01b031660009081526098602052604090205490565b3480156104df57600080fd5b5061030a610dc3565b3480156104f457600080fd5b50606554610508906001600160a01b031681565b6040516001600160a01b03909116815260200161026d565b34801561052c57600080fd5b5061030a61053b366004612a65565b610dd7565b34801561054c57600080fd5b5061026369456e7653746f7261676560b01b81565b34801561056d57600080fd5b5061026361057c366004612a91565b610f00565b34801561058d57600080fd5b5061030a61059c366004612a65565b610f74565b3480156105ad57600080fd5b5061030a6105bc36600461292e565b610fad565b3480156105cd57600080fd5b506102636105dc36600461292e565b61102d565b3480156105ed57600080fd5b506033546001600160a01b0316610508565b34801561060b57600080fd5b5061030a61061a366004612b03565b61103a565b34801561062b57600080fd5b506102636c42616c6c6f7453746f7261676560981b81565b34801561064f57600080fd5b5061030a61065e36600461292e565b611159565b34801561066f57600080fd5b5061030a611201565b61030a61068636600461292e565b61130b565b34801561069757600080fd5b5061030a6106a63660046129a1565b61170d565b61030a6118b8565b3480156106bf57600080fd5b50609a54610263565b3480156106d457600080fd5b5060cf54610508906001600160a01b031681565b3480156106f457600080fd5b5061030a61070336600461292e565b611b98565b34801561071457600080fd5b5061030a61072336600461292e565b611c0e565b34801561073457600080fd5b5061030a610743366004612a65565b611c2e565b6001600160a01b03808316600090815260cd60209081526040808320938516835292905220545b92915050565b6001600160a01b038116600090815260996020908152604080832054609890925282205461076f9190612e20565b336107ac611fc9565b6001600160a01b0316146107db5760405162461bcd60e51b81526004016107d290612c9c565b60405180910390fd5b6107e58282611fee565b5050565b6001600160a01b038116600090815260ce60209081526040808320546099909252822054811580610818575080155b15610827575060009392505050565b80610833836064612e01565b61083d9190612ddf565b949350505050565b61084d61224c565b609b5460ff16156108705760405162461bcd60e51b81526004016107d290612d17565b600081116108905760405162461bcd60e51b81526004016107d290612d3b565b600061089a6122a6565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108d257600080fd5b505afa1580156108e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090a9190612aea565b905060006109188383612dc7565b33600090815260ce602090815260408083205460999092529091205461093e9190612e20565b106109515761094d33846122be565b5060015b61095a33610775565b8311156109795760405162461bcd60e51b81526004016107d290612cc3565b33600090815260986020526040902054610994908490612e20565b3360009081526098602052604090205560cf546001600160a01b0316158015906109bb5750805b15610acd5760cf546040516000916001600160a01b03169085908381818185875af1925050503d8060008114610a0d576040519150601f19603f3d011682016040523d82523d6000602084013e610a12565b606091505b5050905080610a635760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657220746f204e4350207374616b696e67206661696c6564000060448201526064016107d2565b60cf546040516306aa67f960e01b8152600481018690523360248201526001600160a01b03909116906306aa67f990604401600060405180830381600087803b158015610aaf57600080fd5b505af1158015610ac3573d6000803e3d6000fd5b5050505050610afc565b604051339084156108fc029085906000818181858888f19350505050158015610afa573d6000803e3d6000fd5b505b336000818152609860205260409020547f204fccf0d92ed8d48f204adb39b2e81e92bad0dedb93f5716ca9478cfb57de00908590610b3984610775565b6040805193845260208401929092529082015260600160405180910390a25050610b636001606655565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610baf5760405162461bcd60e51b81526004016107d290612bba565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bf8600080516020612ea5833981519152546001600160a01b031690565b6001600160a01b031614610c1e5760405162461bcd60e51b81526004016107d290612c06565b610c278161237d565b60408051600080825260208201909252610b6391839190612385565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610c8c5760405162461bcd60e51b81526004016107d290612bba565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610cd5600080516020612ea5833981519152546001600160a01b031690565b6001600160a01b031614610cfb5760405162461bcd60e51b81526004016107d290612c06565b610d048261237d565b6107e582826001612385565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610db05760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016107d2565b50600080516020612ea583398151915290565b610dcb6124ff565b610dd56000612559565b565b33610de0611fc9565b6001600160a01b031614610e065760405162461bcd60e51b81526004016107d290612c9c565b80610e0f575050565b610e198282610f74565b6001600160a01b038216600090815260986020526040902054610e3d908290612e20565b6001600160a01b038316600090815260986020526040812091909155610e616125ab565b6001600160a01b038116600090815260986020526040902054909150610e88908390612dc7565b6001600160a01b0380831660009081526098602052604080822093909355908516808252919020547f2caed32a519a1fd89486d3ffe06202febb5ed51534d571dbab93058545a29e24908490610edd87610775565b6040805193845260208401929092529082015260600160405180910390a2505050565b6001600160a01b0382166000908152609960205260408120541580610f29575063ffffffff8216155b15610f365750600061076f565b609a546001600160a01b038416600090815260996020526040902054610f639063ffffffff851690612e01565b610f6d9190612ddf565b9392505050565b33610f7d611fc9565b6001600160a01b031614610fa35760405162461bcd60e51b81526004016107d290612c9c565b6107e582826122be565b610fb56124ff565b6001600160a01b03811661100b5760405162461bcd60e51b815260206004820152601e60248201527f4e43505374616b696e6720697320746865207a65726f2061646472657373000060448201526064016107d2565b60cf80546001600160a01b0319166001600160a01b0392909216919091179055565b600061076f826064610f00565b611042611fc9565b604051636f1e853360e01b81523360048201526001600160a01b039190911690636f1e85339060240160206040518083038186803b15801561108357600080fd5b505afa158015611097573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bb9190612ac8565b6110d75760405162461bcd60e51b81526004016107d290612c9c565b6110e13382611fee565b60cf546001600160a01b031615610b635760cf546040516301008e9960e61b8152600481018390523360248201526001600160a01b0390911690634023a64090604401600060405180830381600087803b15801561113e57600080fd5b505af1158015611152573d6000803e3d6000fd5b5050505050565b6111616124ff565b6001600160a01b0381166111b75760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060448201526064016107d2565b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b6112096124ff565b609b5460ff161561122c5760405162461bcd60e51b81526004016107d290612d17565b60006112406033546001600160a01b031690565b9050478061127e5760405162461bcd60e51b815260206004820152600b60248201526a062616c616e6365203d20360ac1b60448201526064016107d2565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156112b4573d6000803e3d6000fd5b50609b805460ff191660011790556040516001600160a01b038316907f713b90881ad62c4fa8ab6bd9197fa86481fc0c11b2edba60026514281b2dbac4906112ff9084815260200190565b60405180910390a25050565b61131361224c565b609b5460ff16156113365760405162461bcd60e51b81526004016107d290612d17565b60cf546001600160a01b031633146113605760405162461bcd60e51b81526004016107d290612b6b565b600034116113805760405162461bcd60e51b81526004016107d290612c52565b611388611fc9565b60405163288c314960e21b81526001600160a01b038381166004830152919091169063a230c5249060240160206040518083038186803b1580156113cb57600080fd5b505afa1580156113df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114039190612ac8565b6114485760405162461bcd60e51b81526020600482015260166024820152752721a81039b437bab63210313290309036b2b6b132b960511b60448201526064016107d2565b6001600160a01b038116600090815260986020526040902054349061146e908290612dc7565b6001600160a01b0383166000908152609860205260408120919091556114926122a6565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ca57600080fd5b505afa1580156114de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115029190612aea565b9050600061150e6122a6565b6001600160a01b031663737c59b86040518163ffffffff1660e01b815260040160206040518083038186803b15801561154657600080fd5b505afa15801561155a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157e9190612aea565b6001600160a01b03851660009081526099602052604090205490915082118015906115cd57506001600160a01b03841660009081526099602052604090205481906115ca908590612dc7565b11155b6116195760405162461bcd60e51b815260206004820152601f60248201527f757365722073686f756c6420626520696e207374616b696e672072616e67650060448201526064016107d2565b6116238484611fee565b6001600160a01b038416600090815260cd60209081526040808320338452909152902054611652908490612dc7565b6001600160a01b038516600081815260cd6020908152604080832033845282528083209490945591815260ce909152205461168e908490612dc7565b6001600160a01b038516600081815260ce6020908152604080832085905560cd825280832033808552908352928190205481518981529283019590955281019390935290917f74cfc20f0e6d14384c3a60820d3e814f6979d009cdbb43db27fa56fe475172fd9060600160405180910390a3505050610b636001606655565b600054610100900460ff161580801561172d5750600054600160ff909116105b806117475750303b158015611747575060005460ff166001145b6117aa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107d2565b6000805460ff1916600117905580156117cd576000805461ff0019166101001790555b6000609a556117da6125c2565b6117e26125f1565b6117eb83611159565b81516117f65761186d565b60008060008060208601915085518261180f9190612dc7565b90505b808210156118685781519350611829602083612dc7565b915080821061183757600080fd5b81519250611846602083612dc7565b6001600160a01b03851660009081526098602052604090208490559150611812565b505050505b80156118b3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6118c061224c565b609b5460ff16156118e35760405162461bcd60e51b81526004016107d290612d17565b600034116119035760405162461bcd60e51b81526004016107d290612c52565b3360009081526098602052604090205461191e903490612dc7565b33600090815260986020526040902055611936611fc9565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b15801561197757600080fd5b505afa15801561198b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119af9190612ac8565b15611b335760006119be6122a6565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156119f657600080fd5b505afa158015611a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2e9190612aea565b3360009081526099602052604090205490915081118015611a70575033600090815260996020526040902054611a649082612e20565b611a6d33610775565b10155b15611b315733600081815260996020526040902054611a999190611a949084612e20565b611fee565b60cf546001600160a01b031615611b315760cf54336000908152609960205260409020546001600160a01b0390911690634023a64090611ad99084612e20565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611b1857600080fd5b505af1158015611b2c573d6000803e3d6000fd5b505050505b505b336000818152609860205260409020547fb4caaf29adda3eefee3ad552a8e85058589bf834c7466cae4ee58787f70589ed903490611b7084610775565b6040805193845260208401929092529082015260600160405180910390a2610dd56001606655565b611ba06124ff565b6001600160a01b038116611c055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107d2565b610b6381612559565b611c166124ff565b6001600160a01b03811615610b6357610c278161237d565b611c3661224c565b609b5460ff1615611c595760405162461bcd60e51b81526004016107d290612d17565b60cf546001600160a01b03163314611c835760405162461bcd60e51b81526004016107d290612b6b565b60008111611ca35760405162461bcd60e51b81526004016107d290612d3b565b611cab611fc9565b60405163288c314960e21b81526001600160a01b038481166004830152919091169063a230c5249060240160206040518083038186803b158015611cee57600080fd5b505afa158015611d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d269190612ac8565b611d6b5760405162461bcd60e51b81526020600482015260166024820152752721a81039b437bab63210313290309036b2b6b132b960511b60448201526064016107d2565b806000611d766122a6565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b158015611dae57600080fd5b505afa158015611dc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de69190612aea565b6001600160a01b038516600090815260cd602090815260408083203384529091529020549091508211801590611e4557508082611e38866001600160a01b031660009081526099602052604090205490565b611e429190612e20565b10155b611e615760405162461bcd60e51b81526004016107d290612cc3565b611e6b84836122be565b6001600160a01b038416600090815260986020526040902054611e8f908390612e20565b6001600160a01b03851660009081526098602090815260408083209390935560cd815282822033835290522054611ec7908390612e20565b6001600160a01b038516600081815260cd6020908152604080832033845282528083209490945591815260ce9091522054611f03908390612e20565b6001600160a01b03808616600090815260ce60205260408082209390935560cf549251929091169184156108fc0291859190818181858888f19350505050158015611f52573d6000803e3d6000fd5b506001600160a01b038416600081815260ce602090815260408083205460cd835281842033808652908452938290205482518881529384019190915282820152517f03d2bb70c6ccc49d68a465a06edffb976961cf8930888658ca2339fa62b8bda29181900360600190a350506107e56001606655565b6000611fe97111dbdd995c9b985b98d950dbdb9d1c9858dd60721b612620565b905090565b80611ff7575050565b6001600160a01b0382166000908152609860205260409020548111156120785760405162461bcd60e51b815260206004820152603060248201527f4c6f636b20616d6f756e742073686f756c6420626520657175616c206f72206c60448201526f657373207468616e2062616c616e636560801b60648201526084016107d2565b8061208283610775565b10156120e05760405162461bcd60e51b815260206004820152602760248201527f496e73756666696369656e742062616c616e636520746861742063616e206265604482015266081b1bd8dad95960ca1b60648201526084016107d2565b60006120ea6122a6565b6001600160a01b031663737c59b86040518163ffffffff1660e01b815260040160206040518083038186803b15801561212257600080fd5b505afa158015612136573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215a9190612aea565b6001600160a01b038416600090815260996020526040902054909150612181908390612dc7565b6001600160a01b03841660009081526099602052604090208190558110156121f55760405162461bcd60e51b815260206004820152602160248201527f4c6f636b65642062616c616e6365206973206c6172676572207468616e206d616044820152600f60fb1b60648201526084016107d2565b81609a546122039190612dc7565b609a556001600160a01b0383166000818152609860205260409020547f44cebfefa4561bee5b61d675ccfd8dc9969fff9cc15e7a4eccccd62af94f9c11908490610edd87610775565b6002606654141561229f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107d2565b6002606655565b6000611fe969456e7653746f7261676560b01b612620565b806122c7575050565b6001600160a01b0382166000908152609960205260409020546122eb908290612e20565b6001600160a01b038316600090815260996020526040902055609a54612312908290612e20565b609a556001600160a01b0382166000818152609860205260409020547f5245d528087a96a64f4589a764f00061e4671eab90cb1e019b1a5b24b2e4c2a890839061235b86610775565b604080519384526020840192909252908201526060016112ff565b6001606655565b610b636124ff565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156123b8576118b38361269d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156123f157600080fd5b505afa925050508015612421575060408051601f3d908101601f1916820190925261241e91810190612aea565b60015b6124845760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016107d2565b600080516020612ea583398151915281146124f35760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016107d2565b506118b3838383612739565b6033546001600160a01b03163314610dd55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107d2565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611fe96845636f73797374656d60b81b612620565b600054610100900460ff166125e95760405162461bcd60e51b81526004016107d290612d7c565b610dd5612764565b600054610100900460ff166126185760405162461bcd60e51b81526004016107d290612d7c565b610dd561278b565b606554604051630d2020dd60e01b8152600481018390526000916001600160a01b031690630d2020dd9060240160206040518083038186803b15801561266557600080fd5b505afa158015612679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076f919061294b565b6001600160a01b0381163b61270a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016107d2565b600080516020612ea583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612742836127bb565b60008251118061274f5750805b156118b35761275e83836127fb565b50505050565b600054610100900460ff166123765760405162461bcd60e51b81526004016107d290612d7c565b600054610100900460ff166127b25760405162461bcd60e51b81526004016107d290612d7c565b610dd533612559565b6127c48161269d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610f6d8383604051806060016040528060278152602001612ec5602791396060600080856001600160a01b0316856040516128389190612b1c565b600060405180830381855af49150503d8060008114612873576040519150601f19603f3d011682016040523d82523d6000602084013e612878565b606091505b509150915061288986838387612893565b9695505050505050565b606083156128ff5782516128f8576001600160a01b0385163b6128f85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107d2565b508161083d565b61083d83838151156129145781518083602001fd5b8060405162461bcd60e51b81526004016107d29190612b38565b60006020828403121561294057600080fd5b8135610f6d81612e8f565b60006020828403121561295d57600080fd5b8151610f6d81612e8f565b6000806040838503121561297b57600080fd5b823561298681612e8f565b9150602083013561299681612e8f565b809150509250929050565b600080604083850312156129b457600080fd5b82356129bf81612e8f565b9150602083013567ffffffffffffffff808211156129dc57600080fd5b818501915085601f8301126129f057600080fd5b813581811115612a0257612a02612e79565b604051601f8201601f19908116603f01168101908382118183101715612a2a57612a2a612e79565b81604052828152886020848701011115612a4357600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215612a7857600080fd5b8235612a8381612e8f565b946020939093013593505050565b60008060408385031215612aa457600080fd5b8235612aaf81612e8f565b9150602083013563ffffffff8116811461299657600080fd5b600060208284031215612ada57600080fd5b81518015158114610f6d57600080fd5b600060208284031215612afc57600080fd5b5051919050565b600060208284031215612b1557600080fd5b5035919050565b60008251612b2e818460208701612e37565b9190910192915050565b6020815260008251806020840152612b57816040850160208701612e37565b601f01601f19169190910160400192915050565b6020808252602f908201527f4f6e6c79204e43505374616b696e6720636f6e74726163742063616e2063616c60408201526e36103a3434b990333ab731ba34b7b760891b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602a908201527f4465706f73697420616d6f756e742073686f756c642062652067726561746572604082015269207468616e207a65726f60b01b606082015260800190565b6020808252600d908201526c2737902832b936b4b9b9b4b7b760991b604082015260600190565b60208082526034908201527f576974686472617720616d6f756e742073686f756c6420626520657175616c206040820152736f72206c657373207468616e2062616c616e636560601b606082015260800190565b6020808252600a9082015269125cc81c995d9bdad95960b21b604082015260600190565b60208082526021908201527f416d6f756e742073686f756c6420626520626967676572207468616e207a65726040820152606f60f81b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008219821115612dda57612dda612e63565b500190565b600082612dfc57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612e1b57612e1b612e63565b500290565b600082821015612e3257612e32612e63565b500390565b60005b83811015612e52578181015183820152602001612e3a565b8381111561275e5750506000910152565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610b6357600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122042e83c34556c2fc1280f674a79356265caae9e5830724b9c1fe5109a1ac1a48c64736f6c63430008060033"; -var StakingImp_contract = web3.eth.contract([{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"ncp","type":"address"},{"indexed":false,"internalType":"uint256","name":"ncpTotalLocked","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"userTotalLocked","type":"uint256"}],"name":"DelegateStaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"ncp","type":"address"},{"indexed":false,"internalType":"uint256","name":"ncpTotalLocked","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"userTotalLocked","type":"uint256"}],"name":"DelegateUnstaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Revoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"SetRegistry","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"TransferLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Unlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Unstaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"BALLOT_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ENV_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOV_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINTENANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_POOL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"availableBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"calcVotingWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"},{"internalType":"uint32","name":"factor","type":"uint32"}],"name":"calcVotingWeightWithScaleFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"}],"name":"delegateDepositAndLockMore","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"delegateUnlockAndWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"}],"name":"getRatioOfUserBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalLockedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"registry","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isRevoked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"},{"internalType":"uint256","name":"lockAmount","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockAmount","type":"uint256"}],"name":"lockMore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"lockedBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ncpStaking","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reg","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revoke","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_ncpStaking","type":"address"}],"name":"setNCPStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferLocked","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"},{"internalType":"uint256","name":"unlockAmount","type":"uint256"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImp","type":"address"}],"name":"upgradeStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"},{"internalType":"address","name":"user","type":"address"}],"name":"userBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"}],"name":"userTotalBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]); +var StakingImp_data = "0x60a06040523060601b608052609b805460ff191690553480156200002257600080fd5b506200002d62000033565b620000f4565b600054610100900460ff1615620000a05760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000f2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805160601c61339a6200012f60003960008181610f3401528181610f74015281816110110152818161105101526110e0015261339a6000f3fe60806040526004361061023f5760003560e01c8063738fdd1a1161012e578063a91ee0dc116100ab578063d5c258901161006f578063d5c25890146106de578063f1b8aa1d146106f3578063f2fde38b14610713578063f3f6308014610733578063f69318221461075357600080fd5b8063a91ee0dc1461066e578063b6549f751461068e578063bac4f338146106a3578063c0d91eaf146106b6578063d0e30db0146106d657600080fd5b80637f2f4c06116100f25780637f2f4c06146105cc578063884d97a7146105ec5780638da5cb5b1461060c5780639667e76a1461062a5780639986e4b91461064a57600080fd5b8063738fdd1a146105135780637756c9081461054b5780637bf465301461056b5780637d77a0eb1461058c5780637eee288d146105ac57600080fd5b806334125c84116101bc578063593557361161018057806359355736146104455780635a731cca1461047b5780636c78d2cf1461049f57806370a08231146104c8578063715018a6146104fe57600080fd5b806334125c84146103bb5780633659cfe6146103db5780634bd1ed76146103fb5780634f1ef2861461041d57806352d1902d1461043057600080fd5b8063282d3fdf11610203578063282d3fdf146103175780632b0b9c5e146103375780632bc9ed02146103575780632e1a7d4d1461037a5780632f40992e1461039a57600080fd5b8063128536151461024e578063193468ac146102815780631caf00c0146102b75780631e0cba0d146102d957806325d998bb146102f757600080fd5b3661024957600080fd5b600080fd5b34801561025a57600080fd5b5061026e610269366004612d48565b610773565b6040519081526020015b60405180910390f35b34801561028d57600080fd5b5061026e61029c366004612d0e565b6001600160a01b0316600090815260ce602052604090205490565b3480156102c357600080fd5b506102d76102d2366004612d81565b6107a0565b005b3480156102e557600080fd5b5061026e665374616b696e6760c81b81565b34801561030357600080fd5b5061026e610312366004612d0e565b610b41565b34801561032357600080fd5b506102d7610332366004612e90565b610b6f565b34801561034357600080fd5b5061026e610352366004612d0e565b610bac565b34801561036357600080fd5b50609b5460ff166040519015158152602001610278565b34801561038657600080fd5b506102d7610395366004612f2e565b610c08565b3480156103a657600080fd5b5061026e6914995dd85c99141bdbdb60b21b81565b3480156103c757600080fd5b5061026e6845636f73797374656d60b81b81565b3480156103e757600080fd5b506102d76103f6366004612d0e565b610f29565b34801561040757600080fd5b5061026e6a4d61696e74656e616e636560a81b81565b6102d761042b366004612dcc565b611006565b34801561043c57600080fd5b5061026e6110d3565b34801561045157600080fd5b5061026e610460366004612d0e565b6001600160a01b031660009081526099602052604090205490565b34801561048757600080fd5b5061026e6c14dd185ada5b99d4995dd85c99609a1b81565b3480156104ab57600080fd5b5061026e7111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b3480156104d457600080fd5b5061026e6104e3366004612d0e565b6001600160a01b031660009081526098602052604090205490565b34801561050a57600080fd5b506102d7611186565b34801561051f57600080fd5b50606554610533906001600160a01b031681565b6040516001600160a01b039091168152602001610278565b34801561055757600080fd5b506102d7610566366004612e90565b61119a565b34801561057757600080fd5b5061026e69456e7653746f7261676560b01b81565b34801561059857600080fd5b5061026e6105a7366004612ebc565b6112c3565b3480156105b857600080fd5b506102d76105c7366004612e90565b611337565b3480156105d857600080fd5b506102d76105e7366004612d0e565b611370565b3480156105f857600080fd5b5061026e610607366004612d0e565b6113f0565b34801561061857600080fd5b506033546001600160a01b0316610533565b34801561063657600080fd5b506102d7610645366004612f2e565b6113fd565b34801561065657600080fd5b5061026e6c42616c6c6f7453746f7261676560981b81565b34801561067a57600080fd5b506102d7610689366004612d0e565b61151c565b34801561069a57600080fd5b506102d76115c4565b6102d76106b1366004612d0e565b6116ce565b3480156106c257600080fd5b506102d76106d1366004612dcc565b611ad0565b6102d7611c34565b3480156106ea57600080fd5b50609a5461026e565b3480156106ff57600080fd5b5060cf54610533906001600160a01b031681565b34801561071f57600080fd5b506102d761072e366004612d0e565b611f14565b34801561073f57600080fd5b506102d761074e366004612d0e565b611f8a565b34801561075f57600080fd5b506102d761076e366004612e90565b611faa565b6001600160a01b03808316600090815260cd60209081526040808320938516835292905220545b92915050565b600054610100900460ff16158080156107c05750600054600160ff909116105b806107da5750303b1580156107da575060005460ff166001145b6107ff5760405162461bcd60e51b81526004016107f6906130c7565b60405180910390fd5b6000805460ff191660011790558015610822576000805461ff0019166101001790555b6001600160a01b0384161580159061084257506001600160a01b03831615155b801561085657506001600160a01b03821615155b6108a25760405162461bcd60e51b815260206004820152601b60248201527f6164647265737320697320746865207a65726f2061646472657373000000000060448201526064016107f6565b6000609a556108af6123af565b6108b76123de565b6108c08461151c565b828260015b826001600160a01b031663d965ea006040518163ffffffff1660e01b815260040160206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109369190612f15565b8111610af25760405163ab3545e560e01b8152600481018290526000906001600160a01b0385169063ab3545e59060240160206040518083038186803b15801561097f57600080fd5b505afa158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190612d2b565b6040516370a0823160e01b81526001600160a01b0380831660048301529192506000918516906370a082319060240160206040518083038186803b1580156109fe57600080fd5b505afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a369190612f15565b604051632c9aab9b60e11b81526001600160a01b03848116600483015291925060009186169063593557369060240160206040518083038186803b158015610a7d57600080fd5b505afa158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab59190612f15565b6001600160a01b03909316600090815260986020908152604080832094909455609990529190912082905550609a805490910190556001016108c5565b5050508015610b3b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6001600160a01b038116600090815260996020908152604080832054609890925282205461079a9190613299565b33610b7861240d565b6001600160a01b031614610b9e5760405162461bcd60e51b81526004016107f690613115565b610ba88282612432565b5050565b6001600160a01b038116600090815260ce60209081526040808320546099909252822054811580610bdb575080155b15610bea575060009392505050565b80610bf683606461327a565b610c009190613258565b949350505050565b610c10612690565b609b5460ff1615610c335760405162461bcd60e51b81526004016107f690613190565b60008111610c535760405162461bcd60e51b81526004016107f6906131b4565b6000610c5d6126ea565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c9557600080fd5b505afa158015610ca9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccd9190612f15565b90506000610cdb8383613240565b33600090815260ce6020908152604080832054609990925290912054610d019190613299565b10610d1457610d103384612702565b5060015b610d1d33610b41565b831115610d3c5760405162461bcd60e51b81526004016107f69061313c565b33600090815260986020526040902054610d57908490613299565b3360009081526098602052604090205560cf546001600160a01b031615801590610d7e5750805b15610e905760cf546040516000916001600160a01b03169085908381818185875af1925050503d8060008114610dd0576040519150601f19603f3d011682016040523d82523d6000602084013e610dd5565b606091505b5050905080610e265760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657220746f204e4350207374616b696e67206661696c6564000060448201526064016107f6565b60cf546040516306aa67f960e01b8152600481018690523360248201526001600160a01b03909116906306aa67f990604401600060405180830381600087803b158015610e7257600080fd5b505af1158015610e86573d6000803e3d6000fd5b5050505050610ebf565b604051339084156108fc029085906000818181858888f19350505050158015610ebd573d6000803e3d6000fd5b505b336000818152609860205260409020547f204fccf0d92ed8d48f204adb39b2e81e92bad0dedb93f5716ca9478cfb57de00908590610efc84610b41565b6040805193845260208401929092529082015260600160405180910390a25050610f266001606655565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610f725760405162461bcd60e51b81526004016107f690612fe5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fbb60008051602061331e833981519152546001600160a01b031690565b6001600160a01b031614610fe15760405162461bcd60e51b81526004016107f690613031565b610fea816127c1565b60408051600080825260208201909252610f26918391906127c9565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561104f5760405162461bcd60e51b81526004016107f690612fe5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661109860008051602061331e833981519152546001600160a01b031690565b6001600160a01b0316146110be5760405162461bcd60e51b81526004016107f690613031565b6110c7826127c1565b610ba8828260016127c9565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111735760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016107f6565b5060008051602061331e83398151915290565b61118e612943565b611198600061299d565b565b336111a361240d565b6001600160a01b0316146111c95760405162461bcd60e51b81526004016107f690613115565b806111d2575050565b6111dc8282611337565b6001600160a01b038216600090815260986020526040902054611200908290613299565b6001600160a01b0383166000908152609860205260408120919091556112246129ef565b6001600160a01b03811660009081526098602052604090205490915061124b908390613240565b6001600160a01b0380831660009081526098602052604080822093909355908516808252919020547f2caed32a519a1fd89486d3ffe06202febb5ed51534d571dbab93058545a29e249084906112a087610b41565b6040805193845260208401929092529082015260600160405180910390a2505050565b6001600160a01b03821660009081526099602052604081205415806112ec575063ffffffff8216155b156112f95750600061079a565b609a546001600160a01b0384166000908152609960205260409020546113269063ffffffff85169061327a565b6113309190613258565b9392505050565b3361134061240d565b6001600160a01b0316146113665760405162461bcd60e51b81526004016107f690613115565b610ba88282612702565b611378612943565b6001600160a01b0381166113ce5760405162461bcd60e51b815260206004820152601e60248201527f4e43505374616b696e6720697320746865207a65726f2061646472657373000060448201526064016107f6565b60cf80546001600160a01b0319166001600160a01b0392909216919091179055565b600061079a8260646112c3565b61140561240d565b604051636f1e853360e01b81523360048201526001600160a01b039190911690636f1e85339060240160206040518083038186803b15801561144657600080fd5b505afa15801561145a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147e9190612ef3565b61149a5760405162461bcd60e51b81526004016107f690613115565b6114a43382612432565b60cf546001600160a01b031615610f265760cf546040516301008e9960e61b8152600481018390523360248201526001600160a01b0390911690634023a64090604401600060405180830381600087803b15801561150157600080fd5b505af1158015611515573d6000803e3d6000fd5b5050505050565b611524612943565b6001600160a01b03811661157a5760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060448201526064016107f6565b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b6115cc612943565b609b5460ff16156115ef5760405162461bcd60e51b81526004016107f690613190565b60006116036033546001600160a01b031690565b905047806116415760405162461bcd60e51b815260206004820152600b60248201526a062616c616e6365203d20360ac1b60448201526064016107f6565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611677573d6000803e3d6000fd5b50609b805460ff191660011790556040516001600160a01b038316907f713b90881ad62c4fa8ab6bd9197fa86481fc0c11b2edba60026514281b2dbac4906116c29084815260200190565b60405180910390a25050565b6116d6612690565b609b5460ff16156116f95760405162461bcd60e51b81526004016107f690613190565b60cf546001600160a01b031633146117235760405162461bcd60e51b81526004016107f690612f96565b600034116117435760405162461bcd60e51b81526004016107f69061307d565b61174b61240d565b60405163288c314960e21b81526001600160a01b038381166004830152919091169063a230c5249060240160206040518083038186803b15801561178e57600080fd5b505afa1580156117a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c69190612ef3565b61180b5760405162461bcd60e51b81526020600482015260166024820152752721a81039b437bab63210313290309036b2b6b132b960511b60448201526064016107f6565b6001600160a01b0381166000908152609860205260409020543490611831908290613240565b6001600160a01b0383166000908152609860205260408120919091556118556126ea565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561188d57600080fd5b505afa1580156118a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c59190612f15565b905060006118d16126ea565b6001600160a01b031663737c59b86040518163ffffffff1660e01b815260040160206040518083038186803b15801561190957600080fd5b505afa15801561191d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119419190612f15565b6001600160a01b038516600090815260996020526040902054909150821180159061199057506001600160a01b038416600090815260996020526040902054819061198d908590613240565b11155b6119dc5760405162461bcd60e51b815260206004820152601f60248201527f757365722073686f756c6420626520696e207374616b696e672072616e67650060448201526064016107f6565b6119e68484612432565b6001600160a01b038416600090815260cd60209081526040808320338452909152902054611a15908490613240565b6001600160a01b038516600081815260cd6020908152604080832033845282528083209490945591815260ce9091522054611a51908490613240565b6001600160a01b038516600081815260ce6020908152604080832085905560cd825280832033808552908352928190205481518981529283019590955281019390935290917f74cfc20f0e6d14384c3a60820d3e814f6979d009cdbb43db27fa56fe475172fd9060600160405180910390a3505050610f266001606655565b600054610100900460ff1615808015611af05750600054600160ff909116105b80611b0a5750303b158015611b0a575060005460ff166001145b611b265760405162461bcd60e51b81526004016107f6906130c7565b6000805460ff191660011790558015611b49576000805461ff0019166101001790555b6000609a55611b566123af565b611b5e6123de565b611b678361151c565b8151611b7257611be9565b600080600080602086019150855182611b8b9190613240565b90505b80821015611be45781519350611ba5602083613240565b9150808210611bb357600080fd5b81519250611bc2602083613240565b6001600160a01b03851660009081526098602052604090208490559150611b8e565b505050505b8015611c2f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b611c3c612690565b609b5460ff1615611c5f5760405162461bcd60e51b81526004016107f690613190565b60003411611c7f5760405162461bcd60e51b81526004016107f69061307d565b33600090815260986020526040902054611c9a903490613240565b33600090815260986020526040902055611cb261240d565b60405163288c314960e21b81523360048201526001600160a01b03919091169063a230c5249060240160206040518083038186803b158015611cf357600080fd5b505afa158015611d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2b9190612ef3565b15611eaf576000611d3a6126ea565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d7257600080fd5b505afa158015611d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611daa9190612f15565b3360009081526099602052604090205490915081118015611dec575033600090815260996020526040902054611de09082613299565b611de933610b41565b10155b15611ead5733600081815260996020526040902054611e159190611e109084613299565b612432565b60cf546001600160a01b031615611ead5760cf54336000908152609960205260409020546001600160a01b0390911690634023a64090611e559084613299565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611e9457600080fd5b505af1158015611ea8573d6000803e3d6000fd5b505050505b505b336000818152609860205260409020547fb4caaf29adda3eefee3ad552a8e85058589bf834c7466cae4ee58787f70589ed903490611eec84610b41565b6040805193845260208401929092529082015260600160405180910390a26111986001606655565b611f1c612943565b6001600160a01b038116611f815760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f6565b610f268161299d565b611f92612943565b6001600160a01b03811615610f2657610fea816127c1565b611fb2612690565b609b5460ff1615611fd55760405162461bcd60e51b81526004016107f690613190565b60cf546001600160a01b03163314611fff5760405162461bcd60e51b81526004016107f690612f96565b6000811161201f5760405162461bcd60e51b81526004016107f6906131b4565b61202761240d565b60405163288c314960e21b81526001600160a01b038481166004830152919091169063a230c5249060240160206040518083038186803b15801561206a57600080fd5b505afa15801561207e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a29190612ef3565b6120e75760405162461bcd60e51b81526020600482015260166024820152752721a81039b437bab63210313290309036b2b6b132b960511b60448201526064016107f6565b8060006120f26126ea565b6001600160a01b031663076cd77f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561212a57600080fd5b505afa15801561213e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121629190612f15565b6001600160a01b038516600090815260cd6020908152604080832033845290915290205490915082118015906121c1575080826121b4866001600160a01b031660009081526099602052604090205490565b6121be9190613299565b10155b6121dd5760405162461bcd60e51b81526004016107f69061313c565b6121e78483612702565b6001600160a01b03841660009081526098602052604090205461220b908390613299565b6001600160a01b03851660009081526098602090815260408083209390935560cd815282822033835290522054612243908390613299565b6001600160a01b038516600081815260cd6020908152604080832033845282528083209490945591815260ce909152205461227f908390613299565b6001600160a01b03858116600090815260ce60205260408082209390935560cf54925190929091169084908381818185875af1925050503d80600081146122e2576040519150601f19603f3d011682016040523d82523d6000602084013e6122e7565b606091505b50509050806123385760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657220746f204e4350207374616b696e67206661696c6564000060448201526064016107f6565b6001600160a01b038516600081815260ce602090815260408083205460cd835281842033808652908452938290205482518981529384019190915282820152517f03d2bb70c6ccc49d68a465a06edffb976961cf8930888658ca2339fa62b8bda29181900360600190a3505050610ba86001606655565b600054610100900460ff166123d65760405162461bcd60e51b81526004016107f6906131f5565b611198612a06565b600054610100900460ff166124055760405162461bcd60e51b81526004016107f6906131f5565b611198612a2d565b600061242d7111dbdd995c9b985b98d950dbdb9d1c9858dd60721b612a5d565b905090565b8061243b575050565b6001600160a01b0382166000908152609860205260409020548111156124bc5760405162461bcd60e51b815260206004820152603060248201527f4c6f636b20616d6f756e742073686f756c6420626520657175616c206f72206c60448201526f657373207468616e2062616c616e636560801b60648201526084016107f6565b806124c683610b41565b10156125245760405162461bcd60e51b815260206004820152602760248201527f496e73756666696369656e742062616c616e636520746861742063616e206265604482015266081b1bd8dad95960ca1b60648201526084016107f6565b600061252e6126ea565b6001600160a01b031663737c59b86040518163ffffffff1660e01b815260040160206040518083038186803b15801561256657600080fd5b505afa15801561257a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061259e9190612f15565b6001600160a01b0384166000908152609960205260409020549091506125c5908390613240565b6001600160a01b03841660009081526099602052604090208190558110156126395760405162461bcd60e51b815260206004820152602160248201527f4c6f636b65642062616c616e6365206973206c6172676572207468616e206d616044820152600f60fb1b60648201526084016107f6565b81609a546126479190613240565b609a556001600160a01b0383166000818152609860205260409020547f44cebfefa4561bee5b61d675ccfd8dc9969fff9cc15e7a4eccccd62af94f9c119084906112a087610b41565b600260665414156126e35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107f6565b6002606655565b600061242d69456e7653746f7261676560b01b612a5d565b8061270b575050565b6001600160a01b03821660009081526099602052604090205461272f908290613299565b6001600160a01b038316600090815260996020526040902055609a54612756908290613299565b609a556001600160a01b0382166000818152609860205260409020547f5245d528087a96a64f4589a764f00061e4671eab90cb1e019b1a5b24b2e4c2a890839061279f86610b41565b604080519384526020840192909252908201526060016116c2565b6001606655565b610f26612943565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156127fc57611c2f83612ada565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561283557600080fd5b505afa925050508015612865575060408051601f3d908101601f1916820190925261286291810190612f15565b60015b6128c85760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016107f6565b60008051602061331e83398151915281146129375760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016107f6565b50611c2f838383612b76565b6033546001600160a01b031633146111985760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107f6565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061242d6845636f73797374656d60b81b612a5d565b600054610100900460ff166127ba5760405162461bcd60e51b81526004016107f6906131f5565b600054610100900460ff16612a545760405162461bcd60e51b81526004016107f6906131f5565b6111983361299d565b606554604051630d2020dd60e01b8152600481018390526000916001600160a01b031690630d2020dd9060240160206040518083038186803b158015612aa257600080fd5b505afa158015612ab6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079a9190612d2b565b6001600160a01b0381163b612b475760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016107f6565b60008051602061331e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612b7f83612b9b565b600082511180612b8c5750805b15611c2f57610b3b8383612bdb565b612ba481612ada565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611330838360405180606001604052806027815260200161333e602791396060600080856001600160a01b031685604051612c189190612f47565b600060405180830381855af49150503d8060008114612c53576040519150601f19603f3d011682016040523d82523d6000602084013e612c58565b606091505b5091509150612c6986838387612c73565b9695505050505050565b60608315612cdf578251612cd8576001600160a01b0385163b612cd85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107f6565b5081610c00565b610c008383815115612cf45781518083602001fd5b8060405162461bcd60e51b81526004016107f69190612f63565b600060208284031215612d2057600080fd5b813561133081613308565b600060208284031215612d3d57600080fd5b815161133081613308565b60008060408385031215612d5b57600080fd5b8235612d6681613308565b91506020830135612d7681613308565b809150509250929050565b600080600060608486031215612d9657600080fd5b8335612da181613308565b92506020840135612db181613308565b91506040840135612dc181613308565b809150509250925092565b60008060408385031215612ddf57600080fd5b8235612dea81613308565b9150602083013567ffffffffffffffff80821115612e0757600080fd5b818501915085601f830112612e1b57600080fd5b813581811115612e2d57612e2d6132f2565b604051601f8201601f19908116603f01168101908382118183101715612e5557612e556132f2565b81604052828152886020848701011115612e6e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215612ea357600080fd5b8235612eae81613308565b946020939093013593505050565b60008060408385031215612ecf57600080fd5b8235612eda81613308565b9150602083013563ffffffff81168114612d7657600080fd5b600060208284031215612f0557600080fd5b8151801515811461133057600080fd5b600060208284031215612f2757600080fd5b5051919050565b600060208284031215612f4057600080fd5b5035919050565b60008251612f598184602087016132b0565b9190910192915050565b6020815260008251806020840152612f828160408501602087016132b0565b601f01601f19169190910160400192915050565b6020808252602f908201527f4f6e6c79204e43505374616b696e6720636f6e74726163742063616e2063616c60408201526e36103a3434b990333ab731ba34b7b760891b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602a908201527f4465706f73697420616d6f756e742073686f756c642062652067726561746572604082015269207468616e207a65726f60b01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c2737902832b936b4b9b9b4b7b760991b604082015260600190565b60208082526034908201527f576974686472617720616d6f756e742073686f756c6420626520657175616c206040820152736f72206c657373207468616e2062616c616e636560601b606082015260800190565b6020808252600a9082015269125cc81c995d9bdad95960b21b604082015260600190565b60208082526021908201527f416d6f756e742073686f756c6420626520626967676572207468616e207a65726040820152606f60f81b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008219821115613253576132536132dc565b500190565b60008261327557634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615613294576132946132dc565b500290565b6000828210156132ab576132ab6132dc565b500390565b60005b838110156132cb5781810151838201526020016132b3565b83811115610b3b5750506000910152565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610f2657600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b37fb4c374c098e8cea53e595b482b5252c95aca3bdaeb7d43cd25e49721549764736f6c63430008060033"; +var StakingImp_contract = web3.eth.contract([{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"ncp","type":"address"},{"indexed":false,"internalType":"uint256","name":"ncpTotalLocked","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"userTotalLocked","type":"uint256"}],"name":"DelegateStaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"ncp","type":"address"},{"indexed":false,"internalType":"uint256","name":"ncpTotalLocked","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"userTotalLocked","type":"uint256"}],"name":"DelegateUnstaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Revoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"SetRegistry","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"TransferLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Unlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"available","type":"uint256"}],"name":"Unstaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"BALLOT_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ENV_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOV_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINTENANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_POOL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"availableBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"calcVotingWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"},{"internalType":"uint32","name":"factor","type":"uint32"}],"name":"calcVotingWeightWithScaleFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"}],"name":"delegateDepositAndLockMore","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"delegateUnlockAndWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"}],"name":"getRatioOfUserBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalLockedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"registry","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isRevoked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"},{"internalType":"uint256","name":"lockAmount","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockAmount","type":"uint256"}],"name":"lockMore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"name":"lockedBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"registry","type":"address"},{"internalType":"address","name":"oldGov","type":"address"},{"internalType":"address","name":"oldStaking","type":"address"}],"name":"migrateFromLegacy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ncpStaking","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reg","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revoke","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_ncpStaking","type":"address"}],"name":"setNCPStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferLocked","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payee","type":"address"},{"internalType":"uint256","name":"unlockAmount","type":"uint256"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImp","type":"address"}],"name":"upgradeStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"},{"internalType":"address","name":"user","type":"address"}],"name":"userBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ncp","type":"address"}],"name":"userTotalBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]); function StakingImp_new() { return StakingImp_contract.new( @@ -127,7 +144,7 @@ function AGov_new() { function AGov_load(addr) { return AGov_contract.at(addr); } -var BallotEnums_data = "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122091a15a61427e97bd4bc0a2766ba7c9d2f0fc00ff6d4c94d4b3851693f6a2a9db64736f6c63430008060033"; +var BallotEnums_data = "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220e3277bb2e38cf4d34a8766c2a5ccd9139d04c3795bcd2b735c8cf12500be447164736f6c63430008060033"; var BallotEnums_contract = web3.eth.contract([]); function BallotEnums_new() { @@ -146,7 +163,7 @@ function BallotEnums_new() { function BallotEnums_load(addr) { return BallotEnums_contract.at(addr); } -var EnvConstants_data = "0x608060405234801561001057600080fd5b506104ca806100206000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c80637b2bfb01116100b8578063c00ace6c1161007c578063c00ace6c146103aa578063c0b4fe15146103d1578063c42a0abc146103f8578063c6713baf1461041f578063c7d3da3414610446578063f38ecf471461046d57600080fd5b80637b2bfb0114610305578063918f86741461032c578063a6868b7d14610335578063a9b629b21461035c578063b128f8801461038357600080fd5b80633f35c8fe1161010a5780633f35c8fe1461021b5780634d273e28146102425780636167eb4514610269578063656e3052146102905780636d583ca7146102b75780636fde207a146102de57600080fd5b806215a73b146101465780630b1d39b81461017f578063238737b6146101a6578063278bb12a146101cd57806338294419146101f4575b600080fd5b61016d7f0c4fbe9dc9de15dd7c0d064975ee1a2f2f9b954fa0e65d4f6cddba94884bdc3e81565b60405190815260200160405180910390f35b61016d7fdd5a41a7fc01f5c6d30816b17f638d6531625f1e1eaa599673ab2f6079f2dd9d81565b61016d7f1d36f8ce53f59e624857e1d8dc7932d19981a2ea1b8faa4eb8ff843fc3e5a27881565b61016d7f9b2e0c7fdae148f225bae7deb92d7e7bd24bb77edb12956e8fa7204900dd8a2281565b61016d7fbe90e461bbdb9a95a694f7796912ea04244caf7f5b60ad7ded17e16821d3e44c81565b61016d7f2a268972a70c8c688b62366bdfdd9bb09cf19d3e5b6e7e7bb158e671ffdcedd281565b61016d7f77884798208df1e64f70968be41ef2d3211ec53613397ca59313416813df088881565b61016d7f9f1de481f899d76889aa8a2b44cc7b604d42691aa93d4ba618a1a1fd439f505081565b61016d7fe10074dceffb75f13bf0ce50145afd35182d63796823f1280ce40e01c19109e781565b61016d7fc69fc6b7d0efc934fd5a3581c7253a7107a952526bb6dbcd814ef8d8dae1f44a81565b61016d7f0b09c9badbbeb6c813a598ee910770a39ccda797a1940439bb6e47fc6c87548b81565b61016d7f9346226931826838eedd13d9677fa33551e7c81f604b171ef3fac355458da9aa81565b61016d61271081565b61016d7f6c6f69f426081752a5d3e73746599acd2a4cb145d5de4203ca1e3473b281680b81565b61016d7f89dd490ecaf395283ed4ff2fd9557ca767fc425dce063451a9b0da6d72f600c381565b61016d7f829561ab7af084b7efc6600518d2df79b8d95f3f4c3a550f54f8f7ec7d2b805781565b61016d7f18ad4415ef4a621ce1a136395c51ab6c3712bb2e24b79d526059925cea58dcb881565b61016d7f8086da5becff4dfac91a3105821b361078d2d4abba0ccc2401b974cf0dcf05c181565b61016d7fb38b2c133e931937bd95337c65c8aefa7040ed64bbed732e3e29a4944c65747381565b61016d7fc9e15e34073efbcd0328740feaf503caac9124b55b38c73d1a97b53da80a2f6081565b61016d7f04f7b94450bbcad85f37ea47cd1062728f884bb2040e357738f8fd53056134bc81565b61016d7f7c1150f0e1a39ff55552d52764f97e6c387e2a247e1df344369f122c4254be2f8156fea26469706673582212208e85eb98251b350efa0ef420d149d10a734f1d6332cbf74fab8178a917ce65ef64736f6c63430008060033"; +var EnvConstants_data = "0x608060405234801561001057600080fd5b506104ca806100206000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c80637b2bfb01116100b8578063c00ace6c1161007c578063c00ace6c146103aa578063c0b4fe15146103d1578063c42a0abc146103f8578063c6713baf1461041f578063c7d3da3414610446578063f38ecf471461046d57600080fd5b80637b2bfb0114610305578063918f86741461032c578063a6868b7d14610335578063a9b629b21461035c578063b128f8801461038357600080fd5b80633f35c8fe1161010a5780633f35c8fe1461021b5780634d273e28146102425780636167eb4514610269578063656e3052146102905780636d583ca7146102b75780636fde207a146102de57600080fd5b806215a73b146101465780630b1d39b81461017f578063238737b6146101a6578063278bb12a146101cd57806338294419146101f4575b600080fd5b61016d7f0c4fbe9dc9de15dd7c0d064975ee1a2f2f9b954fa0e65d4f6cddba94884bdc3e81565b60405190815260200160405180910390f35b61016d7fdd5a41a7fc01f5c6d30816b17f638d6531625f1e1eaa599673ab2f6079f2dd9d81565b61016d7f1d36f8ce53f59e624857e1d8dc7932d19981a2ea1b8faa4eb8ff843fc3e5a27881565b61016d7f9b2e0c7fdae148f225bae7deb92d7e7bd24bb77edb12956e8fa7204900dd8a2281565b61016d7fbe90e461bbdb9a95a694f7796912ea04244caf7f5b60ad7ded17e16821d3e44c81565b61016d7f2a268972a70c8c688b62366bdfdd9bb09cf19d3e5b6e7e7bb158e671ffdcedd281565b61016d7f77884798208df1e64f70968be41ef2d3211ec53613397ca59313416813df088881565b61016d7f9f1de481f899d76889aa8a2b44cc7b604d42691aa93d4ba618a1a1fd439f505081565b61016d7fe10074dceffb75f13bf0ce50145afd35182d63796823f1280ce40e01c19109e781565b61016d7fc69fc6b7d0efc934fd5a3581c7253a7107a952526bb6dbcd814ef8d8dae1f44a81565b61016d7f0b09c9badbbeb6c813a598ee910770a39ccda797a1940439bb6e47fc6c87548b81565b61016d7f9346226931826838eedd13d9677fa33551e7c81f604b171ef3fac355458da9aa81565b61016d61271081565b61016d7f6c6f69f426081752a5d3e73746599acd2a4cb145d5de4203ca1e3473b281680b81565b61016d7f89dd490ecaf395283ed4ff2fd9557ca767fc425dce063451a9b0da6d72f600c381565b61016d7f829561ab7af084b7efc6600518d2df79b8d95f3f4c3a550f54f8f7ec7d2b805781565b61016d7f18ad4415ef4a621ce1a136395c51ab6c3712bb2e24b79d526059925cea58dcb881565b61016d7f8086da5becff4dfac91a3105821b361078d2d4abba0ccc2401b974cf0dcf05c181565b61016d7fb38b2c133e931937bd95337c65c8aefa7040ed64bbed732e3e29a4944c65747381565b61016d7fc9e15e34073efbcd0328740feaf503caac9124b55b38c73d1a97b53da80a2f6081565b61016d7f04f7b94450bbcad85f37ea47cd1062728f884bb2040e357738f8fd53056134bc81565b61016d7f7c1150f0e1a39ff55552d52764f97e6c387e2a247e1df344369f122c4254be2f8156fea26469706673582212208dd82236e1408c132da7fd2192ff847c6b4521ddcebf76a4c292adc859ece13564736f6c63430008060033"; var EnvConstants_contract = web3.eth.contract([{"inputs":[],"name":"BALLOT_DURATION_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BALLOT_DURATION_MIN_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BALLOT_DURATION_MIN_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BASE_FEE_MAX_CHANGE_RATE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCKS_PER_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_CREATION_TIME_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_GASLIMIT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_AMOUNT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_BLOCK_PRODUCER_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_MAINTANANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_METHOD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DENOMINATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GASLIMIT_AND_BASE_FEE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GAS_TARGET_PERCENTAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BASE_FEE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_IDLE_BLOCK_INTERVAL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_PRIORITY_FEE_PER_GAS_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MIN_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MIN_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]); function EnvConstants_new() { @@ -267,7 +284,7 @@ function IStaking_new() { function IStaking_load(addr) { return IStaking_contract.at(addr); } -var BallotStorage_data = "0x60806040526000606d553480156200001657600080fd5b50604051620039cf380380620039cf8339810160408190526200003991620001b6565b620000443362000056565b6200004f81620000a8565b50620001e8565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620000b262000158565b6001600160a01b0381166200010e5760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060448201526064015b60405180910390fd5b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b6033546001600160a01b03163314620001b45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000105565b565b600060208284031215620001c957600080fd5b81516001600160a01b0381168114620001e157600080fd5b9392505050565b6137d780620001f86000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c80636c78d2cf1161013b578063a91e59ba116100b8578063c0b6f1861161007c578063c0b6f186146105a6578063ce04b9d4146105b9578063daacbb95146105c1578063f2fde38b146105d4578063f680e555146105e757600080fd5b8063a91e59ba14610554578063a91ee0dc14610567578063b23c676c1461057a578063b47414951461058b578063bce0dbc11461059357600080fd5b80637bf46530116100ff5780637bf46530146104d95780637efa9ae3146104ed5780638da5cb5b1461051957806396462b9c1461052a5780639986e4b91461053d57600080fd5b80636c78d2cf1461044f578063715018a61461046b57806372d0ec9214610473578063738fdd1a1461048657806373df4e01146104b157600080fd5b806334125c84116101c95780635a55c1f01161018d5780635a55c1f01461038f5780635a731cca146103dd578063656bc633146103f4578063688ca5b2146104075780636c57f5a91461043757600080fd5b806334125c841461033b5780634a57823e1461034e5780634bd1ed7614610361578063557ed1ba1461037657806356ba988e1461037c57600080fd5b80631c150171116102105780631c150171146102d95780631d940da2146102e15780631e0cba0d146103035780632a74f38c146103145780632f40992e1461032757600080fd5b806302b385fb1461024257806309970688146102755780630a3a63fe146102a3578063155ca224146102c4575b600080fd5b61025561025036600461306d565b61062b565b60405161026c9b9a999897969594939291906136a6565b60405180910390f35b61028861028336600461306d565b6107f6565b6040805193845260208401929092529082015260600161026c565b6102b66102b136600461317d565b610956565b60405190815260200161026c565b6102d76102d236600461306d565b610a6e565b005b6102b6610bcf565b6102f46102ef36600461306d565b610c4e565b60405161026c9392919061347e565b6102b6665374616b696e6760c81b81565b6102d761032236600461302c565b610d06565b6102b66914995dd85c99141bdbdb60b21b81565b6102b66845636f73797374656d60b81b81565b6102b661035c3660046132ed565b610da0565b6102b66a4d61696e74656e616e636560a81b81565b426102b6565b61028861038a36600461306d565b610ea7565b6103a261039d36600461306d565b610ff8565b6040805196875260208701959095526001600160a01b03909316938501939093526060840152608083019190915260a082015260c00161026c565b6102b66c14dd185ada5b99d4995dd85c99609a1b81565b6102d76104023660046130e6565b6110c6565b61041a61041536600461306d565b6112d9565b60408051938452602084019290925215159082015260600161026c565b61043f61142f565b604051901515815260200161026c565b6102b67111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b6102d7611453565b6102d76104813660046130e6565b611467565b606554610499906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b6104c46104bf36600461306d565b611601565b60405161026c999897969594939291906133ff565b6102b669456e7653746f7261676560b01b81565b6104996104fb36600461306d565b6000908152606860205260409020600101546001600160a01b031690565b6033546001600160a01b0316610499565b6102d7610538366004613108565b61180e565b6102b66c42616c6c6f7453746f7261676560981b81565b6102d76105623660046130e6565b611af9565b6102d761057536600461302c565b611c77565b606c546001600160a01b0316610499565b606d546102b6565b6102d76105a136600461309f565b611d1f565b6102d76105b4366004613151565b611e64565b6102b6612044565b6102d76105cf3660046131d3565b612086565b6102d76105e236600461302c565b612396565b61043f6105f536600461336d565b66ffffffffffffff82166000908152606b602090815260408083206001600160a01b038516845290915290205460ff1692915050565b60008060008060606000806000806000806000606660008e815260200190815260200160002060405180610180016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016005820180546106c49061373b565b80601f01602080910402602001604051908101604052809291908181526020018280546106f09061373b565b801561073d5780601f106107125761010080835404028352916020019161073d565b820191906000526020600020905b81548152906001019060200180831161072057829003601f168201915b5050505050815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a820160009054906101000a900460ff16151515158152602001600b82015481525050905080602001519b5080604001519a5080606001519950806080015198508060a0015197508060c0015196508060e00151955080610100015194508061012001519350806101400151925080610160015191505091939597999b90929496989a50565b6000818152606660209081526040808320815161018081018352815481526001820154938101939093526002810154918301919091526003810154606083015260048101546001600160a01b031660808301526005810180548493849384939192909160a08401916108679061373b565b80601f01602080910402602001604051908101604052809291908181526020018280546108939061373b565b80156108e05780601f106108b5576101008083540402835291602001916108e0565b820191906000526020600020905b8154815290600101906020018083116108c357829003601f168201915b5050505050815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a820160009054906101000a900460ff16151515158152602001600b82015481525050905080602001519350806040015192508061016001519150509193909250565b60003361096161240f565b6001600160a01b0316146109905760405162461bcd60e51b815260040161098790613509565b60405180910390fd5b61099861242f565b6001600160a01b0316306001600160a01b0316146109c85760405162461bcd60e51b81526004016109879061361f565b600485146109e85760405162461bcd60e51b815260040161098790613567565b6001600160a01b038216610a0e5760405162461bcd60e51b815260040161098790613644565b610a1a8686868661244a565b506040805180820182528681526001600160a01b0392831660208083019182526000898152606890915292909220905181559051600190910180546001600160a01b03191691909216179055509192915050565b8033610a7861240f565b6001600160a01b03161480610aa657506000818152606660205260409020600401546001600160a01b031633145b610ac25760405162461bcd60e51b815260040161098790613509565b610aca61242f565b6001600160a01b0316306001600160a01b031614610afa5760405162461bcd60e51b81526004016109879061361f565b6000828152606660205260409020548214610b275760405162461bcd60e51b8152600401610987906134a6565b6000828152606660205260409020600a015460ff1615610b595760405162461bcd60e51b815260040161098790613594565b600160008381526066602052604090206009015414610b8a5760405162461bcd60e51b8152600401610987906135f6565b60008281526066602052604090206005600982015560405183907fd5e541d004c50564e5e05fcbc6be2916c68d817507693dc3774c69dde4ce13dc90600090a2505050565b6000610bd9612705565b6001600160a01b03166333be496e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1157600080fd5b505afa158015610c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c499190613086565b905090565b600081815260696020526040902060018101546002820154600383018054929391926060929190610c7e9061373b565b80601f0160208091040260200160405190810160405280929190818152602001828054610caa9061373b565b8015610cf75780601f10610ccc57610100808354040283529160200191610cf7565b820191906000526020600020905b815481529060010190602001808311610cda57829003601f168201915b50505050509150509193909250565b610d0e61271d565b6001600160a01b038116610d565760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610987565b606c80546001600160a01b0319166001600160a01b0383169081179091556040517f3d809312b6e303291a93b307c7ddbd0960c094f5f0fb4e3ba0758775013edeb390600090a250565b600033610dab61240f565b6001600160a01b031614610dd15760405162461bcd60e51b815260040161098790613509565b610dd961242f565b6001600160a01b0316306001600160a01b031614610e095760405162461bcd60e51b81526004016109879061361f565b610e14878584612777565b610e305760405162461bcd60e51b815260040161098790613644565b610e3c8888888861244a565b6040805160808101825289815260208082018781528284018781526060840187815260008e81526069855295909520845181559151600183015551600282015592518051929384939092610e97926003850192910190612ef6565b50999a9950505050505050505050565b6000818152606660209081526040808320815161018081018352815481526001820154938101939093526002810154918301919091526003810154606083015260048101546001600160a01b031660808301526005810180548493849384939192909160a0840191610f189061373b565b80601f0160208091040260200160405190810160405280929190818152602001828054610f449061373b565b8015610f915780601f10610f6657610100808354040283529160200191610f91565b820191906000526020600020905b815481529060010190602001808311610f7457829003601f168201915b505050918352505060068201546020820152600782015460408201526008820154606082015260098201546080820152600a82015460ff16151560a0820152600b9091015460c09182015281015160e0820151610100909201519097919650945092505050565b6000818152606a60205260408120548190819081908190819087146110545760405162461bcd60e51b81526020600482015260126024820152711b9bdd08195e1a5cdd1959081d9bdd19525960721b6044820152606401610987565b50505060009384525050606a6020908152604092839020835160c0810185528154808252600183015493820184905260028301546001600160a01b031695820186905260038301546060830181905260048401546080840181905260059094015460a090930183905290969395945092565b81336110d061240f565b6001600160a01b031614806110fe57506000818152606660205260409020600401546001600160a01b031633145b61111a5760405162461bcd60e51b815260040161098790613509565b61112261242f565b6001600160a01b0316306001600160a01b0316146111525760405162461bcd60e51b81526004016109879061361f565b818061115c610bcf565b11156111aa5760405162461bcd60e51b815260206004820152601c60248201527f556e646572206d696e2076616c7565206f6620206475726174696f6e000000006044820152606401610987565b6111b2612044565b8111156112015760405162461bcd60e51b815260206004820152601a60248201527f4f766572206d61782076616c7565206f66206475726174696f6e0000000000006044820152606401610987565b600084815260666020526040902054841461122e5760405162461bcd60e51b8152600401610987906134a6565b6000848152606660205260409020600a015460ff16156112605760405162461bcd60e51b815260040161098790613594565b6001600085815260666020526040902060090154146112915760405162461bcd60e51b8152600401610987906135f6565b600084815260666020526040808220600b810186905590519091339187917ff0855c0e0ad9b8a162b87f2e4e07d4b2a3f0a45126b15ff4a78b217ad19a901a91a35050505050565b6000818152606660209081526040808320815161018081018352815481526001820154938101939093526002810154918301919091526003810154606083015260048101546001600160a01b031660808301526005810180548493849384939192909160a084019161134a9061373b565b80601f01602080910402602001604051908101604052809291908181526020018280546113769061373b565b80156113c35780601f10611398576101008083540402835291602001916113c3565b820191906000526020600020905b8154815290600101906020018083116113a657829003601f168201915b50505091835250506006820154602082015260078201546040820152600882015460608083019190915260098301546080830152600a83015460ff16151560a0830152600b9092015460c090910152810151610120820151610140909201519097919650945092505050565b600061143961242f565b6001600160a01b0316306001600160a01b03161415905090565b61145b61271d565b6114656000612856565b565b3361147061240f565b6001600160a01b0316146114965760405162461bcd60e51b815260040161098790613509565b61149e61242f565b6001600160a01b0316306001600160a01b0316146114ce5760405162461bcd60e51b81526004016109879061361f565b60008281526066602052604090205482146114fb5760405162461bcd60e51b8152600401610987906134a6565b60008281526067602052604090205482146115585760405162461bcd60e51b815260206004820152601860248201527f6e6f7420657869737465642042616c6c6f744d656d62657200000000000000006044820152606401610987565b6000828152606660205260409020600a015460ff161561158a5760405162461bcd60e51b815260040161098790613594565b6001600083815260666020526040902060090154146115bb5760405162461bcd60e51b8152600401610987906135f6565b6000828152606760205260408082206009810184905590519091339185917ff0855c0e0ad9b8a162b87f2e4e07d4b2a3f0a45126b15ff4a78b217ad19a901a91a3505050565b600081815260676020526040812060018101546002820154600383015460048401546005850180546001600160a01b0395861697948616969386169590921693606093849384938392916116549061373b565b80601f01602080910402602001604051908101604052809291908181526020018280546116809061373b565b80156116cd5780601f106116a2576101008083540402835291602001916116cd565b820191906000526020600020905b8154815290600101906020018083116116b057829003601f168201915b505050505095508060060180546116e39061373b565b80601f016020809104026020016040519081016040528092919081815260200182805461170f9061373b565b801561175c5780601f106117315761010080835404028352916020019161175c565b820191906000526020600020905b81548152906001019060200180831161173f57829003601f168201915b505050505094508060070180546117729061373b565b80601f016020809104026020016040519081016040528092919081815260200182805461179e9061373b565b80156117eb5780601f106117c0576101008083540402835291602001916117eb565b820191906000526020600020905b8154815290600101906020018083116117ce57829003601f168201915b505050505093508060080154925080600901549150509193959799909294969850565b3361181761240f565b6001600160a01b03161461183d5760405162461bcd60e51b815260040161098790613509565b61184561242f565b6001600160a01b0316306001600160a01b0316146118755760405162461bcd60e51b81526004016109879061361f565b60018214806118845750600282145b6118c35760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103232b1b4b9b4b7b760811b6044820152606401610987565b60008481526066602052604090205484146118f05760405162461bcd60e51b8152600401610987906134a6565b6000858152606a60205260409020548514156119475760405162461bcd60e51b8152602060048201526016602482015275185b1c9958591e48195e1a5cdd1959081d9bdd19525960521b6044820152606401610987565b6000848152606b602090815260408083206001600160a01b038716845290915290205460ff16156119aa5760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481d9bdd1959609a1b6044820152606401610987565b600260008581526066602052604090206009015414611a025760405162461bcd60e51b81526020600482015260146024820152734e6f7420496e50726f677265737320537461746560601b6044820152606401610987565b6040518060c00160405280868152602001858152602001846001600160a01b03168152602001838152602001828152602001611a3b4290565b90526000868152606a602090815260409182902083518155908301516001820155908201516002820180546001600160a01b0319166001600160a01b03909216919091179055606082015160038201556080820151600482015560a090910151600590910155611aad848484846128a8565b826001600160a01b031684867f41df84b3b467b06744e40c92613c666324e7c640ce0a41ec06efdf602d36760685604051611aea91815260200190565b60405180910390a45050505050565b33611b0261240f565b6001600160a01b031614611b285760405162461bcd60e51b815260040161098790613509565b611b3061242f565b6001600160a01b0316306001600160a01b031614611b605760405162461bcd60e51b81526004016109879061361f565b6000828152606660205260409020548214611b8d5760405162461bcd60e51b8152600401610987906134a6565b6000828152606660205260409020600a015460ff1615611bbf5760405162461bcd60e51b815260040161098790613594565b6003811480611bce5750600481145b611c115760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642042616c6c6f7420537461746560601b6044820152606401610987565b6000828152606660205260409081902060098101839055600a8101805460ff19166001179055905183907fdc921f027328d7238b58d77649ebcbd0c8b1c494c66ba53dfe53e0de65f6dd9f90611c6a9085815260200190565b60405180910390a2505050565b611c7f61271d565b6001600160a01b038116611cd55760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f0000000000006044820152606401610987565b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b8133611d2961240f565b6001600160a01b03161480611d5757506000818152606660205260409020600401546001600160a01b031633145b611d735760405162461bcd60e51b815260040161098790613509565b611d7b61242f565b6001600160a01b0316306001600160a01b031614611dab5760405162461bcd60e51b81526004016109879061361f565b6000838152606660205260409020548314611dd85760405162461bcd60e51b8152600401610987906134a6565b6000838152606660205260409020600a015460ff1615611e0a5760405162461bcd60e51b815260040161098790613594565b600083815260666020908152604090912083519091611e30916005840191860190612ef6565b50604051339085907ff0855c0e0ad9b8a162b87f2e4e07d4b2a3f0a45126b15ff4a78b217ad19a901a90600090a350505050565b33611e6d61240f565b6001600160a01b031614611e935760405162461bcd60e51b815260040161098790613509565b611e9b61242f565b6001600160a01b0316306001600160a01b031614611ecb5760405162461bcd60e51b81526004016109879061361f565b8181600082118015611edd5750600081115b611f1d5760405162461bcd60e51b815260206004820152601160248201527007374617274206f7220656e64206973203607c1b6044820152606401610987565b818111611f5b5760405162461bcd60e51b815260206004820152600c60248201526b1cdd185c9d080f8f48195b9960a21b6044820152606401610987565b6000858152606660205260409020548514611f885760405162461bcd60e51b8152600401610987906134a6565b6000858152606660205260409020600a015460ff1615611fba5760405162461bcd60e51b815260040161098790613594565b600160008681526066602052604090206009015414611feb5760405162461bcd60e51b8152600401610987906135f6565b600085815260666020526040902060018101859055600280820185905560098201556040518490869088907fd9938a514dab5cdce149a77493f694bd70c24a4833a278fd4d86fbdf859099c590600090a4505050505050565b600061204e612705565b6001600160a01b0316631b27e01b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1157600080fd5b3361208f61240f565b6001600160a01b0316146120b55760405162461bcd60e51b815260040161098790613509565b6120bd61242f565b6001600160a01b0316306001600160a01b0316146120ed5760405162461bcd60e51b81526004016109879061361f565b6120fe8b8989898989898989612a11565b61211a5760405162461bcd60e51b815260040161098790613644565b6121268c8c8c8c61244a565b6121a06040518061014001604052806000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160608152602001606081526020016060815260200160008152602001600081525090565b8c8160000181815250508881602001906001600160a01b031690816001600160a01b0316815250508781604001906001600160a01b031690816001600160a01b0316815250508681606001906001600160a01b031690816001600160a01b0316815250508581608001906001600160a01b031690816001600160a01b031681525050848160a00181905250838160c00181905250828160e00181905250818161010001818152505080606760008f81526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160030160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060808201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a0820151816005019080519060200190612336929190612ef6565b5060c08201518051612352916006840191602090910190612ef6565b5060e0820151805161236e916007840191602090910190612ef6565b5061010082015160088201556101209091015160099091015550505050505050505050505050565b61239e61271d565b6001600160a01b0381166124035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610987565b61240c81612856565b50565b6000610c497111dbdd995c9b985b98d950dbdb9d1c9858dd60721b612e73565b6000610c496c42616c6c6f7453746f7261676560981b612e73565b8180612454610bcf565b11156124a25760405162461bcd60e51b815260206004820152601c60248201527f556e646572206d696e2076616c7565206f6620206475726174696f6e000000006044820152606401610987565b6124aa612044565b8111156124f95760405162461bcd60e51b815260206004820152601a60248201527f4f766572206d61782076616c7565206f66206475726174696f6e0000000000006044820152606401610987565b6000858152606660205260409020548514156125505760405162461bcd60e51b8152602060048201526016602482015275105b1c9958591e48195e1a5cdd19590818985b1b1bdd60521b6044820152606401610987565b6125bf6040518061018001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016060815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081525090565b858152606081018590526001600160a01b0383166080820152600161012082015260006101408201819052610160820185905286815260666020908152604091829020835181558184015160018201559183015160028301556060830151600383015560808301516004830180546001600160a01b0319166001600160a01b0390921691909117905560a08301518051849392612663926005850192910190612ef6565b5060c0820151600682015560e0820151600782015561010082015160088201556101208201516009820155610140820151600a8201805460ff191691151591909117905561016090910151600b90910155606d546126c2906001613715565b606d556040516001600160a01b03841690869088907fd1ba591c76ef71222e2d30b8277758713cc6eef1de29efaf98a716744ac2420b90600090a4505050505050565b6000610c4969456e7653746f7261676560b01b612e73565b6033546001600160a01b031633146114655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b6000600584146127995760405162461bcd60e51b815260040161098790613567565b826127f05760405162461bcd60e51b815260206004820152602160248201527f496e76616c696420656e7669726f6e6d656e74207661726961626c65206e616d6044820152606560f81b6064820152608401610987565b600082511161284c5760405162461bcd60e51b815260206004820152602260248201527f496e76616c696420656e7669726f6e6d656e74207661726961626c652076616c604482015261756560f01b6064820152608401610987565b5060019392505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60018214806128b75750600282145b6128f65760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103232b1b4b9b4b7b760811b6044820152606401610987565b60008481526066602052604090205484146129235760405162461bcd60e51b8152600401610987906134a6565b6000848152606b602090815260408083206001600160a01b038716845290915290205460ff16156129865760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481d9bdd1959609a1b6044820152606401610987565b6000848152606660209081526040808320606b83528184206001600160a01b0388168552909252909120805460ff1916600190811790915560068201546129cc91613715565b600682015560018314156129f4578181600701546129ea9190613715565b6007820155612a0a565b818160080154612a049190613715565b60088201555b5050505050565b600060018a10158015612a25575060038a11155b612a415760405162461bcd60e51b815260040161098790613567565b60028a1415612c01576001600160a01b038916612a705760405162461bcd60e51b8152600401610987906135bf565b6001600160a01b03881615612a975760405162461bcd60e51b815260040161098790613530565b6001600160a01b03871615612abe5760405162461bcd60e51b81526004016109879061366f565b6001600160a01b03861615612ae55760405162461bcd60e51b8152600401610987906134d2565b845115612b2c5760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206e6577206e6f6465206e616d6560581b6044820152606401610987565b835115612b715760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b995dc81b9bd919481a59606a1b6044820152606401610987565b825115612bb65760405162461bcd60e51b81526020600482015260136024820152720496e76616c6964206e6577206e6f646520495606c1b6044820152606401610987565b8115612bfc5760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a59081b995dc81b9bd91948141bdc9d605a1b6044820152606401610987565b612e63565b6000855111612c4a5760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206e6577206e6f6465206e616d6560581b6044820152606401610987565b8351604014612c915760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b995dc81b9bd919481a59606a1b6044820152606401610987565b6000835111612cd85760405162461bcd60e51b81526020600482015260136024820152720496e76616c6964206e6577206e6f646520495606c1b6044820152606401610987565b60008211612d205760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a59081b995dc81b9bd91948141bdc9d605a1b6044820152606401610987565b60018a1415612dc2576001600160a01b03891615612d505760405162461bcd60e51b8152600401610987906135bf565b6001600160a01b038816612d765760405162461bcd60e51b815260040161098790613530565b6001600160a01b038716612d9c5760405162461bcd60e51b81526004016109879061366f565b6001600160a01b038616612bfc5760405162461bcd60e51b8152600401610987906134d2565b60038a1415612e63576001600160a01b038916612df15760405162461bcd60e51b8152600401610987906135bf565b6001600160a01b038816612e175760405162461bcd60e51b815260040161098790613530565b6001600160a01b038716612e3d5760405162461bcd60e51b81526004016109879061366f565b6001600160a01b038616612e635760405162461bcd60e51b8152600401610987906134d2565b5060019998505050505050505050565b606554604051630d2020dd60e01b8152600481018390526000916001600160a01b031690630d2020dd9060240160206040518083038186803b158015612eb857600080fd5b505afa158015612ecc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef09190613050565b92915050565b828054612f029061373b565b90600052602060002090601f016020900481019282612f245760008555612f6a565b82601f10612f3d57805160ff1916838001178555612f6a565b82800160010185558215612f6a579182015b82811115612f6a578251825591602001919060010190612f4f565b50612f76929150612f7a565b5090565b5b80821115612f765760008155600101612f7b565b8035612f9a8161378c565b919050565b600082601f830112612fb057600080fd5b813567ffffffffffffffff80821115612fcb57612fcb613776565b604051601f8301601f19908116603f01168101908282118183101715612ff357612ff3613776565b8160405283815286602085880101111561300c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561303e57600080fd5b81356130498161378c565b9392505050565b60006020828403121561306257600080fd5b81516130498161378c565b60006020828403121561307f57600080fd5b5035919050565b60006020828403121561309857600080fd5b5051919050565b600080604083850312156130b257600080fd5b82359150602083013567ffffffffffffffff8111156130d057600080fd5b6130dc85828601612f9f565b9150509250929050565b600080604083850312156130f957600080fd5b50508035926020909101359150565b600080600080600060a0868803121561312057600080fd5b853594506020860135935060408601356131398161378c565b94979396509394606081013594506080013592915050565b60008060006060848603121561316657600080fd5b505081359360208301359350604090920135919050565b600080600080600060a0868803121561319557600080fd5b85359450602086013593506040860135925060608601356131b58161378c565b915060808601356131c58161378c565b809150509295509295909350565b6000806000806000806000806000806000806101808d8f0312156131f657600080fd5b8c359b5060208d01359a5060408d0135995061321460608e01612f8f565b985061322260808e01612f8f565b975061323060a08e01612f8f565b965061323e60c08e01612f8f565b955061324c60e08e01612f8f565b945067ffffffffffffffff6101008e0135111561326857600080fd5b6132798e6101008f01358f01612f9f565b935067ffffffffffffffff6101208e0135111561329557600080fd5b6132a68e6101208f01358f01612f9f565b925067ffffffffffffffff6101408e013511156132c257600080fd5b6132d38e6101408f01358f01612f9f565b91506101608d013590509295989b509295989b509295989b565b600080600080600080600060e0888a03121561330857600080fd5b87359650602088013595506040880135945060608801356133288161378c565b93506080880135925060a0880135915060c088013567ffffffffffffffff81111561335257600080fd5b61335e8a828b01612f9f565b91505092959891949750929550565b6000806040838503121561338057600080fd5b823566ffffffffffffff8116811461339757600080fd5b915060208301356133a78161378c565b809150509250929050565b6000815180845260005b818110156133d8576020818501810151868301820152016133bc565b818111156133ea576000602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b038a8116825289811660208301528881166040830152871660608201526101206080820181905260009061343c838201896133b2565b905082810360a084015261345081886133b2565b905082810360c084015261346481876133b2565b60e084019590955250506101000152979650505050505050565b83815282602082015260606040820152600061349d60608301846133b2565b95945050505050565b6020808252601290820152711b9bdd08195e1a5cdd19590810985b1b1bdd60721b604082015260600190565b6020808252601a908201527f496e76616c6964206e6577207265776172642061646472657373000000000000604082015260600190565b6020808252600d908201526c2737902832b936b4b9b9b4b7b760991b604082015260600190565b6020808252601a908201527f496e76616c6964206e6577207374616b65722061646472657373000000000000604082015260600190565b602080825260139082015272496e76616c69642042616c6c6f74205479706560681b604082015260600190565b602080825260119082015270185b1c9958591e48199a5b985b1a5e9959607a1b604082015260600190565b6020808252601a908201527f496e76616c6964206f6c64207374616b65722061646472657373000000000000604082015260600190565b6020808252600f908201526e4e6f7420526561647920537461746560881b604082015260600190565b6020808252600b908201526a125cc8111a5cd8589b195960aa1b604082015260600190565b60208082526011908201527024b73b30b634b2102830b930b6b2ba32b960791b604082015260600190565b60208082526019908201527f496e76616c6964206e657720766f746572206164647265737300000000000000604082015260600190565b60006101608d83528c60208401528b604084015260018060a01b038b1660608401528060808401526136da8184018b6133b2565b60a0840199909952505060c081019590955260e085019390935261010084019190915215156101208301526101409091015295945050505050565b6000821982111561373657634e487b7160e01b600052601160045260246000fd5b500190565b600181811c9082168061374f57607f821691505b6020821081141561377057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461240c57600080fdfea264697066735822122093b350b4e7739704fca6953d73448f06b7d3a325e6ae0e376a14d07e6cb03c8c64736f6c63430008060033"; +var BallotStorage_data = "0x60806040526000606d553480156200001657600080fd5b50604051620039cf380380620039cf8339810160408190526200003991620001b6565b620000443362000056565b6200004f81620000a8565b50620001e8565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620000b262000158565b6001600160a01b0381166200010e5760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060448201526064015b60405180910390fd5b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b6033546001600160a01b03163314620001b45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000105565b565b600060208284031215620001c957600080fd5b81516001600160a01b0381168114620001e157600080fd5b9392505050565b6137d780620001f86000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c80636c78d2cf1161013b578063a91e59ba116100b8578063c0b6f1861161007c578063c0b6f186146105a6578063ce04b9d4146105b9578063daacbb95146105c1578063f2fde38b146105d4578063f680e555146105e757600080fd5b8063a91e59ba14610554578063a91ee0dc14610567578063b23c676c1461057a578063b47414951461058b578063bce0dbc11461059357600080fd5b80637bf46530116100ff5780637bf46530146104d95780637efa9ae3146104ed5780638da5cb5b1461051957806396462b9c1461052a5780639986e4b91461053d57600080fd5b80636c78d2cf1461044f578063715018a61461046b57806372d0ec9214610473578063738fdd1a1461048657806373df4e01146104b157600080fd5b806334125c84116101c95780635a55c1f01161018d5780635a55c1f01461038f5780635a731cca146103dd578063656bc633146103f4578063688ca5b2146104075780636c57f5a91461043757600080fd5b806334125c841461033b5780634a57823e1461034e5780634bd1ed7614610361578063557ed1ba1461037657806356ba988e1461037c57600080fd5b80631c150171116102105780631c150171146102d95780631d940da2146102e15780631e0cba0d146103035780632a74f38c146103145780632f40992e1461032757600080fd5b806302b385fb1461024257806309970688146102755780630a3a63fe146102a3578063155ca224146102c4575b600080fd5b61025561025036600461306d565b61062b565b60405161026c9b9a999897969594939291906136a6565b60405180910390f35b61028861028336600461306d565b6107f6565b6040805193845260208401929092529082015260600161026c565b6102b66102b136600461317d565b610956565b60405190815260200161026c565b6102d76102d236600461306d565b610a6e565b005b6102b6610bcf565b6102f46102ef36600461306d565b610c4e565b60405161026c9392919061347e565b6102b6665374616b696e6760c81b81565b6102d761032236600461302c565b610d06565b6102b66914995dd85c99141bdbdb60b21b81565b6102b66845636f73797374656d60b81b81565b6102b661035c3660046132ed565b610da0565b6102b66a4d61696e74656e616e636560a81b81565b426102b6565b61028861038a36600461306d565b610ea7565b6103a261039d36600461306d565b610ff8565b6040805196875260208701959095526001600160a01b03909316938501939093526060840152608083019190915260a082015260c00161026c565b6102b66c14dd185ada5b99d4995dd85c99609a1b81565b6102d76104023660046130e6565b6110c6565b61041a61041536600461306d565b6112d9565b60408051938452602084019290925215159082015260600161026c565b61043f61142f565b604051901515815260200161026c565b6102b67111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b6102d7611453565b6102d76104813660046130e6565b611467565b606554610499906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b6104c46104bf36600461306d565b611601565b60405161026c999897969594939291906133ff565b6102b669456e7653746f7261676560b01b81565b6104996104fb36600461306d565b6000908152606860205260409020600101546001600160a01b031690565b6033546001600160a01b0316610499565b6102d7610538366004613108565b61180e565b6102b66c42616c6c6f7453746f7261676560981b81565b6102d76105623660046130e6565b611af9565b6102d761057536600461302c565b611c77565b606c546001600160a01b0316610499565b606d546102b6565b6102d76105a136600461309f565b611d1f565b6102d76105b4366004613151565b611e64565b6102b6612044565b6102d76105cf3660046131d3565b612086565b6102d76105e236600461302c565b612396565b61043f6105f536600461336d565b66ffffffffffffff82166000908152606b602090815260408083206001600160a01b038516845290915290205460ff1692915050565b60008060008060606000806000806000806000606660008e815260200190815260200160002060405180610180016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016005820180546106c49061373b565b80601f01602080910402602001604051908101604052809291908181526020018280546106f09061373b565b801561073d5780601f106107125761010080835404028352916020019161073d565b820191906000526020600020905b81548152906001019060200180831161072057829003601f168201915b5050505050815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a820160009054906101000a900460ff16151515158152602001600b82015481525050905080602001519b5080604001519a5080606001519950806080015198508060a0015197508060c0015196508060e00151955080610100015194508061012001519350806101400151925080610160015191505091939597999b90929496989a50565b6000818152606660209081526040808320815161018081018352815481526001820154938101939093526002810154918301919091526003810154606083015260048101546001600160a01b031660808301526005810180548493849384939192909160a08401916108679061373b565b80601f01602080910402602001604051908101604052809291908181526020018280546108939061373b565b80156108e05780601f106108b5576101008083540402835291602001916108e0565b820191906000526020600020905b8154815290600101906020018083116108c357829003601f168201915b5050505050815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a820160009054906101000a900460ff16151515158152602001600b82015481525050905080602001519350806040015192508061016001519150509193909250565b60003361096161240f565b6001600160a01b0316146109905760405162461bcd60e51b815260040161098790613509565b60405180910390fd5b61099861242f565b6001600160a01b0316306001600160a01b0316146109c85760405162461bcd60e51b81526004016109879061361f565b600485146109e85760405162461bcd60e51b815260040161098790613567565b6001600160a01b038216610a0e5760405162461bcd60e51b815260040161098790613644565b610a1a8686868661244a565b506040805180820182528681526001600160a01b0392831660208083019182526000898152606890915292909220905181559051600190910180546001600160a01b03191691909216179055509192915050565b8033610a7861240f565b6001600160a01b03161480610aa657506000818152606660205260409020600401546001600160a01b031633145b610ac25760405162461bcd60e51b815260040161098790613509565b610aca61242f565b6001600160a01b0316306001600160a01b031614610afa5760405162461bcd60e51b81526004016109879061361f565b6000828152606660205260409020548214610b275760405162461bcd60e51b8152600401610987906134a6565b6000828152606660205260409020600a015460ff1615610b595760405162461bcd60e51b815260040161098790613594565b600160008381526066602052604090206009015414610b8a5760405162461bcd60e51b8152600401610987906135f6565b60008281526066602052604090206005600982015560405183907fd5e541d004c50564e5e05fcbc6be2916c68d817507693dc3774c69dde4ce13dc90600090a2505050565b6000610bd9612705565b6001600160a01b03166333be496e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1157600080fd5b505afa158015610c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c499190613086565b905090565b600081815260696020526040902060018101546002820154600383018054929391926060929190610c7e9061373b565b80601f0160208091040260200160405190810160405280929190818152602001828054610caa9061373b565b8015610cf75780601f10610ccc57610100808354040283529160200191610cf7565b820191906000526020600020905b815481529060010190602001808311610cda57829003601f168201915b50505050509150509193909250565b610d0e61271d565b6001600160a01b038116610d565760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610987565b606c80546001600160a01b0319166001600160a01b0383169081179091556040517f3d809312b6e303291a93b307c7ddbd0960c094f5f0fb4e3ba0758775013edeb390600090a250565b600033610dab61240f565b6001600160a01b031614610dd15760405162461bcd60e51b815260040161098790613509565b610dd961242f565b6001600160a01b0316306001600160a01b031614610e095760405162461bcd60e51b81526004016109879061361f565b610e14878584612777565b610e305760405162461bcd60e51b815260040161098790613644565b610e3c8888888861244a565b6040805160808101825289815260208082018781528284018781526060840187815260008e81526069855295909520845181559151600183015551600282015592518051929384939092610e97926003850192910190612ef6565b50999a9950505050505050505050565b6000818152606660209081526040808320815161018081018352815481526001820154938101939093526002810154918301919091526003810154606083015260048101546001600160a01b031660808301526005810180548493849384939192909160a0840191610f189061373b565b80601f0160208091040260200160405190810160405280929190818152602001828054610f449061373b565b8015610f915780601f10610f6657610100808354040283529160200191610f91565b820191906000526020600020905b815481529060010190602001808311610f7457829003601f168201915b505050918352505060068201546020820152600782015460408201526008820154606082015260098201546080820152600a82015460ff16151560a0820152600b9091015460c09182015281015160e0820151610100909201519097919650945092505050565b6000818152606a60205260408120548190819081908190819087146110545760405162461bcd60e51b81526020600482015260126024820152711b9bdd08195e1a5cdd1959081d9bdd19525960721b6044820152606401610987565b50505060009384525050606a6020908152604092839020835160c0810185528154808252600183015493820184905260028301546001600160a01b031695820186905260038301546060830181905260048401546080840181905260059094015460a090930183905290969395945092565b81336110d061240f565b6001600160a01b031614806110fe57506000818152606660205260409020600401546001600160a01b031633145b61111a5760405162461bcd60e51b815260040161098790613509565b61112261242f565b6001600160a01b0316306001600160a01b0316146111525760405162461bcd60e51b81526004016109879061361f565b818061115c610bcf565b11156111aa5760405162461bcd60e51b815260206004820152601c60248201527f556e646572206d696e2076616c7565206f6620206475726174696f6e000000006044820152606401610987565b6111b2612044565b8111156112015760405162461bcd60e51b815260206004820152601a60248201527f4f766572206d61782076616c7565206f66206475726174696f6e0000000000006044820152606401610987565b600084815260666020526040902054841461122e5760405162461bcd60e51b8152600401610987906134a6565b6000848152606660205260409020600a015460ff16156112605760405162461bcd60e51b815260040161098790613594565b6001600085815260666020526040902060090154146112915760405162461bcd60e51b8152600401610987906135f6565b600084815260666020526040808220600b810186905590519091339187917ff0855c0e0ad9b8a162b87f2e4e07d4b2a3f0a45126b15ff4a78b217ad19a901a91a35050505050565b6000818152606660209081526040808320815161018081018352815481526001820154938101939093526002810154918301919091526003810154606083015260048101546001600160a01b031660808301526005810180548493849384939192909160a084019161134a9061373b565b80601f01602080910402602001604051908101604052809291908181526020018280546113769061373b565b80156113c35780601f10611398576101008083540402835291602001916113c3565b820191906000526020600020905b8154815290600101906020018083116113a657829003601f168201915b50505091835250506006820154602082015260078201546040820152600882015460608083019190915260098301546080830152600a83015460ff16151560a0830152600b9092015460c090910152810151610120820151610140909201519097919650945092505050565b600061143961242f565b6001600160a01b0316306001600160a01b03161415905090565b61145b61271d565b6114656000612856565b565b3361147061240f565b6001600160a01b0316146114965760405162461bcd60e51b815260040161098790613509565b61149e61242f565b6001600160a01b0316306001600160a01b0316146114ce5760405162461bcd60e51b81526004016109879061361f565b60008281526066602052604090205482146114fb5760405162461bcd60e51b8152600401610987906134a6565b60008281526067602052604090205482146115585760405162461bcd60e51b815260206004820152601860248201527f6e6f7420657869737465642042616c6c6f744d656d62657200000000000000006044820152606401610987565b6000828152606660205260409020600a015460ff161561158a5760405162461bcd60e51b815260040161098790613594565b6001600083815260666020526040902060090154146115bb5760405162461bcd60e51b8152600401610987906135f6565b6000828152606760205260408082206009810184905590519091339185917ff0855c0e0ad9b8a162b87f2e4e07d4b2a3f0a45126b15ff4a78b217ad19a901a91a3505050565b600081815260676020526040812060018101546002820154600383015460048401546005850180546001600160a01b0395861697948616969386169590921693606093849384938392916116549061373b565b80601f01602080910402602001604051908101604052809291908181526020018280546116809061373b565b80156116cd5780601f106116a2576101008083540402835291602001916116cd565b820191906000526020600020905b8154815290600101906020018083116116b057829003601f168201915b505050505095508060060180546116e39061373b565b80601f016020809104026020016040519081016040528092919081815260200182805461170f9061373b565b801561175c5780601f106117315761010080835404028352916020019161175c565b820191906000526020600020905b81548152906001019060200180831161173f57829003601f168201915b505050505094508060070180546117729061373b565b80601f016020809104026020016040519081016040528092919081815260200182805461179e9061373b565b80156117eb5780601f106117c0576101008083540402835291602001916117eb565b820191906000526020600020905b8154815290600101906020018083116117ce57829003601f168201915b505050505093508060080154925080600901549150509193959799909294969850565b3361181761240f565b6001600160a01b03161461183d5760405162461bcd60e51b815260040161098790613509565b61184561242f565b6001600160a01b0316306001600160a01b0316146118755760405162461bcd60e51b81526004016109879061361f565b60018214806118845750600282145b6118c35760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103232b1b4b9b4b7b760811b6044820152606401610987565b60008481526066602052604090205484146118f05760405162461bcd60e51b8152600401610987906134a6565b6000858152606a60205260409020548514156119475760405162461bcd60e51b8152602060048201526016602482015275185b1c9958591e48195e1a5cdd1959081d9bdd19525960521b6044820152606401610987565b6000848152606b602090815260408083206001600160a01b038716845290915290205460ff16156119aa5760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481d9bdd1959609a1b6044820152606401610987565b600260008581526066602052604090206009015414611a025760405162461bcd60e51b81526020600482015260146024820152734e6f7420496e50726f677265737320537461746560601b6044820152606401610987565b6040518060c00160405280868152602001858152602001846001600160a01b03168152602001838152602001828152602001611a3b4290565b90526000868152606a602090815260409182902083518155908301516001820155908201516002820180546001600160a01b0319166001600160a01b03909216919091179055606082015160038201556080820151600482015560a090910151600590910155611aad848484846128a8565b826001600160a01b031684867f41df84b3b467b06744e40c92613c666324e7c640ce0a41ec06efdf602d36760685604051611aea91815260200190565b60405180910390a45050505050565b33611b0261240f565b6001600160a01b031614611b285760405162461bcd60e51b815260040161098790613509565b611b3061242f565b6001600160a01b0316306001600160a01b031614611b605760405162461bcd60e51b81526004016109879061361f565b6000828152606660205260409020548214611b8d5760405162461bcd60e51b8152600401610987906134a6565b6000828152606660205260409020600a015460ff1615611bbf5760405162461bcd60e51b815260040161098790613594565b6003811480611bce5750600481145b611c115760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642042616c6c6f7420537461746560601b6044820152606401610987565b6000828152606660205260409081902060098101839055600a8101805460ff19166001179055905183907fdc921f027328d7238b58d77649ebcbd0c8b1c494c66ba53dfe53e0de65f6dd9f90611c6a9085815260200190565b60405180910390a2505050565b611c7f61271d565b6001600160a01b038116611cd55760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f0000000000006044820152606401610987565b606580546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b8133611d2961240f565b6001600160a01b03161480611d5757506000818152606660205260409020600401546001600160a01b031633145b611d735760405162461bcd60e51b815260040161098790613509565b611d7b61242f565b6001600160a01b0316306001600160a01b031614611dab5760405162461bcd60e51b81526004016109879061361f565b6000838152606660205260409020548314611dd85760405162461bcd60e51b8152600401610987906134a6565b6000838152606660205260409020600a015460ff1615611e0a5760405162461bcd60e51b815260040161098790613594565b600083815260666020908152604090912083519091611e30916005840191860190612ef6565b50604051339085907ff0855c0e0ad9b8a162b87f2e4e07d4b2a3f0a45126b15ff4a78b217ad19a901a90600090a350505050565b33611e6d61240f565b6001600160a01b031614611e935760405162461bcd60e51b815260040161098790613509565b611e9b61242f565b6001600160a01b0316306001600160a01b031614611ecb5760405162461bcd60e51b81526004016109879061361f565b8181600082118015611edd5750600081115b611f1d5760405162461bcd60e51b815260206004820152601160248201527007374617274206f7220656e64206973203607c1b6044820152606401610987565b818111611f5b5760405162461bcd60e51b815260206004820152600c60248201526b1cdd185c9d080f8f48195b9960a21b6044820152606401610987565b6000858152606660205260409020548514611f885760405162461bcd60e51b8152600401610987906134a6565b6000858152606660205260409020600a015460ff1615611fba5760405162461bcd60e51b815260040161098790613594565b600160008681526066602052604090206009015414611feb5760405162461bcd60e51b8152600401610987906135f6565b600085815260666020526040902060018101859055600280820185905560098201556040518490869088907fd9938a514dab5cdce149a77493f694bd70c24a4833a278fd4d86fbdf859099c590600090a4505050505050565b600061204e612705565b6001600160a01b0316631b27e01b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1157600080fd5b3361208f61240f565b6001600160a01b0316146120b55760405162461bcd60e51b815260040161098790613509565b6120bd61242f565b6001600160a01b0316306001600160a01b0316146120ed5760405162461bcd60e51b81526004016109879061361f565b6120fe8b8989898989898989612a11565b61211a5760405162461bcd60e51b815260040161098790613644565b6121268c8c8c8c61244a565b6121a06040518061014001604052806000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160608152602001606081526020016060815260200160008152602001600081525090565b8c8160000181815250508881602001906001600160a01b031690816001600160a01b0316815250508781604001906001600160a01b031690816001600160a01b0316815250508681606001906001600160a01b031690816001600160a01b0316815250508581608001906001600160a01b031690816001600160a01b031681525050848160a00181905250838160c00181905250828160e00181905250818161010001818152505080606760008f81526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160030160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060808201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a0820151816005019080519060200190612336929190612ef6565b5060c08201518051612352916006840191602090910190612ef6565b5060e0820151805161236e916007840191602090910190612ef6565b5061010082015160088201556101209091015160099091015550505050505050505050505050565b61239e61271d565b6001600160a01b0381166124035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610987565b61240c81612856565b50565b6000610c497111dbdd995c9b985b98d950dbdb9d1c9858dd60721b612e73565b6000610c496c42616c6c6f7453746f7261676560981b612e73565b8180612454610bcf565b11156124a25760405162461bcd60e51b815260206004820152601c60248201527f556e646572206d696e2076616c7565206f6620206475726174696f6e000000006044820152606401610987565b6124aa612044565b8111156124f95760405162461bcd60e51b815260206004820152601a60248201527f4f766572206d61782076616c7565206f66206475726174696f6e0000000000006044820152606401610987565b6000858152606660205260409020548514156125505760405162461bcd60e51b8152602060048201526016602482015275105b1c9958591e48195e1a5cdd19590818985b1b1bdd60521b6044820152606401610987565b6125bf6040518061018001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016060815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081525090565b858152606081018590526001600160a01b0383166080820152600161012082015260006101408201819052610160820185905286815260666020908152604091829020835181558184015160018201559183015160028301556060830151600383015560808301516004830180546001600160a01b0319166001600160a01b0390921691909117905560a08301518051849392612663926005850192910190612ef6565b5060c0820151600682015560e0820151600782015561010082015160088201556101208201516009820155610140820151600a8201805460ff191691151591909117905561016090910151600b90910155606d546126c2906001613715565b606d556040516001600160a01b03841690869088907fd1ba591c76ef71222e2d30b8277758713cc6eef1de29efaf98a716744ac2420b90600090a4505050505050565b6000610c4969456e7653746f7261676560b01b612e73565b6033546001600160a01b031633146114655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b6000600584146127995760405162461bcd60e51b815260040161098790613567565b826127f05760405162461bcd60e51b815260206004820152602160248201527f496e76616c696420656e7669726f6e6d656e74207661726961626c65206e616d6044820152606560f81b6064820152608401610987565b600082511161284c5760405162461bcd60e51b815260206004820152602260248201527f496e76616c696420656e7669726f6e6d656e74207661726961626c652076616c604482015261756560f01b6064820152608401610987565b5060019392505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60018214806128b75750600282145b6128f65760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103232b1b4b9b4b7b760811b6044820152606401610987565b60008481526066602052604090205484146129235760405162461bcd60e51b8152600401610987906134a6565b6000848152606b602090815260408083206001600160a01b038716845290915290205460ff16156129865760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481d9bdd1959609a1b6044820152606401610987565b6000848152606660209081526040808320606b83528184206001600160a01b0388168552909252909120805460ff1916600190811790915560068201546129cc91613715565b600682015560018314156129f4578181600701546129ea9190613715565b6007820155612a0a565b818160080154612a049190613715565b60088201555b5050505050565b600060018a10158015612a25575060038a11155b612a415760405162461bcd60e51b815260040161098790613567565b60028a1415612c01576001600160a01b038916612a705760405162461bcd60e51b8152600401610987906135bf565b6001600160a01b03881615612a975760405162461bcd60e51b815260040161098790613530565b6001600160a01b03871615612abe5760405162461bcd60e51b81526004016109879061366f565b6001600160a01b03861615612ae55760405162461bcd60e51b8152600401610987906134d2565b845115612b2c5760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206e6577206e6f6465206e616d6560581b6044820152606401610987565b835115612b715760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b995dc81b9bd919481a59606a1b6044820152606401610987565b825115612bb65760405162461bcd60e51b81526020600482015260136024820152720496e76616c6964206e6577206e6f646520495606c1b6044820152606401610987565b8115612bfc5760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a59081b995dc81b9bd91948141bdc9d605a1b6044820152606401610987565b612e63565b6000855111612c4a5760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206e6577206e6f6465206e616d6560581b6044820152606401610987565b8351604014612c915760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b995dc81b9bd919481a59606a1b6044820152606401610987565b6000835111612cd85760405162461bcd60e51b81526020600482015260136024820152720496e76616c6964206e6577206e6f646520495606c1b6044820152606401610987565b60008211612d205760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a59081b995dc81b9bd91948141bdc9d605a1b6044820152606401610987565b60018a1415612dc2576001600160a01b03891615612d505760405162461bcd60e51b8152600401610987906135bf565b6001600160a01b038816612d765760405162461bcd60e51b815260040161098790613530565b6001600160a01b038716612d9c5760405162461bcd60e51b81526004016109879061366f565b6001600160a01b038616612bfc5760405162461bcd60e51b8152600401610987906134d2565b60038a1415612e63576001600160a01b038916612df15760405162461bcd60e51b8152600401610987906135bf565b6001600160a01b038816612e175760405162461bcd60e51b815260040161098790613530565b6001600160a01b038716612e3d5760405162461bcd60e51b81526004016109879061366f565b6001600160a01b038616612e635760405162461bcd60e51b8152600401610987906134d2565b5060019998505050505050505050565b606554604051630d2020dd60e01b8152600481018390526000916001600160a01b031690630d2020dd9060240160206040518083038186803b158015612eb857600080fd5b505afa158015612ecc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef09190613050565b92915050565b828054612f029061373b565b90600052602060002090601f016020900481019282612f245760008555612f6a565b82601f10612f3d57805160ff1916838001178555612f6a565b82800160010185558215612f6a579182015b82811115612f6a578251825591602001919060010190612f4f565b50612f76929150612f7a565b5090565b5b80821115612f765760008155600101612f7b565b8035612f9a8161378c565b919050565b600082601f830112612fb057600080fd5b813567ffffffffffffffff80821115612fcb57612fcb613776565b604051601f8301601f19908116603f01168101908282118183101715612ff357612ff3613776565b8160405283815286602085880101111561300c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561303e57600080fd5b81356130498161378c565b9392505050565b60006020828403121561306257600080fd5b81516130498161378c565b60006020828403121561307f57600080fd5b5035919050565b60006020828403121561309857600080fd5b5051919050565b600080604083850312156130b257600080fd5b82359150602083013567ffffffffffffffff8111156130d057600080fd5b6130dc85828601612f9f565b9150509250929050565b600080604083850312156130f957600080fd5b50508035926020909101359150565b600080600080600060a0868803121561312057600080fd5b853594506020860135935060408601356131398161378c565b94979396509394606081013594506080013592915050565b60008060006060848603121561316657600080fd5b505081359360208301359350604090920135919050565b600080600080600060a0868803121561319557600080fd5b85359450602086013593506040860135925060608601356131b58161378c565b915060808601356131c58161378c565b809150509295509295909350565b6000806000806000806000806000806000806101808d8f0312156131f657600080fd5b8c359b5060208d01359a5060408d0135995061321460608e01612f8f565b985061322260808e01612f8f565b975061323060a08e01612f8f565b965061323e60c08e01612f8f565b955061324c60e08e01612f8f565b945067ffffffffffffffff6101008e0135111561326857600080fd5b6132798e6101008f01358f01612f9f565b935067ffffffffffffffff6101208e0135111561329557600080fd5b6132a68e6101208f01358f01612f9f565b925067ffffffffffffffff6101408e013511156132c257600080fd5b6132d38e6101408f01358f01612f9f565b91506101608d013590509295989b509295989b509295989b565b600080600080600080600060e0888a03121561330857600080fd5b87359650602088013595506040880135945060608801356133288161378c565b93506080880135925060a0880135915060c088013567ffffffffffffffff81111561335257600080fd5b61335e8a828b01612f9f565b91505092959891949750929550565b6000806040838503121561338057600080fd5b823566ffffffffffffff8116811461339757600080fd5b915060208301356133a78161378c565b809150509250929050565b6000815180845260005b818110156133d8576020818501810151868301820152016133bc565b818111156133ea576000602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b038a8116825289811660208301528881166040830152871660608201526101206080820181905260009061343c838201896133b2565b905082810360a084015261345081886133b2565b905082810360c084015261346481876133b2565b60e084019590955250506101000152979650505050505050565b83815282602082015260606040820152600061349d60608301846133b2565b95945050505050565b6020808252601290820152711b9bdd08195e1a5cdd19590810985b1b1bdd60721b604082015260600190565b6020808252601a908201527f496e76616c6964206e6577207265776172642061646472657373000000000000604082015260600190565b6020808252600d908201526c2737902832b936b4b9b9b4b7b760991b604082015260600190565b6020808252601a908201527f496e76616c6964206e6577207374616b65722061646472657373000000000000604082015260600190565b602080825260139082015272496e76616c69642042616c6c6f74205479706560681b604082015260600190565b602080825260119082015270185b1c9958591e48199a5b985b1a5e9959607a1b604082015260600190565b6020808252601a908201527f496e76616c6964206f6c64207374616b65722061646472657373000000000000604082015260600190565b6020808252600f908201526e4e6f7420526561647920537461746560881b604082015260600190565b6020808252600b908201526a125cc8111a5cd8589b195960aa1b604082015260600190565b60208082526011908201527024b73b30b634b2102830b930b6b2ba32b960791b604082015260600190565b60208082526019908201527f496e76616c6964206e657720766f746572206164647265737300000000000000604082015260600190565b60006101608d83528c60208401528b604084015260018060a01b038b1660608401528060808401526136da8184018b6133b2565b60a0840199909952505060c081019590955260e085019390935261010084019190915215156101208301526101409091015295945050505050565b6000821982111561373657634e487b7160e01b600052601160045260246000fd5b500190565b600181811c9082168061374f57607f821691505b6020821081141561377057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461240c57600080fdfea26469706673582212200ebd16b975c80d272902aac2425e19282ea98d3826ee299057c3f7e9b7319db364736f6c63430008060033"; var BallotStorage_contract = web3.eth.contract([{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"ballotId","type":"uint256"}],"name":"BallotCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"ballotId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"ballotType","type":"uint256"},{"indexed":true,"internalType":"address","name":"creator","type":"address"}],"name":"BallotCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"ballotId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"state","type":"uint256"}],"name":"BallotFinalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"ballotId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"startTime","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"endTime","type":"uint256"}],"name":"BallotStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"ballotId","type":"uint256"},{"indexed":true,"internalType":"address","name":"updatedBy","type":"address"}],"name":"BallotUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previous","type":"address"}],"name":"SetPrevBallotStorage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"SetRegistry","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"voteid","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"ballotId","type":"uint256"},{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"decision","type":"uint256"}],"name":"Voted","type":"event"},{"inputs":[],"name":"BALLOT_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ENV_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOV_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINTENANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_POOL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ballotId","type":"uint256"}],"name":"cancelBallot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_ballotType","type":"uint256"},{"internalType":"uint256","name":"_duration","type":"uint256"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"address","name":"_newGovernanceAddress","type":"address"}],"name":"createBallotForAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_ballotType","type":"uint256"},{"internalType":"uint256","name":"_duration","type":"uint256"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"address","name":"_oldStakerAddress","type":"address"},{"internalType":"address","name":"_newStakerAddress","type":"address"},{"internalType":"address","name":"_newVoterAddress","type":"address"},{"internalType":"address","name":"_newRewardAddress","type":"address"},{"internalType":"bytes","name":"_newNodeName","type":"bytes"},{"internalType":"bytes","name":"_newNodeId","type":"bytes"},{"internalType":"bytes","name":"_newNodeIp","type":"bytes"},{"internalType":"uint256","name":"_newNodePort","type":"uint256"}],"name":"createBallotForMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_ballotType","type":"uint256"},{"internalType":"uint256","name":"_duration","type":"uint256"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_envVariableName","type":"bytes32"},{"internalType":"uint256","name":"_envVariableType","type":"uint256"},{"internalType":"bytes","name":"_envVariableValue","type":"bytes"}],"name":"createBallotForVariable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_voteId","type":"uint256"},{"internalType":"uint256","name":"_ballotId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"},{"internalType":"uint256","name":"_decision","type":"uint256"},{"internalType":"uint256","name":"_power","type":"uint256"}],"name":"createVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ballotId","type":"uint256"},{"internalType":"uint256","name":"_ballotState","type":"uint256"}],"name":"finalizeBallot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getBallotAddress","outputs":[{"internalType":"address","name":"newGovernanceAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getBallotBasic","outputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"ballotType","type":"uint256"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"bytes","name":"memo","type":"bytes"},{"internalType":"uint256","name":"totalVoters","type":"uint256"},{"internalType":"uint256","name":"powerOfAccepts","type":"uint256"},{"internalType":"uint256","name":"powerOfRejects","type":"uint256"},{"internalType":"uint256","name":"state","type":"uint256"},{"internalType":"bool","name":"isFinalized","type":"bool"},{"internalType":"uint256","name":"duration","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBallotCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getBallotMember","outputs":[{"internalType":"address","name":"oldStakerAddress","type":"address"},{"internalType":"address","name":"newStakerAddress","type":"address"},{"internalType":"address","name":"newVoterAddress","type":"address"},{"internalType":"address","name":"newRewardAddress","type":"address"},{"internalType":"bytes","name":"newNodeName","type":"bytes"},{"internalType":"bytes","name":"newNodeId","type":"bytes"},{"internalType":"bytes","name":"newNodeIp","type":"bytes"},{"internalType":"uint256","name":"newNodePort","type":"uint256"},{"internalType":"uint256","name":"lockAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getBallotPeriod","outputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getBallotState","outputs":[{"internalType":"uint256","name":"ballotType","type":"uint256"},{"internalType":"uint256","name":"state","type":"uint256"},{"internalType":"bool","name":"isFinalized","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getBallotVariable","outputs":[{"internalType":"bytes32","name":"envVariableName","type":"bytes32"},{"internalType":"uint256","name":"envVariableType","type":"uint256"},{"internalType":"bytes","name":"envVariableValue","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getBallotVotingInfo","outputs":[{"internalType":"uint256","name":"totalVoters","type":"uint256"},{"internalType":"uint256","name":"powerOfAccepts","type":"uint256"},{"internalType":"uint256","name":"powerOfRejects","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxVotingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinVotingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPreviousBallotStorage","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_voteId","type":"uint256"}],"name":"getVote","outputs":[{"internalType":"uint256","name":"voteId","type":"uint256"},{"internalType":"uint256","name":"ballotId","type":"uint256"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"decision","type":"uint256"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint56","name":"_ballotId","type":"uint56"},{"internalType":"address","name":"_voter","type":"address"}],"name":"hasAlreadyVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reg","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setPreviousBallotStorage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ballotId","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_endTime","type":"uint256"}],"name":"startBallot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ballotId","type":"uint256"},{"internalType":"uint256","name":"_duration","type":"uint256"}],"name":"updateBallotDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ballotId","type":"uint256"},{"internalType":"uint256","name":"_lockAmount","type":"uint256"}],"name":"updateBallotMemberLockAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ballotId","type":"uint256"},{"internalType":"bytes","name":"_memo","type":"bytes"}],"name":"updateBallotMemo","outputs":[],"stateMutability":"nonpayable","type":"function"}]); function BallotStorage_new() { @@ -286,7 +303,7 @@ function BallotStorage_new() { function BallotStorage_load(addr) { return BallotStorage_contract.at(addr); } -var EnvStorage_data = "0x608060405234801561001057600080fd5b506040516106fc3803806106fc83398101604081905261002f91610301565b80604051806020016040528060008152506100528282600061005a60201b60201c565b5050506103a5565b61006383610090565b6000825111806100705750805b1561008b5761008983836100d060201b61008b1760201c565b505b505050565b610099816100fc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100f583836040518060600160405280602781526020016106d5602791396101ce565b9392505050565b61010f8161024760201b6100b71760201c565b6101765760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101ad7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61025660201b6100c61760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101eb919061032a565b600060405180830381855af49150503d8060008114610226576040519150601f19603f3d011682016040523d82523d6000602084013e61022b565b606091505b50909250905061023d86838387610259565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102c55782516102be576001600160a01b0385163b6102be5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161016d565b50816102cf565b6102cf83836102d7565b949350505050565b8151156102e75781518083602001fd5b8060405162461bcd60e51b815260040161016d9190610346565b60006020828403121561031357600080fd5b81516001600160a01b03811681146100f557600080fd5b6000825161033c818460208701610379565b9190910192915050565b6020815260008251806020840152610365816040850160208701610379565b601f01601f19169190910160400192915050565b60005b8381101561039457818101518382015260200161037c565b838111156100895750506000910152565b610321806103b46000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e61007c565b6040516001600160a01b03909116815260200160405180910390f35b61007a6100756100c9565b6100fc565b565b60006100866100c9565b905090565b60606100b083836040518060600160405280602781526020016102c560279139610120565b9392505050565b6001600160a01b03163b151590565b90565b60006100867f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b3660008037600080366000845af43d6000803e80801561011b573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161013d9190610245565b600060405180830381855af49150503d8060008114610178576040519150601f19603f3d011682016040523d82523d6000602084013e61017d565b606091505b509150915061018e86838387610198565b9695505050505050565b60608315610209578251610202576001600160a01b0385163b6102025760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610213565b610213838361021b565b949350505050565b81511561022b5781518083602001fd5b8060405162461bcd60e51b81526004016101f99190610261565b60008251610257818460208701610294565b9190910192915050565b6020815260008251806020840152610280816040850160208701610294565b601f01601f19169190910160400192915050565b60005b838110156102af578181015183820152602001610297565b838111156102be576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a65c62f31a2c1fba0806287df9b2b67e8061271bff228f6d5e0129a412464b0764736f6c63430008060033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564"; +var EnvStorage_data = "0x608060405234801561001057600080fd5b506040516106fc3803806106fc83398101604081905261002f91610301565b80604051806020016040528060008152506100528282600061005a60201b60201c565b5050506103a5565b61006383610090565b6000825111806100705750805b1561008b5761008983836100d060201b61008b1760201c565b505b505050565b610099816100fc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100f583836040518060600160405280602781526020016106d5602791396101ce565b9392505050565b61010f8161024760201b6100b71760201c565b6101765760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101ad7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61025660201b6100c61760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101eb919061032a565b600060405180830381855af49150503d8060008114610226576040519150601f19603f3d011682016040523d82523d6000602084013e61022b565b606091505b50909250905061023d86838387610259565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102c55782516102be576001600160a01b0385163b6102be5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161016d565b50816102cf565b6102cf83836102d7565b949350505050565b8151156102e75781518083602001fd5b8060405162461bcd60e51b815260040161016d9190610346565b60006020828403121561031357600080fd5b81516001600160a01b03811681146100f557600080fd5b6000825161033c818460208701610379565b9190910192915050565b6020815260008251806020840152610365816040850160208701610379565b601f01601f19169190910160400192915050565b60005b8381101561039457818101518382015260200161037c565b838111156100895750506000910152565b610321806103b46000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e61007c565b6040516001600160a01b03909116815260200160405180910390f35b61007a6100756100c9565b6100fc565b565b60006100866100c9565b905090565b60606100b083836040518060600160405280602781526020016102c560279139610120565b9392505050565b6001600160a01b03163b151590565b90565b60006100867f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b3660008037600080366000845af43d6000803e80801561011b573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161013d9190610245565b600060405180830381855af49150503d8060008114610178576040519150601f19603f3d011682016040523d82523d6000602084013e61017d565b606091505b509150915061018e86838387610198565b9695505050505050565b60608315610209578251610202576001600160a01b0385163b6102025760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610213565b610213838361021b565b949350505050565b81511561022b5781518083602001fd5b8060405162461bcd60e51b81526004016101f99190610261565b60008251610257818460208701610294565b9190910192915050565b6020815260008251806020840152610280816040850160208701610294565b601f01601f19169190910160400192915050565b60005b838110156102af578181015183820152602001610297565b838111156102be576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c00becc65503eced0c2a5cff0f3a7257d8b5e64a2a6485cd4a65f6fd6d3d731164736f6c63430008060033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564"; var EnvStorage_contract = web3.eth.contract([{"inputs":[{"internalType":"address","name":"_implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]); function EnvStorage_new() { @@ -305,7 +322,7 @@ function EnvStorage_new() { function EnvStorage_load(addr) { return EnvStorage_contract.at(addr); } -var EnvStorageImp_data = "0x60a06040523060601b6080523480156200001857600080fd5b506200002362000029565b620000ea565b603854610100900460ff1615620000965760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60385460ff90811614620000e8576038805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805160601c61369c6200011760003960008181611a1f01528181611aa40152611b7c015261369c6000f3fe6080604052600436106104e05760003560e01c80636fde207a11610281578063a6ed563e1161015a578063c42a0abc116100cc578063e078869f11610085578063e078869f146113d0578063ec3df879146113f0578063f2fde38b14611410578063f38ecf4714611430578063f6fd712914611452578063f82145911461147257600080fd5b8063c42a0abc146112a7578063c6713baf146112db578063c7d3da341461130f578063c95437be14611343578063cdb9f6431461138e578063dc97d962146113a357600080fd5b8063b4d6bd3b1161011e578063b4d6bd3b146111d6578063bd02d0f5146111f6578063be33732a14611223578063c00ace6c14611243578063c031a18014611265578063c0b4fe151461128557600080fd5b8063a6ed563e1461111b578063a91ee0dc14611148578063a9b629b214611168578063aba01fee1461118a578063b128f880146111b457600080fd5b80638c8b887e116101f35780639801bff9116101b75780639801bff914611036578063986e791a146110565780639986e4b914611083578063a36f259b146110a7578063a5d6a581146110c7578063a6868b7d146110e757600080fd5b80638c8b887e14610ee45780638d5cdd7e14610f045780638da5cb5b14610f245780638f6fe72514610f42578063918f86741461102057600080fd5b8063738fdd1a11610245578063738fdd1a14610e0f57806379e8585914610e2f5780637b2bfb0114610e4f5780637bf4653014610e83578063852cf38f14610ea457806388c2801914610ec457600080fd5b80636fde207a14610d4d5780636fe1317714610d6f578063715018a614610d8f57806371c6960d14610da4578063737c59b814610dc457600080fd5b806334125c84116103be5780634bd1ed76116103305780635dba8c4a116102e95780635dba8c4a14610b985780636167eb4514610be3578063656e305214610c1757806367d1a2e014610c4b5780636c78d2cf14610d025780636d583ca714610d2b57600080fd5b80634bd1ed7614610ad65780634d273e2814610af85780634f1ef28614610b2c57806352d1902d14610b3f578063539927be14610b545780635a731cca14610b7457600080fd5b80633d4c65f3116103825780633d4c65f314610a145780633e8daafe14610a345780633f35c8fe14610a54578063408d79cf14610a7657806344b8991414610a9657806345b5ec2914610ab657600080fd5b806334125c84146109275780633659cfe6146109475780633690057a1461096757806338294419146109b25780633848207a146109d457600080fd5b806321f8a721116104575780632eccd8321161041b5780632eccd832146108105780632ed19cd5146108305780632f40992e146108505780633305508e1461087157806333be496e1461089157806333e31184146108dc57600080fd5b806321f8a721146106ef578063238737b61461073d578063278bb12a146107715780632b2eaa92146107a55780632eb57c65146107f057600080fd5b80630fc238bf116104a95780630fc238bf146105db5780630fca11d2146105fb578063124cea371461061b578063185582f11461063b5780631b27e01b146106865780631e0cba0d146106d157600080fd5b806215a73b146104e5578063076cd77f1461051a5780630add66dd146105655780630b1d39b8146105875780630b90a39a146105bb575b600080fd5b3480156104f157600080fd5b5061050760008051602061354083398151915281565b6040519081526020015b60405180910390f35b34801561052657600080fd5b506000805160206135a083398151915260005260026020527fd7a437163435b79030132855d9146a10e26570f1767311219983e0c430cfa69054610507565b34801561057157600080fd5b50610585610580366004613264565b611497565b005b34801561059357600080fd5b506105077fdd5a41a7fc01f5c6d30816b17f638d6531625f1e1eaa599673ab2f6079f2dd9d81565b3480156105c757600080fd5b506105856105d63660046131e9565b6115ed565b3480156105e757600080fd5b506105856105f63660046131e9565b61162d565b34801561060757600080fd5b50610585610616366004613264565b61166a565b34801561062757600080fd5b506105856106363660046131e9565b61172f565b34801561064757600080fd5b5060008051602061350083398151915260005260026020527fbc779bbce8d4fef90926dc39b56d9135e8e3795964b3adae769767961d4a94d854610507565b34801561069257600080fd5b5060008051602061354083398151915260005260026020527f5a1993193b8890c75d83157b2c2c12b144545357ab60021d7429856434de051b54610507565b3480156106dd57600080fd5b50610507665374616b696e6760c81b81565b3480156106fb57600080fd5b5061072561070a366004613186565b6000908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610511565b34801561074957600080fd5b506105077f1d36f8ce53f59e624857e1d8dc7932d19981a2ea1b8faa4eb8ff843fc3e5a27881565b34801561077d57600080fd5b506105077f9b2e0c7fdae148f225bae7deb92d7e7bd24bb77edb12956e8fa7204900dd8a2281565b3480156107b157600080fd5b5060008051602061358083398151915260005260026020527f270fb31b28afd06ad35288bc3cb901686a4c5a15239e966fd9b64269abd226c354610507565b3480156107fc57600080fd5b5061058561080b366004613186565b61176c565b34801561081c57600080fd5b5061058561082b3660046131e9565b6117b3565b34801561083c57600080fd5b5061058561084b366004613186565b6117f0565b34801561085c57600080fd5b506105076914995dd85c99141bdbdb60b21b81565b34801561087d57600080fd5b5061058561088c366004613186565b611837565b34801561089d57600080fd5b5060008051602061362783398151915260005260026020527f8e8c0bef3b4557d74ba01e0433728c574990153e35cacae69cb26f23a8a4017554610507565b3480156108e857600080fd5b5060008051602061352083398151915260005260026020527ff3497fe1496bfc19eaef6d253f75ec2e9cfe1b4f6080c29192641567c6fc5d8754610507565b34801561093357600080fd5b506105076845636f73797374656d60b81b81565b34801561095357600080fd5b50610585610962366004613028565b61187e565b34801561097357600080fd5b5060008051602061360783398151915260005260026020527f14e650c949c7cc3fca2efe79b3711fc734b4df488cc27c4137f35bd0adaae7fa54610507565b3480156109be57600080fd5b5061050760008051602061358083398151915281565b3480156109e057600080fd5b50610a046109ef366004613186565b60009081526020819052604090205460ff1690565b6040519015158152602001610511565b348015610a2057600080fd5b50610585610a2f3660046131e9565b6118d8565b348015610a4057600080fd5b50610585610a4f3660046131e9565b611915565b348015610a6057600080fd5b5061050760008051602061360783398151915281565b348015610a8257600080fd5b50610585610a913660046131e9565b611952565b348015610aa257600080fd5b50610585610ab13660046131e9565b61198f565b348015610ac257600080fd5b50610585610ad13660046131e9565b6119cc565b348015610ae257600080fd5b506105076a4d61696e74656e616e636560a81b81565b348015610b0457600080fd5b506105077f77884798208df1e64f70968be41ef2d3211ec53613397ca59313416813df088881565b610585610b3a366004613136565b611a14565b348015610b4b57600080fd5b50610507611b6f565b348015610b6057600080fd5b50610585610b6f366004613062565b611c22565b348015610b8057600080fd5b506105076c14dd185ada5b99d4995dd85c99609a1b81565b348015610ba457600080fd5b5060008051602061356083398151915260005260026020527f38eb620cc1355554391bc9d0c224a726d66edf7c3eb2d67af166d6e81fe4456254610507565b348015610bef57600080fd5b506105077f9f1de481f899d76889aa8a2b44cc7b604d42691aa93d4ba618a1a1fd439f505081565b348015610c2357600080fd5b506105077fe10074dceffb75f13bf0ce50145afd35182d63796823f1280ce40e01c19109e781565b348015610c5757600080fd5b5060026020527fc77500645c8acbf6137a0e04460f85359483e3b08db30285cca2957db0c90904547fca55256fa8d248a334a7cb4ca72d9aec97700e81b3784b43c388b9a8d0e2b8e3547f77884798208df1e64f70968be41ef2d3211ec53613397ca59313416813df08886000527fba5524e01c8da4a46e6f70a8f29f4dc63d299ad01d2f01ccae9666cb85f6f7c05460408051938452602084019290925290820152606001610511565b348015610d0e57600080fd5b506105077111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b348015610d3757600080fd5b5061050760008051602061362783398151915281565b348015610d5957600080fd5b506105076000805160206135a083398151915281565b348015610d7b57600080fd5b50610585610d8a366004613186565b611eba565b348015610d9b57600080fd5b50610585611f01565b348015610db057600080fd5b50610585610dbf3660046131e9565b611f15565b348015610dd057600080fd5b506000805160206134e083398151915260005260026020527f673c817b54d53459fa437d6b11ba6445e517d8dc789e6b815675ff10e6aeeb5d54610507565b348015610e1b57600080fd5b50609d54610725906001600160a01b031681565b348015610e3b57600080fd5b50610585610e4a366004613186565b611f52565b348015610e5b57600080fd5b506105077f9346226931826838eedd13d9677fa33551e7c81f604b171ef3fac355458da9aa81565b348015610e8f57600080fd5b5061050769456e7653746f7261676560b01b81565b348015610eb057600080fd5b50610585610ebf366004613186565b611f99565b348015610ed057600080fd5b50610585610edf3660046131b8565b611fe0565b348015610ef057600080fd5b50610585610eff3660046131e9565b61215e565b348015610f1057600080fd5b50610585610f1f36600461321e565b6121b4565b348015610f3057600080fd5b50606b546001600160a01b0316610725565b348015610f4e57600080fd5b5060026020527fe6679752544e0074a1c9bec26775117fd40d133ce43cc443fb5f2512ebd7c2af547f89fc1b873e9ef0767cf41719c69200c3f894c43d73c49eb537ca60ec0a2d14bc547fa04c555f883d07b5c5fe85061c632b6bfec696b67afa8ad5e9773b89249984b2547fdd5a41a7fc01f5c6d30816b17f638d6531625f1e1eaa599673ab2f6079f2dd9d6000527f286a480438fb7eb9f5465ec436e6de865b71284ceb2be7ff1cea98f38c26308254604080519485526020850193909352918301526060820152608001610511565b34801561102c57600080fd5b5061050761271081565b34801561104257600080fd5b50610a046110513660046131b8565b612289565b34801561106257600080fd5b50611076611071366004613186565b6123ea565b6040516105119190613314565b34801561108f57600080fd5b506105076c42616c6c6f7453746f7261676560981b81565b3480156110b357600080fd5b506105856110c2366004613186565b61248c565b3480156110d357600080fd5b506105856110e23660046131e9565b6124d3565b3480156110f357600080fd5b506105077f6c6f69f426081752a5d3e73746599acd2a4cb145d5de4203ca1e3473b281680b81565b34801561112757600080fd5b50610507611136366004613186565b60009081526006602052604090205490565b34801561115457600080fd5b50610585611163366004613028565b612510565b34801561117457600080fd5b5061050760008051602061356083398151915281565b34801561119657600080fd5b5061119f6125b8565b60408051928352602083019190915201610511565b3480156111c057600080fd5b5061050760008051602061350083398151915281565b3480156111e257600080fd5b506105856111f136600461321e565b612622565b34801561120257600080fd5b50610507611211366004613186565b60009081526002602052604090205490565b34801561122f57600080fd5b5061058561123e3660046131e9565b6126f9565b34801561124f57600080fd5b506105076000805160206134e083398151915281565b34801561127157600080fd5b50611076611280366004613186565b612748565b34801561129157600080fd5b5061050760008051602061352083398151915281565b3480156112b357600080fd5b506105077fb38b2c133e931937bd95337c65c8aefa7040ed64bbed732e3e29a4944c65747381565b3480156112e757600080fd5b506105077fc9e15e34073efbcd0328740feaf503caac9124b55b38c73d1a97b53da80a2f6081565b34801561131b57600080fd5b506105077f04f7b94450bbcad85f37ea47cd1062728f884bb2040e357738f8fd53056134bc81565b34801561134f57600080fd5b5060008051602061364783398151915260005260026020527f38ddebd16170f2328156b72e009b30efe6e74a1b9fc4389d05f50efa2a42c6f854610507565b34801561139a57600080fd5b5061119f612765565b3480156113af57600080fd5b506105076113be366004613186565b60009081526001602052604090205490565b3480156113dc57600080fd5b506105856113eb3660046131e9565b6127cb565b3480156113fc57600080fd5b5061058561140b366004613186565b61280e565b34801561141c57600080fd5b5061058561142b366004613028565b612855565b34801561143c57600080fd5b5061050760008051602061364783398151915281565b34801561145e57600080fd5b5061058561146d366004613186565b6128cb565b34801561147e57600080fd5b5061058561148d366004613186565b612912565b905090565b336114a0612959565b6001600160a01b0316146114cf5760405162461bcd60e51b81526004016114c690613327565b60405180910390fd5b61271081836114de86886133ee565b6114e891906133ee565b6114f291906133ee565b1461153f5760405162461bcd60e51b815260206004820152601e60248201527f57726f6e6720726577617264206469737472756274696f6e20726174696f000060448201526064016114c6565b6115697fc9e15e34073efbcd0328740feaf503caac9124b55b38c73d1a97b53da80a2f6085612979565b6115937f9f1de481f899d76889aa8a2b44cc7b604d42691aa93d4ba618a1a1fd439f505084612979565b6115bd7f9346226931826838eedd13d9677fa33551e7c81f604b171ef3fac355458da9aa83612979565b6115e77fdd5a41a7fc01f5c6d30816b17f638d6531625f1e1eaa599673ab2f6079f2dd9d82612979565b50505050565b336115f6612959565b6001600160a01b03161461161c5760405162461bcd60e51b81526004016114c690613327565b61162a61146d826020015190565b50565b33611636612959565b6001600160a01b03161461165c5760405162461bcd60e51b81526004016114c690613327565b61162a61140b826020015190565b33611673612959565b6001600160a01b0316146116995760405162461bcd60e51b81526004016114c690613327565b6116c37f1d36f8ce53f59e624857e1d8dc7932d19981a2ea1b8faa4eb8ff843fc3e5a27885612979565b6116ed7fb38b2c133e931937bd95337c65c8aefa7040ed64bbed732e3e29a4944c65747384612979565b6117177f77884798208df1e64f70968be41ef2d3211ec53613397ca59313416813df088883612979565b6115e760008051602061364783398151915282612979565b33611738612959565b6001600160a01b03161461175e5760405162461bcd60e51b81526004016114c690613327565b61162a6110c2826020015190565b33611775612959565b6001600160a01b03161461179b5760405162461bcd60e51b81526004016114c690613327565b61162a6000805160206135a083398151915282612979565b336117bc612959565b6001600160a01b0316146117e25760405162461bcd60e51b81526004016114c690613327565b61162a61148d826020015190565b336117f9612959565b6001600160a01b03161461181f5760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061356083398151915282612979565b33611840612959565b6001600160a01b0316146118665760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061352083398151915282612979565b6118866129c8565b6118a181604051806020016040528060008152506000612a22565b6040516001600160a01b038216907f2a74bbaf99cf25202925743012bb137262ab3432c821e1ba94ddbecac2ea970890600090a250565b336118e1612959565b6001600160a01b0316146119075760405162461bcd60e51b81526004016114c690613327565b61162a61084b826020015190565b3361191e612959565b6001600160a01b0316146119445760405162461bcd60e51b81526004016114c690613327565b61162a610e4a826020015190565b3361195b612959565b6001600160a01b0316146119815760405162461bcd60e51b81526004016114c690613327565b61162a610d8a826020015190565b33611998612959565b6001600160a01b0316146119be5760405162461bcd60e51b81526004016114c690613327565b61162a61088c826020015190565b336119d5612959565b6001600160a01b0316146119fb5760405162461bcd60e51b81526004016114c690613327565b60208101516040820151611a0f8282612622565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415611aa25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016114c6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611aeb6000805160206135c0833981519152546001600160a01b031690565b6001600160a01b031614611b565760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016114c6565b611b5f82612b9c565b611b6b82826001612a22565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611c0f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016114c6565b506000805160206135c083398151915290565b603854610100900460ff1615808015611c425750603854600160ff909116105b80611c5c5750303b158015611c5c575060385460ff166001145b611cbf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016114c6565b6038805460ff191660011790558015611ce2576038805461ff0019166101001790555b6000805160206135c0833981519152546001600160a01b0385811691161415611d635760405162461bcd60e51b815260206004820152602d60248201527f72656769737472792073686f756c64206e6f742062652073616d65206173206960448201526c36b83632b6b2b73a30ba34b7b760991b60648201526084016114c6565b611d6b612bcb565b611d7484612510565b60005b8251811015611e6e576000611db1858381518110611d9757611d9761349e565b602002602001015160009081526002602052604090205490565b9050838281518110611dc557611dc561349e565b60200260200101516000141580611ddb57508015155b611e1a5760405162461bcd60e51b815260206004820152601060248201526f696e76616c6964207661726961626c6560801b60448201526064016114c6565b80611e5b57611e5b858381518110611e3457611e3461349e565b6020026020010151858481518110611e4e57611e4e61349e565b6020026020010151612979565b5080611e668161346d565b915050611d77565b5080156115e7576038805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b33611ec3612959565b6001600160a01b031614611ee95760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061364783398151915282612979565b611f096129c8565b611f136000612bfa565b565b33611f1e612959565b6001600160a01b031614611f445760405162461bcd60e51b81526004016114c690613327565b61162a61080b826020015190565b33611f5b612959565b6001600160a01b031614611f815760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061360783398151915282612979565b33611fa2612959565b6001600160a01b031614611fc85760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061354083398151915282612979565b600080516020613607833981519152821415611fff57611b6b81611915565b7fe10074dceffb75f13bf0ce50145afd35182d63796823f1280ce40e01c19109e782141561203057611b6b816119cc565b7f6c6f69f426081752a5d3e73746599acd2a4cb145d5de4203ca1e3473b281680b82141561206157611b6b816127cb565b60008051602061350083398151915282141561208057611b6b816115ed565b60008051602061352083398151915282141561209f57611b6b8161198f565b6000805160206135608339815191528214156120be57611b6b816118d8565b6000805160206135808339815191528214156120dd57611b6b8161162d565b7f9b2e0c7fdae148f225bae7deb92d7e7bd24bb77edb12956e8fa7204900dd8a2282141561210e57611b6b8161215e565b7f04f7b94450bbcad85f37ea47cd1062728f884bb2040e357738f8fd53056134bc82141561213f57611b6b816126f9565b600080516020613647833981519152821415611b6b57611b6b81611952565b33612167612959565b6001600160a01b03161461218d5760405162461bcd60e51b81526004016114c690613327565b60208101516040820151606083015160808401516121ad84848484611497565b5050505050565b336121bd612959565b6001600160a01b0316146121e35760405162461bcd60e51b81526004016114c690613327565b808211156122595760405162461bcd60e51b815260206004820152603e60248201527f4d696e696d756d207374616b696e67206d75737420626520736d616c6c65722060448201527f616e6420657175616c207468616e206d6178696d756d207374616b696e67000060648201526084016114c6565b6122716000805160206135a083398151915283612979565b611b6b6000805160206134e083398151915282612979565b60007f9b2e0c7fdae148f225bae7deb92d7e7bd24bb77edb12956e8fa7204900dd8a2283141561231557600080600080858060200190518101906122cd9190613296565b9350935093509350612710818385876122e691906133ee565b6122f091906133ee565b6122fa91906133ee565b1461230c5760009450505050506123e4565b505050506123e0565b7f6c6f69f426081752a5d3e73746599acd2a4cb145d5de4203ca1e3473b281680b83148061236257507fe10074dceffb75f13bf0ce50145afd35182d63796823f1280ce40e01c19109e783145b1561239c576000808380602001905181019061237e9190613240565b9150915080821115612395576000925050506123e4565b50506123e0565b6000805160206135208339815191528314156123e0576000828060200190518101906123c8919061319f565b90506103e88110156123de5760009150506123e4565b505b5060015b92915050565b600081815260036020526040902080546060919061240790613432565b80601f016020809104026020016040519081016040528092919081815260200182805461243390613432565b80156124805780601f1061245557610100808354040283529160200191612480565b820191906000526020600020905b81548152906001019060200180831161246357829003601f168201915b50505050509050919050565b33612495612959565b6001600160a01b0316146124bb5760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061362783398151915282612979565b336124dc612959565b6001600160a01b0316146125025760405162461bcd60e51b81526004016114c690613327565b61162a610ebf826020015190565b6125186129c8565b6001600160a01b03811661256e5760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060448201526064016114c6565b609d80546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b60026020527fd7a437163435b79030132855d9146a10e26570f1767311219983e0c430cfa690546000805160206134e083398151915260009081527f673c817b54d53459fa437d6b11ba6445e517d8dc789e6b815675ff10e6aeeb5d54909182915b915091509091565b3361262b612959565b6001600160a01b0316146126515760405162461bcd60e51b81526004016114c690613327565b808211156126c9576040805162461bcd60e51b81526020600482015260248101919091527f4d696e696d756d206475726174696f6e206d75737420626520736d616c6c657260448201527f20616e6420657175616c207468616e206d6178696d756d206475726174696f6e60648201526084016114c6565b6126e160008051602061362783398151915283612979565b611b6b60008051602061354083398151915282612979565b33612702612959565b6001600160a01b0316146127285760405162461bcd60e51b81526004016114c690613327565b60208101516040820151606083015160808401516121ad8484848461166a565b600081815260056020526040902080546060919061240790613432565b60026020527f8e8c0bef3b4557d74ba01e0433728c574990153e35cacae69cb26f23a8a401755460008051602061354083398151915260009081527f5a1993193b8890c75d83157b2c2c12b144545357ab60021d7429856434de051b549091829161261a565b336127d4612959565b6001600160a01b0316146127fa5760405162461bcd60e51b81526004016114c690613327565b60208101516040820151611a0f82826121b4565b33612817612959565b6001600160a01b03161461283d5760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061358083398151915282612979565b61285d6129c8565b6001600160a01b0381166128c25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016114c6565b61162a81612bfa565b336128d4612959565b6001600160a01b0316146128fa5760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061350083398151915282612979565b3361291b612959565b6001600160a01b0316146129415760405162461bcd60e51b81526004016114c690613327565b61162a6000805160206134e083398151915282612979565b60006114927111dbdd995c9b985b98d950dbdb9d1c9858dd60721b612c4c565b6000828152600260205260409020819055817f58d7c10adfd5778016889c15d422d57f2975b9292415b54fe5d8cd4241200612826040516129bc91815260200190565b60405180910390a25050565b606b546001600160a01b03163314611f135760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016114c6565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612a5557611a0f83612cc9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a8e57600080fd5b505afa925050508015612abe575060408051601f3d908101601f19168201909252612abb9181019061319f565b60015b612b215760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016114c6565b6000805160206135c08339815191528114612b905760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016114c6565b50611a0f838383612d65565b33612ba5612959565b6001600160a01b03161461162a5760405162461bcd60e51b81526004016114c690613327565b603854610100900460ff16612bf25760405162461bcd60e51b81526004016114c69061334e565b611f13612d8a565b606b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b609d54604051630d2020dd60e01b8152600481018390526000916001600160a01b031690630d2020dd9060240160206040518083038186803b158015612c9157600080fd5b505afa158015612ca5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e49190613045565b6001600160a01b0381163b612d365760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016114c6565b6000805160206135c083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612d6e83612dba565b600082511180612d7b5750805b15611a0f576115e78383612dfa565b603854610100900460ff16612db15760405162461bcd60e51b81526004016114c69061334e565b611f1333612bfa565b612dc381612cc9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612e1f83836040518060600160405280602781526020016135e060279139612e26565b9392505050565b6060600080856001600160a01b031685604051612e4391906132f8565b600060405180830381855af49150503d8060008114612e7e576040519150601f19603f3d011682016040523d82523d6000602084013e612e83565b606091505b5091509150612e9486838387612e9e565b9695505050505050565b60608315612f0a578251612f03576001600160a01b0385163b612f035760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016114c6565b5081612f14565b612f148383612f1c565b949350505050565b815115612f2c5781518083602001fd5b8060405162461bcd60e51b81526004016114c69190613314565b600082601f830112612f5757600080fd5b81356020612f6c612f67836133ca565b613399565b80838252828201915082860187848660051b8901011115612f8c57600080fd5b60005b85811015612fab57813584529284019290840190600101612f8f565b5090979650505050505050565b600082601f830112612fc957600080fd5b813567ffffffffffffffff811115612fe357612fe36134b4565b612ff6601f8201601f1916602001613399565b81815284602083860101111561300b57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561303a57600080fd5b8135612e1f816134ca565b60006020828403121561305757600080fd5b8151612e1f816134ca565b60008060006060848603121561307757600080fd5b8335613082816134ca565b925060208481013567ffffffffffffffff808211156130a057600080fd5b818701915087601f8301126130b457600080fd5b81356130c2612f67826133ca565b8082825285820191508585018b878560051b88010111156130e257600080fd5b600095505b838610156131055780358352600195909501949186019186016130e7565b5096505050604087013592508083111561311e57600080fd5b505061312c86828701612f46565b9150509250925092565b6000806040838503121561314957600080fd5b8235613154816134ca565b9150602083013567ffffffffffffffff81111561317057600080fd5b61317c85828601612fb8565b9150509250929050565b60006020828403121561319857600080fd5b5035919050565b6000602082840312156131b157600080fd5b5051919050565b600080604083850312156131cb57600080fd5b82359150602083013567ffffffffffffffff81111561317057600080fd5b6000602082840312156131fb57600080fd5b813567ffffffffffffffff81111561321257600080fd5b612f1484828501612fb8565b6000806040838503121561323157600080fd5b50508035926020909101359150565b6000806040838503121561325357600080fd5b505080516020909101519092909150565b6000806000806080858703121561327a57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080608085870312156132ac57600080fd5b505082516020840151604085015160609095015191969095509092509050565b600081518084526132e4816020860160208601613406565b601f01601f19169290920160200192915050565b6000825161330a818460208701613406565b9190910192915050565b602081526000612e1f60208301846132cc565b6020808252600d908201526c2737902832b936b4b9b9b4b7b760991b604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b604051601f8201601f1916810167ffffffffffffffff811182821017156133c2576133c26134b4565b604052919050565b600067ffffffffffffffff8211156133e4576133e46134b4565b5060051b60200190565b6000821982111561340157613401613488565b500190565b60005b83811015613421578181015183820152602001613409565b838111156115e75750506000910152565b600181811c9082168061344657607f821691505b6020821081141561346757634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561348157613481613488565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461162a57600080fdfe18ad4415ef4a621ce1a136395c51ab6c3712bb2e24b79d526059925cea58dcb8829561ab7af084b7efc6600518d2df79b8d95f3f4c3a550f54f8f7ec7d2b80578086da5becff4dfac91a3105821b361078d2d4abba0ccc2401b974cf0dcf05c10c4fbe9dc9de15dd7c0d064975ee1a2f2f9b954fa0e65d4f6cddba94884bdc3e89dd490ecaf395283ed4ff2fd9557ca767fc425dce063451a9b0da6d72f600c3be90e461bbdb9a95a694f7796912ea04244caf7f5b60ad7ded17e16821d3e44c0b09c9badbbeb6c813a598ee910770a39ccda797a1940439bb6e47fc6c87548b360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65642a268972a70c8c688b62366bdfdd9bb09cf19d3e5b6e7e7bb158e671ffdcedd2c69fc6b7d0efc934fd5a3581c7253a7107a952526bb6dbcd814ef8d8dae1f44a7c1150f0e1a39ff55552d52764f97e6c387e2a247e1df344369f122c4254be2fa26469706673582212203d0d7c516c225a1e9e44eb3f1a97e1ac44225723acf753cea15775b46f46d18d64736f6c63430008060033"; +var EnvStorageImp_data = "0x60a06040523060601b6080523480156200001857600080fd5b506200002362000029565b620000ea565b603854610100900460ff1615620000965760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60385460ff90811614620000e8576038805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805160601c61369c6200011760003960008181611a1f01528181611aa40152611b7c015261369c6000f3fe6080604052600436106104e05760003560e01c80636fde207a11610281578063a6ed563e1161015a578063c42a0abc116100cc578063e078869f11610085578063e078869f146113d0578063ec3df879146113f0578063f2fde38b14611410578063f38ecf4714611430578063f6fd712914611452578063f82145911461147257600080fd5b8063c42a0abc146112a7578063c6713baf146112db578063c7d3da341461130f578063c95437be14611343578063cdb9f6431461138e578063dc97d962146113a357600080fd5b8063b4d6bd3b1161011e578063b4d6bd3b146111d6578063bd02d0f5146111f6578063be33732a14611223578063c00ace6c14611243578063c031a18014611265578063c0b4fe151461128557600080fd5b8063a6ed563e1461111b578063a91ee0dc14611148578063a9b629b214611168578063aba01fee1461118a578063b128f880146111b457600080fd5b80638c8b887e116101f35780639801bff9116101b75780639801bff914611036578063986e791a146110565780639986e4b914611083578063a36f259b146110a7578063a5d6a581146110c7578063a6868b7d146110e757600080fd5b80638c8b887e14610ee45780638d5cdd7e14610f045780638da5cb5b14610f245780638f6fe72514610f42578063918f86741461102057600080fd5b8063738fdd1a11610245578063738fdd1a14610e0f57806379e8585914610e2f5780637b2bfb0114610e4f5780637bf4653014610e83578063852cf38f14610ea457806388c2801914610ec457600080fd5b80636fde207a14610d4d5780636fe1317714610d6f578063715018a614610d8f57806371c6960d14610da4578063737c59b814610dc457600080fd5b806334125c84116103be5780634bd1ed76116103305780635dba8c4a116102e95780635dba8c4a14610b985780636167eb4514610be3578063656e305214610c1757806367d1a2e014610c4b5780636c78d2cf14610d025780636d583ca714610d2b57600080fd5b80634bd1ed7614610ad65780634d273e2814610af85780634f1ef28614610b2c57806352d1902d14610b3f578063539927be14610b545780635a731cca14610b7457600080fd5b80633d4c65f3116103825780633d4c65f314610a145780633e8daafe14610a345780633f35c8fe14610a54578063408d79cf14610a7657806344b8991414610a9657806345b5ec2914610ab657600080fd5b806334125c84146109275780633659cfe6146109475780633690057a1461096757806338294419146109b25780633848207a146109d457600080fd5b806321f8a721116104575780632eccd8321161041b5780632eccd832146108105780632ed19cd5146108305780632f40992e146108505780633305508e1461087157806333be496e1461089157806333e31184146108dc57600080fd5b806321f8a721146106ef578063238737b61461073d578063278bb12a146107715780632b2eaa92146107a55780632eb57c65146107f057600080fd5b80630fc238bf116104a95780630fc238bf146105db5780630fca11d2146105fb578063124cea371461061b578063185582f11461063b5780631b27e01b146106865780631e0cba0d146106d157600080fd5b806215a73b146104e5578063076cd77f1461051a5780630add66dd146105655780630b1d39b8146105875780630b90a39a146105bb575b600080fd5b3480156104f157600080fd5b5061050760008051602061354083398151915281565b6040519081526020015b60405180910390f35b34801561052657600080fd5b506000805160206135a083398151915260005260026020527fd7a437163435b79030132855d9146a10e26570f1767311219983e0c430cfa69054610507565b34801561057157600080fd5b50610585610580366004613264565b611497565b005b34801561059357600080fd5b506105077fdd5a41a7fc01f5c6d30816b17f638d6531625f1e1eaa599673ab2f6079f2dd9d81565b3480156105c757600080fd5b506105856105d63660046131e9565b6115ed565b3480156105e757600080fd5b506105856105f63660046131e9565b61162d565b34801561060757600080fd5b50610585610616366004613264565b61166a565b34801561062757600080fd5b506105856106363660046131e9565b61172f565b34801561064757600080fd5b5060008051602061350083398151915260005260026020527fbc779bbce8d4fef90926dc39b56d9135e8e3795964b3adae769767961d4a94d854610507565b34801561069257600080fd5b5060008051602061354083398151915260005260026020527f5a1993193b8890c75d83157b2c2c12b144545357ab60021d7429856434de051b54610507565b3480156106dd57600080fd5b50610507665374616b696e6760c81b81565b3480156106fb57600080fd5b5061072561070a366004613186565b6000908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610511565b34801561074957600080fd5b506105077f1d36f8ce53f59e624857e1d8dc7932d19981a2ea1b8faa4eb8ff843fc3e5a27881565b34801561077d57600080fd5b506105077f9b2e0c7fdae148f225bae7deb92d7e7bd24bb77edb12956e8fa7204900dd8a2281565b3480156107b157600080fd5b5060008051602061358083398151915260005260026020527f270fb31b28afd06ad35288bc3cb901686a4c5a15239e966fd9b64269abd226c354610507565b3480156107fc57600080fd5b5061058561080b366004613186565b61176c565b34801561081c57600080fd5b5061058561082b3660046131e9565b6117b3565b34801561083c57600080fd5b5061058561084b366004613186565b6117f0565b34801561085c57600080fd5b506105076914995dd85c99141bdbdb60b21b81565b34801561087d57600080fd5b5061058561088c366004613186565b611837565b34801561089d57600080fd5b5060008051602061362783398151915260005260026020527f8e8c0bef3b4557d74ba01e0433728c574990153e35cacae69cb26f23a8a4017554610507565b3480156108e857600080fd5b5060008051602061352083398151915260005260026020527ff3497fe1496bfc19eaef6d253f75ec2e9cfe1b4f6080c29192641567c6fc5d8754610507565b34801561093357600080fd5b506105076845636f73797374656d60b81b81565b34801561095357600080fd5b50610585610962366004613028565b61187e565b34801561097357600080fd5b5060008051602061360783398151915260005260026020527f14e650c949c7cc3fca2efe79b3711fc734b4df488cc27c4137f35bd0adaae7fa54610507565b3480156109be57600080fd5b5061050760008051602061358083398151915281565b3480156109e057600080fd5b50610a046109ef366004613186565b60009081526020819052604090205460ff1690565b6040519015158152602001610511565b348015610a2057600080fd5b50610585610a2f3660046131e9565b6118d8565b348015610a4057600080fd5b50610585610a4f3660046131e9565b611915565b348015610a6057600080fd5b5061050760008051602061360783398151915281565b348015610a8257600080fd5b50610585610a913660046131e9565b611952565b348015610aa257600080fd5b50610585610ab13660046131e9565b61198f565b348015610ac257600080fd5b50610585610ad13660046131e9565b6119cc565b348015610ae257600080fd5b506105076a4d61696e74656e616e636560a81b81565b348015610b0457600080fd5b506105077f77884798208df1e64f70968be41ef2d3211ec53613397ca59313416813df088881565b610585610b3a366004613136565b611a14565b348015610b4b57600080fd5b50610507611b6f565b348015610b6057600080fd5b50610585610b6f366004613062565b611c22565b348015610b8057600080fd5b506105076c14dd185ada5b99d4995dd85c99609a1b81565b348015610ba457600080fd5b5060008051602061356083398151915260005260026020527f38eb620cc1355554391bc9d0c224a726d66edf7c3eb2d67af166d6e81fe4456254610507565b348015610bef57600080fd5b506105077f9f1de481f899d76889aa8a2b44cc7b604d42691aa93d4ba618a1a1fd439f505081565b348015610c2357600080fd5b506105077fe10074dceffb75f13bf0ce50145afd35182d63796823f1280ce40e01c19109e781565b348015610c5757600080fd5b5060026020527fc77500645c8acbf6137a0e04460f85359483e3b08db30285cca2957db0c90904547fca55256fa8d248a334a7cb4ca72d9aec97700e81b3784b43c388b9a8d0e2b8e3547f77884798208df1e64f70968be41ef2d3211ec53613397ca59313416813df08886000527fba5524e01c8da4a46e6f70a8f29f4dc63d299ad01d2f01ccae9666cb85f6f7c05460408051938452602084019290925290820152606001610511565b348015610d0e57600080fd5b506105077111dbdd995c9b985b98d950dbdb9d1c9858dd60721b81565b348015610d3757600080fd5b5061050760008051602061362783398151915281565b348015610d5957600080fd5b506105076000805160206135a083398151915281565b348015610d7b57600080fd5b50610585610d8a366004613186565b611eba565b348015610d9b57600080fd5b50610585611f01565b348015610db057600080fd5b50610585610dbf3660046131e9565b611f15565b348015610dd057600080fd5b506000805160206134e083398151915260005260026020527f673c817b54d53459fa437d6b11ba6445e517d8dc789e6b815675ff10e6aeeb5d54610507565b348015610e1b57600080fd5b50609d54610725906001600160a01b031681565b348015610e3b57600080fd5b50610585610e4a366004613186565b611f52565b348015610e5b57600080fd5b506105077f9346226931826838eedd13d9677fa33551e7c81f604b171ef3fac355458da9aa81565b348015610e8f57600080fd5b5061050769456e7653746f7261676560b01b81565b348015610eb057600080fd5b50610585610ebf366004613186565b611f99565b348015610ed057600080fd5b50610585610edf3660046131b8565b611fe0565b348015610ef057600080fd5b50610585610eff3660046131e9565b61215e565b348015610f1057600080fd5b50610585610f1f36600461321e565b6121b4565b348015610f3057600080fd5b50606b546001600160a01b0316610725565b348015610f4e57600080fd5b5060026020527fe6679752544e0074a1c9bec26775117fd40d133ce43cc443fb5f2512ebd7c2af547f89fc1b873e9ef0767cf41719c69200c3f894c43d73c49eb537ca60ec0a2d14bc547fa04c555f883d07b5c5fe85061c632b6bfec696b67afa8ad5e9773b89249984b2547fdd5a41a7fc01f5c6d30816b17f638d6531625f1e1eaa599673ab2f6079f2dd9d6000527f286a480438fb7eb9f5465ec436e6de865b71284ceb2be7ff1cea98f38c26308254604080519485526020850193909352918301526060820152608001610511565b34801561102c57600080fd5b5061050761271081565b34801561104257600080fd5b50610a046110513660046131b8565b612289565b34801561106257600080fd5b50611076611071366004613186565b6123ea565b6040516105119190613314565b34801561108f57600080fd5b506105076c42616c6c6f7453746f7261676560981b81565b3480156110b357600080fd5b506105856110c2366004613186565b61248c565b3480156110d357600080fd5b506105856110e23660046131e9565b6124d3565b3480156110f357600080fd5b506105077f6c6f69f426081752a5d3e73746599acd2a4cb145d5de4203ca1e3473b281680b81565b34801561112757600080fd5b50610507611136366004613186565b60009081526006602052604090205490565b34801561115457600080fd5b50610585611163366004613028565b612510565b34801561117457600080fd5b5061050760008051602061356083398151915281565b34801561119657600080fd5b5061119f6125b8565b60408051928352602083019190915201610511565b3480156111c057600080fd5b5061050760008051602061350083398151915281565b3480156111e257600080fd5b506105856111f136600461321e565b612622565b34801561120257600080fd5b50610507611211366004613186565b60009081526002602052604090205490565b34801561122f57600080fd5b5061058561123e3660046131e9565b6126f9565b34801561124f57600080fd5b506105076000805160206134e083398151915281565b34801561127157600080fd5b50611076611280366004613186565b612748565b34801561129157600080fd5b5061050760008051602061352083398151915281565b3480156112b357600080fd5b506105077fb38b2c133e931937bd95337c65c8aefa7040ed64bbed732e3e29a4944c65747381565b3480156112e757600080fd5b506105077fc9e15e34073efbcd0328740feaf503caac9124b55b38c73d1a97b53da80a2f6081565b34801561131b57600080fd5b506105077f04f7b94450bbcad85f37ea47cd1062728f884bb2040e357738f8fd53056134bc81565b34801561134f57600080fd5b5060008051602061364783398151915260005260026020527f38ddebd16170f2328156b72e009b30efe6e74a1b9fc4389d05f50efa2a42c6f854610507565b34801561139a57600080fd5b5061119f612765565b3480156113af57600080fd5b506105076113be366004613186565b60009081526001602052604090205490565b3480156113dc57600080fd5b506105856113eb3660046131e9565b6127cb565b3480156113fc57600080fd5b5061058561140b366004613186565b61280e565b34801561141c57600080fd5b5061058561142b366004613028565b612855565b34801561143c57600080fd5b5061050760008051602061364783398151915281565b34801561145e57600080fd5b5061058561146d366004613186565b6128cb565b34801561147e57600080fd5b5061058561148d366004613186565b612912565b905090565b336114a0612959565b6001600160a01b0316146114cf5760405162461bcd60e51b81526004016114c690613327565b60405180910390fd5b61271081836114de86886133ee565b6114e891906133ee565b6114f291906133ee565b1461153f5760405162461bcd60e51b815260206004820152601e60248201527f57726f6e6720726577617264206469737472756274696f6e20726174696f000060448201526064016114c6565b6115697fc9e15e34073efbcd0328740feaf503caac9124b55b38c73d1a97b53da80a2f6085612979565b6115937f9f1de481f899d76889aa8a2b44cc7b604d42691aa93d4ba618a1a1fd439f505084612979565b6115bd7f9346226931826838eedd13d9677fa33551e7c81f604b171ef3fac355458da9aa83612979565b6115e77fdd5a41a7fc01f5c6d30816b17f638d6531625f1e1eaa599673ab2f6079f2dd9d82612979565b50505050565b336115f6612959565b6001600160a01b03161461161c5760405162461bcd60e51b81526004016114c690613327565b61162a61146d826020015190565b50565b33611636612959565b6001600160a01b03161461165c5760405162461bcd60e51b81526004016114c690613327565b61162a61140b826020015190565b33611673612959565b6001600160a01b0316146116995760405162461bcd60e51b81526004016114c690613327565b6116c37f1d36f8ce53f59e624857e1d8dc7932d19981a2ea1b8faa4eb8ff843fc3e5a27885612979565b6116ed7fb38b2c133e931937bd95337c65c8aefa7040ed64bbed732e3e29a4944c65747384612979565b6117177f77884798208df1e64f70968be41ef2d3211ec53613397ca59313416813df088883612979565b6115e760008051602061364783398151915282612979565b33611738612959565b6001600160a01b03161461175e5760405162461bcd60e51b81526004016114c690613327565b61162a6110c2826020015190565b33611775612959565b6001600160a01b03161461179b5760405162461bcd60e51b81526004016114c690613327565b61162a6000805160206135a083398151915282612979565b336117bc612959565b6001600160a01b0316146117e25760405162461bcd60e51b81526004016114c690613327565b61162a61148d826020015190565b336117f9612959565b6001600160a01b03161461181f5760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061356083398151915282612979565b33611840612959565b6001600160a01b0316146118665760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061352083398151915282612979565b6118866129c8565b6118a181604051806020016040528060008152506000612a22565b6040516001600160a01b038216907f2a74bbaf99cf25202925743012bb137262ab3432c821e1ba94ddbecac2ea970890600090a250565b336118e1612959565b6001600160a01b0316146119075760405162461bcd60e51b81526004016114c690613327565b61162a61084b826020015190565b3361191e612959565b6001600160a01b0316146119445760405162461bcd60e51b81526004016114c690613327565b61162a610e4a826020015190565b3361195b612959565b6001600160a01b0316146119815760405162461bcd60e51b81526004016114c690613327565b61162a610d8a826020015190565b33611998612959565b6001600160a01b0316146119be5760405162461bcd60e51b81526004016114c690613327565b61162a61088c826020015190565b336119d5612959565b6001600160a01b0316146119fb5760405162461bcd60e51b81526004016114c690613327565b60208101516040820151611a0f8282612622565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415611aa25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016114c6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611aeb6000805160206135c0833981519152546001600160a01b031690565b6001600160a01b031614611b565760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016114c6565b611b5f82612b9c565b611b6b82826001612a22565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611c0f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016114c6565b506000805160206135c083398151915290565b603854610100900460ff1615808015611c425750603854600160ff909116105b80611c5c5750303b158015611c5c575060385460ff166001145b611cbf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016114c6565b6038805460ff191660011790558015611ce2576038805461ff0019166101001790555b6000805160206135c0833981519152546001600160a01b0385811691161415611d635760405162461bcd60e51b815260206004820152602d60248201527f72656769737472792073686f756c64206e6f742062652073616d65206173206960448201526c36b83632b6b2b73a30ba34b7b760991b60648201526084016114c6565b611d6b612bcb565b611d7484612510565b60005b8251811015611e6e576000611db1858381518110611d9757611d9761349e565b602002602001015160009081526002602052604090205490565b9050838281518110611dc557611dc561349e565b60200260200101516000141580611ddb57508015155b611e1a5760405162461bcd60e51b815260206004820152601060248201526f696e76616c6964207661726961626c6560801b60448201526064016114c6565b80611e5b57611e5b858381518110611e3457611e3461349e565b6020026020010151858481518110611e4e57611e4e61349e565b6020026020010151612979565b5080611e668161346d565b915050611d77565b5080156115e7576038805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b33611ec3612959565b6001600160a01b031614611ee95760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061364783398151915282612979565b611f096129c8565b611f136000612bfa565b565b33611f1e612959565b6001600160a01b031614611f445760405162461bcd60e51b81526004016114c690613327565b61162a61080b826020015190565b33611f5b612959565b6001600160a01b031614611f815760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061360783398151915282612979565b33611fa2612959565b6001600160a01b031614611fc85760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061354083398151915282612979565b600080516020613607833981519152821415611fff57611b6b81611915565b7fe10074dceffb75f13bf0ce50145afd35182d63796823f1280ce40e01c19109e782141561203057611b6b816119cc565b7f6c6f69f426081752a5d3e73746599acd2a4cb145d5de4203ca1e3473b281680b82141561206157611b6b816127cb565b60008051602061350083398151915282141561208057611b6b816115ed565b60008051602061352083398151915282141561209f57611b6b8161198f565b6000805160206135608339815191528214156120be57611b6b816118d8565b6000805160206135808339815191528214156120dd57611b6b8161162d565b7f9b2e0c7fdae148f225bae7deb92d7e7bd24bb77edb12956e8fa7204900dd8a2282141561210e57611b6b8161215e565b7f04f7b94450bbcad85f37ea47cd1062728f884bb2040e357738f8fd53056134bc82141561213f57611b6b816126f9565b600080516020613647833981519152821415611b6b57611b6b81611952565b33612167612959565b6001600160a01b03161461218d5760405162461bcd60e51b81526004016114c690613327565b60208101516040820151606083015160808401516121ad84848484611497565b5050505050565b336121bd612959565b6001600160a01b0316146121e35760405162461bcd60e51b81526004016114c690613327565b808211156122595760405162461bcd60e51b815260206004820152603e60248201527f4d696e696d756d207374616b696e67206d75737420626520736d616c6c65722060448201527f616e6420657175616c207468616e206d6178696d756d207374616b696e67000060648201526084016114c6565b6122716000805160206135a083398151915283612979565b611b6b6000805160206134e083398151915282612979565b60007f9b2e0c7fdae148f225bae7deb92d7e7bd24bb77edb12956e8fa7204900dd8a2283141561231557600080600080858060200190518101906122cd9190613296565b9350935093509350612710818385876122e691906133ee565b6122f091906133ee565b6122fa91906133ee565b1461230c5760009450505050506123e4565b505050506123e0565b7f6c6f69f426081752a5d3e73746599acd2a4cb145d5de4203ca1e3473b281680b83148061236257507fe10074dceffb75f13bf0ce50145afd35182d63796823f1280ce40e01c19109e783145b1561239c576000808380602001905181019061237e9190613240565b9150915080821115612395576000925050506123e4565b50506123e0565b6000805160206135208339815191528314156123e0576000828060200190518101906123c8919061319f565b90506103e88110156123de5760009150506123e4565b505b5060015b92915050565b600081815260036020526040902080546060919061240790613432565b80601f016020809104026020016040519081016040528092919081815260200182805461243390613432565b80156124805780601f1061245557610100808354040283529160200191612480565b820191906000526020600020905b81548152906001019060200180831161246357829003601f168201915b50505050509050919050565b33612495612959565b6001600160a01b0316146124bb5760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061362783398151915282612979565b336124dc612959565b6001600160a01b0316146125025760405162461bcd60e51b81526004016114c690613327565b61162a610ebf826020015190565b6125186129c8565b6001600160a01b03811661256e5760405162461bcd60e51b815260206004820152601a60248201527f416464726573732073686f756c64206265206e6f6e2d7a65726f00000000000060448201526064016114c6565b609d80546001600160a01b0319166001600160a01b0383169081179091556040517f278c70ced5f3e0e5eeb385b5ff9cb735748ba00a625147e66065ed48fc1562cd90600090a250565b60026020527fd7a437163435b79030132855d9146a10e26570f1767311219983e0c430cfa690546000805160206134e083398151915260009081527f673c817b54d53459fa437d6b11ba6445e517d8dc789e6b815675ff10e6aeeb5d54909182915b915091509091565b3361262b612959565b6001600160a01b0316146126515760405162461bcd60e51b81526004016114c690613327565b808211156126c9576040805162461bcd60e51b81526020600482015260248101919091527f4d696e696d756d206475726174696f6e206d75737420626520736d616c6c657260448201527f20616e6420657175616c207468616e206d6178696d756d206475726174696f6e60648201526084016114c6565b6126e160008051602061362783398151915283612979565b611b6b60008051602061354083398151915282612979565b33612702612959565b6001600160a01b0316146127285760405162461bcd60e51b81526004016114c690613327565b60208101516040820151606083015160808401516121ad8484848461166a565b600081815260056020526040902080546060919061240790613432565b60026020527f8e8c0bef3b4557d74ba01e0433728c574990153e35cacae69cb26f23a8a401755460008051602061354083398151915260009081527f5a1993193b8890c75d83157b2c2c12b144545357ab60021d7429856434de051b549091829161261a565b336127d4612959565b6001600160a01b0316146127fa5760405162461bcd60e51b81526004016114c690613327565b60208101516040820151611a0f82826121b4565b33612817612959565b6001600160a01b03161461283d5760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061358083398151915282612979565b61285d6129c8565b6001600160a01b0381166128c25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016114c6565b61162a81612bfa565b336128d4612959565b6001600160a01b0316146128fa5760405162461bcd60e51b81526004016114c690613327565b61162a60008051602061350083398151915282612979565b3361291b612959565b6001600160a01b0316146129415760405162461bcd60e51b81526004016114c690613327565b61162a6000805160206134e083398151915282612979565b60006114927111dbdd995c9b985b98d950dbdb9d1c9858dd60721b612c4c565b6000828152600260205260409020819055817f58d7c10adfd5778016889c15d422d57f2975b9292415b54fe5d8cd4241200612826040516129bc91815260200190565b60405180910390a25050565b606b546001600160a01b03163314611f135760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016114c6565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612a5557611a0f83612cc9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a8e57600080fd5b505afa925050508015612abe575060408051601f3d908101601f19168201909252612abb9181019061319f565b60015b612b215760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016114c6565b6000805160206135c08339815191528114612b905760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016114c6565b50611a0f838383612d65565b33612ba5612959565b6001600160a01b03161461162a5760405162461bcd60e51b81526004016114c690613327565b603854610100900460ff16612bf25760405162461bcd60e51b81526004016114c69061334e565b611f13612d8a565b606b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b609d54604051630d2020dd60e01b8152600481018390526000916001600160a01b031690630d2020dd9060240160206040518083038186803b158015612c9157600080fd5b505afa158015612ca5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e49190613045565b6001600160a01b0381163b612d365760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016114c6565b6000805160206135c083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612d6e83612dba565b600082511180612d7b5750805b15611a0f576115e78383612dfa565b603854610100900460ff16612db15760405162461bcd60e51b81526004016114c69061334e565b611f1333612bfa565b612dc381612cc9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612e1f83836040518060600160405280602781526020016135e060279139612e26565b9392505050565b6060600080856001600160a01b031685604051612e4391906132f8565b600060405180830381855af49150503d8060008114612e7e576040519150601f19603f3d011682016040523d82523d6000602084013e612e83565b606091505b5091509150612e9486838387612e9e565b9695505050505050565b60608315612f0a578251612f03576001600160a01b0385163b612f035760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016114c6565b5081612f14565b612f148383612f1c565b949350505050565b815115612f2c5781518083602001fd5b8060405162461bcd60e51b81526004016114c69190613314565b600082601f830112612f5757600080fd5b81356020612f6c612f67836133ca565b613399565b80838252828201915082860187848660051b8901011115612f8c57600080fd5b60005b85811015612fab57813584529284019290840190600101612f8f565b5090979650505050505050565b600082601f830112612fc957600080fd5b813567ffffffffffffffff811115612fe357612fe36134b4565b612ff6601f8201601f1916602001613399565b81815284602083860101111561300b57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561303a57600080fd5b8135612e1f816134ca565b60006020828403121561305757600080fd5b8151612e1f816134ca565b60008060006060848603121561307757600080fd5b8335613082816134ca565b925060208481013567ffffffffffffffff808211156130a057600080fd5b818701915087601f8301126130b457600080fd5b81356130c2612f67826133ca565b8082825285820191508585018b878560051b88010111156130e257600080fd5b600095505b838610156131055780358352600195909501949186019186016130e7565b5096505050604087013592508083111561311e57600080fd5b505061312c86828701612f46565b9150509250925092565b6000806040838503121561314957600080fd5b8235613154816134ca565b9150602083013567ffffffffffffffff81111561317057600080fd5b61317c85828601612fb8565b9150509250929050565b60006020828403121561319857600080fd5b5035919050565b6000602082840312156131b157600080fd5b5051919050565b600080604083850312156131cb57600080fd5b82359150602083013567ffffffffffffffff81111561317057600080fd5b6000602082840312156131fb57600080fd5b813567ffffffffffffffff81111561321257600080fd5b612f1484828501612fb8565b6000806040838503121561323157600080fd5b50508035926020909101359150565b6000806040838503121561325357600080fd5b505080516020909101519092909150565b6000806000806080858703121561327a57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080608085870312156132ac57600080fd5b505082516020840151604085015160609095015191969095509092509050565b600081518084526132e4816020860160208601613406565b601f01601f19169290920160200192915050565b6000825161330a818460208701613406565b9190910192915050565b602081526000612e1f60208301846132cc565b6020808252600d908201526c2737902832b936b4b9b9b4b7b760991b604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b604051601f8201601f1916810167ffffffffffffffff811182821017156133c2576133c26134b4565b604052919050565b600067ffffffffffffffff8211156133e4576133e46134b4565b5060051b60200190565b6000821982111561340157613401613488565b500190565b60005b83811015613421578181015183820152602001613409565b838111156115e75750506000910152565b600181811c9082168061344657607f821691505b6020821081141561346757634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561348157613481613488565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461162a57600080fdfe18ad4415ef4a621ce1a136395c51ab6c3712bb2e24b79d526059925cea58dcb8829561ab7af084b7efc6600518d2df79b8d95f3f4c3a550f54f8f7ec7d2b80578086da5becff4dfac91a3105821b361078d2d4abba0ccc2401b974cf0dcf05c10c4fbe9dc9de15dd7c0d064975ee1a2f2f9b954fa0e65d4f6cddba94884bdc3e89dd490ecaf395283ed4ff2fd9557ca767fc425dce063451a9b0da6d72f600c3be90e461bbdb9a95a694f7796912ea04244caf7f5b60ad7ded17e16821d3e44c0b09c9badbbeb6c813a598ee910770a39ccda797a1940439bb6e47fc6c87548b360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65642a268972a70c8c688b62366bdfdd9bb09cf19d3e5b6e7e7bb158e671ffdcedd2c69fc6b7d0efc934fd5a3581c7253a7107a952526bb6dbcd814ef8d8dae1f44a7c1150f0e1a39ff55552d52764f97e6c387e2a247e1df344369f122c4254be2fa2646970667358221220020aa94ea72dbea20b70836aab578ba6924c5ae72480421d248e4aab6a2fc67964736f6c63430008060033"; var EnvStorageImp_contract = web3.eth.contract([{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"_value","type":"address"}],"name":"AddressVarableChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_name","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"_value","type":"bytes32"}],"name":"Bytes32VarableChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_name","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"_value","type":"bytes"}],"name":"BytesVarableChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_name","type":"bytes32"},{"indexed":false,"internalType":"int256","name":"_value","type":"int256"}],"name":"IntVarableChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"SetRegistry","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_name","type":"bytes32"},{"indexed":false,"internalType":"string","name":"_value","type":"string"}],"name":"StringVarableChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_name","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"UintVarableChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"UpgradeImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_name","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"_type","type":"uint256"},{"indexed":false,"internalType":"string","name":"_value","type":"string"}],"name":"VarableChanged","type":"event"},{"inputs":[],"name":"BALLOT_DURATION_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BALLOT_DURATION_MIN_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BALLOT_DURATION_MIN_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BALLOT_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BASE_FEE_MAX_CHANGE_RATE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCKS_PER_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_CREATION_TIME_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_GASLIMIT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_AMOUNT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_BLOCK_PRODUCER_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_MAINTANANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_METHOD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLOCK_REWARD_DISTRIBUTION_STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DENOMINATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ECOSYSTEM_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ENV_STORAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GASLIMIT_AND_BASE_FEE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GAS_TARGET_PERCENTAGE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOV_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINTENANCE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BASE_FEE_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_IDLE_BLOCK_INTERVAL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_PRIORITY_FEE_PER_GAS_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_POOL_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MIN_MAX_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_MIN_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKING_REWARD_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"envKey","type":"bytes32"},{"internalType":"bytes","name":"envVal","type":"bytes"}],"name":"checkVariableCondition","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBallotDurationMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBallotDurationMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBallotDurationMinMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockCreationTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockRewardAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockRewardDistributionMethod","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlocksPer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getBoolean","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGasLimitAndBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getInt","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxIdleBlockInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxPriorityFeePerGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingMinMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"},{"internalType":"bytes32[]","name":"names","type":"bytes32[]"},{"internalType":"uint256[]","name":"infos","type":"uint256[]"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reg","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setBallotDurationMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setBallotDurationMaxByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setBallotDurationMin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setBallotDurationMinByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_min","type":"uint256"},{"internalType":"uint256","name":"_max","type":"uint256"}],"name":"setBallotDurationMinMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setBallotDurationMinMaxByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setBlockCreationTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setBlockCreationTimeByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setBlockRewardAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setBlockRewardAmountByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block_producer","type":"uint256"},{"internalType":"uint256","name":"_staking_reward","type":"uint256"},{"internalType":"uint256","name":"_ecofund","type":"uint256"},{"internalType":"uint256","name":"_maintanance","type":"uint256"}],"name":"setBlockRewardDistributionMethod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setBlockRewardDistributionMethodByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setBlocksPer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setBlocksPerByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block_GasLimit","type":"uint256"},{"internalType":"uint256","name":"_baseFeeMaxChangeRate","type":"uint256"},{"internalType":"uint256","name":"_gasTargetPercentage","type":"uint256"},{"internalType":"uint256","name":"_maxBaseFee","type":"uint256"}],"name":"setGasLimitAndBaseFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setGasLimitAndBaseFeeByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setMaxBaseFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setMaxBaseFeeByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setMaxIdleBlockInterval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setMaxIdleBlockIntervalByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setMaxPriorityFeePerGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setMaxPriorityFeePerGasByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setStakingMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setStakingMaxByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setStakingMin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setStakingMinByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_min","type":"uint256"},{"internalType":"uint256","name":"_max","type":"uint256"}],"name":"setStakingMinMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setStakingMinMaxByBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"envKey","type":"bytes32"},{"internalType":"bytes","name":"envVal","type":"bytes"}],"name":"setVariable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}]); function EnvStorageImp_new() { @@ -324,7 +341,7 @@ function EnvStorageImp_new() { function EnvStorageImp_load(addr) { return EnvStorageImp_contract.at(addr); } -var EternalStorage_data = "0x608060405234801561001057600080fd5b5061034c806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a6ed563e1161005b578063a6ed563e1461011b578063bd02d0f514610149578063c031a18014610169578063dc97d9621461017c57600080fd5b806321f8a721146100825780633848207a146100c8578063986e791a146100fb575b600080fd5b6100ab61009036600461025b565b6000908152600460205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020015b60405180910390f35b6100eb6100d636600461025b565b60009081526020819052604090205460ff1690565b60405190151581526020016100bf565b61010e61010936600461025b565b61019c565b6040516100bf91906102c1565b61013b61012936600461025b565b60009081526006602052604090205490565b6040519081526020016100bf565b61013b61015736600461025b565b60009081526002602052604090205490565b61010e61017736600461025b565b61023e565b61013b61018a36600461025b565b60009081526001602052604090205490565b60008181526003602052604090208054606091906101b9906102db565b80601f01602080910402602001604051908101604052809291908181526020018280546101e5906102db565b80156102325780601f1061020757610100808354040283529160200191610232565b820191906000526020600020905b81548152906001019060200180831161021557829003601f168201915b50505050509050919050565b60008181526005602052604090208054606091906101b9906102db565b60006020828403121561026d57600080fd5b5035919050565b6000815180845260005b8181101561029a5760208185018101518683018201520161027e565b818111156102ac576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006102d46020830184610274565b9392505050565b600181811c908216806102ef57607f821691505b6020821081141561031057634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220440136bece647be28d2bce0900fbe7356621290d66623223b7b40d7694324e0e64736f6c63430008060033"; +var EternalStorage_data = "0x608060405234801561001057600080fd5b5061034c806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a6ed563e1161005b578063a6ed563e1461011b578063bd02d0f514610149578063c031a18014610169578063dc97d9621461017c57600080fd5b806321f8a721146100825780633848207a146100c8578063986e791a146100fb575b600080fd5b6100ab61009036600461025b565b6000908152600460205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020015b60405180910390f35b6100eb6100d636600461025b565b60009081526020819052604090205460ff1690565b60405190151581526020016100bf565b61010e61010936600461025b565b61019c565b6040516100bf91906102c1565b61013b61012936600461025b565b60009081526006602052604090205490565b6040519081526020016100bf565b61013b61015736600461025b565b60009081526002602052604090205490565b61010e61017736600461025b565b61023e565b61013b61018a36600461025b565b60009081526001602052604090205490565b60008181526003602052604090208054606091906101b9906102db565b80601f01602080910402602001604051908101604052809291908181526020018280546101e5906102db565b80156102325780601f1061020757610100808354040283529160200191610232565b820191906000526020600020905b81548152906001019060200180831161021557829003601f168201915b50505050509050919050565b60008181526005602052604090208054606091906101b9906102db565b60006020828403121561026d57600080fd5b5035919050565b6000815180845260005b8181101561029a5760208185018101518683018201520161027e565b818111156102ac576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006102d46020830184610274565b9392505050565b600181811c908216806102ef57607f821691505b6020821081141561031057634e487b7160e01b600052602260045260246000fd5b5091905056fea26469706673582212207af6043c07f0475d2c4d1515538c8141e12bdf325fb038f39e6ee394f2e770e564736f6c63430008060033"; var EternalStorage_contract = web3.eth.contract([{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getBoolean","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getInt","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"h","type":"bytes32"}],"name":"getUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]); function EternalStorage_new() { @@ -343,7 +360,7 @@ function EternalStorage_new() { function EternalStorage_load(addr) { return EternalStorage_contract.at(addr); } -var Staking_data = "0x608060405234801561001057600080fd5b506040516106fc3803806106fc83398101604081905261002f91610301565b80604051806020016040528060008152506100528282600061005a60201b60201c565b5050506103a5565b61006383610090565b6000825111806100705750805b1561008b5761008983836100d060201b61008b1760201c565b505b505050565b610099816100fc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100f583836040518060600160405280602781526020016106d5602791396101ce565b9392505050565b61010f8161024760201b6100b71760201c565b6101765760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101ad7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61025660201b6100c61760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101eb919061032a565b600060405180830381855af49150503d8060008114610226576040519150601f19603f3d011682016040523d82523d6000602084013e61022b565b606091505b50909250905061023d86838387610259565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102c55782516102be576001600160a01b0385163b6102be5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161016d565b50816102cf565b6102cf83836102d7565b949350505050565b8151156102e75781518083602001fd5b8060405162461bcd60e51b815260040161016d9190610346565b60006020828403121561031357600080fd5b81516001600160a01b03811681146100f557600080fd5b6000825161033c818460208701610379565b9190910192915050565b6020815260008251806020840152610365816040850160208701610379565b601f01601f19169190910160400192915050565b60005b8381101561039457818101518382015260200161037c565b838111156100895750506000910152565b610321806103b46000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e61007c565b6040516001600160a01b03909116815260200160405180910390f35b61007a6100756100c9565b6100fc565b565b60006100866100c9565b905090565b60606100b083836040518060600160405280602781526020016102c560279139610120565b9392505050565b6001600160a01b03163b151590565b90565b60006100867f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b3660008037600080366000845af43d6000803e80801561011b573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161013d9190610245565b600060405180830381855af49150503d8060008114610178576040519150601f19603f3d011682016040523d82523d6000602084013e61017d565b606091505b509150915061018e86838387610198565b9695505050505050565b60608315610209578251610202576001600160a01b0385163b6102025760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610213565b610213838361021b565b949350505050565b81511561022b5781518083602001fd5b8060405162461bcd60e51b81526004016101f99190610261565b60008251610257818460208701610294565b9190910192915050565b6020815260008251806020840152610280816040850160208701610294565b601f01601f19169190910160400192915050565b60005b838110156102af578181015183820152602001610297565b838111156102be576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a10fea0462338333c31ae085361141c74f28d2520a5fd6c61060049c7943e3e964736f6c63430008060033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564"; +var Staking_data = "0x608060405234801561001057600080fd5b506040516106fc3803806106fc83398101604081905261002f91610301565b80604051806020016040528060008152506100528282600061005a60201b60201c565b5050506103a5565b61006383610090565b6000825111806100705750805b1561008b5761008983836100d060201b61008b1760201c565b505b505050565b610099816100fc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100f583836040518060600160405280602781526020016106d5602791396101ce565b9392505050565b61010f8161024760201b6100b71760201c565b6101765760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101ad7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61025660201b6100c61760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101eb919061032a565b600060405180830381855af49150503d8060008114610226576040519150601f19603f3d011682016040523d82523d6000602084013e61022b565b606091505b50909250905061023d86838387610259565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102c55782516102be576001600160a01b0385163b6102be5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161016d565b50816102cf565b6102cf83836102d7565b949350505050565b8151156102e75781518083602001fd5b8060405162461bcd60e51b815260040161016d9190610346565b60006020828403121561031357600080fd5b81516001600160a01b03811681146100f557600080fd5b6000825161033c818460208701610379565b9190910192915050565b6020815260008251806020840152610365816040850160208701610379565b601f01601f19169190910160400192915050565b60005b8381101561039457818101518382015260200161037c565b838111156100895750506000910152565b610321806103b46000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003957610031565b366100315761002f61006a565b005b61002f61006a565b34801561004557600080fd5b5061004e61007c565b6040516001600160a01b03909116815260200160405180910390f35b61007a6100756100c9565b6100fc565b565b60006100866100c9565b905090565b60606100b083836040518060600160405280602781526020016102c560279139610120565b9392505050565b6001600160a01b03163b151590565b90565b60006100867f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b3660008037600080366000845af43d6000803e80801561011b573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161013d9190610245565b600060405180830381855af49150503d8060008114610178576040519150601f19603f3d011682016040523d82523d6000602084013e61017d565b606091505b509150915061018e86838387610198565b9695505050505050565b60608315610209578251610202576001600160a01b0385163b6102025760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610213565b610213838361021b565b949350505050565b81511561022b5781518083602001fd5b8060405162461bcd60e51b81526004016101f99190610261565b60008251610257818460208701610294565b9190910192915050565b6020815260008251806020840152610280816040850160208701610294565b601f01601f19169190910160400192915050565b60005b838110156102af578181015183820152602001610297565b838111156102be576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220eaa87951bd41c197f3363eefdedb190c482906795ffaae1218988389cea014d164736f6c63430008060033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564"; var Staking_contract = web3.eth.contract([{"inputs":[{"internalType":"address","name":"_imp","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]); function Staking_new() { @@ -413,7 +430,7 @@ function ReentrancyGuardUpgradeable_new() { function ReentrancyGuardUpgradeable_load(addr) { return ReentrancyGuardUpgradeable_contract.at(addr); } -var AddressUpgradeable_data = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206b0e847059a4b7001b5ef6863728e46fc58585bdf365408604101487b61cca1e64736f6c63430008060033"; +var AddressUpgradeable_data = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205fb274924246a8a25a2147e66ed55ac1ed3dfef85f5937ed9970ed9ecec1980f64736f6c63430008060033"; var AddressUpgradeable_contract = web3.eth.contract([]); function AddressUpgradeable_new() { @@ -500,7 +517,7 @@ function IERC1822Proxiable_new() { function IERC1822Proxiable_load(addr) { return IERC1822Proxiable_contract.at(addr); } -var ERC1967Proxy_data = "0x6080604052604051610735380380610735833981016040819052610022916102dc565b61002e82826000610035565b505061043b565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d0838360405180606001604052806027815260200161070e602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103aa565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a0578251610299576001600160a01b0385163b6102995760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102aa565b6102aa83836102b2565b949350505050565b8151156102c25781518083602001fd5b8060405162461bcd60e51b815260040161014891906103c6565b600080604083850312156102ef57600080fd5b82516001600160a01b038116811461030657600080fd5b60208401519092506001600160401b038082111561032357600080fd5b818501915085601f83011261033757600080fd5b81518181111561034957610349610425565b604051601f8201601f19908116603f0116810190838211818310171561037157610371610425565b8160405282815288602084870101111561038a57600080fd5b61039b8360208301602088016103f9565b80955050505050509250929050565b600082516103bc8184602087016103f9565b9190910192915050565b60208152600082518060208401526103e58160408501602087016103f9565b601f01601f19169190910160400192915050565b60005b838110156104145781810151838201526020016103fc565b838111156100645750506000910152565b634e487b7160e01b600052604160045260246000fd5b6102c48061044a6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e8383604051806060016040528060278152602001610268602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e091906101e8565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101ac5782516101a5576001600160a01b0385163b6101a55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b6565b6101b683836101be565b949350505050565b8151156101ce5781518083602001fd5b8060405162461bcd60e51b815260040161019c9190610204565b600082516101fa818460208701610237565b9190910192915050565b6020815260008251806020840152610223816040850160208701610237565b601f01601f19169190910160400192915050565b60005b8381101561025257818101518382015260200161023a565b83811115610261576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220059e761847875d75f9b210b6a55352ed3ac6fce44250ccd75e0a325e9c521e5b64736f6c63430008060033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564"; +var ERC1967Proxy_data = "0x6080604052604051610735380380610735833981016040819052610022916102dc565b61002e82826000610035565b505061043b565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d0838360405180606001604052806027815260200161070e602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103aa565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a0578251610299576001600160a01b0385163b6102995760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102aa565b6102aa83836102b2565b949350505050565b8151156102c25781518083602001fd5b8060405162461bcd60e51b815260040161014891906103c6565b600080604083850312156102ef57600080fd5b82516001600160a01b038116811461030657600080fd5b60208401519092506001600160401b038082111561032357600080fd5b818501915085601f83011261033757600080fd5b81518181111561034957610349610425565b604051601f8201601f19908116603f0116810190838211818310171561037157610371610425565b8160405282815288602084870101111561038a57600080fd5b61039b8360208301602088016103f9565b80955050505050509250929050565b600082516103bc8184602087016103f9565b9190910192915050565b60208152600082518060208401526103e58160408501602087016103f9565b601f01601f19169190910160400192915050565b60005b838110156104145781810151838201526020016103fc565b838111156100645750506000910152565b634e487b7160e01b600052604160045260246000fd5b6102c48061044a6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e8383604051806060016040528060278152602001610268602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e091906101e8565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101ac5782516101a5576001600160a01b0385163b6101a55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b6565b6101b683836101be565b949350505050565b8151156101ce5781518083602001fd5b8060405162461bcd60e51b815260040161019c9190610204565b600082516101fa818460208701610237565b9190910192915050565b6020815260008251806020840152610223816040850160208701610237565b601f01601f19169190910160400192915050565b60005b8381101561025257818101518382015260200161023a565b83811115610261576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206485c9c499172ab12d2b45c11d04d031bf3b98df372633069ffeda24ed70461c64736f6c63430008060033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564"; var ERC1967Proxy_contract = web3.eth.contract([{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]); function ERC1967Proxy_new() { @@ -587,7 +604,7 @@ function UUPSUpgradeable_new() { function UUPSUpgradeable_load(addr) { return UUPSUpgradeable_contract.at(addr); } -var Address_data = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205e565b57bed130b3bed4a551be507c539301534f97d7962e91f5e757bee7fc1e64736f6c63430008060033"; +var Address_data = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207ab7acda8eafca8b2ff78786756ccbc7376d5fef4433feeb0bb46204a2453a5a64736f6c63430008060033"; var Address_contract = web3.eth.contract([]); function Address_new() { @@ -623,7 +640,7 @@ function Context_new() { function Context_load(addr) { return Context_contract.at(addr); } -var StorageSlot_data = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209e7827207547a9bdd54a3dd6af4c0a39be8d39aedafd620acaa1cc7da83c8e7864736f6c63430008060033"; +var StorageSlot_data = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205786f17c52b6c1cfcea276b21fd1435c0626e6a2b06402f67c7a98fb0bdae5fb64736f6c63430008060033"; var StorageSlot_contract = web3.eth.contract([]); function StorageSlot_new() {