0x608060405234801561001057600080fd5b50600436106100885760003560e01c806373b2e80e1161005b57806373b2e80e146101055780637cb64759146101385780638da5cb5b1461014b578063f2fde38b1461015c57600080fd5b80632eb4a7ab1461008d5780633d13f874146100a95780635c0a869d146100be578063715018a6146100fd575b600080fd5b61009660015481565b6040519081526020015b60405180910390f35b6100bc6100b7366004610789565b61016f565b005b6100e57f00000000000000000000000016e85e17fc63d3c49dd9884b870d7900238f877781565b6040516001600160a01b0390911681526020016100a0565b6100bc6102e9565b610128610113366004610813565b60026020526000908152604090205460ff1681565b60405190151581526020016100a0565b6100bc61014636600461082e565b6102fd565b6000546001600160a01b03166100e5565b6100bc61016a366004610813565b61030a565b6001600160a01b03841660009081526002602052604090205460ff16156101a957604051630c8d9eab60e31b815260040160405180910390fd5b6040516bffffffffffffffffffffffff19606086901b16602082015260348101849052600090605401604051602081830303815290604052805190602001209050600061022d848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506001549150859050610388565b90508061024d5760405163452c2df160e11b815260040160405180910390fd5b6001600160a01b038087166000908152600260205260409020805460ff1916600117905561029e907f00000000000000000000000016e85e17fc63d3c49dd9884b870d7900238f87771687876103a0565b856001600160a01b03167f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4866040516102d991815260200190565b60405180910390a2505050505050565b6102f16103f7565b6102fb6000610451565b565b6103056103f7565b600155565b6103126103f7565b6001600160a01b03811661037c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61038581610451565b50565b60008261039585846104a1565b1490505b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526103f29084906104ee565b505050565b6000546001600160a01b031633146102fb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610373565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081815b84518110156104e6576104d2828683815181106104c5576104c5610847565b60200260200101516105c0565b9150806104de8161085d565b9150506104a6565b509392505050565b6000610543826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166105ec9092919063ffffffff16565b8051909150156103f257808060200190518101906105619190610886565b6103f25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610373565b60008183106105dc576000828152602084905260409020610399565b5060009182526020526040902090565b60606105fb8484600085610603565b949350505050565b6060824710156106645760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610373565b6001600160a01b0385163b6106bb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610373565b600080866001600160a01b031685876040516106d791906108d8565b60006040518083038185875af1925050503d8060008114610714576040519150601f19603f3d011682016040523d82523d6000602084013e610719565b606091505b5091509150610729828286610734565b979650505050505050565b60608315610743575081610399565b8251156107535782518084602001fd5b8160405162461bcd60e51b815260040161037391906108f4565b80356001600160a01b038116811461078457600080fd5b919050565b6000806000806060858703121561079f57600080fd5b6107a88561076d565b935060208501359250604085013567ffffffffffffffff808211156107cc57600080fd5b818701915087601f8301126107e057600080fd5b8135818111156107ef57600080fd5b8860208260051b850101111561080457600080fd5b95989497505060200194505050565b60006020828403121561082557600080fd5b6103998261076d565b60006020828403121561084057600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561087f57634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561089857600080fd5b8151801515811461039957600080fd5b60005b838110156108c35781810151838201526020016108ab565b838111156108d2576000848401525b50505050565b600082516108ea8184602087016108a8565b9190910192915050565b60208152600082518060208401526109138160408501602087016108a8565b601f01601f1916919091016040019291505056fea264697066735822122073b5a5b027cf1a5d057c734b7b356c8a8d7d28bb81f4806e05bedae985150a7c64736f6c634300080a0033
0x60a060405234801561001057600080fd5b50604051610a47380380610a4783398101604081905261002f91610099565b61003833610049565b6001600160a01b03166080526100c9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100ab57600080fd5b81516001600160a01b03811681146100c257600080fd5b9392505050565b60805161095d6100ea6000396000818160c30152610277015261095d6000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806373b2e80e1161005b57806373b2e80e146101055780637cb64759146101385780638da5cb5b1461014b578063f2fde38b1461015c57600080fd5b80632eb4a7ab1461008d5780633d13f874146100a95780635c0a869d146100be578063715018a6146100fd575b600080fd5b61009660015481565b6040519081526020015b60405180910390f35b6100bc6100b7366004610789565b61016f565b005b6100e57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a0565b6100bc6102e9565b610128610113366004610813565b60026020526000908152604090205460ff1681565b60405190151581526020016100a0565b6100bc61014636600461082e565b6102fd565b6000546001600160a01b03166100e5565b6100bc61016a366004610813565b61030a565b6001600160a01b03841660009081526002602052604090205460ff16156101a957604051630c8d9eab60e31b815260040160405180910390fd5b6040516bffffffffffffffffffffffff19606086901b16602082015260348101849052600090605401604051602081830303815290604052805190602001209050600061022d848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506001549150859050610388565b90508061024d5760405163452c2df160e11b815260040160405180910390fd5b6001600160a01b038087166000908152600260205260409020805460ff1916600117905561029e907f00000000000000000000000000000000000000000000000000000000000000001687876103a0565b856001600160a01b03167f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4866040516102d991815260200190565b60405180910390a2505050505050565b6102f16103f7565b6102fb6000610451565b565b6103056103f7565b600155565b6103126103f7565b6001600160a01b03811661037c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61038581610451565b50565b60008261039585846104a1565b1490505b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526103f29084906104ee565b505050565b6000546001600160a01b031633146102fb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610373565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081815b84518110156104e6576104d2828683815181106104c5576104c5610847565b60200260200101516105c0565b9150806104de8161085d565b9150506104a6565b509392505050565b6000610543826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166105ec9092919063ffffffff16565b8051909150156103f257808060200190518101906105619190610886565b6103f25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610373565b60008183106105dc576000828152602084905260409020610399565b5060009182526020526040902090565b60606105fb8484600085610603565b949350505050565b6060824710156106645760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610373565b6001600160a01b0385163b6106bb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610373565b600080866001600160a01b031685876040516106d791906108d8565b60006040518083038185875af1925050503d8060008114610714576040519150601f19603f3d011682016040523d82523d6000602084013e610719565b606091505b5091509150610729828286610734565b979650505050505050565b60608315610743575081610399565b8251156107535782518084602001fd5b8160405162461bcd60e51b815260040161037391906108f4565b80356001600160a01b038116811461078457600080fd5b919050565b6000806000806060858703121561079f57600080fd5b6107a88561076d565b935060208501359250604085013567ffffffffffffffff808211156107cc57600080fd5b818701915087601f8301126107e057600080fd5b8135818111156107ef57600080fd5b8860208260051b850101111561080457600080fd5b95989497505060200194505050565b60006020828403121561082557600080fd5b6103998261076d565b60006020828403121561084057600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561087f57634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561089857600080fd5b8151801515811461039957600080fd5b60005b838110156108c35781810151838201526020016108ab565b838111156108d2576000848401525b50505050565b600082516108ea8184602087016108a8565b9190910192915050565b60208152600082518060208401526109138160408501602087016108a8565b601f01601f1916919091016040019291505056fea264697066735822122073b5a5b027cf1a5d057c734b7b356c8a8d7d28bb81f4806e05bedae985150a7c64736f6c634300080a003300000000000000000000000016e85e17fc63d3c49dd9884b870d7900238f8777