[ { "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": "whitelisted_phase", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
60806040526104b06008553480156200001757600080fd5b50336040518060400160405280601081526020017f44756d6e696b204b7572626f6e726f75000000000000000000000000000000008152506040518060400160405280600481526020017f44554d4b00000000000000000000000000000000000000000000000000000000815250816003908162000096919062000c7c565b508060049081620000a8919062000c7c565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001205760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000117919062000da8565b60405180910390fd5b62000131816200016560201b60201c565b506503a3529440006007819055506200015f336d036c341e1f992f96840fe00000006200022b60201b60201c565b62001197565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002a05760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040162000297919062000da8565b60405180910390fd5b620002b460008383620002b860201b60201c565b5050565b620002cb8383836200067760201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603620003ee5762000332620008a760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620003a6575062000377620008a760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b620003e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003df9062000e26565b60405180910390fd5b62000672565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146200067157600062000456620008d160201b60201c565b03620004a6576000620004a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004979062000e98565b60405180910390fd5b62000670565b6001620004b8620008d160201b60201c565b03620005c657600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166200054d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005449062000f0a565b60405180910390fd5b60646200055f6200096e60201b60201c565b6200056b919062000f8a565b6200057c836200097860201b60201c565b1115620005c0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005b79062001012565b60405180910390fd5b6200066f565b6002620005d8620008d160201b60201c565b036200066e576064604b6064620005f46200096e60201b60201c565b62000600919062000f8a565b6200060c919062001034565b62000618919062000f8a565b62000629836200097860201b60201c565b11156200066d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200066490620010cf565b60405180910390fd5b5b5b5b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620006cd578060026000828254620006c09190620010f1565b92505081905550620007a3565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156200075c578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040162000753939291906200113d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007ee57806002600082825403925050819055506200083b565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200089a91906200117a565b60405180910390a3505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000620008e3620009c060201b60201c565b620008f257600090506200096b565b62000902620009cd60201b60201c565b156200096657600260085462000919919062000f8a565b600754620009289190620010f1565b42116200093957600190506200096b565b6008546007546200094b9190620010f1565b42116200095c57600290506200096b565b600390506200096b565b600390505b90565b6000600254905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600754421015905090565b6000620009df620009c060201b60201c565b8015620009fd5750600854600754620009f99190620010f1565b4211155b905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a8457607f821691505b60208210810362000a9a5762000a9962000a3c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000b047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000ac5565b62000b10868362000ac5565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000b5d62000b5762000b518462000b28565b62000b32565b62000b28565b9050919050565b6000819050919050565b62000b798362000b3c565b62000b9162000b888262000b64565b84845462000ad2565b825550505050565b600090565b62000ba862000b99565b62000bb581848462000b6e565b505050565b5b8181101562000bdd5762000bd160008262000b9e565b60018101905062000bbb565b5050565b601f82111562000c2c5762000bf68162000aa0565b62000c018462000ab5565b8101602085101562000c11578190505b62000c2962000c208562000ab5565b83018262000bba565b50505b505050565b600082821c905092915050565b600062000c516000198460080262000c31565b1980831691505092915050565b600062000c6c838362000c3e565b9150826002028217905092915050565b62000c878262000a02565b67ffffffffffffffff81111562000ca35762000ca262000a0d565b5b62000caf825462000a6b565b62000cbc82828562000be1565b600060209050601f83116001811462000cf4576000841562000cdf578287015190505b62000ceb858262000c5e565b86555062000d5b565b601f19841662000d048662000aa0565b60005b8281101562000d2e5784890151825560018201915060208501945060208101905062000d07565b8683101562000d4e578489015162000d4a601f89168262000c3e565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d908262000d63565b9050919050565b62000da28162000d83565b82525050565b600060208201905062000dbf600083018462000d97565b92915050565b600082825260208201905092915050565b7f4e6f204c50207365740000000000000000000000000000000000000000000000600082015250565b600062000e0e60098362000dc5565b915062000e1b8262000dd6565b602082019050919050565b6000602082019050818103600083015262000e418162000dff565b9050919050565b7f54726164696e67206e6f74206163746976650000000000000000000000000000600082015250565b600062000e8060128362000dc5565b915062000e8d8262000e48565b602082019050919050565b6000602082019050818103600083015262000eb38162000e71565b9050919050565b7f4e6f742077686974656c697374656420666f7220574c20706861736500000000600082015250565b600062000ef2601c8362000dc5565b915062000eff8262000eba565b602082019050919050565b6000602082019050818103600083015262000f258162000ee3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000f978262000b28565b915062000fa48362000b28565b92508262000fb75762000fb662000f2c565b5b828204905092915050565b7f5265737472696374656420616d6f756e7420666f7220574c0000000000000000600082015250565b600062000ffa60188362000dc5565b9150620010078262000fc2565b602082019050919050565b600060208201905081810360008301526200102d8162000feb565b9050919050565b6000620010418262000b28565b91506200104e8362000b28565b92508282026200105e8162000b28565b9150828204841483151762001078576200107762000f5b565b5b5092915050565b7f5265737472696374656420616d6f756e7420666f72207075626c696300000000600082015250565b6000620010b7601c8362000dc5565b9150620010c4826200107f565b602082019050919050565b60006020820190508181036000830152620010ea81620010a8565b9050919050565b6000620010fe8262000b28565b91506200110b8362000b28565b925082820190508082111562001126576200112562000f5b565b5b92915050565b620011378162000b28565b82525050565b600060608201905062001154600083018662000d97565b6200116360208301856200112c565b6200117260408301846200112c565b949350505050565b60006020820190506200119160008301846200112c565b92915050565b611d0c80620011a76000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80636acbd39b116100c3578063a9059cbb1161007c578063a9059cbb1461036c578063b6a155db1461039c578063bbc0c742146103cc578063dd62ed3e146103ea578063e14f08d51461041a578063f2fde38b146104245761014d565b80636acbd39b146102ba57806370a08231146102d8578063715018a61461030857806378e97925146103125780638da5cb5b1461033057806395d89b411461034e5761014d565b806323b872dd1161011557806323b872dd146101f6578063282e06a31461022657806328d48afc14610244578063313ce567146102625780633e0a322d14610280578063665a11ca1461029c5761014d565b806301877020146101525780630691dd8a1461016e57806306fdde031461018a578063095ea7b3146101a857806318160ddd146101d8575b600080fd5b61016c60048036038101906101679190611440565b610440565b005b610188600480360381019061018391906115c6565b61048c565b005b610192610529565b60405161019f919061168e565b60405180910390f35b6101c260048036038101906101bd91906116e6565b6105bb565b6040516101cf9190611741565b60405180910390f35b6101e06105de565b6040516101ed919061176b565b60405180910390f35b610210600480360381019061020b9190611786565b6105e8565b60405161021d9190611741565b60405180910390f35b61022e610617565b60405161023b919061176b565b60405180910390f35b61024c61061d565b6040516102599190611741565b60405180910390f35b61026a610647565b60405161027791906117f5565b60405180910390f35b61029a60048036038101906102959190611810565b610650565b005b6102a4610662565b6040516102b1919061184c565b60405180910390f35b6102c2610688565b6040516102cf919061176b565b60405180910390f35b6102f260048036038101906102ed9190611440565b610707565b6040516102ff919061176b565b60405180910390f35b61031061074f565b005b61031a610763565b604051610327919061176b565b60405180910390f35b610338610769565b604051610345919061184c565b60405180910390f35b610356610793565b604051610363919061168e565b60405180910390f35b610386600480360381019061038191906116e6565b610825565b6040516103939190611741565b60405180910390f35b6103b660048036038101906103b19190611440565b610848565b6040516103c39190611741565b60405180910390f35b6103d4610868565b6040516103e19190611741565b60405180910390f35b61040460048036038101906103ff9190611867565b610875565b604051610411919061176b565b60405180910390f35b6104226108fc565b005b61043e60048036038101906104399190611440565b61090e565b005b610448610994565b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610494610994565b60005b8151811015610525576001600960008484815181106104b9576104b86118a7565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061051d90611905565b915050610497565b5050565b6060600380546105389061197c565b80601f01602080910402602001604051908101604052809291908181526020018280546105649061197c565b80156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b5050505050905090565b6000806105c6610a1b565b90506105d3818585610a23565b600191505092915050565b6000600254905090565b6000806105f3610a1b565b9050610600858285610a35565b61060b858585610ac9565b60019150509392505050565b60085481565b6000610627610868565b8015610642575060085460075461063e91906119ad565b4211155b905090565b60006012905090565b610658610994565b8060078190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610692610868565b61069f5760009050610704565b6106a761061d565b156106ff5760026008546106bb9190611a10565b6007546106c891906119ad565b42116106d75760019050610704565b6008546007546106e791906119ad565b42116106f65760029050610704565b60039050610704565b600390505b90565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610757610994565b6107616000610bbd565b565b60075481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546107a29061197c565b80601f01602080910402602001604051908101604052809291908181526020018280546107ce9061197c565b801561081b5780601f106107f05761010080835404028352916020019161081b565b820191906000526020600020905b8154815290600101906020018083116107fe57829003601f168201915b5050505050905090565b600080610830610a1b565b905061083d818585610ac9565b600191505092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b6000600754421015905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610904610994565b61090c61074f565b565b610916610994565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109885760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161097f919061184c565b60405180910390fd5b61099181610bbd565b50565b61099c610a1b565b73ffffffffffffffffffffffffffffffffffffffff166109ba610769565b73ffffffffffffffffffffffffffffffffffffffff1614610a19576109dd610a1b565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a10919061184c565b60405180910390fd5b565b600033905090565b610a308383836001610c83565b505050565b6000610a418484610875565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ac35781811015610ab3578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610aaa93929190611a41565b60405180910390fd5b610ac284848484036000610c83565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b3b5760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610b32919061184c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bad5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610ba4919061184c565b60405180910390fd5b610bb8838383610e5a565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610cf55760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610cec919061184c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d675760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610d5e919061184c565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610e54578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610e4b919061176b565b60405180910390a35b50505050565b610e658383836111a9565b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610f7257610ec3610769565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610f2e5750610eff610769565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b610f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6490611ac4565b60405180910390fd5b6111a4565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146111a3576000610fd1610688565b0361101c576000611017576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100e90611b30565b60405180910390fd5b6111a2565b6001611026610688565b0361111a57600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ae90611b9c565b60405180910390fd5b60646110c16105de565b6110cb9190611a10565b6110d483610707565b1115611115576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110c90611c08565b60405180910390fd5b6111a1565b6002611124610688565b036111a0576064604b60646111376105de565b6111419190611a10565b61114b9190611c28565b6111559190611a10565b61115e83610707565b111561119f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119690611cb6565b60405180910390fd5b5b5b5b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111fb5780600260008282546111ef91906119ad565b925050819055506112ce565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611287578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161127e93929190611a41565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113175780600260008282540392505081905550611364565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113c1919061176b565b60405180910390a3505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061140d826113e2565b9050919050565b61141d81611402565b811461142857600080fd5b50565b60008135905061143a81611414565b92915050565b600060208284031215611456576114556113d8565b5b60006114648482850161142b565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6114bb82611472565b810181811067ffffffffffffffff821117156114da576114d9611483565b5b80604052505050565b60006114ed6113ce565b90506114f982826114b2565b919050565b600067ffffffffffffffff82111561151957611518611483565b5b602082029050602081019050919050565b600080fd5b600061154261153d846114fe565b6114e3565b905080838252602082019050602084028301858111156115655761156461152a565b5b835b8181101561158e578061157a888261142b565b845260208401935050602081019050611567565b5050509392505050565b600082601f8301126115ad576115ac61146d565b5b81356115bd84826020860161152f565b91505092915050565b6000602082840312156115dc576115db6113d8565b5b600082013567ffffffffffffffff8111156115fa576115f96113dd565b5b61160684828501611598565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561164957808201518184015260208101905061162e565b60008484015250505050565b60006116608261160f565b61166a818561161a565b935061167a81856020860161162b565b61168381611472565b840191505092915050565b600060208201905081810360008301526116a88184611655565b905092915050565b6000819050919050565b6116c3816116b0565b81146116ce57600080fd5b50565b6000813590506116e0816116ba565b92915050565b600080604083850312156116fd576116fc6113d8565b5b600061170b8582860161142b565b925050602061171c858286016116d1565b9150509250929050565b60008115159050919050565b61173b81611726565b82525050565b60006020820190506117566000830184611732565b92915050565b611765816116b0565b82525050565b6000602082019050611780600083018461175c565b92915050565b60008060006060848603121561179f5761179e6113d8565b5b60006117ad8682870161142b565b93505060206117be8682870161142b565b92505060406117cf868287016116d1565b9150509250925092565b600060ff82169050919050565b6117ef816117d9565b82525050565b600060208201905061180a60008301846117e6565b92915050565b600060208284031215611826576118256113d8565b5b6000611834848285016116d1565b91505092915050565b61184681611402565b82525050565b6000602082019050611861600083018461183d565b92915050565b6000806040838503121561187e5761187d6113d8565b5b600061188c8582860161142b565b925050602061189d8582860161142b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611910826116b0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611942576119416118d6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061199457607f821691505b6020821081036119a7576119a661194d565b5b50919050565b60006119b8826116b0565b91506119c3836116b0565b92508282019050808211156119db576119da6118d6565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611a1b826116b0565b9150611a26836116b0565b925082611a3657611a356119e1565b5b828204905092915050565b6000606082019050611a56600083018661183d565b611a63602083018561175c565b611a70604083018461175c565b949350505050565b7f4e6f204c50207365740000000000000000000000000000000000000000000000600082015250565b6000611aae60098361161a565b9150611ab982611a78565b602082019050919050565b60006020820190508181036000830152611add81611aa1565b9050919050565b7f54726164696e67206e6f74206163746976650000000000000000000000000000600082015250565b6000611b1a60128361161a565b9150611b2582611ae4565b602082019050919050565b60006020820190508181036000830152611b4981611b0d565b9050919050565b7f4e6f742077686974656c697374656420666f7220574c20706861736500000000600082015250565b6000611b86601c8361161a565b9150611b9182611b50565b602082019050919050565b60006020820190508181036000830152611bb581611b79565b9050919050565b7f5265737472696374656420616d6f756e7420666f7220574c0000000000000000600082015250565b6000611bf260188361161a565b9150611bfd82611bbc565b602082019050919050565b60006020820190508181036000830152611c2181611be5565b9050919050565b6000611c33826116b0565b9150611c3e836116b0565b9250828202611c4c816116b0565b91508282048414831517611c6357611c626118d6565b5b5092915050565b7f5265737472696374656420616d6f756e7420666f72207075626c696300000000600082015250565b6000611ca0601c8361161a565b9150611cab82611c6a565b602082019050919050565b60006020820190508181036000830152611ccf81611c93565b905091905056fea2646970667358221220817b5b06165da3d6a0a10274de7f2a597ad6b5f9475e5b2fe66614ea6a57ac2564736f6c63430008140033