//
0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610c398061005f6000396000f3fe6080604052600436106100cc5760003560e01c80638f32d59b1161007a5780638f32d59b1461020257806390107afe1461022b578063a3f4df7e14610266578063b08bc722146102f0578063be41205f14610305578063cfb9329a1461032f578063e30c397814610359578063f2fde38b1461036e57610125565b806314f6c3be1461012a57806338d995a8146101515780635a4d28bb1461017d5780635eb52fca146101ae578063715018a6146101c357806379ba5097146101d85780638da5cb5b146101ed57610125565b36610125576100d96103a1565b6004546100ec903463ffffffff6103ec16565b600481905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1005b600080fd5b34801561013657600080fd5b5061013f61044d565b60408051918252519081900360200190f35b34801561015d57600080fd5b5061017b6004803603602081101561017457600080fd5b5035610453565b005b34801561018957600080fd5b506101926104a8565b604080516001600160a01b039092168252519081900360200190f35b3480156101ba57600080fd5b5061013f6104b7565b3480156101cf57600080fd5b5061017b6104bd565b3480156101e457600080fd5b5061017b61050c565b3480156101f957600080fd5b5061019261057b565b34801561020e57600080fd5b5061021761058a565b604080519115158252519081900360200190f35b34801561023757600080fd5b5061017b6004803603604081101561024e57600080fd5b506001600160a01b038135811691602001351661059b565b34801561027257600080fd5b5061027b610694565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102b557818101518382015260200161029d565b50505050905090810190601f1680156102e25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102fc57600080fd5b506101926106bb565b34801561031157600080fd5b5061017b6004803603602081101561032857600080fd5b50356106ca565b34801561033b57600080fd5b5061017b6004803603602081101561035257600080fd5b503561081a565b34801561036557600080fd5b50610192610835565b34801561037a57600080fd5b5061017b6004803603602081101561039157600080fd5b50356001600160a01b0316610844565b6003546001600160a01b031633146103ea5760405162461bcd60e51b8152600401808060200182810382526029815260200180610b676029913960400191505060405180910390fd5b565b600082820183811015610446576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60045490565b61045b6108e9565b60055461046e908263ffffffff61093216565b600581905560408051918252517f7735d8b9c0814a13884384c73ec31633f708b4b920b2158764c6b306541341259181900360200190a150565b6002546001600160a01b031681565b60055490565b6104c561058a565b610504576040805162461bcd60e51b81526020600482018190526024820152600080516020610bb9833981519152604482015290519081900360640190fd5b6103ea610974565b60006105166109be565b9050806001600160a01b031661052a610835565b6001600160a01b03161461056f5760405162461bcd60e51b8152600401808060200182810382526029815260200180610b906029913960400191505060405180910390fd5b610578816109c2565b50565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6105a361058a565b6105e2576040805162461bcd60e51b81526020600482018190526024820152600080516020610bb9833981519152604482015290519081900360640190fd5b6105eb82610a1c565b6105f481610a1c565b600280546001600160a01b038085166001600160a01b03199283168117909355600380549185169190921617905560408051918252517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038316815290517f78f058b189175430c48dc02699e3a0031ea4ff781536dc2fab847de4babdd8829181900360200190a15050565b6040518060400160405280600b81526020016a111959985d5b1d141bdbdb60aa1b81525081565b6003546001600160a01b031681565b6106d26108e9565b6003546004546001600160a01b03909116906106f4908363ffffffff61093216565b600481905560408051918252517f9a14ae677a60400af9176bed2e2d5ce8dfa6405e6c1702debb27668f567214289181900360200190a1604080516001600160a01b03831681526020810184905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0383169084908381818185875af1925050503d80600081146107ba576040519150601f19603f3d011682016040523d82523d6000602084013e6107bf565b606091505b5050905080610815576040805162461bcd60e51b815260206004820152601f60248201527f44656661756c74506f6f6c3a2073656e64696e6720455448206661696c656400604482015290519081900360640190fd5b505050565b6108226108e9565b60055461046e908263ffffffff6103ec16565b6001546001600160a01b031690565b61084c61058a565b61088b576040805162461bcd60e51b81526020600482018190526024820152600080516020610bb9833981519152604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383169081179091556108b161057b565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6002546001600160a01b031633146103ea5760405162461bcd60e51b815260040180806020018281038252602b815260200180610bd9602b913960400191505060405180910390fd5b600061044683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610acf565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3390565b600180546001600160a01b0319908116909155600080546001600160a01b03848116938216841783556040519116929183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610a77576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610acb576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008184841115610b5e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b23578181015183820152602001610b0b565b50505050905090810190601f168015610b505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe44656661756c74506f6f6c3a2043616c6c6572206973206e6f742074686520416374697665506f6f6c4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206e6577206f776e65724f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657244656661756c74506f6f6c3a2043616c6c6572206973206e6f74207468652054726f76654d616e61676572a2646970667358221220ffbdbfdcded7e1a36d20430b05513a81ae6f15a3498c26fde77fa1f1a339d49a64736f6c634300060b0033