0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109978061007e6000396000f3fe6080604052600436106100745760003560e01c8063715018a61161004e578063715018a6146100ff5780638da5cb5b14610114578063b9caf9d914610132578063f2fde38b1461017257600080fd5b80632276f38314610080578063481286e6146100bd5780635449c62f146100dd57600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b3660046107ae565b610192565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c957600080fd5b506100a06100d836600461085f565b6102db565b3480156100e957600080fd5b506100fd6100f836600461089d565b6102ee565b005b34801561010b57600080fd5b506100fd610373565b34801561012057600080fd5b506000546001600160a01b03166100a0565b34801561013e57600080fd5b5061016261014d3660046108d9565b60016020526000908152604090205460ff1681565b60405190151581526020016100b4565b34801561017e57600080fd5b506100fd61018d3660046108d9565b6103d9565b3360009081526001602052604081205460ff166101f65760405162461bcd60e51b815260206004820152600960248201527f216465706c6f796572000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6000610239888888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104bb92505050565b90508280156102915760005b8181101561028f5761027a83878784818110610263576102636108f4565b9050602002810190610275919061090a565b6105c5565b5050808061028790610951565b915050610245565b505b6040516001600160a01b038316815288907fe491e278e37782abe0872fe7c7b549cd7b0713d0c5c1e84a81899a5fdf32087b9060200160405180910390a250979650505050505050565b60006102e78383610686565b9392505050565b6000546001600160a01b031633146103485760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101ed565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146103cd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101ed565b6103d760006106fa565b565b6000546001600160a01b031633146104335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101ed565b6001600160a01b0381166104af5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101ed565b6104b8816106fa565b50565b6000808447101561050e5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064016101ed565b825161055c5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016101ed565b8383516020850187f590506001600160a01b0381166105bd5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016101ed565b949350505050565b60006060600080866001600160a01b031686866040516105e692919061097a565b6000604051808303816000865af19150503d8060008114610623576040519150601f19603f3d011682016040523d82523d6000602084013e610628565b606091505b50915091508161067a5760405162461bcd60e51b815260206004820152600860248201527f217375636365737300000000000000000000000000000000000000000000000060448201526064016101ed565b90969095509350505050565b604080517fff000000000000000000000000000000000000000000000000000000000000006020808301919091526bffffffffffffffffffffffff193060601b16602183015260358201859052605580830185905283518084039091018152607590920190925280519101206000906102e7565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008083601f84011261077457600080fd5b50813567ffffffffffffffff81111561078c57600080fd5b6020830191508360208260051b85010111156107a757600080fd5b9250929050565b600080600080600080608087890312156107c757600080fd5b8635955060208701359450604087013567ffffffffffffffff808211156107ed57600080fd5b818901915089601f83011261080157600080fd5b81358181111561081057600080fd5b8a602082850101111561082257600080fd5b60208301965080955050606089013591508082111561084057600080fd5b5061084d89828a01610762565b979a9699509497509295939492505050565b6000806040838503121561087257600080fd5b50508035926020909101359150565b80356001600160a01b038116811461089857600080fd5b919050565b600080604083850312156108b057600080fd5b6108b983610881565b9150602083013580151581146108ce57600080fd5b809150509250929050565b6000602082840312156108eb57600080fd5b6102e782610881565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261092157600080fd5b83018035915067ffffffffffffffff82111561093c57600080fd5b6020019150368190038213156107a757600080fd5b600060001982141561097357634e487b7160e01b600052601160045260246000fd5b5060010190565b818382376000910190815291905056fea164736f6c634300080b000a