0x608060405234801561001057600080fd5b50600436106100625760003560e01c80631836e0da146100675780631af716ba146100ab5780632269576d146100ce578063257ee936146100e357806356b8c724146100eb5780635dba23aa146100fe575b600080fd5b61008e7f000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb81565b6040516001600160a01b0390911681526020015b60405180910390f35b6100be6100b9366004610570565b610127565b60405190151581526020016100a2565b6100e16100dc3660046105df565b61025a565b005b6100e16102ba565b6100be6100f9366004610601565b6102c6565b61008e61010c3660046105df565b6000602081905290815260409020546001600160a01b031681565b604051636eb1769f60e11b81526001600160a01b038681166004830152336024830152600091600160ff1b917f000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb169063dd62ed3e90604401602060405180830381865afa15801561019c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c0919061065b565b10156101f457604051631787b42960e01b81526001600160a01b038716600482015233602482015260440160405180910390fd5b6101ff86868661032d565b846001600160a01b0316866001600160a01b03167fcd6e659e4c2e75c3bfe47fecaccf39aeb368116a0ee52afb532e07f6cba6c0d186868660405161024693929190610674565b60405180910390a350600195945050505050565b336000818152602081815260409182902080546001600160a01b0319166001600160a01b03861690811790915591519182527f499878296864c7c045e594ab7466ff32b2121677c5c49a229938f028cee9428e910160405180910390a250565b6102c4600061025a565b565b60006102d333868661032d565b846001600160a01b0316336001600160a01b03167fcd6e659e4c2e75c3bfe47fecaccf39aeb368116a0ee52afb532e07f6cba6c0d186868660405161031a93929190610674565b60405180910390a3506001949350505050565b6001600160a01b03828116600090815260208190526040902054161561046a576040516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018390527f000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb16906323b872dd906064016020604051808303816000875af11580156103c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e691906106aa565b506001600160a01b0382811660008181526020819052604090819020549051630c19836160e41b815260048101929092526001600160c01b03841660248301529091169063c198361090604401600060405180830381600087803b15801561044d57600080fd5b505af1158015610461573d6000803e3d6000fd5b50505050505050565b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390527f000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb16906323b872dd906064016020604051808303816000875af11580156104e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050591906106aa565b50505050565b80356001600160a01b038116811461052257600080fd5b919050565b60008083601f84011261053957600080fd5b50813567ffffffffffffffff81111561055157600080fd5b60208301915083602082850101111561056957600080fd5b9250929050565b60008060008060006080868803121561058857600080fd5b6105918661050b565b945061059f6020870161050b565b935060408601359250606086013567ffffffffffffffff8111156105c257600080fd5b6105ce88828901610527565b969995985093965092949392505050565b6000602082840312156105f157600080fd5b6105fa8261050b565b9392505050565b6000806000806060858703121561061757600080fd5b6106208561050b565b935060208501359250604085013567ffffffffffffffff81111561064357600080fd5b61064f87828801610527565b95989497509550505050565b60006020828403121561066d57600080fd5b5051919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b6000602082840312156106bc57600080fd5b815180151581146105fa57600080fdfea26469706673582212202fbe10ead5644cb5a91c94be08d498df708b7e4cd55df1a39d63d1211987716e64736f6c63430008140033
0x60a060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161070261009f60003960008181606c0152818161015501528181610379015261049801526107026000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631836e0da146100675780631af716ba146100ab5780632269576d146100ce578063257ee936146100e357806356b8c724146100eb5780635dba23aa146100fe575b600080fd5b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100be6100b9366004610570565b610127565b60405190151581526020016100a2565b6100e16100dc3660046105df565b61025a565b005b6100e16102ba565b6100be6100f9366004610601565b6102c6565b61008e61010c3660046105df565b6000602081905290815260409020546001600160a01b031681565b604051636eb1769f60e11b81526001600160a01b038681166004830152336024830152600091600160ff1b917f0000000000000000000000000000000000000000000000000000000000000000169063dd62ed3e90604401602060405180830381865afa15801561019c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c0919061065b565b10156101f457604051631787b42960e01b81526001600160a01b038716600482015233602482015260440160405180910390fd5b6101ff86868661032d565b846001600160a01b0316866001600160a01b03167fcd6e659e4c2e75c3bfe47fecaccf39aeb368116a0ee52afb532e07f6cba6c0d186868660405161024693929190610674565b60405180910390a350600195945050505050565b336000818152602081815260409182902080546001600160a01b0319166001600160a01b03861690811790915591519182527f499878296864c7c045e594ab7466ff32b2121677c5c49a229938f028cee9428e910160405180910390a250565b6102c4600061025a565b565b60006102d333868661032d565b846001600160a01b0316336001600160a01b03167fcd6e659e4c2e75c3bfe47fecaccf39aeb368116a0ee52afb532e07f6cba6c0d186868660405161031a93929190610674565b60405180910390a3506001949350505050565b6001600160a01b03828116600090815260208190526040902054161561046a576040516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018390527f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303816000875af11580156103c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e691906106aa565b506001600160a01b0382811660008181526020819052604090819020549051630c19836160e41b815260048101929092526001600160c01b03841660248301529091169063c198361090604401600060405180830381600087803b15801561044d57600080fd5b505af1158015610461573d6000803e3d6000fd5b50505050505050565b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390527f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303816000875af11580156104e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050591906106aa565b50505050565b80356001600160a01b038116811461052257600080fd5b919050565b60008083601f84011261053957600080fd5b50813567ffffffffffffffff81111561055157600080fd5b60208301915083602082850101111561056957600080fd5b9250929050565b60008060008060006080868803121561058857600080fd5b6105918661050b565b945061059f6020870161050b565b935060408601359250606086013567ffffffffffffffff8111156105c257600080fd5b6105ce88828901610527565b969995985093965092949392505050565b6000602082840312156105f157600080fd5b6105fa8261050b565b9392505050565b6000806000806060858703121561061757600080fd5b6106208561050b565b935060208501359250604085013567ffffffffffffffff81111561064357600080fd5b61064f87828801610527565b95989497509550505050565b60006020828403121561066d57600080fd5b5051919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b6000602082840312156106bc57600080fd5b815180151581146105fa57600080fdfea26469706673582212202fbe10ead5644cb5a91c94be08d498df708b7e4cd55df1a39d63d1211987716e64736f6c63430008140033000000000000000000000000b58e61c3098d85632df34eecfb899a1ed80921cb