[ { "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": false, "internalType": "uint16", "name": "newBuyFee", "type": "uint16" } ], "name": "BuyFeeSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "totalTokensDistributed", "type": "uint256" } ], "name": "FeesDistributed", "type": "event" }, { "anonymous": false, "inputs": [], "name": "LimitsRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "MarketingWalletUpdated", "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": false, "internalType": "uint16", "name": "newSellFee", "type": "uint16" } ], "name": "SellFeeSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newSwapTokensAtAmount", "type": "uint256" } ], "name": "SwapTokensAtAmountSet", "type": "event" }, { "anonymous": false, "inputs": [], "name": "TradingEnabled", "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": "buyFee", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromMaxWalletBalance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellFee", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "newBuyFee", "type": "uint16" } ], "name": "setBuyFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "setExcludedFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "setExcludedFromMaxWalletBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "newSellFee", "type": "uint16" } ], "name": "setSellFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newSwapTokensAtAmount", "type": "uint256" } ], "name": "setSwapTokensAtAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "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": "tradingEnabled", "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": [], "name": "uniV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "updateMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a06040525f600660146101000a81548161ffff021916908361ffff1602179055505f600660166101000a81548161ffff021916908361ffff16021790555069075b0ad658c8d0c000006007556001600a5f6101000a81548160ff0219169083151502179055506a012639b17ddf609e000000600b5534801562000081575f80fd5b50336040518060400160405280600c81526020017f454c4f4e5749465452554d5000000000000000000000000000000000000000008152506040518060400160405280600481526020017f2445575400000000000000000000000000000000000000000000000000000000815250816003908162000100919062000cc5565b50806004908162000112919062000cc5565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000188575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200017f919062000dec565b60405180910390fd5b6200019981620004d660201b60201c565b50737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021e919062000e3a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000298573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002be919062000e3a565b6040518363ffffffff1660e01b8152600401620002dd92919062000e6a565b6020604051808303815f875af1158015620002fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000320919062000e3a565b73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506001600c5f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f620003bf6200059960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200041e6200059960201b60201c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000489620004716200059960201b60201c565b6a397745f7a6c1b68d600000620005c160201b60201c565b620004d030737a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200064b60201b60201c565b62000f63565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000634575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200062b919062000dec565b60405180910390fd5b620006475f83836200066560201b60201c565b5050565b6200066083838360016200088960201b60201c565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620006b9578060025f828254620006ac919062000ec2565b925050819055506200078a565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101562000745578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016200073c9392919062000f0d565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007d3578060025f82825403925050819055506200081d565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200087c919062000f48565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603620008fc575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401620008f3919062000dec565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200096f575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040162000966919062000dec565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801562000a5b578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405162000a52919062000f48565b60405180910390a35b50505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000add57607f821691505b60208210810362000af35762000af262000a98565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b1a565b62000b63868362000b1a565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000bad62000ba762000ba18462000b7b565b62000b84565b62000b7b565b9050919050565b5f819050919050565b62000bc88362000b8d565b62000be062000bd78262000bb4565b84845462000b26565b825550505050565b5f90565b62000bf662000be8565b62000c0381848462000bbd565b505050565b5b8181101562000c2a5762000c1e5f8262000bec565b60018101905062000c09565b5050565b601f82111562000c795762000c438162000af9565b62000c4e8462000b0b565b8101602085101562000c5e578190505b62000c7662000c6d8562000b0b565b83018262000c08565b50505b505050565b5f82821c905092915050565b5f62000c9b5f198460080262000c7e565b1980831691505092915050565b5f62000cb5838362000c8a565b9150826002028217905092915050565b62000cd08262000a61565b67ffffffffffffffff81111562000cec5762000ceb62000a6b565b5b62000cf8825462000ac5565b62000d0582828562000c2e565b5f60209050601f83116001811462000d3b575f841562000d26578287015190505b62000d32858262000ca8565b86555062000da1565b601f19841662000d4b8662000af9565b5f5b8281101562000d745784890151825560018201915060208501945060208101905062000d4d565b8683101562000d94578489015162000d90601f89168262000c8a565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000dd48262000da9565b9050919050565b62000de68162000dc8565b82525050565b5f60208201905062000e015f83018462000ddb565b92915050565b5f80fd5b62000e168162000dc8565b811462000e21575f80fd5b50565b5f8151905062000e348162000e0b565b92915050565b5f6020828403121562000e525762000e5162000e07565b5b5f62000e618482850162000e24565b91505092915050565b5f60408201905062000e7f5f83018562000ddb565b62000e8e602083018462000ddb565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000ece8262000b7b565b915062000edb8362000b7b565b925082820190508082111562000ef65762000ef562000e95565b5b92915050565b62000f078162000b7b565b82525050565b5f60608201905062000f225f83018662000ddb565b62000f31602083018562000efc565b62000f40604083018462000efc565b949350505050565b5f60208201905062000f5d5f83018462000efc565b92915050565b608051612e5662000f985f395f8181610b370152818161132701528181611506015281816116fc01526117a30152612e565ff3fe6080604052600436106101db575f3560e01c8063751039fc11610101578063a9059cbb11610094578063dd62ed3e11610063578063dd62ed3e1461067a578063e064648a146106b6578063e2f45605146106de578063f2fde38b14610708576101e2565b8063a9059cbb146105c4578063aacebbe314610600578063afa4f3b214610628578063bbde77c114610650576101e2565b80638da5cb5b116100d05780638da5cb5b1461051e57806394a9839014610548578063958c2e521461057057806395d89b411461059a576101e2565b8063751039fc1461049e57806375f0a874146104b45780638a8c523c146104de5780638bcea939146104f4576101e2565b80634a62bb6511610179578063686d83c311610148578063686d83c3146103e857806370a082311461042457806370c4767114610460578063715018a614610488576101e2565b80634a62bb65146103305780634ada218b1461035a5780634fbee19314610384578063590ffdce146103c0576101e2565b806323b872dd116101b557806323b872dd146102765780632b14ca56146102b2578063313ce567146102dc5780634706240214610306576101e2565b806306fdde03146101e6578063095ea7b31461021057806318160ddd1461024c576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa610730565b604051610207919061221d565b60405180910390f35b34801561021b575f80fd5b50610236600480360381019061023191906122ce565b6107c0565b6040516102439190612326565b60405180910390f35b348015610257575f80fd5b506102606107e2565b60405161026d919061234e565b60405180910390f35b348015610281575f80fd5b5061029c60048036038101906102979190612367565b6107eb565b6040516102a99190612326565b60405180910390f35b3480156102bd575f80fd5b506102c6610819565b6040516102d391906123d3565b60405180910390f35b3480156102e7575f80fd5b506102f061082d565b6040516102fd9190612407565b60405180910390f35b348015610311575f80fd5b5061031a610835565b60405161032791906123d3565b60405180910390f35b34801561033b575f80fd5b50610344610849565b6040516103519190612326565b60405180910390f35b348015610365575f80fd5b5061036e61085b565b60405161037b9190612326565b60405180910390f35b34801561038f575f80fd5b506103aa60048036038101906103a59190612420565b61086d565b6040516103b79190612326565b60405180910390f35b3480156103cb575f80fd5b506103e660048036038101906103e19190612475565b6108bf565b005b3480156103f3575f80fd5b5061040e60048036038101906104099190612420565b61091f565b60405161041b9190612326565b60405180910390f35b34801561042f575f80fd5b5061044a60048036038101906104459190612420565b610971565b604051610457919061234e565b60405180910390f35b34801561046b575f80fd5b50610486600480360381019061048191906124dd565b6109b6565b005b348015610493575f80fd5b5061049c610a5e565b005b3480156104a9575f80fd5b506104b2610a71565b005b3480156104bf575f80fd5b506104c8610ac0565b6040516104d59190612517565b60405180910390f35b3480156104e9575f80fd5b506104f2610ae5565b005b3480156104ff575f80fd5b50610508610b35565b6040516105159190612517565b60405180910390f35b348015610529575f80fd5b50610532610b59565b60405161053f9190612517565b60405180910390f35b348015610553575f80fd5b5061056e60048036038101906105699190612475565b610b81565b005b34801561057b575f80fd5b50610584610be1565b604051610591919061258b565b60405180910390f35b3480156105a5575f80fd5b506105ae610bf9565b6040516105bb919061221d565b60405180910390f35b3480156105cf575f80fd5b506105ea60048036038101906105e591906122ce565b610c89565b6040516105f79190612326565b60405180910390f35b34801561060b575f80fd5b5061062660048036038101906106219190612420565b610cab565b005b348015610633575f80fd5b5061064e600480360381019061064991906125a4565b610d9b565b005b34801561065b575f80fd5b50610664610e9f565b604051610671919061234e565b60405180910390f35b348015610685575f80fd5b506106a0600480360381019061069b91906125cf565b610ea5565b6040516106ad919061234e565b60405180910390f35b3480156106c1575f80fd5b506106dc60048036038101906106d791906124dd565b610f27565b005b3480156106e9575f80fd5b506106f2610fcf565b6040516106ff919061234e565b60405180910390f35b348015610713575f80fd5b5061072e60048036038101906107299190612420565b610fd5565b005b60606003805461073f9061263a565b80601f016020809104026020016040519081016040528092919081815260200182805461076b9061263a565b80156107b65780601f1061078d576101008083540402835291602001916107b6565b820191905f5260205f20905b81548152906001019060200180831161079957829003601f168201915b5050505050905090565b5f806107ca611059565b90506107d7818585611060565b600191505092915050565b5f600254905090565b5f806107f5611059565b9050610802858285611072565b61080d858585611104565b60019150509392505050565b600660169054906101000a900461ffff1681565b5f6012905090565b600660149054906101000a900461ffff1681565b600a5f9054906101000a900460ff1681565b600d5f9054906101000a900460ff1681565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b6108c761187b565b8060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109be61187b565b6101908161ffff161115610a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fe906126da565b60405180910390fd5b80600660146101000a81548161ffff021916908361ffff1602179055507f36fa651f7bdbb8a6a7289ed4df5a6e3efb1fdcaef87c1f88dfd66b08d2007dc281604051610a5391906123d3565b60405180910390a150565b610a6661187b565b610a6f5f611902565b565b610a7961187b565b5f600a5f6101000a81548160ff0219169083151502179055507f7bfa7bacf025baa75e5308bf15bcf2948f406c7ebe3eb1a8bb611862b9d647ef60405160405180910390a1565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610aed61187b565b6001600d5f6101000a81548160ff0219169083151502179055507f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c760405160405180910390a1565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b8961187b565b80600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b606060048054610c089061263a565b80601f0160208091040260200160405190810160405280929190818152602001828054610c349061263a565b8015610c7f5780601f10610c5657610100808354040283529160200191610c7f565b820191905f5260205f20905b815481529060010190602001808311610c6257829003601f168201915b5050505050905090565b5f80610c93611059565b9050610ca0818585611104565b600191505092915050565b610cb361187b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1890612768565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fbf86feedee5b30c30a8243bd21deebb704d141478d39b1be04fe5ee739f214e781604051610d909190612517565b60405180910390a150565b610da361187b565b620186a0610daf6107e2565b610db991906127e0565b811015610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df2906128a6565b60405180910390fd5b6103e86005610e086107e2565b610e1291906128c4565b610e1c91906127e0565b811115610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e559061299b565b60405180910390fd5b806007819055507f9efd5e66ee602c629f311865749d9af922866664ad3ff96bbfaf8035f5d24b2681604051610e94919061234e565b60405180910390a150565b600b5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f2f61187b565b6101908161ffff161115610f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6f906126da565b60405180910390fd5b80600660166101000a81548161ffff021916908361ffff1602179055507f625428ca3cfddf32cf909a4d7ae5a8b942d838319ae2a8055f271ad78033c2f681604051610fc491906123d3565b60405180910390a150565b60075481565b610fdd61187b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361104d575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016110449190612517565b60405180910390fd5b61105681611902565b50565b5f33905090565b61106d83838360016119c5565b505050565b5f61107d8484610ea5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110fe57818110156110ef578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016110e6939291906129b9565b60405180910390fd5b6110fd84848484035f6119c5565b5b50505050565b5f8111611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d90612a5e565b60405180910390fd5b600d5f9054906101000a900460ff1661120c57611161610b59565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806111cc575061119d610b59565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61120b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120290612aec565b60405180910390fd5b5b600a5f9054906101000a900460ff16156114d357611228610b59565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112965750611266610b59565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112ce57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611308575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611320575060085f9054906101000a900460ff16155b156114d2577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113c75750600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561142957600b546113d883610971565b826113e39190612b0a565b1115611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b90612bad565b60405180910390fd5b6114d1565b600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166114d057600b5461148383610971565b8261148e9190612b0a565b11156114cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c690612bad565b60405180910390fd5b5b5b5b5b5f6007546114e030610971565b101590508080156114fd575060085f9054906101000a900460ff16155b801561155557507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115a8575060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156115fb575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561163c57600160085f6101000a81548160ff021916908315150217905550611622611b94565b5f60085f6101000a81548160ff0219169083151502179055505b5f60085f9054906101000a900460ff1615905060095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806116ea575060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156116f3575f90505b5f8115611868577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614801561176857505f600660149054906101000a900461ffff1661ffff16115b156117a1576103e8600660149054906101000a900461ffff1661ffff168561179091906128c4565b61179a91906127e0565b9050611845565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561180f57505f600660169054906101000a900461ffff1661ffff16115b15611844576103e8600660169054906101000a900461ffff1661ffff168561183791906128c4565b61184191906127e0565b90505b5b5f81111561186757611858863083611e8a565b80846118649190612bcb565b93505b5b611873868686611e8a565b505050505050565b611883611059565b73ffffffffffffffffffffffffffffffffffffffff166118a1610b59565b73ffffffffffffffffffffffffffffffffffffffff1614611900576118c4611059565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016118f79190612517565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611a35575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611a2c9190612517565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611aa5575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611a9c9190612517565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611b8e578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611b85919061234e565b60405180910390a35b50505050565b5f611b9e30610971565b90506014600754611baf91906128c4565b811115611bc8576014600754611bc591906128c4565b90505b5f600267ffffffffffffffff811115611be457611be3612bfe565b5b604051908082528060200260200182016040528015611c125781602001602082028036833780820191505090505b50905030815f81518110611c2957611c28612c2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ce49190612c6c565b81600181518110611cf857611cf7612c2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d87959493929190612d87565b5f604051808303815f87803b158015611d9e575f80fd5b505af1925050508015611daf575060015b505f4790505f811115611e85575f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611e0290612e0c565b5f6040518083038185875af1925050503d805f8114611e3c576040519150601f19603f3d011682016040523d82523d5f602084013e611e41565b606091505b505090508015611e83577f8959421a1320789a49eeec01a4750caf8a30733c3db14f000d84484df89300f984604051611e7a919061234e565b60405180910390a15b505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611efa575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611ef19190612517565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f6a575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611f619190612517565b60405180910390fd5b611f75838383611f7a565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fca578060025f828254611fbe9190612b0a565b92505081905550612098565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612053578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161204a939291906129b9565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120df578060025f8282540392505081905550612129565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612186919061234e565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156121ca5780820151818401526020810190506121af565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6121ef82612193565b6121f9818561219d565b93506122098185602086016121ad565b612212816121d5565b840191505092915050565b5f6020820190508181035f83015261223581846121e5565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61226a82612241565b9050919050565b61227a81612260565b8114612284575f80fd5b50565b5f8135905061229581612271565b92915050565b5f819050919050565b6122ad8161229b565b81146122b7575f80fd5b50565b5f813590506122c8816122a4565b92915050565b5f80604083850312156122e4576122e361223d565b5b5f6122f185828601612287565b9250506020612302858286016122ba565b9150509250929050565b5f8115159050919050565b6123208161230c565b82525050565b5f6020820190506123395f830184612317565b92915050565b6123488161229b565b82525050565b5f6020820190506123615f83018461233f565b92915050565b5f805f6060848603121561237e5761237d61223d565b5b5f61238b86828701612287565b935050602061239c86828701612287565b92505060406123ad868287016122ba565b9150509250925092565b5f61ffff82169050919050565b6123cd816123b7565b82525050565b5f6020820190506123e65f8301846123c4565b92915050565b5f60ff82169050919050565b612401816123ec565b82525050565b5f60208201905061241a5f8301846123f8565b92915050565b5f602082840312156124355761243461223d565b5b5f61244284828501612287565b91505092915050565b6124548161230c565b811461245e575f80fd5b50565b5f8135905061246f8161244b565b92915050565b5f806040838503121561248b5761248a61223d565b5b5f61249885828601612287565b92505060206124a985828601612461565b9150509250929050565b6124bc816123b7565b81146124c6575f80fd5b50565b5f813590506124d7816124b3565b92915050565b5f602082840312156124f2576124f161223d565b5b5f6124ff848285016124c9565b91505092915050565b61251181612260565b82525050565b5f60208201905061252a5f830184612508565b92915050565b5f819050919050565b5f61255361254e61254984612241565b612530565b612241565b9050919050565b5f61256482612539565b9050919050565b5f6125758261255a565b9050919050565b6125858161256b565b82525050565b5f60208201905061259e5f83018461257c565b92915050565b5f602082840312156125b9576125b861223d565b5b5f6125c6848285016122ba565b91505092915050565b5f80604083850312156125e5576125e461223d565b5b5f6125f285828601612287565b925050602061260385828601612287565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061265157607f821691505b6020821081036126645761266361260d565b5b50919050565b7f454c4f4e5749465452554d503a206665652063616e6e6f7420626520677265615f8201527f746572207468616e203430250000000000000000000000000000000000000000602082015250565b5f6126c4602c8361219d565b91506126cf8261266a565b604082019050919050565b5f6020820190508181035f8301526126f1816126b8565b9050919050565b7f454c4f4e5749465452554d503a20616464726573732063616e6e6f74206265205f8201527f3020616464726573730000000000000000000000000000000000000000000000602082015250565b5f61275260298361219d565b915061275d826126f8565b604082019050919050565b5f6020820190508181035f83015261277f81612746565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6127ea8261229b565b91506127f58361229b565b92508261280557612804612786565b5b828204905092915050565b7f454c4f4e5749465452554d503a207377617020746f6b656e7320617420616d6f5f8201527f756e742063616e6e6f74206265206c6f776572207468616e20302e303031252060208201527f6f6620746f74616c20737570706c790000000000000000000000000000000000604082015250565b5f612890604f8361219d565b915061289b82612810565b606082019050919050565b5f6020820190508181035f8301526128bd81612884565b9050919050565b5f6128ce8261229b565b91506128d98361229b565b92508282026128e78161229b565b915082820484148315176128fe576128fd6127b3565b5b5092915050565b7f454c4f4e5749465452554d503a207377617020746f6b656e7320617420616d6f5f8201527f756e742063616e6e6f7420626520686967686572207468616e20302e3525206f60208201527f6620746f74616c20737570706c79000000000000000000000000000000000000604082015250565b5f612985604e8361219d565b915061299082612905565b606082019050919050565b5f6020820190508181035f8301526129b281612979565b9050919050565b5f6060820190506129cc5f830186612508565b6129d9602083018561233f565b6129e6604083018461233f565b949350505050565b7f454c4f4e5749465452554d503a207472616e7366657220616d6f756e74206d755f8201527f73742062652067726561746572207468616e2030000000000000000000000000602082015250565b5f612a4860348361219d565b9150612a53826129ee565b604082019050919050565b5f6020820190508181035f830152612a7581612a3c565b9050919050565b7f454c4f4e5749465452554d503a2074726164696e6720686173206e6f742062655f8201527f656e20656e61626c656420796574000000000000000000000000000000000000602082015250565b5f612ad6602e8361219d565b9150612ae182612a7c565b604082019050919050565b5f6020820190508181035f830152612b0381612aca565b9050919050565b5f612b148261229b565b9150612b1f8361229b565b9250828201905080821115612b3757612b366127b3565b5b92915050565b7f454c4f4e5749465452554d503a2062616c616e636520776f756c64204e4556455f8201527f5220657863656564206d61782077616c6c65742062616c616e63650000000000602082015250565b5f612b97603b8361219d565b9150612ba282612b3d565b604082019050919050565b5f6020820190508181035f830152612bc481612b8b565b9050919050565b5f612bd58261229b565b9150612be08361229b565b9250828203905081811115612bf857612bf76127b3565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612c6681612271565b92915050565b5f60208284031215612c8157612c8061223d565b5b5f612c8e84828501612c58565b91505092915050565b5f819050919050565b5f612cba612cb5612cb084612c97565b612530565b61229b565b9050919050565b612cca81612ca0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d0281612260565b82525050565b5f612d138383612cf9565b60208301905092915050565b5f602082019050919050565b5f612d3582612cd0565b612d3f8185612cda565b9350612d4a83612cea565b805f5b83811015612d7a578151612d618882612d08565b9750612d6c83612d1f565b925050600181019050612d4d565b5085935050505092915050565b5f60a082019050612d9a5f83018861233f565b612da76020830187612cc1565b8181036040830152612db98186612d2b565b9050612dc86060830185612508565b612dd5608083018461233f565b9695505050505050565b5f81905092915050565b50565b5f612df75f83612ddf565b9150612e0282612de9565b5f82019050919050565b5f612e1682612dec565b915081905091905056fea2646970667358221220376de9dde7b9b2a41cf73a8fc24560989582ffb0b6b3ae268eafd77422718fc564736f6c63430008170033