0x6080604052600436106100f75760003560e01c806342966c681161008a578063a457c2d711610059578063a457c2d7146104dc578063a6f9dae114610515578063a9059cbb14610548578063dd62ed3e1461058157610149565b806342966c681461043e57806370a082311461046a57806395d89b411461049d578063a0712d68146104b257610149565b806318160ddd116100c657806318160ddd1461037057806323b872dd14610397578063313ce567146103da578063395093511461040557610149565b806301ffc9a71461019657806306fdde03146101de578063095ea7b314610268578063153a1f3e146102a157610149565b36610149576040805162461bcd60e51b815260206004820152601e60248201527f4e6f7420737570706f7274656420726563656976652066756e6374696f6e0000604482015290519081900360640190fd5b6040805162461bcd60e51b815260206004820152601f60248201527f4e6f7420737570706f727465642066616c6c6261636b2066756e6374696f6e00604482015290519081900360640190fd5b3480156101a257600080fd5b506101ca600480360360208110156101b957600080fd5b50356001600160e01b0319166105bc565b604080519115158252519081900360200190f35b3480156101ea57600080fd5b506101f36105db565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022d578181015183820152602001610215565b50505050905090810190601f16801561025a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027457600080fd5b506101ca6004803603604081101561028b57600080fd5b506001600160a01b038135169060200135610671565b3480156102ad57600080fd5b506101ca600480360360408110156102c457600080fd5b8101906020810181356401000000008111156102df57600080fd5b8201836020820111156102f157600080fd5b8035906020019184602083028401116401000000008311171561031357600080fd5b91939092909160208101903564010000000081111561033157600080fd5b82018360208201111561034357600080fd5b8035906020019184602083028401116401000000008311171561036557600080fd5b50909250905061068e565b34801561037c57600080fd5b50610385610772565b60408051918252519081900360200190f35b3480156103a357600080fd5b506101ca600480360360608110156103ba57600080fd5b506001600160a01b03813581169160208101359091169060400135610778565b3480156103e657600080fd5b506103ef6107ff565b6040805160ff9092168252519081900360200190f35b34801561041157600080fd5b506101ca6004803603604081101561042857600080fd5b506001600160a01b038135169060200135610808565b34801561044a57600080fd5b506104686004803603602081101561046157600080fd5b5035610856565b005b34801561047657600080fd5b506103856004803603602081101561048d57600080fd5b50356001600160a01b0316610863565b3480156104a957600080fd5b506101f361087e565b3480156104be57600080fd5b50610468600480360360208110156104d557600080fd5b50356108df565b3480156104e857600080fd5b506101ca600480360360408110156104ff57600080fd5b506001600160a01b0381351690602001356109b3565b34801561052157600080fd5b506104686004803603602081101561053857600080fd5b50356001600160a01b0316610a1b565b34801561055457600080fd5b506101ca6004803603604081101561056b57600080fd5b506001600160a01b038135169060200135610a95565b34801561058d57600080fd5b50610385600480360360408110156105a457600080fd5b506001600160a01b0381358116916020013516610aa9565b6001600160e01b03191660009081526006602052604090205460ff1690565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106675780601f1061063c57610100808354040283529160200191610667565b820191906000526020600020905b81548152906001019060200180831161064a57829003601f168201915b5050505050905090565b600061068561067e610b35565b8484610b39565b50600192915050565b60008382146106da576040805162461bcd60e51b815260206004820152601360248201527209cdee840e8d0ca40e6c2daca40d8cadccee8d606b1b604482015290519081900360640190fd5b60005b848110156107665761071c8686838181106106f457fe5b905060200201356001600160a01b031685858481811061071057fe5b90506020020135610a95565b61075e576040805162461bcd60e51b815260206004820152600e60248201526d2a3930b739b332b91022b93937b960911b604482015290519081900360640190fd5b6001016106dd565b50600195945050505050565b60025490565b6000610785848484610c25565b6107f584610791610b35565b6107f0856040518060600160405280602881526020016110f3602891396001600160a01b038a166000908152600160205260408120906107cf610b35565b6001600160a01b031681526020810191909152604001600020549190610d80565b610b39565b5060019392505050565b60055460ff1690565b6000610685610815610b35565b846107f08560016000610826610b35565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610ad4565b6108603382610e17565b50565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106675780601f1061063c57610100808354040283529160200191610667565b6007546001600160a01b03163314610937576040805162461bcd60e51b81526020600482015260166024820152752cb7ba9030b932903737ba103a34329037bbb732b91760511b604482015290519081900360640190fd5b6000610941610772565b90506a295be96e6406697200000082820111156109a5576040805162461bcd60e51b815260206004820152601f60248201527f546f74616c20737570706c7920626967676572207468616e2035306d696f2e00604482015290519081900360640190fd5b6109af3383610f13565b5050565b60006106856109c0610b35565b846107f08560405180606001604052806025815260200161118560259139600160006109ea610b35565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610d80565b6007546001600160a01b03163314610a73576040805162461bcd60e51b81526020600482015260166024820152752cb7ba9030b932903737ba103a34329037bbb732b91760511b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000610685610aa2610b35565b8484610c25565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600082820183811015610b2e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b038316610b7e5760405162461bcd60e51b81526004018080602001828103825260248152602001806111616024913960400191505060405180910390fd5b6001600160a01b038216610bc35760405162461bcd60e51b81526004018080602001828103825260228152602001806110ab6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610c6a5760405162461bcd60e51b815260040180806020018281038252602581526020018061113c6025913960400191505060405180910390fd5b6001600160a01b038216610caf5760405162461bcd60e51b81526004018080602001828103825260238152602001806110666023913960400191505060405180910390fd5b610cba838383611003565b610cf7816040518060600160405280602681526020016110cd602691396001600160a01b0386166000908152602081905260409020549190610d80565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610d269082610ad4565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610e0f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610dd4578181015183820152602001610dbc565b50505050905090810190601f168015610e015780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216610e5c5760405162461bcd60e51b815260040180806020018281038252602181526020018061111b6021913960400191505060405180910390fd5b610e6882600083611003565b610ea581604051806060016040528060228152602001611089602291396001600160a01b0385166000908152602081905260409020549190610d80565b6001600160a01b038316600090815260208190526040902055600254610ecb9082611008565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038216610f6e576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610f7a60008383611003565b600254610f879082610ad4565b6002556001600160a01b038216600090815260208190526040902054610fad9082610ad4565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b60008282111561105f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220968b23c6a5ab2dcf55e850c998f9e863695ed27f72730bc2877af3b797a61e6e64736f6c63430007030033