0x60a06040523480156200001157600080fd5b506040516200120038038062001200833981016040819052620000349162000225565b6200003f336200006f565b60808490526200004f83620000bf565b6200005a8262000161565b62000065816200006f565b5050505062000270565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b608051811115620001255760405162461bcd60e51b815260206004820152602560248201527f50726f746f636f6c4665653a2065786365656473206d61782070726f746f636f6044820152646c2066656560d81b60648201526084015b60405180910390fd5b60018190556040518181527fdb5aafdb29539329e37d4e3ee869bc4031941fd55a5dfc92824fbe34b204e30d906020015b60405180910390a150565b6001600160a01b038116620001b95760405162461bcd60e51b815260206004820181905260248201527f50726f746f636f6c4665653a20696e76616c69642062656e656669636961727960448201526064016200011c565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200162000156565b80516001600160a01b03811681146200022057600080fd5b919050565b600080600080608085870312156200023c57600080fd5b8451935060208501519250620002556040860162000208565b9150620002656060860162000208565b905092959194509250565b608051610f6d620002936000396000818161028f01526108790152610f6d6000f3fe6080604052600436106100dd5760003560e01c8063a1af5b9a1161007f578063b8ca3b8311610059578063b8ca3b831461027d578063e445e7dd146102b1578063e5320bb9146102cd578063f2fde38b146102fd57600080fd5b8063a1af5b9a14610224578063aaccd23014610239578063b0e21e8a1461026757600080fd5b8063715018a6116100bb578063715018a61461016e578063787dce3d146101835780638da5cb5b146101a357806393c44847146101ce57600080fd5b8063086011b9146100e25780631c31f710146100f757806338af3eed14610117575b600080fd5b6100f56100f0366004610c7f565b61031d565b005b34801561010357600080fd5b506100f5610112366004610ceb565b6103ca565b34801561012357600080fd5b506002546101449073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561017a57600080fd5b506100f56103de565b34801561018f57600080fd5b506100f561019e366004610d21565b6103f2565b3480156101af57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610144565b3480156101da57600080fd5b506102176040518060400160405280600581526020017f352e372e3100000000000000000000000000000000000000000000000000000081525081565b6040516101659190610d3a565b34801561023057600080fd5b506100f5610403565b34801561024557600080fd5b50610259610254366004610c7f565b610426565b604051908152602001610165565b34801561027357600080fd5b5061025960015481565b34801561028957600080fd5b506102597f000000000000000000000000000000000000000000000000000000000000000081565b3480156102bd57600080fd5b5060405160088152602001610165565b3480156102d957600080fd5b506102ed6102e8366004610da6565b6104ca565b6040519015158152602001610165565b34801561030957600080fd5b506100f5610318366004610ceb565b6104ef565b61032784846104ca565b6103b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6103c4848484846105a3565b50505050565b6103d261068a565b6103db8161070b565b50565b6103e661068a565b6103f06000610802565b565b6103fa61068a565b6103db81610877565b6002546103f09073ffffffffffffffffffffffffffffffffffffffff164761095c565b600061043285856104ca565b6104be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016103af565b60015495945050505050565b60008115806104e6575060016104e08484610abb565b61ffff16145b90505b92915050565b6104f761068a565b73ffffffffffffffffffffffffffffffffffffffff811661059a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103af565b6103db81610802565b600154341015610635576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f50726f746f636f6c4665653a20696e73756666696369656e742070726f746f6360448201527f6f6c20666565000000000000000000000000000000000000000000000000000060648201526084016103af565b6000600154346106459190610e17565b90508015610683576106838161066761065e8686610b0c565b88908890610b20565b73ffffffffffffffffffffffffffffffffffffffff169061095c565b5050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103af565b73ffffffffffffffffffffffffffffffffffffffff8116610788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f50726f746f636f6c4665653a20696e76616c69642062656e656669636961727960448201526064016103af565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a24906020015b60405180910390a150565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b7f0000000000000000000000000000000000000000000000000000000000000000811115610927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f746f636f6c4665653a2065786365656473206d61782070726f746f636f60448201527f6c2066656500000000000000000000000000000000000000000000000000000060648201526084016103af565b60018190556040518181527fdb5aafdb29539329e37d4e3ee869bc4031941fd55a5dfc92824fbe34b204e30d906020016107f7565b804710156109c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016103af565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610a20576040519150601f19603f3d011682016040523d82523d6000602084013e610a25565b606091505b5050905080610ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016103af565b505050565b6000610ac8816002610e2a565b60ff16821015610ada575060006104e9565b82600083610ae9826002610e2a565b60ff1692610af993929190610e43565b610b0291610e6d565b60f01c9392505050565b60006104e6610b1b8484610b74565b610b8d565b6000610b2e60426014610e2a565b60ff16831015610b3f575080610b6d565b83604284610b4e826014610e2a565b60ff1692610b5e93929190610e43565b610b6791610eb5565b60601c90505b9392505050565b6000610b84602960098486610e43565b6104e691610efb565b600073ffffffffffffffffffffffffffffffffffffffff821115610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016103af565b5090565b60008083601f840112610c4857600080fd5b50813567ffffffffffffffff811115610c6057600080fd5b602083019150836020828501011115610c7857600080fd5b9250929050565b60008060008060408587031215610c9557600080fd5b843567ffffffffffffffff80821115610cad57600080fd5b610cb988838901610c36565b90965094506020870135915080821115610cd257600080fd5b50610cdf87828801610c36565b95989497509550505050565b600060208284031215610cfd57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b6d57600080fd5b600060208284031215610d3357600080fd5b5035919050565b600060208083528351808285015260005b81811015610d6757858101830151858201604001528201610d4b565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60008060208385031215610db957600080fd5b823567ffffffffffffffff811115610dd057600080fd5b610ddc85828601610c36565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156104e9576104e9610de8565b60ff81811683821601908111156104e9576104e9610de8565b60008085851115610e5357600080fd5b83861115610e6057600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015610ead5780818660020360031b1b83161692505b505092915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015610ead5760149490940360031b84901b1690921692915050565b803560208310156104e9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b169291505056fea2646970667358221220aada5acc0a179a3f1a226379b49b82de4ab31310b882b3c2e89c66cf12c8cb7764736f6c63430008130033000000000000000000000000000000000013426172c74d822b878fe800000000000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000041dc43480ed63804800b950f620e5c31cb237af800000000000000000000000041dc43480ed63804800b950f620e5c31cb237af8