0x60806040526004361061007f5760003560e01c8063575fdc1a1161004e578063575fdc1a146101785780637e7aaf37146101985780638da5cb5b146101b8578063f2fde38b146101d657600080fd5b80631694505e146100b257806320800a00146101035780632d9d1ca61461011857806339ae9c331461013857600080fd5b366100ad5760025460ff166100ad5767016345785d8a000047106100ab576002805460ff191660011790555b005b600080fd5b3480156100be57600080fd5b506100e67f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561010f57600080fd5b506100ab6101f6565b34801561012457600080fd5b506100ab610133366004610677565b610266565b34801561014457600080fd5b506101686101533660046106bb565b60016020526000908152604090205460ff1681565b60405190151581526020016100fa565b34801561018457600080fd5b506100ab6101933660046106ee565b6102a3565b3480156101a457600080fd5b506100ab6101b33660046107c5565b610339565b3480156101c457600080fd5b506000546001600160a01b03166100e6565b3480156101e257600080fd5b506100ab6101f13660046106bb565b61056f565b6000546001600160a01b031633146102295760405162461bcd60e51b8152600401610220906107f1565b60405180910390fd5b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610263573d6000803e3d6000fd5b50565b6000546001600160a01b031633146102905760405162461bcd60e51b8152600401610220906107f1565b6002805460ff1916911515919091179055565b6000546001600160a01b031633146102cd5760405162461bcd60e51b8152600401610220906107f1565b60005b82518110156103345781600160008584815181106102f0576102f0610826565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061032c8161083c565b9150506102d0565b505050565b3360009081526001602052604090205460ff1661035557600080fd5b604080516002808252606082018352600092602083019080368337019050509050828160008151811061038a5761038a610826565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042c9190610863565b8160018151811061043f5761043f610826565b6001600160a01b03928316602091820292909201015260405163095ea7b360e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8216600482015260001960248201529084169063095ea7b3906044016020604051808303816000875af11580156104be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e29190610880565b5060405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac9479061053890859060009086903390429060040161089d565b600060405180830381600087803b15801561055257600080fd5b505af1158015610566573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146105995760405162461bcd60e51b8152600401610220906107f1565b6001600160a01b0381166105fe5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610220565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b801515811461026357600080fd5b803561067281610659565b919050565b60006020828403121561068957600080fd5b813561069481610659565b9392505050565b6001600160a01b038116811461026357600080fd5b80356106728161069b565b6000602082840312156106cd57600080fd5b81356106948161069b565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561070157600080fd5b823567ffffffffffffffff8082111561071957600080fd5b818501915085601f83011261072d57600080fd5b8135602082821115610741576107416106d8565b8160051b604051601f19603f83011681018181108682111715610766576107666106d8565b60405292835281830193508481018201928984111561078457600080fd5b948201945b838610156107a95761079a866106b0565b85529482019493820193610789565b96506107b89050878201610667565b9450505050509250929050565b600080604083850312156107d857600080fd5b82356107e38161069b565b946020939093013593505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161085c57634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561087557600080fd5b81516106948161069b565b60006020828403121561089257600080fd5b815161069481610659565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156108ed5784516001600160a01b0316835293830193918301916001016108c8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f568bad005579f164ad9faaba2dfd22fc057dad0d977dee9675a161386a863e764736f6c63430008130033
0x60a060405234801561001057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d608052600160208190527fdc9c917ad4576f63997fcc79ffdc22c2fb00162e22e3a7812959683f8665ca2d805460ff1990811683179091557f159b82cf2565fcb61b38c8b1882318f33f569bfcfd2d786353c876460dc2fe1080548216831790557fa33f45f9a134b4b5a8532a205ca0c9f8f920b955989e4907176f84da9378531680548216831790557f13a9643751c389fd91ae9d16b8a10bc81afe02ed8becc6164c735077ff1a3477805482168317905573153aa5f282ffcbed1c3ce902bbd7744fab66b96e6000527fa8f5bdc8ad43cdc4364f8af0f749d68a8a4abf31ac83dd6bfc25a037bb02646e8054909116909117905560805161094461018c6000396000818160c4015281816103ac0152818161046401526104fa01526109446000f3fe60806040526004361061007f5760003560e01c8063575fdc1a1161004e578063575fdc1a146101785780637e7aaf37146101985780638da5cb5b146101b8578063f2fde38b146101d657600080fd5b80631694505e146100b257806320800a00146101035780632d9d1ca61461011857806339ae9c331461013857600080fd5b366100ad5760025460ff166100ad5767016345785d8a000047106100ab576002805460ff191660011790555b005b600080fd5b3480156100be57600080fd5b506100e67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561010f57600080fd5b506100ab6101f6565b34801561012457600080fd5b506100ab610133366004610677565b610266565b34801561014457600080fd5b506101686101533660046106bb565b60016020526000908152604090205460ff1681565b60405190151581526020016100fa565b34801561018457600080fd5b506100ab6101933660046106ee565b6102a3565b3480156101a457600080fd5b506100ab6101b33660046107c5565b610339565b3480156101c457600080fd5b506000546001600160a01b03166100e6565b3480156101e257600080fd5b506100ab6101f13660046106bb565b61056f565b6000546001600160a01b031633146102295760405162461bcd60e51b8152600401610220906107f1565b60405180910390fd5b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610263573d6000803e3d6000fd5b50565b6000546001600160a01b031633146102905760405162461bcd60e51b8152600401610220906107f1565b6002805460ff1916911515919091179055565b6000546001600160a01b031633146102cd5760405162461bcd60e51b8152600401610220906107f1565b60005b82518110156103345781600160008584815181106102f0576102f0610826565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061032c8161083c565b9150506102d0565b505050565b3360009081526001602052604090205460ff1661035557600080fd5b604080516002808252606082018352600092602083019080368337019050509050828160008151811061038a5761038a610826565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042c9190610863565b8160018151811061043f5761043f610826565b6001600160a01b03928316602091820292909201015260405163095ea7b360e01b81527f00000000000000000000000000000000000000000000000000000000000000008216600482015260001960248201529084169063095ea7b3906044016020604051808303816000875af11580156104be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e29190610880565b5060405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac9479061053890859060009086903390429060040161089d565b600060405180830381600087803b15801561055257600080fd5b505af1158015610566573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146105995760405162461bcd60e51b8152600401610220906107f1565b6001600160a01b0381166105fe5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610220565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b801515811461026357600080fd5b803561067281610659565b919050565b60006020828403121561068957600080fd5b813561069481610659565b9392505050565b6001600160a01b038116811461026357600080fd5b80356106728161069b565b6000602082840312156106cd57600080fd5b81356106948161069b565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561070157600080fd5b823567ffffffffffffffff8082111561071957600080fd5b818501915085601f83011261072d57600080fd5b8135602082821115610741576107416106d8565b8160051b604051601f19603f83011681018181108682111715610766576107666106d8565b60405292835281830193508481018201928984111561078457600080fd5b948201945b838610156107a95761079a866106b0565b85529482019493820193610789565b96506107b89050878201610667565b9450505050509250929050565b600080604083850312156107d857600080fd5b82356107e38161069b565b946020939093013593505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161085c57634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561087557600080fd5b81516106948161069b565b60006020828403121561089257600080fd5b815161069481610659565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156108ed5784516001600160a01b0316835293830193918301916001016108c8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f568bad005579f164ad9faaba2dfd22fc057dad0d977dee9675a161386a863e764736f6c63430008130033