[ { "inputs": [], "stateMutability": "payable", "type": "constructor" }, { "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": "amount", "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": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "feeRecipientAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeThresholdAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "maxHoldings", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSwapTxSize", "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": "removeHoldingLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeMaxSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapBackFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapFee", "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": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "amount", "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": [ { "internalType": "uint256", "name": "newThreshold", "type": "uint256" } ], "name": "updateFeeThreshold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newBuyFee", "type": "uint256" }, { "internalType": "uint256", "name": "newSellFee", "type": "uint256" } ], "name": "updateSwapFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "token", "type": "address" } ], "name": "withdrawStuckERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawStuckETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a06040526040518060400160405280600d81526020017f4d656d65204f66205472756d70000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d45540000000000000000000000000000000000000000000000000000000000815250816003908161007f9190610826565b50806004908161008f9190610826565b5050506100ae6100a361038b60201b60201c565b61039260201b60201c565b5f6c054f529ca52576bc689200000090505f6100e760646100d960648561045560201b90919060201c565b61046a60201b90919060201c565b9050610110606461010260028561045560201b90919060201c565b61046a60201b90919060201c565b60078190555061013d606461012f60028561045560201b90919060201c565b61046a60201b90919060201c565b60088190555061016b61271061015d604b8561045560201b90919060201c565b61046a60201b90919060201c565b600981905550739e07e95db5135efe7eb6a2f53e76f5bf39dba9e773ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250505f600a819055505f600b819055506001600d5f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550610384338261047f60201b60201c565b5050610a93565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81836104629190610922565b905092915050565b5f81836104779190610990565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036104ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e490610a1a565b60405180910390fd5b6104fe5f83836105e260201b60201c565b8060025f82825461050f9190610a38565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105619190610a38565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105c59190610a7a565b60405180910390a36105de5f83836105e760201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061066757607f821691505b60208210810361067a57610679610623565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826106a1565b6106e686836106a1565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61072a610725610720846106fe565b610707565b6106fe565b9050919050565b5f819050919050565b61074383610710565b61075761074f82610731565b8484546106ad565b825550505050565b5f90565b61076b61075f565b61077681848461073a565b505050565b5b818110156107995761078e5f82610763565b60018101905061077c565b5050565b601f8211156107de576107af81610680565b6107b884610692565b810160208510156107c7578190505b6107db6107d385610692565b83018261077b565b50505b505050565b5f82821c905092915050565b5f6107fe5f19846008026107e3565b1980831691505092915050565b5f61081683836107ef565b9150826002028217905092915050565b61082f826105ec565b67ffffffffffffffff811115610848576108476105f6565b5b6108528254610650565b61085d82828561079d565b5f60209050601f83116001811461088e575f841561087c578287015190505b610886858261080b565b8655506108ed565b601f19841661089c86610680565b5f5b828110156108c35784890151825560018201915060208501945060208101905061089e565b868310156108e057848901516108dc601f8916826107ef565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61092c826106fe565b9150610937836106fe565b9250828202610945816106fe565b9150828204841483151761095c5761095b6108f5565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61099a826106fe565b91506109a5836106fe565b9250826109b5576109b4610963565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610a04601f836109c0565b9150610a0f826109d0565b602082019050919050565b5f6020820190508181035f830152610a31816109f8565b9050919050565b5f610a42826106fe565b9150610a4d836106fe565b9250828201905080821115610a6557610a646108f5565b5b92915050565b610a74816106fe565b82525050565b5f602082019050610a8d5f830184610a6b565b92915050565b60805161345d610ac75f395f818161090701528181610a9d0152818161132d015281816114470152611f53015261345d5ff3fe6080604052600436106101c5575f3560e01c8063751039fc116100f6578063a9059cbb11610094578063e54f4faa11610063578063e54f4faa146105fe578063f1bab2ec14610628578063f2fde38b14610652578063f5648a4f1461067a576101cc565b8063a9059cbb14610546578063ac3c457314610582578063dad169bb146105ac578063dd62ed3e146105c2576101cc565b80638da5cb5b116100d05780638da5cb5b146104a05780639049a3ce146104ca57806395d89b41146104e0578063a457c2d71461050a576101cc565b8063751039fc1461044a5780638a8c523c146104605780638bcea93914610476576101cc565b80633963510b11610163578063578878b41161013d578063578878b4146103a65780635b6ac776146103ce57806370a08231146103f8578063715018a614610434576101cc565b80633963510b1461032a57806354c35c281461035257806354cf2aeb1461037c576101cc565b806318160ddd1161019f57806318160ddd1461025e57806323b872dd14610288578063313ce567146102c457806339509351146102ee576101cc565b806306fdde03146101d0578063095ea7b3146101fa5780630d10f56514610236576101cc565b366101cc57005b5f80fd5b3480156101db575f80fd5b506101e4610690565b6040516101f191906122c9565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b919061237a565b610720565b60405161022d91906123d2565b60405180910390f35b348015610241575f80fd5b5061025c600480360381019061025791906123eb565b610742565b005b348015610269575f80fd5b50610272610821565b60405161027f9190612438565b60405180910390f35b348015610293575f80fd5b506102ae60048036038101906102a99190612451565b61082a565b6040516102bb91906123d2565b60405180910390f35b3480156102cf575f80fd5b506102d8610858565b6040516102e591906124bc565b60405180910390f35b3480156102f9575f80fd5b50610314600480360381019061030f919061237a565b610860565b60405161032191906123d2565b60405180910390f35b348015610335575f80fd5b50610350600480360381019061034b9190612510565b610905565b005b34801561035d575f80fd5b50610366610a8f565b6040516103739190612438565b60405180910390f35b348015610387575f80fd5b50610390610a95565b60405161039d9190612438565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c7919061253b565b610a9b565b005b3480156103d9575f80fd5b506103e2610c1b565b6040516103ef9190612438565b60405180910390f35b348015610403575f80fd5b5061041e60048036038101906104199190612566565b610c21565b60405161042b9190612438565b60405180910390f35b34801561043f575f80fd5b50610448610c66565b005b348015610455575f80fd5b5061045e610ced565b005b34801561046b575f80fd5b50610474610d79565b005b348015610481575f80fd5b5061048a610fb0565b60405161049791906125a0565b60405180910390f35b3480156104ab575f80fd5b506104b4610fd5565b6040516104c191906125a0565b60405180910390f35b3480156104d5575f80fd5b506104de610ffd565b005b3480156104eb575f80fd5b506104f4611082565b60405161050191906122c9565b60405180910390f35b348015610515575f80fd5b50610530600480360381019061052b919061237a565b611112565b60405161053d91906123d2565b60405180910390f35b348015610551575f80fd5b5061056c6004803603810190610567919061237a565b6111f6565b60405161057991906123d2565b60405180910390f35b34801561058d575f80fd5b50610596611218565b6040516105a39190612438565b60405180910390f35b3480156105b7575f80fd5b506105c061121e565b005b3480156105cd575f80fd5b506105e860048036038101906105e391906125b9565b6112a3565b6040516105f59190612438565b60405180910390f35b348015610609575f80fd5b50610612611325565b60405161061f9190612438565b60405180910390f35b348015610633575f80fd5b5061063c61132b565b60405161064991906125a0565b60405180910390f35b34801561065d575f80fd5b5061067860048036038101906106739190612566565b61134f565b005b348015610685575f80fd5b5061068e611445565b005b60606003805461069f90612624565b80601f01602080910402602001604051908101604052809291908181526020018280546106cb90612624565b80156107165780601f106106ed57610100808354040283529160200191610716565b820191905f5260205f20905b8154815290600101906020018083116106f957829003601f168201915b5050505050905090565b5f8061072a61151f565b9050610737818585611526565b600191505092915050565b61074a61151f565b73ffffffffffffffffffffffffffffffffffffffff16610768610fd5565b73ffffffffffffffffffffffffffffffffffffffff16146107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b59061269e565b60405180910390fd5b601482111580156107d05750605f8111155b61080f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108069061272c565b60405180910390fd5b81600a8190555080600b819055505050565b5f600254905090565b5f8061083461151f565b90506108418582856116e9565b61084c858585611774565b60019150509392505050565b5f6012905090565b5f8061086a61151f565b90506108fa81858560015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108f59190612777565b611526565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109915750610962610fd5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610999575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109ef91906125a0565b602060405180830381865afa158015610a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2e91906127be565b6040518363ffffffff1660e01b8152600401610a4b9291906127e9565b6020604051808303815f875af1158015610a67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8b919061283a565b5050565b600b5481565b600a5481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b275750610af8610fd5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b2f575f80fd5b610b5f620186a0610b516001610b43610821565b611c7f90919063ffffffff16565b611c9490919063ffffffff16565b811015610ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b98906128d5565b60405180910390fd5b610bcf6064610bc16002610bb3610821565b611c7f90919063ffffffff16565b611c9490919063ffffffff16565b811115610c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0890612963565b60405180910390fd5b8060098190555050565b60075481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c6e61151f565b73ffffffffffffffffffffffffffffffffffffffff16610c8c610fd5565b73ffffffffffffffffffffffffffffffffffffffff1614610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd99061269e565b60405180910390fd5b610ceb5f611ca9565b565b610cf561151f565b73ffffffffffffffffffffffffffffffffffffffff16610d13610fd5565b73ffffffffffffffffffffffffffffffffffffffff1614610d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d609061269e565b60405180910390fd5b5f6008819055505f600781905550565b610d8161151f565b73ffffffffffffffffffffffffffffffffffffffff16610d9f610fd5565b73ffffffffffffffffffffffffffffffffffffffff1614610df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dec9061269e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e769190612995565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190612995565b6040518363ffffffff1660e01b8152600401610f309291906129c0565b602060405180830381865afa158015610f4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6f9190612995565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61100561151f565b73ffffffffffffffffffffffffffffffffffffffff16611023610fd5565b73ffffffffffffffffffffffffffffffffffffffff1614611079576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110709061269e565b60405180910390fd5b5f600881905550565b60606004805461109190612624565b80601f01602080910402602001604051908101604052809291908181526020018280546110bd90612624565b80156111085780601f106110df57610100808354040283529160200191611108565b820191905f5260205f20905b8154815290600101906020018083116110eb57829003601f168201915b5050505050905090565b5f8061111c61151f565b90505f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050838110156111dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d490612a57565b60405180910390fd5b6111ea8286868403611526565b60019250505092915050565b5f8061120061151f565b905061120d818585611774565b600191505092915050565b60095481565b61122661151f565b73ffffffffffffffffffffffffffffffffffffffff16611244610fd5565b73ffffffffffffffffffffffffffffffffffffffff161461129a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112919061269e565b60405180910390fd5b5f600781905550565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085481565b7f000000000000000000000000000000000000000000000000000000000000000081565b61135761151f565b73ffffffffffffffffffffffffffffffffffffffff16611375610fd5565b73ffffffffffffffffffffffffffffffffffffffff16146113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c29061269e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143090612ae5565b60405180910390fd5b61144281611ca9565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114d157506114a2610fd5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6114d9575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561151c573d5f803e3d5ffd5b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158b90612b73565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f990612c01565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116dc9190612438565b60405180910390a3505050565b5f6116f484846112a3565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461176e5781811015611760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175790612c69565b60405180910390fd5b61176d8484848403611526565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d990612cf7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184790612d85565b60405180910390fd5b5f8111611892576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188990612e13565b60405180910390fd5b5f600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061192e5750600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415806119895750805b6119c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bf90612e7b565b60405180910390fd5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161490508080611a775750815b8015611a8457505f600754115b8015611a8e575082155b15611ad957600754841115611ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acf90612f2f565b60405180910390fd5b5b81158015611ae857505f600854115b8015611af2575082155b15611b505760085484611b0487610c21565b611b0e9190612777565b1115611b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4690612fe3565b60405180910390fd5b5b600954611b5c30610c21565b10158015611b765750600c5f9054906101000a900460ff16155b8015611b7f5750815b8015611b89575082155b15611bca576001600c5f6101000a81548160ff021916908315150217905550611bb0611d6c565b5f600c5f6101000a81548160ff0219169083151502179055505b5f81611bd857600b54611bdc565b600a545b90505f811115611c6b5783158015611c005750600c5f9054906101000a900460ff16155b8015611c1157508180611c105750825b5b15611c6a575f611c3d6064611c2f8489611c7f90919063ffffffff16565b611c9490919063ffffffff16565b90505f811115611c5357611c52883083611fc5565b5b611c66818761223a90919063ffffffff16565b9550505b5b611c76878787611fc5565b50505050505050565b5f8183611c8c9190613001565b905092915050565b5f8183611ca1919061306f565b905092915050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f611d7630610c21565b90505f8103611d855750611fc3565b600954811115611d955760095490505b5f600267ffffffffffffffff811115611db157611db061309f565b5b604051908082528060200260200182016040528015611ddf5781602001602082028036833780820191505090505b50905030815f81518110611df657611df56130cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb19190612995565b81600181518110611ec557611ec46130cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f1e30737a250d5630b4cf539739df2c5dacb4c659f2488d84611526565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b8152600401611f939594939291906131f2565b5f604051808303815f87803b158015611faa575f80fd5b505af1158015611fbc573d5f803e3d5ffd5b5050505050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a906132ba565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209890613348565b60405180910390fd5b6120ac83838361224f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561212f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612126906133d6565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546121bd9190612777565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122219190612438565b60405180910390a3612234848484612254565b50505050565b5f818361224791906133f4565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61229b82612259565b6122a58185612263565b93506122b5818560208601612273565b6122be81612281565b840191505092915050565b5f6020820190508181035f8301526122e18184612291565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612316826122ed565b9050919050565b6123268161230c565b8114612330575f80fd5b50565b5f813590506123418161231d565b92915050565b5f819050919050565b61235981612347565b8114612363575f80fd5b50565b5f8135905061237481612350565b92915050565b5f80604083850312156123905761238f6122e9565b5b5f61239d85828601612333565b92505060206123ae85828601612366565b9150509250929050565b5f8115159050919050565b6123cc816123b8565b82525050565b5f6020820190506123e55f8301846123c3565b92915050565b5f8060408385031215612401576124006122e9565b5b5f61240e85828601612366565b925050602061241f85828601612366565b9150509250929050565b61243281612347565b82525050565b5f60208201905061244b5f830184612429565b92915050565b5f805f60608486031215612468576124676122e9565b5b5f61247586828701612333565b935050602061248686828701612333565b925050604061249786828701612366565b9150509250925092565b5f60ff82169050919050565b6124b6816124a1565b82525050565b5f6020820190506124cf5f8301846124ad565b92915050565b5f6124df8261230c565b9050919050565b6124ef816124d5565b81146124f9575f80fd5b50565b5f8135905061250a816124e6565b92915050565b5f60208284031215612525576125246122e9565b5b5f612532848285016124fc565b91505092915050565b5f602082840312156125505761254f6122e9565b5b5f61255d84828501612366565b91505092915050565b5f6020828403121561257b5761257a6122e9565b5b5f61258884828501612333565b91505092915050565b61259a8161230c565b82525050565b5f6020820190506125b35f830184612591565b92915050565b5f80604083850312156125cf576125ce6122e9565b5b5f6125dc85828601612333565b92505060206125ed85828601612333565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061263b57607f821691505b60208210810361264e5761264d6125f7565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612688602083612263565b915061269382612654565b602082019050919050565b5f6020820190508181035f8301526126b58161267c565b9050919050565b7f417474656d7074696e6720746f207365742066656520686967686572207468615f8201527f6e20696e697469616c206665652e000000000000000000000000000000000000602082015250565b5f612716602e83612263565b9150612721826126bc565b604082019050919050565b5f6020820190508181035f8301526127438161270a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61278182612347565b915061278c83612347565b92508282019050808211156127a4576127a361274a565b5b92915050565b5f815190506127b881612350565b92915050565b5f602082840312156127d3576127d26122e9565b5b5f6127e0848285016127aa565b91505092915050565b5f6040820190506127fc5f830185612591565b6128096020830184612429565b9392505050565b612819816123b8565b8114612823575f80fd5b50565b5f8151905061283481612810565b92915050565b5f6020828403121561284f5761284e6122e9565b5b5f61285c84828501612826565b91505092915050565b7f53776170207468726573686f6c642063616e6e6f74206265206c6f77657220745f8201527f68616e20302e3030312520746f74616c20737570706c792e0000000000000000602082015250565b5f6128bf603883612263565b91506128ca82612865565b604082019050919050565b5f6020820190508181035f8301526128ec816128b3565b9050919050565b7f53776170207468726573686f6c642063616e6e6f7420626520686967686572205f8201527f7468616e20322520746f74616c20737570706c792e0000000000000000000000602082015250565b5f61294d603583612263565b9150612958826128f3565b604082019050919050565b5f6020820190508181035f83015261297a81612941565b9050919050565b5f8151905061298f8161231d565b92915050565b5f602082840312156129aa576129a96122e9565b5b5f6129b784828501612981565b91505092915050565b5f6040820190506129d35f830185612591565b6129e06020830184612591565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612a41602583612263565b9150612a4c826129e7565b604082019050919050565b5f6020820190508181035f830152612a6e81612a35565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612acf602683612263565b9150612ada82612a75565b604082019050919050565b5f6020820190508181035f830152612afc81612ac3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b5d602483612263565b9150612b6882612b03565b604082019050919050565b5f6020820190508181035f830152612b8a81612b51565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612beb602283612263565b9150612bf682612b91565b604082019050919050565b5f6020820190508181035f830152612c1881612bdf565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612c53601d83612263565b9150612c5e82612c1f565b602082019050919050565b5f6020820190508181035f830152612c8081612c47565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f2061646472657373206e5f8201527f6f7420616c6c6f7765642e000000000000000000000000000000000000000000602082015250565b5f612ce1602b83612263565b9150612cec82612c87565b604082019050919050565b5f6020820190508181035f830152612d0e81612cd5565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373206e6f745f8201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000602082015250565b5f612d6f602983612263565b9150612d7a82612d15565b604082019050919050565b5f6020820190508181035f830152612d9c81612d63565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f2e00000000000000000000000000000000000000000000602082015250565b5f612dfd602a83612263565b9150612e0882612da3565b604082019050919050565b5f6020820190508181035f830152612e2a81612df1565b9050919050565b7f4c69717569646974792070616972206e6f742079657420637265617465642e005f82015250565b5f612e65601f83612263565b9150612e7082612e31565b602082019050919050565b5f6020820190508181035f830152612e9281612e59565b9050919050565b7f537761702076616c75652065786365656473206d6178207377617020616d6f755f8201527f6e742c2074727920616761696e2077697468206c65737320737761702076616c60208201527f75652e0000000000000000000000000000000000000000000000000000000000604082015250565b5f612f19604383612263565b9150612f2482612e99565b606082019050919050565b5f6020820190508181035f830152612f4681612f0d565b9050919050565b7f42616c616e63652065786365656473206d617820686f6c64696e677320616d6f5f8201527f756e742c20636f6e7369646572207573696e672061207365636f6e642077616c60208201527f6c65742e00000000000000000000000000000000000000000000000000000000604082015250565b5f612fcd604483612263565b9150612fd882612f4d565b606082019050919050565b5f6020820190508181035f830152612ffa81612fc1565b9050919050565b5f61300b82612347565b915061301683612347565b925082820261302481612347565b9150828204841483151761303b5761303a61274a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61307982612347565b915061308483612347565b92508261309457613093613042565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f61312561312061311b846130f9565b613102565b612347565b9050919050565b6131358161310b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61316d8161230c565b82525050565b5f61317e8383613164565b60208301905092915050565b5f602082019050919050565b5f6131a08261313b565b6131aa8185613145565b93506131b583613155565b805f5b838110156131e55781516131cc8882613173565b97506131d78361318a565b9250506001810190506131b8565b5085935050505092915050565b5f60a0820190506132055f830188612429565b613212602083018761312c565b81810360408301526132248186613196565b90506132336060830185612591565b6132406080830184612429565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6132a4602583612263565b91506132af8261324a565b604082019050919050565b5f6020820190508181035f8301526132d181613298565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613332602383612263565b915061333d826132d8565b604082019050919050565b5f6020820190508181035f83015261335f81613326565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6133c0602683612263565b91506133cb82613366565b604082019050919050565b5f6020820190508181035f8301526133ed816133b4565b9050919050565b5f6133fe82612347565b915061340983612347565b92508282039050818111156134215761342061274a565b5b9291505056fea264697066735822122077a88ff0ed5310052e5041c71486ccdb86ff712914e3f5956121fce8f6ef068364736f6c634300081a0033