UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 322 kB
{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"blacklist","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"blacklister","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureMinter","inputs":[{"name":"minter","type":"address","internalType":"address"},{"name":"minterAllowedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"currency","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"tokenName","type":"string","internalType":"string"},{"name":"tokenSymbol","type":"string","internalType":"string"},{"name":"tokenCurrency","type":"string","internalType":"string"},{"name":"tokenDecimals","type":"uint8","internalType":"uint8"},{"name":"newMasterMinter","type":"address","internalType":"address"},{"name":"newPauser","type":"address","internalType":"address"},{"name":"newBlacklister","type":"address","internalType":"address"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isBlacklisted","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMinter","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"masterMinter","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"minterAllowance","inputs":[{"name":"minter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"pauser","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeMinter","inputs":[{"name":"minter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unBlacklist","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unpause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBlacklister","inputs":[{"name":"_newBlacklister","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateMasterMinter","inputs":[{"name":"_newMasterMinter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePauser","inputs":[{"name":"_newPauser","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Blacklisted","inputs":[{"name":"_account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BlacklisterChanged","inputs":[{"name":"newBlacklister","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Burn","inputs":[{"name":"burner","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MasterMinterChanged","inputs":[{"name":"newMasterMinter","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"minter","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MinterConfigured","inputs":[{"name":"minter","type":"address","indexed":true,"internalType":"address"},{"name":"minterAllowedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MinterRemoved","inputs":[{"name":"oldMinter","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":false,"internalType":"address"},{"name":"newOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Pause","inputs":[],"anonymous":false},{"type":"event","name":"PauserChanged","inputs":[{"name":"newAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UnBlacklisted","inputs":[{"name":"_account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unpause","inputs":[],"anonymous":false}],"bytecode":{"object":"0x60806040526001805460ff60a01b191690556000600b5534801561002257600080fd5b5061002c33610031565b610053565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b612ffe80620000636000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c806370a082311161010f578063aa271e1a116100a2578063e5a6b10f11610071578063e5a6b10f14610821578063f2fde38b14610829578063f9f92be41461085c578063fe575a871461088f576101e5565b8063aa271e1a14610778578063ad38bf22146107ab578063bd102430146107de578063dd62ed3e146107e6576101e5565b806395d89b41116100de57806395d89b41146106fc5780639fd0506d14610704578063a9059cbb1461070c578063aa20e1e414610745576101e5565b806370a08231146106865780638456cb59146106b95780638a6db9c3146106c15780638da5cb5b146106f4576101e5565b80633357162b1161018757806342966c681161015657806342966c68146105f55780634e44d95614610612578063554bab3c1461064b5780635c975abb1461067e576101e5565b80633357162b1461039757806335d99f35146105835780633f4ba83a146105b457806340c10f19146105bc576101e5565b80631a895266116101c35780631a895266146102ce57806323b872dd146103035780633092afd514610346578063313ce56714610379576101e5565b806306fdde03146101ea578063095ea7b31461026757806318160ddd146102b4575b600080fd5b6101f26108c2565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022c578181015183820152602001610214565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a06004803603604081101561027d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561096e565b604080519115158252519081900360200190f35b6102bc610ad1565b60408051918252519081900360200190f35b610301600480360360208110156102e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ad7565b005b6102a06004803603606081101561031957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610b94565b6102a06004803603602081101561035c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e4f565b610381610f48565b6040805160ff9092168252519081900360200190f35b61030160048036036101008110156103ae57600080fd5b8101906020810181356401000000008111156103c957600080fd5b8201836020820111156103db57600080fd5b803590602001918460018302840111640100000000831117156103fd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561045057600080fd5b82018360208201111561046257600080fd5b8035906020019184600183028401116401000000008311171561048457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156104d757600080fd5b8201836020820111156104e957600080fd5b8035906020019184600183028401116401000000008311171561050b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013573ffffffffffffffffffffffffffffffffffffffff90811691604081013582169160608201358116916080013516610f51565b61058b611293565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6103016112af565b6102a0600480360360408110156105d257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611372565b6103016004803603602081101561060b57600080fd5b5035611743565b6102a06004803603604081101561062857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356119e5565b6103016004803603602081101561066157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611b78565b6102a0611cdf565b6102bc6004803603602081101561069c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611d00565b610301611d11565b6102bc600480360360208110156106d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611deb565b61058b611e13565b6101f2611e2f565b61058b611ea8565b6102a06004803603604081101561072257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611ec4565b6103016004803603602081101561075b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661201c565b6102a06004803603602081101561078e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612183565b610301600480360360208110156107c157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166121ae565b61058b612315565b6102bc600480360360408110156107fc57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516612331565b6101f2612369565b6103016004803603602081101561083f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166123e2565b6103016004803603602081101561087257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612535565b6102a0600480360360208110156108a557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166125f2565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156109665780601f1061093b57610100808354040283529160200191610966565b820191906000526020600020905b81548152906001019060200180831161094957829003601f168201915b505050505081565b60015460009074010000000000000000000000000000000000000000900460ff16156109fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33610a05816125f9565b15610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b83610a65816125f9565b15610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b610ac6338686612624565b506001949350505050565b600b5490565b60025473ffffffffffffffffffffffffffffffffffffffff163314610b47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612db8602c913960400191505060405180910390fd5b610b508161276b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e90600090a250565b60015460009074010000000000000000000000000000000000000000900460ff1615610c2157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33610c2b816125f9565b15610c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b84610c8b816125f9565b15610ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b84610ceb816125f9565b15610d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a60209081526040808320338452909152902054851115610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612e5a6028913960400191505060405180910390fd5b610dd5878787612776565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a60209081526040808320338452909152902054610e109086612941565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600a60209081526040808320338452909152902055600193505050509392505050565b60085460009073ffffffffffffffffffffffffffffffffffffffff163314610ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612d8f6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600d909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a2506001919050565b60065460ff1681565b60085474010000000000000000000000000000000000000000900460ff1615610fc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612eb0602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416611031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612e2b602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831661109d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612d176029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612e82602e913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611175576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612f736028913960400191505060405180910390fd5b87516111889060049060208b0190612ba4565b50865161119c9060059060208a0190612ba4565b5085516111b0906007906020890190612ba4565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8716179055600880547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff878116919091179092556001805482168684161790556002805490911691841691909117905561124a8161298a565b5050600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16331461131f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612f516022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460009074010000000000000000000000000000000000000000900460ff16156113ff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611467576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e0a6021913960400191505060405180910390fd5b33611471816125f9565b156114c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b836114d1816125f9565b15611527576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516611593576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612cac6023913960400191505060405180910390fd5b600084116115ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612d406029913960400191505060405180910390fd5b336000908152600d602052604090205480851115611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612f23602e913960400191505060405180910390fd5b600b5461166290866129d1565b600b556116818661167c8761167683612a45565b906129d1565b612a6d565b61168b8186612941565b336000818152600d6020908152604091829020939093558051888152905173ffffffffffffffffffffffffffffffffffffffff8a16937fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8928290030190a360408051868152905173ffffffffffffffffffffffffffffffffffffffff8816916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600195945050505050565b60015474010000000000000000000000000000000000000000900460ff16156117cd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611835576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e0a6021913960400191505060405180910390fd5b3361183f816125f9565b15611895576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b60006118a033612a45565b9050600083116118fb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612c836029913960400191505060405180910390fd5b82811015611954576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612de46026913960400191505060405180910390fd5b600b546119619084612941565b600b556119723361167c8386612941565b60408051848152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051848152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050565b60015460009074010000000000000000000000000000000000000000900460ff1615611a7257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60085473ffffffffffffffffffffffffffffffffffffffff163314611ae2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612d8f6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600d825291829020859055815185815291517f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d209281900390910190a250600192915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611bfe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611c6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612c5b6028913960400191505060405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60015474010000000000000000000000000000000000000000900460ff1681565b6000611d0b82612a45565b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612f516022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b73ffffffffffffffffffffffffffffffffffffffff166000908152600d602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156109665780601f1061093b57610100808354040283529160200191610966565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015460009074010000000000000000000000000000000000000000900460ff1615611f5157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33611f5b816125f9565b15611fb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b83611fbb816125f9565b15612011576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b610ac6338686612776565b60005473ffffffffffffffffffffffffffffffffffffffff1633146120a257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661210e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612e2b602f913960400191505060405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e690600090a250565b73ffffffffffffffffffffffffffffffffffffffff166000908152600c602052604090205460ff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461223457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166122a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180612f9b6032913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600a6020908152604080832093909416825291909152205490565b6007805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156109665780601f1061093b57610100808354040283529160200191610966565b60005473ffffffffffffffffffffffffffffffffffffffff16331461246857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166124d4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612ccf6026913960400191505060405180910390fd5b6000546040805173ffffffffffffffffffffffffffffffffffffffff9283168152918316602083015280517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09281900390910190a16125328161298a565b50565b60025473ffffffffffffffffffffffffffffffffffffffff1633146125a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612db8602c913960400191505060405180910390fd5b6125ae81612a96565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a250565b6000611d0b825b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205460ff1690565b73ffffffffffffffffffffffffffffffffffffffff8316612690576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612eff6024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166126fc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612cf56022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000818152600a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b612532816000612a9d565b73ffffffffffffffffffffffffffffffffffffffff83166127e2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612eda6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821661284e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612c386023913960400191505060405180910390fd5b61285783612a45565b8111156128af576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612d696026913960400191505060405180910390fd5b6128c68361167c836128c087612a45565b90612941565b6128d78261167c8361167686612a45565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600061298383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612af3565b9392505050565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008282018381101561298357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205490565b73ffffffffffffffffffffffffffffffffffffffff909116600090815260096020526040902055565b6125328160015b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60008184841115612b9c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b61578181015183820152602001612b49565b50505050905090810190601f168015612b8e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612be557805160ff1916838001178555612c12565b82800160010185558215612c12579182015b82811115612c12578251825591602001919060010190612bf7565b50612c1e929150612c22565b5090565b5b80821115612c1e5760008155600101612c2356fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735061757361626c653a206e65772070617573657220697320746865207a65726f206164647265737346696174546f6b656e3a206275726e20616d6f756e74206e6f742067726561746572207468616e203046696174546f6b656e3a206d696e7420746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737346696174546f6b656e3a206e65772070617573657220697320746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e74206e6f742067726561746572207468616e203045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d61737465724d696e746572426c61636b6c69737461626c653a2063616c6c6572206973206e6f742074686520626c61636b6c697374657246696174546f6b656e3a206275726e20616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e74657246696174546f6b656e3a206e6577206d61737465724d696e74657220697320746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636546696174546f6b656e3a206e657720626c61636b6c697374657220697320746865207a65726f206164647265737346696174546f6b656e3a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e742065786365656473206d696e746572416c6c6f77616e63655061757361626c653a2063616c6c6572206973206e6f74207468652070617573657246696174546f6b656e3a206e6577206f776e657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206e657720626c61636b6c697374657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206163636f756e7420697320626c61636b6c6973746564a164736f6c634300060c000a","sourceMap":"1036:12879:22:-:0;;;2107:26:24;;;-1:-1:-1;;;;2107:26:24;;;2128:5;1710:33:22;;1036:12879;;;;;;;;;-1:-1:-1;2226:20:23;2235:10;2226:8;:20::i;:::-;1036:12879:22;;2496:79:23;2551:6;:17;;-1:-1:-1;;;;;;2551:17:23;-1:-1:-1;;;;;2551:17:23;;;;;;;;;;2496:79::o;1036:12879:22:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101e55760003560e01c806370a082311161010f578063aa271e1a116100a2578063e5a6b10f11610071578063e5a6b10f14610821578063f2fde38b14610829578063f9f92be41461085c578063fe575a871461088f576101e5565b8063aa271e1a14610778578063ad38bf22146107ab578063bd102430146107de578063dd62ed3e146107e6576101e5565b806395d89b41116100de57806395d89b41146106fc5780639fd0506d14610704578063a9059cbb1461070c578063aa20e1e414610745576101e5565b806370a08231146106865780638456cb59146106b95780638a6db9c3146106c15780638da5cb5b146106f4576101e5565b80633357162b1161018757806342966c681161015657806342966c68146105f55780634e44d95614610612578063554bab3c1461064b5780635c975abb1461067e576101e5565b80633357162b1461039757806335d99f35146105835780633f4ba83a146105b457806340c10f19146105bc576101e5565b80631a895266116101c35780631a895266146102ce57806323b872dd146103035780633092afd514610346578063313ce56714610379576101e5565b806306fdde03146101ea578063095ea7b31461026757806318160ddd146102b4575b600080fd5b6101f26108c2565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022c578181015183820152602001610214565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a06004803603604081101561027d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561096e565b604080519115158252519081900360200190f35b6102bc610ad1565b60408051918252519081900360200190f35b610301600480360360208110156102e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ad7565b005b6102a06004803603606081101561031957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610b94565b6102a06004803603602081101561035c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e4f565b610381610f48565b6040805160ff9092168252519081900360200190f35b61030160048036036101008110156103ae57600080fd5b8101906020810181356401000000008111156103c957600080fd5b8201836020820111156103db57600080fd5b803590602001918460018302840111640100000000831117156103fd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561045057600080fd5b82018360208201111561046257600080fd5b8035906020019184600183028401116401000000008311171561048457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156104d757600080fd5b8201836020820111156104e957600080fd5b8035906020019184600183028401116401000000008311171561050b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013573ffffffffffffffffffffffffffffffffffffffff90811691604081013582169160608201358116916080013516610f51565b61058b611293565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6103016112af565b6102a0600480360360408110156105d257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611372565b6103016004803603602081101561060b57600080fd5b5035611743565b6102a06004803603604081101561062857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356119e5565b6103016004803603602081101561066157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611b78565b6102a0611cdf565b6102bc6004803603602081101561069c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611d00565b610301611d11565b6102bc600480360360208110156106d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611deb565b61058b611e13565b6101f2611e2f565b61058b611ea8565b6102a06004803603604081101561072257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611ec4565b6103016004803603602081101561075b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661201c565b6102a06004803603602081101561078e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612183565b610301600480360360208110156107c157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166121ae565b61058b612315565b6102bc600480360360408110156107fc57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516612331565b6101f2612369565b6103016004803603602081101561083f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166123e2565b6103016004803603602081101561087257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612535565b6102a0600480360360208110156108a557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166125f2565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156109665780601f1061093b57610100808354040283529160200191610966565b820191906000526020600020905b81548152906001019060200180831161094957829003601f168201915b505050505081565b60015460009074010000000000000000000000000000000000000000900460ff16156109fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33610a05816125f9565b15610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b83610a65816125f9565b15610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b610ac6338686612624565b506001949350505050565b600b5490565b60025473ffffffffffffffffffffffffffffffffffffffff163314610b47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612db8602c913960400191505060405180910390fd5b610b508161276b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e90600090a250565b60015460009074010000000000000000000000000000000000000000900460ff1615610c2157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33610c2b816125f9565b15610c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b84610c8b816125f9565b15610ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b84610ceb816125f9565b15610d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a60209081526040808320338452909152902054851115610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612e5a6028913960400191505060405180910390fd5b610dd5878787612776565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a60209081526040808320338452909152902054610e109086612941565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600a60209081526040808320338452909152902055600193505050509392505050565b60085460009073ffffffffffffffffffffffffffffffffffffffff163314610ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612d8f6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600d909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a2506001919050565b60065460ff1681565b60085474010000000000000000000000000000000000000000900460ff1615610fc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612eb0602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416611031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612e2b602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831661109d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612d176029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612e82602e913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611175576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612f736028913960400191505060405180910390fd5b87516111889060049060208b0190612ba4565b50865161119c9060059060208a0190612ba4565b5085516111b0906007906020890190612ba4565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8716179055600880547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff878116919091179092556001805482168684161790556002805490911691841691909117905561124a8161298a565b5050600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16331461131f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612f516022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460009074010000000000000000000000000000000000000000900460ff16156113ff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611467576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e0a6021913960400191505060405180910390fd5b33611471816125f9565b156114c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b836114d1816125f9565b15611527576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516611593576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612cac6023913960400191505060405180910390fd5b600084116115ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612d406029913960400191505060405180910390fd5b336000908152600d602052604090205480851115611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612f23602e913960400191505060405180910390fd5b600b5461166290866129d1565b600b556116818661167c8761167683612a45565b906129d1565b612a6d565b61168b8186612941565b336000818152600d6020908152604091829020939093558051888152905173ffffffffffffffffffffffffffffffffffffffff8a16937fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8928290030190a360408051868152905173ffffffffffffffffffffffffffffffffffffffff8816916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600195945050505050565b60015474010000000000000000000000000000000000000000900460ff16156117cd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611835576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e0a6021913960400191505060405180910390fd5b3361183f816125f9565b15611895576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b60006118a033612a45565b9050600083116118fb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612c836029913960400191505060405180910390fd5b82811015611954576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612de46026913960400191505060405180910390fd5b600b546119619084612941565b600b556119723361167c8386612941565b60408051848152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051848152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050565b60015460009074010000000000000000000000000000000000000000900460ff1615611a7257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60085473ffffffffffffffffffffffffffffffffffffffff163314611ae2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612d8f6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600d825291829020859055815185815291517f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d209281900390910190a250600192915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611bfe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611c6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612c5b6028913960400191505060405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60015474010000000000000000000000000000000000000000900460ff1681565b6000611d0b82612a45565b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612f516022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b73ffffffffffffffffffffffffffffffffffffffff166000908152600d602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156109665780601f1061093b57610100808354040283529160200191610966565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015460009074010000000000000000000000000000000000000000900460ff1615611f5157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33611f5b816125f9565b15611fb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fcd6025913960400191505060405180910390fd5b83611fbb816125f9565b15612011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004