0x608060405234801561001057600080fd5b50604051610aca380380610aca83398101604081905261002f91610193565b6001600160a01b03821615610047576100478261006d565b600180546001600160a01b0319166001600160a01b0392909216919091179055506101cd565b6001600160a01b0381166100c85760405162461bcd60e51b815260206004820152601b60248201527f6163636f756e7420697320746865207a65726f2061646472657373000000000060448201526064015b60405180910390fd5b306001600160a01b038216036101205760405162461bcd60e51b815260206004820152601860248201527f6163636f756e74206973207468697320636f6e7472616374000000000000000060448201526064016100bf565b600080546040516001600160a01b03808516939216917fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116811461019057600080fd5b50565b600080604083850312156101a657600080fd5b82516101b18161017b565b60208401519092506101c28161017b565b809150509250929050565b6108ee806101dc6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80638da5cb5b14610046578063a6f9dae114610065578063bd075b841461007a575b600080fd5b600054604080516001600160a01b039092168252519081900360200190f35b6100786100733660046105e6565b61008d565b005b61007861008836600461060f565b6100f8565b6000546001600160a01b031633146100ec5760405162461bcd60e51b815260206004820152601760248201527f63616c6c6572206973206e6f7420746865206f776e657200000000000000000060448201526064015b60405180910390fd5b6100f5816101f0565b50565b6000546001600160a01b031633146101525760405162461bcd60e51b815260206004820152601760248201527f63616c6c6572206973206e6f7420746865206f776e657200000000000000000060448201526064016100e3565b8061019f5760405162461bcd60e51b815260206004820152601860248201527f72656365697665727320617272617920697320656d707479000000000000000060448201526064016100e3565b60005b818110156101eb576101d98383838181106101bf576101bf610684565b90506020020160208101906101d491906105e6565b610311565b806101e38161069a565b9150506101a2565b505050565b6001600160a01b0381166102465760405162461bcd60e51b815260206004820152601b60248201527f6163636f756e7420697320746865207a65726f2061646472657373000000000060448201526064016100e3565b306001600160a01b0382160361029e5760405162461bcd60e51b815260206004820152601860248201527f6163636f756e74206973207468697320636f6e7472616374000000000000000060448201526064016100e3565b600080546040516001600160a01b03808516939216917fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b600061031b6104c1565b905060006384bb1e4260e01b83600173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000866040518060200160405280600081525060405160240161036796959493929190610711565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252600154915190925060009182916001600160a01b03909116906103ea9085906107c6565b6000604051808303816000865af19150503d8060008114610427576040519150601f19603f3d011682016040523d82523d6000602084013e61042c565b606091505b50915091508161048657846001600160a01b03167f3286c8f467acec46fca40f504ea537a296e0ab89d6ce7e7a5151f182c0f6c8ef61046a83610581565b60405161047791906107e2565b60405180910390a25050505050565b6040516001600160a01b038616907f3c3284d117c92d0b1699230960384e794dcba184cc48ff114fe4fed20c9b056590600090a25050505050565b6104f5604051806080016040528060608152602001600081526020016000815260200160006001600160a01b031681525090565b604080516001808252818301909252600091602080830190803683370190505090506000801b8160008151811061052e5761052e610684565b602002602001018181525050604051806080016040528082815260200160001981526020016000815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031681525091505090565b60606064825110156105c657505060408051808201909152601981527f6e6f20726561736f6e20737472696e672070726f766964656400000000000000602082015290565b6004820180516105df908401602490810190850161080b565b9392505050565b6000602082840312156105f857600080fd5b81356001600160a01b03811681146105df57600080fd5b6000806020838503121561062257600080fd5b823567ffffffffffffffff8082111561063a57600080fd5b818501915085601f83011261064e57600080fd5b81358181111561065d57600080fd5b8660208260051b850101111561067257600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016106ba57634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b838110156106dc5781810151838201526020016106c4565b50506000910152565b600081518084526106fd8160208601602086016106c1565b601f01601f19169290920160200192915050565b60006001600160a01b03808916835260208881850152818816604085015286606085015260c0608085015261014084018651608060c0870152818151808452610160880191508483019350600092505b808310156107815783518252928401926001929092019190840190610761565b508389015160e088015260408901516101008801528460608a01511661012088015286810360a08801526107b581896106e5565b9d9c50505050505050505050505050565b600082516107d88184602087016106c1565b9190910192915050565b6020815260006105df60208301846106e5565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561081d57600080fd5b815167ffffffffffffffff8082111561083557600080fd5b818401915084601f83011261084957600080fd5b81518181111561085b5761085b6107f5565b604051601f8201601f19908116603f01168101908382118183101715610883576108836107f5565b8160405282815287602084870101111561089c57600080fd5b6108ad8360208301602088016106c1565b97965050505050505056fea2646970667358221220355390eacc64f9dd25ce376e07e6f7f4a3cd36cf262b1346a3d0dc939b72ec2d64736f6c63430008130033000000000000000000000000f25b525a73a93fd44028c3c15422cab24b9e2fa00000000000000000000000006cf6ef735aecaddb01aa6a28ee60e0833e46e8fd