60806040526008805460ff60a01b1916600160a01b1790553480156200002457600080fd5b506040516200131a3803806200131a8339810160408190526200004791620001d8565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000966009600a6200033c565b620000a69063048dc58062000354565b336000908152600160208190526040822092909255600390620000d16000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905590861681526004909252902080548216600117905560058054821690556007805490911690556200012d3390565b600880546001600160a01b0319166001600160a01b03929092169190911790556005805461ff00191661010060ff8416021781556200016d908262000376565b6200017a90600a6200033c565b6006553360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001af6009600a6200033c565b620001bf9063048dc58062000354565b60405190815260200160405180910390a35050620003a7565b60008060408385031215620001ec57600080fd5b82516001600160a01b03811681146200020457600080fd5b602084015190925060ff811681146200021c57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200027e57816000190482111562000262576200026262000227565b808516156200027057918102915b93841c939080029062000242565b509250929050565b600082620002975750600162000336565b81620002a65750600062000336565b8160018114620002bf5760028114620002ca57620002ea565b600191505062000336565b60ff841115620002de57620002de62000227565b50506001821b62000336565b5060208310610133831016604e8410600b84101617156200030f575081810a62000336565b6200031b83836200023d565b806000190482111562000332576200033262000227565b0290505b92915050565b60006200034d60ff84168362000286565b9392505050565b600081600019048311821515161562000371576200037162000227565b500290565b600060ff8316806200039857634e487b7160e01b600052601260045260246000fd5b8060ff84160491505092915050565b610f6380620003b76000396000f3fe6080604052600436106100c65760003560e01c806370a082311161007f5780638da5cb5b116100595780638da5cb5b1461024757806395d89b4114610265578063a9059cbb14610294578063dd62ed3e146102b457600080fd5b806370a08231146101da578063715018a61461021057806375f0a8741461022757600080fd5b8063047ccc6e146100d257806306fdde031461010f578063095ea7b31461014b57806318160ddd1461017b57806323b872dd1461019e578063313ce567146101be57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506009546100f2906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561011b57600080fd5b5060408051808201909152600a8152692137b7b6b2b921b7b4b760b11b60208201525b6040516101069190610c67565b34801561015757600080fd5b5061016b610166366004610cd8565b6102fa565b6040519015158152602001610106565b34801561018757600080fd5b50610190610311565b604051908152602001610106565b3480156101aa57600080fd5b5061016b6101b9366004610d02565b610332565b3480156101ca57600080fd5b5060405160098152602001610106565b3480156101e657600080fd5b506101906101f5366004610d3e565b6001600160a01b031660009081526001602052604090205490565b34801561021c57600080fd5b5061022561039b565b005b34801561023357600080fd5b506008546100f2906001600160a01b031681565b34801561025357600080fd5b506000546001600160a01b03166100f2565b34801561027157600080fd5b506040805180820190915260068152652127a7a6a2a960d11b602082015261013e565b3480156102a057600080fd5b5061016b6102af366004610cd8565b610444565b3480156102c057600080fd5b506101906102cf366004610d59565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610307338484610451565b5060015b92915050565b600061031f6009600a610e86565b61032d9063048dc580610e95565b905090565b600061033f848484610576565b610391843361038c85604051806060016040528060288152602001610f06602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610a2a565b610451565b5060019392505050565b6000546001600160a01b031633146103fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610307338484610576565b6001600160a01b0383166104b35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f1565b6001600160a01b0382166105145760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f1565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580159061059657506001600160a01b03821615155b6105e25760405162461bcd60e51b815260206004820152601d60248201527f45524332303a207472616e73666572207a65726f20616464726573732e00000060448201526064016103f1565b600081116106215760405162461bcd60e51b815260206004820152600c60248201526b2d32b9379030b6b7bab73a1760a11b60448201526064016103f1565b6000546001600160a01b0384811691161480159061064d57506000546001600160a01b03838116911614155b15610979576001600160a01b03831660009081526003602052604090205460ff1615801561069457506001600160a01b03821660009081526003602052604090205460ff16155b156107e0576001600160a01b03821660009081526004602052604081205460ff16158015906106e757600980546001600160a01b0319166001600160a01b0387161790556007805460ff19168215151790555b60075460ff166107395760405162461bcd60e51b815260206004820152601a60248201527f54726164652077696c6c206265206f70656e656420736f6f6e2e00000000000060448201526064016103f1565b600954610754906001600160a01b0387811691161484610a64565b6001600160a01b03861660009081526001602052604090205490925061077a9084610ad9565b6001600160a01b0386166000908152600160205260409020556107bf6107a08484610ad9565b6001600160a01b03861660009081526001602052604090205490610b1b565b6001600160a01b038516600090815260016020526040902055506109e59050565b6009546000906001600160a01b03858116911614801561081857506001600160a01b03831660009081526003602052604090205460ff165b156108d7575060065430600090815260016020526040902054600854600160a01b900460ff16801561084a5750600081115b156108d55761087361085d826001610ad9565b3060009081526001602052604090205490610ad9565b306000908152600160208190526040909120919091556108b990610898908390610ad9565b6008546001600160a01b031660009081526001602052604090205490610b1b565b6008546001600160a01b03166000908152600160205260409020555b505b801561090857306000908152600160205260409020546108f79082610b1b565b306000908152600160205260409020555b6001600160a01b03841660009081526001602052604090205461092b9083610ad9565b6001600160a01b03808616600090815260016020526040808220939093559085168152205461095a9083610b1b565b6001600160a01b038416600090815260016020526040902055506109e5565b6001600160a01b03831660009081526001602052604090205461099c9082610ad9565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546109cb9082610b1b565b6001600160a01b0383166000908152600160205260409020555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161056991815260200190565b60008184841115610a4e5760405162461bcd60e51b81526004016103f19190610c67565b506000610a5b8486610eb4565b95945050505050565b6000808315610a9257600554610a8b90606490610a8590869060ff16610b7a565b90610bfc565b9050610ad2565b306000908152600160205260409020541515610ace6064610a8583610ab8576000610ac4565b600554610100900460ff165b879060ff16610b7a565b9150505b9392505050565b6000610ad283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a2a565b600080610b288385610ecb565b905083811015610ad25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f1565b600082600003610b8c5750600061030b565b6000610b988385610e95565b905082610ba58583610ee3565b14610ad25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f1565b6000610ad283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183610c5a5760405162461bcd60e51b81526004016103f19190610c67565b506000610a5b8486610ee3565b600060208083528351808285015260005b81811015610c9457858101830151858201604001528201610c78565b81811115610ca6576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610cd357600080fd5b919050565b60008060408385031215610ceb57600080fd5b610cf483610cbc565b946020939093013593505050565b600080600060608486031215610d1757600080fd5b610d2084610cbc565b9250610d2e60208501610cbc565b9150604084013590509250925092565b600060208284031215610d5057600080fd5b610ad282610cbc565b60008060408385031215610d6c57600080fd5b610d7583610cbc565b9150610d8360208401610cbc565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610ddd578160001904821115610dc357610dc3610d8c565b80851615610dd057918102915b93841c9390800290610da7565b509250929050565b600082610df45750600161030b565b81610e015750600061030b565b8160018114610e175760028114610e2157610e3d565b600191505061030b565b60ff841115610e3257610e32610d8c565b50506001821b61030b565b5060208310610133831016604e8410600b8410161715610e60575081810a61030b565b610e6a8383610da2565b8060001904821115610e7e57610e7e610d8c565b029392505050565b6000610ad260ff841683610de5565b6000816000190483118215151615610eaf57610eaf610d8c565b500290565b600082821015610ec657610ec6610d8c565b500390565b60008219821115610ede57610ede610d8c565b500190565b600082610f0057634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206d3e86bb4eccc09a13d7f5fa9c916b10a7f512fd713264a450ed5375d38300f464736f6c634300080f0033000000000000000000000000946417c242a892d519dac596792abcb37837206a0000000000000000000000000000000000000000000000000000000000000064