[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceTokenOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "restrictedPeriod", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_liquidityPool", "type": "address" } ], "name": "setLiquidityPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_startTime", "type": "uint256" } ], "name": "setStartTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "wallets", "type": "address[]" } ], "name": "setWhitelistedPhase", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingPhase", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingRestricted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "wllist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
60806040526103846008553480156200001757600080fd5b50336040518060400160405280600481526020017f4f54544f000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4f54544f00000000000000000000000000000000000000000000000000000000815250816003908162000096919062000b9c565b508060049081620000a8919062000b9c565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001205760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000117919062000cc8565b60405180910390fd5b62000131816200016360201b60201c565b506502ba7def30006007819055506200015d336be04ee0ccb27ac646ac0000006200022960201b60201c565b62001020565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200029e5760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040162000295919062000cc8565b60405180910390fd5b620002b260008383620002b660201b60201c565b5050565b620002c9838383620005c860201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603620003ec5762000330620007f860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620003a4575062000375620007f860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b620003e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003dd9062000d46565b60405180910390fd5b620005c3565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614620005c2576000620004546200082260201b60201c565b03620004a45760006200049e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004959062000db8565b60405180910390fd5b620005c1565b6001620004b66200082260201b60201c565b03620005c057600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166200054b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005429062000e2a565b60405180910390fd5b6103e86200055e6200088e60201b60201c565b6200056a919062000eaa565b6200057b836200089860201b60201c565b1115620005bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005b69062000f58565b60405180910390fd5b5b5b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200061e57806002600082825462000611919062000f7a565b92505081905550620006f4565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015620006ad578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620006a49392919062000fc6565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200073f57806002600082825403925050819055506200078c565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620007eb919062001003565b60405180910390a3505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600062000834620008e060201b60201c565b6200084357600090506200088b565b62000853620008ed60201b60201c565b1562000886576008546007546200086b919062000f7a565b42116200087c57600190506200088b565b600290506200088b565b600290505b90565b6000600254905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600754421015905090565b6000620008ff620008e060201b60201c565b80156200091d575060085460075462000919919062000f7a565b4211155b905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620009a457607f821691505b602082108103620009ba57620009b96200095c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620009e5565b62000a308683620009e5565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000a7d62000a7762000a718462000a48565b62000a52565b62000a48565b9050919050565b6000819050919050565b62000a998362000a5c565b62000ab162000aa88262000a84565b848454620009f2565b825550505050565b600090565b62000ac862000ab9565b62000ad581848462000a8e565b505050565b5b8181101562000afd5762000af160008262000abe565b60018101905062000adb565b5050565b601f82111562000b4c5762000b1681620009c0565b62000b2184620009d5565b8101602085101562000b31578190505b62000b4962000b4085620009d5565b83018262000ada565b50505b505050565b600082821c905092915050565b600062000b716000198460080262000b51565b1980831691505092915050565b600062000b8c838362000b5e565b9150826002028217905092915050565b62000ba78262000922565b67ffffffffffffffff81111562000bc35762000bc26200092d565b5b62000bcf82546200098b565b62000bdc82828562000b01565b600060209050601f83116001811462000c14576000841562000bff578287015190505b62000c0b858262000b7e565b86555062000c7b565b601f19841662000c2486620009c0565b60005b8281101562000c4e5784890151825560018201915060208501945060208101905062000c27565b8683101562000c6e578489015162000c6a601f89168262000b5e565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000cb08262000c83565b9050919050565b62000cc28162000ca3565b82525050565b600060208201905062000cdf600083018462000cb7565b92915050565b600082825260208201905092915050565b7f4e6f204c50207365740000000000000000000000000000000000000000000000600082015250565b600062000d2e60098362000ce5565b915062000d3b8262000cf6565b602082019050919050565b6000602082019050818103600083015262000d618162000d1f565b9050919050565b7f4e6f74206176616c6961626c65206e6f77000000000000000000000000000000600082015250565b600062000da060118362000ce5565b915062000dad8262000d68565b602082019050919050565b6000602082019050818103600083015262000dd38162000d91565b9050919050565b7f4f6e6c7920574c20506861736500000000000000000000000000000000000000600082015250565b600062000e12600d8362000ce5565b915062000e1f8262000dda565b602082019050919050565b6000602082019050818103600083015262000e458162000e03565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000eb78262000a48565b915062000ec48362000a48565b92508262000ed75762000ed662000e4c565b5b828204905092915050565b7f416e74692077616c652070726f74656374696f6e20666f7220574c205068617360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b600062000f4060218362000ce5565b915062000f4d8262000ee2565b604082019050919050565b6000602082019050818103600083015262000f738162000f31565b9050919050565b600062000f878262000a48565b915062000f948362000a48565b925082820190508082111562000faf5762000fae62000e7b565b5b92915050565b62000fc08162000a48565b82525050565b600060608201905062000fdd600083018662000cb7565b62000fec602083018562000fb5565b62000ffb604083018462000fb5565b949350505050565b60006020820190506200101a600083018462000fb5565b92915050565b611bcf80620010306000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80636acbd39b116100c3578063a9059cbb1161007c578063a9059cbb1461036c578063bbc0c7421461039c578063dd62ed3e146103ba578063e14f08d5146103ea578063f2fde38b146103f4578063f75d3305146104105761014d565b80636acbd39b146102ba57806370a08231146102d8578063715018a61461030857806378e97925146103125780638da5cb5b1461033057806395d89b411461034e5761014d565b806323b872dd1161011557806323b872dd146101f6578063282e06a31461022657806328d48afc14610244578063313ce567146102625780633e0a322d14610280578063665a11ca1461029c5761014d565b806301877020146101525780630691dd8a1461016e57806306fdde031461018a578063095ea7b3146101a857806318160ddd146101d8575b600080fd5b61016c6004803603810190610167919061138b565b610440565b005b61018860048036038101906101839190611511565b61048c565b005b610192610529565b60405161019f91906115d9565b60405180910390f35b6101c260048036038101906101bd9190611631565b6105bb565b6040516101cf919061168c565b60405180910390f35b6101e06105de565b6040516101ed91906116b6565b60405180910390f35b610210600480360381019061020b91906116d1565b6105e8565b60405161021d919061168c565b60405180910390f35b61022e610617565b60405161023b91906116b6565b60405180910390f35b61024c61061d565b604051610259919061168c565b60405180910390f35b61026a610647565b6040516102779190611740565b60405180910390f35b61029a6004803603810190610295919061175b565b610650565b005b6102a4610662565b6040516102b19190611797565b60405180910390f35b6102c2610688565b6040516102cf91906116b6565b60405180910390f35b6102f260048036038101906102ed919061138b565b6106dc565b6040516102ff91906116b6565b60405180910390f35b610310610724565b005b61031a610738565b60405161032791906116b6565b60405180910390f35b61033861073e565b6040516103459190611797565b60405180910390f35b610356610768565b60405161036391906115d9565b60405180910390f35b61038660048036038101906103819190611631565b6107fa565b604051610393919061168c565b60405180910390f35b6103a461081d565b6040516103b1919061168c565b60405180910390f35b6103d460048036038101906103cf91906117b2565b61082a565b6040516103e191906116b6565b60405180910390f35b6103f26108b1565b005b61040e6004803603810190610409919061138b565b6108c3565b005b61042a6004803603810190610425919061138b565b610949565b604051610437919061168c565b60405180910390f35b610448610969565b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610494610969565b60005b8151811015610525576001600960008484815181106104b9576104b86117f2565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061051d90611850565b915050610497565b5050565b606060038054610538906118c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610564906118c7565b80156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b5050505050905090565b6000806105c66109f0565b90506105d38185856109f8565b600191505092915050565b6000600254905090565b6000806105f36109f0565b9050610600858285610a0a565b61060b858585610a9e565b60019150509392505050565b60085481565b600061062761081d565b8015610642575060085460075461063e91906118f8565b4211155b905090565b60006012905090565b610658610969565b8060078190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061069261081d565b61069f57600090506106d9565b6106a761061d565b156106d4576008546007546106bc91906118f8565b42116106cb57600190506106d9565b600290506106d9565b600290505b90565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61072c610969565b6107366000610b92565b565b60075481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610777906118c7565b80601f01602080910402602001604051908101604052809291908181526020018280546107a3906118c7565b80156107f05780601f106107c5576101008083540402835291602001916107f0565b820191906000526020600020905b8154815290600101906020018083116107d357829003601f168201915b5050505050905090565b6000806108056109f0565b9050610812818585610a9e565b600191505092915050565b6000600754421015905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108b9610969565b6108c1610724565b565b6108cb610969565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361093d5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016109349190611797565b60405180910390fd5b61094681610b92565b50565b60096020528060005260406000206000915054906101000a900460ff1681565b6109716109f0565b73ffffffffffffffffffffffffffffffffffffffff1661098f61073e565b73ffffffffffffffffffffffffffffffffffffffff16146109ee576109b26109f0565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016109e59190611797565b60405180910390fd5b565b600033905090565b610a058383836001610c58565b505050565b6000610a16848461082a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a985781811015610a88578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610a7f9392919061192c565b60405180910390fd5b610a9784848484036000610c58565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b105760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610b079190611797565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b825760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610b799190611797565b60405180910390fd5b610b8d838383610e2f565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610cca5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610cc19190611797565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d3c5760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610d339190611797565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610e29578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610e2091906116b6565b60405180910390a35b50505050565b610e3a8383836110f4565b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610f4757610e9861073e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610f035750610ed461073e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b610f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f39906119af565b60405180910390fd5b6110ef565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146110ee576000610fa6610688565b03610ff1576000610fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe390611a1b565b60405180910390fd5b6110ed565b6001610ffb610688565b036110ec57600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108390611a87565b60405180910390fd5b6103e86110976105de565b6110a19190611ad6565b6110aa836106dc565b11156110eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e290611b79565b60405180910390fd5b5b5b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361114657806002600082825461113a91906118f8565b92505081905550611219565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156111d2578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016111c99392919061192c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361126257806002600082825403925050819055506112af565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161130c91906116b6565b60405180910390a3505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113588261132d565b9050919050565b6113688161134d565b811461137357600080fd5b50565b6000813590506113858161135f565b92915050565b6000602082840312156113a1576113a0611323565b5b60006113af84828501611376565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611406826113bd565b810181811067ffffffffffffffff82111715611425576114246113ce565b5b80604052505050565b6000611438611319565b905061144482826113fd565b919050565b600067ffffffffffffffff821115611464576114636113ce565b5b602082029050602081019050919050565b600080fd5b600061148d61148884611449565b61142e565b905080838252602082019050602084028301858111156114b0576114af611475565b5b835b818110156114d957806114c58882611376565b8452602084019350506020810190506114b2565b5050509392505050565b600082601f8301126114f8576114f76113b8565b5b813561150884826020860161147a565b91505092915050565b60006020828403121561152757611526611323565b5b600082013567ffffffffffffffff81111561154557611544611328565b5b611551848285016114e3565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611594578082015181840152602081019050611579565b60008484015250505050565b60006115ab8261155a565b6115b58185611565565b93506115c5818560208601611576565b6115ce816113bd565b840191505092915050565b600060208201905081810360008301526115f381846115a0565b905092915050565b6000819050919050565b61160e816115fb565b811461161957600080fd5b50565b60008135905061162b81611605565b92915050565b6000806040838503121561164857611647611323565b5b600061165685828601611376565b92505060206116678582860161161c565b9150509250929050565b60008115159050919050565b61168681611671565b82525050565b60006020820190506116a1600083018461167d565b92915050565b6116b0816115fb565b82525050565b60006020820190506116cb60008301846116a7565b92915050565b6000806000606084860312156116ea576116e9611323565b5b60006116f886828701611376565b935050602061170986828701611376565b925050604061171a8682870161161c565b9150509250925092565b600060ff82169050919050565b61173a81611724565b82525050565b60006020820190506117556000830184611731565b92915050565b60006020828403121561177157611770611323565b5b600061177f8482850161161c565b91505092915050565b6117918161134d565b82525050565b60006020820190506117ac6000830184611788565b92915050565b600080604083850312156117c9576117c8611323565b5b60006117d785828601611376565b92505060206117e885828601611376565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061185b826115fb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361188d5761188c611821565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806118df57607f821691505b6020821081036118f2576118f1611898565b5b50919050565b6000611903826115fb565b915061190e836115fb565b925082820190508082111561192657611925611821565b5b92915050565b60006060820190506119416000830186611788565b61194e60208301856116a7565b61195b60408301846116a7565b949350505050565b7f4e6f204c50207365740000000000000000000000000000000000000000000000600082015250565b6000611999600983611565565b91506119a482611963565b602082019050919050565b600060208201905081810360008301526119c88161198c565b9050919050565b7f4e6f74206176616c6961626c65206e6f77000000000000000000000000000000600082015250565b6000611a05601183611565565b9150611a10826119cf565b602082019050919050565b60006020820190508181036000830152611a34816119f8565b9050919050565b7f4f6e6c7920574c20506861736500000000000000000000000000000000000000600082015250565b6000611a71600d83611565565b9150611a7c82611a3b565b602082019050919050565b60006020820190508181036000830152611aa081611a64565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611ae1826115fb565b9150611aec836115fb565b925082611afc57611afb611aa7565b5b828204905092915050565b7f416e74692077616c652070726f74656374696f6e20666f7220574c205068617360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b6000611b63602183611565565b9150611b6e82611b07565b604082019050919050565b60006020820190508181036000830152611b9281611b56565b905091905056fea26469706673582212202cf998ea9277e4fb83859b9aa8387c60db899a097e648bd42b47bfefdebcce8264736f6c63430008140033