//
0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610e238061005f6000396000f3fe6080604052600436106100c75760003560e01c806314f6c3be1461012557806331f7d9641461014c578063363bf9641461017d5780633f10abab146101c45780635a4d28bb146101fd578063715018a61461021257806379ba5097146102275780638da5cb5b1461023c5780638f32d59b146102515780639b56d6c91461027a578063a3f4df7e146102ad578063b08bc72214610337578063b32beb5b1461034c578063b7f8cf9b1461037f578063e30c397814610394578063f2fde38b146103a957610120565b36610120576100d46103dc565b6005546100e7903463ffffffff61042716565b600581905560408051918252517fe14d37853e02935d65c04540f246e3050badc4aacff8ea53ea98269b2823f9089181900360200190a1005b600080fd5b34801561013157600080fd5b5061013a610486565b60408051918252519081900360200190f35b34801561015857600080fd5b5061016161048c565b604080516001600160a01b039092168252519081900360200190f35b34801561018957600080fd5b506101c2600480360360608110156101a057600080fd5b506001600160a01b038135811691602081013582169160409091013516610491565b005b3480156101d057600080fd5b506101c2600480360360408110156101e757600080fd5b506001600160a01b0381351690602001356105dd565b34801561020957600080fd5b50610161610669565b34801561021e57600080fd5b506101c2610678565b34801561023357600080fd5b506101c26106c7565b34801561024857600080fd5b50610161610736565b34801561025d57600080fd5b50610266610745565b604080519115158252519081900360200190f35b34801561028657600080fd5b5061013a6004803603602081101561029d57600080fd5b50356001600160a01b0316610756565b3480156102b957600080fd5b506102c2610771565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102fc5781810151838201526020016102e4565b50505050905090810190601f1680156103295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034357600080fd5b5061016161079c565b34801561035857600080fd5b506101c26004803603602081101561036f57600080fd5b50356001600160a01b03166107ab565b34801561038b57600080fd5b50610161610945565b3480156103a057600080fd5b50610161610954565b3480156103b557600080fd5b506101c2600480360360208110156103cc57600080fd5b50356001600160a01b0316610963565b6004546001600160a01b031633146104255760405162461bcd60e51b815260040180806020018281038252602a815260200180610d24602a913960400191505060405180910390fd5b565b60008282018381101561047f576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b9392505050565b60055490565b600081565b610499610745565b6104d8576040805162461bcd60e51b81526020600482018190526024820152600080516020610d4e833981519152604482015290519081900360640190fd5b6104e183610a08565b6104ea82610a08565b6104f381610a08565b600280546001600160a01b038086166001600160a01b0319928316811790935560038054868316908416179055600480549185169190921617905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859181900360200190a1604080516001600160a01b038416815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a1505050565b6105e5610abb565b6001600160a01b03821660009081526006602052604081205461060e908363ffffffff61042716565b6001600160a01b0384166000818152600660209081526040918290208490558151848152915193945091927ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f20929181900390910190a2505050565b6003546001600160a01b031681565b610680610745565b6106bf576040805162461bcd60e51b81526020600482018190526024820152600080516020610d4e833981519152604482015290519081900360640190fd5b610425610b04565b60006106d1610b4e565b9050806001600160a01b03166106e5610954565b6001600160a01b03161461072a5760405162461bcd60e51b8152600401808060200182810382526029815260200180610cfb6029913960400191505060405180910390fd5b61073381610b52565b50565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6001600160a01b031660009081526006602052604090205490565b6040518060400160405280600f81526020016e10dbdb1b14dd5c9c1b1d5cd41bdbdb608a1b81525081565b6004546001600160a01b031681565b6107b3610bac565b6001600160a01b038116600090815260066020526040902054806108085760405162461bcd60e51b8152600401808060200182810382526031815260200180610cca6031913960400191505060405180910390fd5b6001600160a01b03821660008181526006602090815260408083208390558051928352517ff0393a34d05e6567686ad4e097f9d9d2781565957394f1f0d984e5d8e6378f209281900390910190a2600554610869908263ffffffff610bf516565b600555604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146108fb576040519150601f19603f3d011682016040523d82523d6000602084013e610900565b606091505b50509050806109405760405162461bcd60e51b8152600401808060200182810382526023815260200180610d6e6023913960400191505060405180910390fd5b505050565b6002546001600160a01b031681565b6001546001600160a01b031690565b61096b610745565b6109aa576040805162461bcd60e51b81526020600482018190526024820152600080516020610d4e833981519152604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383169081179091556109d0610736565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6001600160a01b038116610a63576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610ab7576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b6003546001600160a01b031633146104255760405162461bcd60e51b815260040180806020018281038252602b815260200180610dc3602b913960400191505060405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3390565b600180546001600160a01b0319908116909155600080546001600160a01b03848116938216841783556040519116929183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6002546001600160a01b031633146104255760405162461bcd60e51b8152600401808060200182810382526032815260200180610d916032913960400191505060405180910390fd5b600061047f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610cc15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c86578181015183820152602001610c6e565b50505050905090810190601f168015610cb35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe436f6c6c537572706c7573506f6f6c3a204e6f20636f6c6c61746572616c20617661696c61626c6520746f20636c61696d4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206e6577206f776e6572436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742041637469766520506f6f6c4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6c6c537572706c7573506f6f6c3a2073656e64696e6720455448206661696c6564436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f7420426f72726f776572204f7065726174696f6e73436f6c6c537572706c7573506f6f6c3a2043616c6c6572206973206e6f742054726f76654d616e61676572a2646970667358221220b19ca62dcb96c9e8789419649055d01f36b7979879523982de152c4b753dd3e264736f6c634300060b0033