0x608060405234801561001057600080fd5b50610971806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80634a8e6b2b1461005c578063614619541461007957806390804fa2146100835780639318923d1461008f578063abc44c09146100c2575b600080fd5b6100666265838081565b6040519081526020015b60405180910390f35b6100816100ca565b005b610066645d21dba00081565b6100aa73bc540e0729b732fb14afa240aa5a047ae9ba7df081565b6040516001600160a01b039091168152602001610070565b610066610474565b73464c71f6c2f760dda6093dcb91c24c39e5d6e18c63beabacc8733ed3b47dd13ec9a98b44e6204a523e766b225811306265838061010d81645d21dba000610841565b6101179190610863565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b15801561016657600080fd5b505af115801561017a573d6000803e3d6000fd5b5050604051631a4ca37b60e21b815273dac17f958d2ee523a2206206994597c13d831ec760048201526000196024820152306044820152737d2768de32b0b80b7a3454c06bdac94a69ddc7a992506369328dec91506064016020604051808303816000875af11580156101f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610215919061087a565b506102677387870bca3f3fd6335c3f4ce8392d69350b4fa4e26265838061024181645d21dba000610841565b61024b9190610863565b73dac17f958d2ee523a2206206994597c13d831ec79190610494565b6040516370a0823160e01b81523060048201527387870bca3f3fd6335c3f4ce8392d69350b4fa4e29063617ba0379073dac17f958d2ee523a2206206994597c13d831ec79081906370a0823190602401602060405180830381865afa1580156102d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f8919061087a565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015273464c71f6c2f760dda6093dcb91c24c39e5d6e18c604482015260006064820152608401600060405180830381600087803b15801561035f57600080fd5b505af1158015610373573d6000803e3d6000fd5b5073464c71f6c2f760dda6093dcb91c24c39e5d6e18c925063cc1b4bf6915073bc540e0729b732fb14afa240aa5a047ae9ba7df09050626583806103bc81645d21dba000610841565b6103c69190610863565b7323878914efe38d27c4d67ab83ed1b93a74d4086a426103e96265838082610893565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015260248101949094529390911660448301526064820152608481019190915260a4016020604051808303816000875af115801561044d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610471919061087a565b50565b6265838061048781645d21dba000610841565b6104919190610863565b81565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526104e5848261054e565b61054857604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261053e9085906105f8565b61054884826105f8565b50505050565b6000806000846001600160a01b03168460405161056b91906108ca565b6000604051808303816000865af19150503d80600081146105a8576040519150601f19603f3d011682016040523d82523d6000602084013e6105ad565b606091505b50915091508180156105d75750805115806105d75750808060200190518101906105d791906108e6565b80156105ed57506000856001600160a01b03163b115b925050505b92915050565b600061060d6001600160a01b03841683610665565b9050805160001415801561063257508080602001905181019061063091906108e6565b155b1561066057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606106a9838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506106b0565b9392505050565b6060824710156107115760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610657565b600080866001600160a01b0316858760405161072d91906108ca565b60006040518083038185875af1925050503d806000811461076a576040519150601f19603f3d011682016040523d82523d6000602084013e61076f565b606091505b50915091506107808783838761078d565b925050505b949350505050565b606083156107fc5782516000036107f5576001600160a01b0385163b6107f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610657565b5081610785565b61078583838151156108115781518083602001fd5b8060405162461bcd60e51b81526004016106579190610908565b634e487b7160e01b600052601160045260246000fd5b60008261085e57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176105f2576105f261082b565b60006020828403121561088c57600080fd5b5051919050565b808201808211156105f2576105f261082b565b60005b838110156108c15781810151838201526020016108a9565b50506000910152565b600082516108dc8184602087016108a6565b9190910192915050565b6000602082840312156108f857600080fd5b815180151581146106a957600080fd5b60208152600082518060208401526109278160408501602087016108a6565b601f01601f1916919091016040019291505056fea2646970667358221220f69fe05abeb8e65557696ff1981613027c8fb65f7ed2dce24761084341671bf964736f6c63430008130033