60806040523480156200001157600080fd5b5060405162000ff638038062000ff68339810160408190526200003491620001ed565b6040518060400160405280600d81526020016c477261766974792046616c6c7360981b815250604051806040016040528060068152602001652224a82822a960d11b815250620000936200008d620000cc60201b60201c565b620000d0565b6004620000a18382620002ab565b506005620000b08282620002ab565b505050620000c533826200012060201b60201c565b506200039f565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166200017b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600360008282546200018f919062000377565b90915550506001600160a01b0382166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b6000602082840312156200020057600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200023257607f821691505b6020821081036200025357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001e857600081815260208120601f850160051c81016020861015620002825750805b601f850160051c820191505b81811015620002a3578281556001016200028e565b505050505050565b81516001600160401b03811115620002c757620002c762000207565b620002df81620002d884546200021d565b8462000259565b602080601f831160018114620003175760008415620002fe5750858301515b600019600386901b1c1916600185901b178555620002a3565b600085815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b5085821015620003675787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200039957634e487b7160e01b600052601160045260246000fd5b92915050565b610c4780620003af6000396000f3fe6080604052600436106100ec5760003560e01c806370a082311161008a578063a457c2d711610059578063a457c2d714610287578063a9059cbb146102a7578063dd62ed3e146102c7578063f2fde38b146102e7576100f6565b806370a08231146101ff578063715018a6146102355780638da5cb5b1461024a57806395d89b4114610272576100f6565b806323b872dd116100c657806323b872dd14610181578063313ce567146101a157806339509351146101bd57806342966c68146101dd576100f6565b806306fdde0314610107578063095ea7b31461013257806318160ddd14610162576100f6565b366100f657600080fd5b34801561010257600080fd5b600080fd5b34801561011357600080fd5b5061011c610307565b6040516101299190610a78565b60405180910390f35b34801561013e57600080fd5b5061015261014d366004610ae2565b610399565b6040519015158152602001610129565b34801561016e57600080fd5b506003545b604051908152602001610129565b34801561018d57600080fd5b5061015261019c366004610b0c565b6103b3565b3480156101ad57600080fd5b5060405160128152602001610129565b3480156101c957600080fd5b506101526101d8366004610ae2565b6103d7565b3480156101e957600080fd5b506101fd6101f8366004610b48565b6103f9565b005b34801561020b57600080fd5b5061017361021a366004610b61565b6001600160a01b031660009081526001602052604090205490565b34801561024157600080fd5b506101fd610406565b34801561025657600080fd5b506000546040516001600160a01b039091168152602001610129565b34801561027e57600080fd5b5061011c61041a565b34801561029357600080fd5b506101526102a2366004610ae2565b610429565b3480156102b357600080fd5b506101526102c2366004610ae2565b6104a9565b3480156102d357600080fd5b506101736102e2366004610b83565b6104b7565b3480156102f357600080fd5b506101fd610302366004610b61565b6104e2565b60606004805461031690610bb6565b80601f016020809104026020016040519081016040528092919081815260200182805461034290610bb6565b801561038f5780601f106103645761010080835404028352916020019161038f565b820191906000526020600020905b81548152906001019060200180831161037257829003601f168201915b5050505050905090565b6000336103a7818585610558565b60019150505b92915050565b6000336103c185828561067d565b6103cc8585856106f7565b506001949350505050565b6000336103a78185856103ea83836104b7565b6103f49190610bf0565b610558565b61040333826108a2565b50565b61040e6109ce565b6104186000610a28565b565b60606005805461031690610bb6565b6000338161043782866104b7565b90508381101561049c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6103cc8286868403610558565b6000336103a78185856106f7565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6104ea6109ce565b6001600160a01b03811661054f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610493565b61040381610a28565b6001600160a01b0383166105ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610493565b6001600160a01b03821661061b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610493565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600061068984846104b7565b905060001981146106f157818110156106e45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610493565b6106f18484848403610558565b50505050565b6001600160a01b03831661075b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610493565b6001600160a01b0382166107bd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610493565b6001600160a01b038316600090815260016020526040902054818110156108355760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610493565b6001600160a01b0380851660008181526001602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108959086815260200190565b60405180910390a36106f1565b6001600160a01b0382166109025760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610493565b6001600160a01b038216600090815260016020526040902054818110156109765760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610493565b6001600160a01b03831660008181526001602090815260408083208686039055600380548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610670565b6000546001600160a01b031633146104185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610493565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b81811015610aa557858101830151858201604001528201610a89565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610add57600080fd5b919050565b60008060408385031215610af557600080fd5b610afe83610ac6565b946020939093013593505050565b600080600060608486031215610b2157600080fd5b610b2a84610ac6565b9250610b3860208501610ac6565b9150604084013590509250925092565b600060208284031215610b5a57600080fd5b5035919050565b600060208284031215610b7357600080fd5b610b7c82610ac6565b9392505050565b60008060408385031215610b9657600080fd5b610b9f83610ac6565b9150610bad60208401610ac6565b90509250929050565b600181811c90821680610bca57607f821691505b602082108103610bea57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156103ad57634e487b7160e01b600052601160045260246000fdfea2646970667358221220aec13f46b5cc7c28d95120b1ce382192b7111fb37877abe198e5fa995f2e6b1364736f6c634300081300330000000000000000000000000000000000000000034bf9c9615a8cdc8b880000