[ { "inputs": [], "stateMutability": "nonpayable", "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": false, "internalType": "address", "name": "owner", "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": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWalletToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "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": [], "name": "amountETHBuyback", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "aP", "type": "uint256" } ], "name": "approval", "outputs": [], "stateMutability": "nonpayable", "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": "buyBack", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buybackAddAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromReflection", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInReflection", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromReflection", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isFeeExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastBuyer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualBuyback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "manualFundETHBuyback", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" }, { "internalType": "bool", "name": "deductTransferRfi", "type": "bool" } ], "name": "reflectionFromToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_ethAdd", "type": "uint256" }, { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "setBuyback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketing", "type": "address" }, { "internalType": "address", "name": "_liquidity", "type": "address" }, { "internalType": "address", "name": "_buyback", "type": "address" }, { "internalType": "address", "name": "_default", "type": "address" }, { "internalType": "address", "name": "_staking", "type": "address" } ], "name": "setFeeRceivers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_buy", "type": "uint256" }, { "internalType": "uint256", "name": "_wallet", "type": "uint256" } ], "name": "setMaxTransaction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_swapAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_swapThreshold", "type": "uint256" }, { "internalType": "uint256", "name": "minTokenAmount", "type": "uint256" } ], "name": "setSwapbackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "address", "name": "_address", "type": "address" } ], "name": "setisExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setminVolumeToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startTrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapBuybackTimes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "uint256", "name": "_percentage", "type": "uint256" } ], "name": "takeOutEth", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "buyback", "type": "bool" } ], "name": "toggleBuyback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "rAmount", "type": "uint256" } ], "name": "tokenFromReflection", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalETHBuyback", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalReflections", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalTokenBuyback", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "adr", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_buy", "type": "uint256" }, { "internalType": "uint256", "name": "_sell", "type": "uint256" }, { "internalType": "uint256", "name": "_trans", "type": "uint256" }, { "internalType": "uint256", "name": "_reflections", "type": "uint256" }, { "internalType": "uint256", "name": "_marketing", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "_buyback", "type": "uint256" }, { "internalType": "uint256", "name": "_staking", "type": "uint256" } ], "name": "updateFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052620000126009600a62000595565b6200002290633b9aca00620005ac565b600181905562000034905f19620005da565b62000041905f19620005f0565b60025561271060015461012c620000599190620005ac565b62000065919062000606565b60035561271060015461012c6200007d9190620005ac565b62000089919062000606565b600455600580546001600160a01b031990811661dead9081179092556006805482167343229b95a560c40ed6df27f6aa328103759e39399081179091556007805483168217905560088054831682179055600980548316909317909255600a805490911690911790556040805160a0810182525f8082526105dc60208301819052928201819052606082018190526080909101819052600b819055600c829055600d819055600e819055600f55601081905560118190556012556127106013556014805461ff0019166101001790556658d15e17628000601555600154620186a09062000179906103e8620005ac565b62000185919062000606565b601655620186a0600154600a6200019d9190620005ac565b620001a9919062000606565b601755620186a0600154600a620001c19190620005ac565b620001cd919062000606565b6018556019805461ffff19166101001790556001601b819055601d55348015620001f5575f80fd5b505f80546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa1580156200025a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028091906200061c565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002cc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002f291906200061c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200033d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200036391906200061c565b602780546001600160a01b038581166001600160a01b0319928316179092556028805484841692169190911790556002545f805483168152602160209081526040808320939093553080835260248252838320805460ff1990811660019081179092553385526025845285852080548216831790559184528484208054831682179055600654861684528484208054831682179055600754861684528484208054831682179055600854861684528484208054831682179055600954861684528484208054831682179055600a54861684528484208054909216811790915582549054935193845294955093909216927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505062000644565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620004da57815f1904821115620004be57620004be62000486565b80851615620004cc57918102915b93841c93908002906200049f565b509250929050565b5f82620004f2575060016200058f565b816200050057505f6200058f565b8160018114620005195760028114620005245762000544565b60019150506200058f565b60ff84111562000538576200053862000486565b50506001821b6200058f565b5060208310610133831016604e8410600b841016171562000569575081810a6200058f565b6200057583836200049a565b805f19048211156200058b576200058b62000486565b0290505b92915050565b5f620005a560ff841683620004e2565b9392505050565b80820281158282048414176200058f576200058f62000486565b634e487b7160e01b5f52601260045260245ffd5b5f82620005eb57620005eb620005c6565b500690565b818103818111156200058f576200058f62000486565b5f82620006175762000617620005c6565b500490565b5f602082840312156200062d575f80fd5b81516001600160a01b0381168114620005a5575f80fd5b6131bc80620006525f395ff3fe608060405260043610610278575f3560e01c80637520ecc91161014a578063a8aa1b31116100be578063dd62ed3e11610078578063dd62ed3e14610770578063e94dd17c146107b4578063f2f5ec3a146107d3578063f2fde38b146107f2578063f887ea4014610811578063fc73854914610830575f80fd5b8063a8aa1b31146106c1578063a9059cbb146106e0578063aa91f059146106ff578063acdf4f181461071e578063ba1a13ff1461073c578063c705a33e14610751575f80fd5b80637d459db31161010f5780637d459db3146105df57806385f0fa37146106165780638ebfc7961461063557806395d89b4114610654578063a2e4b5b014610683578063a457c2d7146106a2575f80fd5b80637520ecc91461056257806378109e5414610577578063783b5a0a1461058c57806378c7dcd6146105ab5780637d1db4a5146105ca575f80fd5b80632b112e49116101ec5780633f4218e0116101a65780633f4218e0146104ae5780634549b039146104dc5780635927c434146104fb5780636bc05f29146105105780636c5808011461052f57806370a0823114610543575f80fd5b80632b112e49146103f55780632d838119146104095780632f54bf6e146104285780633052ea0814610455578063313ce56714610474578063395093511461048f575f80fd5b806318160ddd1161023d57806318160ddd146103715780631deff6551461038557806320d730ee1461039a57806323b872dd146103af57806325a06a02146103ce57806327334a08146103d6575f80fd5b8063018763ed1461028357806305f82a45146102a657806306fdde03146102c7578063095ea7b31461030457806313ecfbfa14610333575f80fd5b3661027f57005b5f80fd5b34801561028e575f80fd5b506029545b6040519081526020015b60405180910390f35b3480156102b1575f80fd5b506102c56102c0366004612c7e565b610844565b005b3480156102d2575f80fd5b5060408051808201909152600c81526b4672656520417373616e676560a01b60208201525b60405161029d9190612c99565b34801561030f575f80fd5b5061032361031e366004612ce5565b6109f1565b604051901515815260200161029d565b34801561033e575f80fd5b5060195461035990630100000090046001600160a01b031681565b6040516001600160a01b03909116815260200161029d565b34801561037c575f80fd5b50600154610293565b348015610390575f80fd5b50610293601e5481565b3480156103a5575f80fd5b5061029360205481565b3480156103ba575f80fd5b506103236103c9366004612d0f565b610a07565b6102c5610a6e565b3480156103e1575f80fd5b506102c56103f0366004612c7e565b610a80565b348015610400575f80fd5b50610293610bcd565b348015610414575f80fd5b50610293610423366004612d4d565b610c07565b348015610433575f80fd5b50610323610442366004612c7e565b5f546001600160a01b0391821691161490565b348015610460575f80fd5b506102c561046f366004612d4d565b610c89565b34801561047f575f80fd5b506040516009815260200161029d565b34801561049a575f80fd5b506103236104a9366004612ce5565b610d02565b3480156104b9575f80fd5b506103236104c8366004612c7e565b60256020525f908152604090205460ff1681565b3480156104e7575f80fd5b506102936104f6366004612d71565b610d38565b348015610506575f80fd5b5061029360155481565b34801561051b575f80fd5b506102c561052a366004612d9f565b610dc3565b34801561053a575f80fd5b506102c5610e06565b34801561054e575f80fd5b5061029361055d366004612c7e565b610e3e565b34801561056d575f80fd5b50610293601c5481565b348015610582575f80fd5b5061029360045481565b348015610597575f80fd5b506102c56105a6366004612dba565b610e9a565b3480156105b6575f80fd5b506102c56105c5366004612d4d565b610eea565b3480156105d5575f80fd5b5061029360035481565b3480156105ea575f80fd5b506103236105f9366004612c7e565b6001600160a01b03165f9081526024602052604090205460ff1690565b348015610621575f80fd5b506102c5610630366004612de6565b610f18565b348015610640575f80fd5b506102c561064f366004612e53565b610ff3565b34801561065f575f80fd5b5060408051808201909152600781526646524545444f4d60c81b60208201526102f7565b34801561068e575f80fd5b506102c561069d366004612e7f565b611046565b3480156106ad575f80fd5b506103236106bc366004612ce5565b611094565b3480156106cc575f80fd5b50602854610359906001600160a01b031681565b3480156106eb575f80fd5b506103236106fa366004612ce5565b6110e1565b34801561070a575f80fd5b506102c5610719366004612ea2565b6110ed565b348015610729575f80fd5b5060195461032390610100900460ff1681565b348015610747575f80fd5b50610293601f5481565b34801561075c575f80fd5b506102c561076b366004612d0f565b6111f9565b34801561077b575f80fd5b5061029361078a366004612ec2565b6001600160a01b039182165f90815260236020908152604080832093909416825291909152205490565b3480156107bf575f80fd5b506102c56107ce366004612ede565b61131e565b3480156107de575f80fd5b506102c56107ed366004612f07565b611383565b3480156107fd575f80fd5b506102c561080c366004612c7e565b6113d2565b34801561081c575f80fd5b50602754610359906001600160a01b031681565b34801561083b575f80fd5b506102c561144e565b5f546001600160a01b031633146108765760405162461bcd60e51b815260040161086d90612f57565b60405180910390fd5b6001600160a01b0381165f9081526024602052604090205460ff166108dd5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c75646564000000000000000000604482015260640161086d565b5f5b6026548110156109ed57816001600160a01b03166026828154811061090657610906612f77565b5f918252602090912001546001600160a01b0316036109e5576026805461092f90600190612f9f565b8154811061093f5761093f612f77565b5f91825260209091200154602680546001600160a01b03909216918390811061096a5761096a612f77565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152602282526040808220829055602490925220805460ff1916905560268054806109c1576109c1612fb2565b5f8281526020902081015f1990810180546001600160a01b03191690550190555050565b6001016108df565b5050565b5f6109fd338484611481565b5060015b92915050565b5f610a138484846115a4565b610a648433610a5f8560405180606001604052806028815260200161313a602891396001600160a01b038a165f908152602360209081526040808320338452909152902054919061167f565b611481565b5060019392505050565b601e54610a7b90346116aa565b601e55565b5f546001600160a01b03163314610aa95760405162461bcd60e51b815260040161086d90612f57565b6001600160a01b0381165f9081526024602052604090205460ff1615610b115760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640161086d565b6001600160a01b0381165f9081526021602052604090205415610b68576001600160a01b0381165f90815260216020526040902054610b4f90610c07565b6001600160a01b0382165f908152602260205260409020555b6001600160a01b03165f818152602460205260408120805460ff191660019081179091556026805491820181559091527f744a2cf8fd7008e3d53b67916e73460df9fa5214e3ef23dd4259ca09493a35940180546001600160a01b0319169091179055565b5f610c02610bda5f610e3e565b600554610bfc90610bf3906001600160a01b0316610e3e565b600154906116b5565b906116b5565b905090565b5f600254821115610c6d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161086d565b5f610c766116c0565b9050610c828184612fc6565b9392505050565b5f546001600160a01b03163314610cb25760405162461bcd60e51b815260040161086d90612f57565b60085447906001600160a01b03166108fc610cd86064610cd285876116e1565b906116ec565b6040518115909202915f818181858888f19350505050158015610cfd573d5f803e3d5ffd5b505050565b335f8181526023602090815260408083206001600160a01b038716845290915281205490916109fd918590610a5f908690612fe5565b5f600154831115610d8b5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015260640161086d565b81610da8575f610d9e8460015f806116f7565b519150610a019050565b5f610db68460015f806116f7565b602001519150610a019050565b5f546001600160a01b03163314610dec5760405162461bcd60e51b815260040161086d90612f57565b601980549115156101000261ff0019909216919091179055565b5f546001600160a01b03163314610e2f5760405162461bcd60e51b815260040161086d90612f57565b6019805460ff19166001179055565b6001600160a01b0381165f9081526024602052604081205460ff1615610e7957506001600160a01b03165f9081526022602052604090205490565b6001600160a01b0382165f90815260216020526040902054610a0190610c07565b5f546001600160a01b03163314610ec35760405162461bcd60e51b815260040161086d90612f57565b6001600160a01b03165f908152602560205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610f135760405162461bcd60e51b815260040161086d90612f57565b601855565b5f546001600160a01b03163314610f415760405162461bcd60e51b815260040161086d90612f57565b600780546001600160a01b039687166001600160a01b03199182168117909255600680549688169682168717905560098054958816958216861790556008805494881694821685179055600a805493909716921682179095555f94855260256020526040808620805460ff199081166001908117909255958752818720805487168217905593865280862080548616851790559185528185208054851684179055845290922080549091169091179055565b5f546001600160a01b0316331461101c5760405162461bcd60e51b815260040161086d90612f57565b6001600160a01b03919091165f908152602560205260409020805460ff1916911515919091179055565b5f546001600160a01b0316331461106f5760405162461bcd60e51b815260040161086d90612f57565b600980546001600160a01b0319166001600160a01b0392909216919091179055601555565b5f6109fd3384610a5f8560405180606001604052806025815260200161316260259139335f9081526023602090815260408083206001600160a01b038d168452909152902054919061167f565b5f6109fd3384846115a4565b5f546001600160a01b031633146111165760405162461bcd60e51b815260040161086d90612f57565b5f611132601354610cd2856001546116e190919063ffffffff16565b90505f611150601354610cd2856001546116e190919063ffffffff16565b90505f61116f620186a0610cd2600180546116e190919063ffffffff16565b90508083101580156111815750808210155b6111eb5760405162461bcd60e51b815260206004820152603560248201527f45524332303a206d61782054587320616e64206d61782057616c6c65742063616044820152746e6e6f74206265206c657373207468616e202e352560581b606482015260840161086d565b506003919091556004555050565b5f546001600160a01b031633146112225760405162461bcd60e51b815260040161086d90612f57565b6040516370a0823160e01b81523060048201525f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611266573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128a9190612ff8565b90506001600160a01b03841663a9059cbb846112ab6064610cd286886116e1565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156112f3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611317919061300f565b5050505050565b5f546001600160a01b031633146113475760405162461bcd60e51b815260040161086d90612f57565b601b83905560015461136290620186a090610cd290856116e1565b60165560015461137b90620186a090610cd290846116e1565b601755505050565b5f546001600160a01b031633146113ac5760405162461bcd60e51b815260040161086d90612f57565b601097909755601195909555601293909355600b91909155600c55600d55600e55600f55565b5f546001600160a01b031633146113fb5760405162461bcd60e51b815260040161086d90612f57565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b5f546001600160a01b031633146114775760405162461bcd60e51b815260040161086d90612f57565b61147f61173f565b565b6001600160a01b0383166114e35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161086d565b6001600160a01b0382166115445760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161086d565b6001600160a01b038381165f8181526023602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6115af8383836117c9565b6115b98383611901565b6115c4838383611998565b6115cf828483611aa5565b6115d98383611b2f565b6115e4838383611ba2565b6115ef838383611d18565b6115f98383611d3c565b6001600160a01b0383165f90815260256020526040902054610cfd9084908490849060ff168061164057506001600160a01b0386165f9081526025602052604090205460ff165b80611653575060195462010000900460ff165b80611660575060145460ff165b6028549015906001600160a01b039081168882168114918a1614611dd7565b5f81848411156116a25760405162461bcd60e51b815260040161086d9190612c99565b505050900390565b5f610c828284612fe5565b5f610c828284612f9f565b5f805f6116cb61205e565b90925090506116da8183612fc6565b9250505090565b5f610c82828461302a565b5f610c828284612fc6565b6116ff612c24565b61170b858585856121ce565b905061172081868661171b6116c0565b612448565b608086015260608501526040840152602083015281525b949350505050565b601554601e5461174e916116b5565b601e556019805462ff00001916620100001790555f61176c30610e3e565b9050611785601554601f546116aa90919063ffffffff16565b601f55601554611794906124d3565b5f6117a282610bfc30610e3e565b6020549091506117b290826116aa565b60205550506019805462ff0000191690555f601c55565b6001600160a01b03831661182d5760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161086d565b6001600160a01b03821661188f5760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161086d565b61189883610e3e565b811115610cfd5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161086d565b6001600160a01b0382165f9081526025602052604090205460ff1615801561194157506001600160a01b0381165f9081526025602052604090205460ff16155b156109ed5760195460ff166109ed5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054726164696e67206973206e6f7420616c6c6f776564000000604482015260640161086d565b6001600160a01b0382165f9081526025602052604090205460ff161580156119d857506001600160a01b0383165f9081526025602052604090205460ff16155b80156119ed57506001600160a01b0382163014155b8015611a0757506005546001600160a01b03838116911614155b8015611a2157506028546001600160a01b03838116911614155b8015611a3b57506006546001600160a01b03838116911614155b15610cfd5760045481611a4d84610e3e565b611a579190612fe5565b1115610cfd5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161086d565b60035481111580611acd57506001600160a01b0382165f9081526025602052604090205460ff165b80611aef57506001600160a01b0383165f9081526025602052604090205460ff165b610cfd5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161086d565b6028546001600160a01b038281169116148015611b6457506001600160a01b0382165f9081526025602052604090205460ff16155b8015611b73575060145460ff16155b8015611b88575060195462010000900460ff16155b156109ed57601a54611b9b9060016116aa565b601a555050565b60195460ff168015611bcc57506001600160a01b0383165f9081526025602052604090205460ff16155b8015611be557506028546001600160a01b038381169116145b8015611bf357506018548110155b8015611c02575060145460ff16155b8015611c17575060195462010000900460ff16155b15611c34576001601c5f828254611c2e9190612fe5565b90915550505b601554601e5410158015611c4a57506015544710155b8015611c5a5750601d54601c5410155b8015611c6d5750601954610100900460ff165b8015611c9157506001600160a01b0383165f9081526025602052604090205460ff16155b8015611caa57506028546001600160a01b038381169116145b8015611cb8575060195460ff165b8015611cc7575060145460ff16155b8015611cdc575060195462010000900460ff16155b8015611cfd57506019546001600160a01b0384811663010000009092041614155b8015611d0b57506018548110155b15610cfd57610cfd61173f565b611d23838383612618565b15610cfd57611d336016546126da565b5f601a55505050565b601980546301000000600160b81b03191690556028546001600160a01b038381169116148015611d8457506001600160a01b0381165f9081526025602052604090205460ff16155b8015611d99575060195462010000900460ff16155b8015611da8575060145460ff16155b156109ed57601980546001600160a01b0383166301000000026301000000600160b81b03199091161790555050565b5f611de4858585856116f7565b6001600160a01b0388165f9081526024602052604090205490915060ff1615611e43576001600160a01b0387165f90815260226020526040902054611e2a908690612f9f565b6001600160a01b0388165f908152602260205260409020555b6001600160a01b0386165f9081526024602052604090205460ff1615611ea35760a08101516001600160a01b0387165f90815260226020526040902054611e8a9190612fe5565b6001600160a01b0387165f908152602260205260409020555b80516001600160a01b0388165f90815260216020526040902054611ec79190612f9f565b6001600160a01b038089165f9081526021602090815260408083209490945584015191891681529190912054611efd9190612fe5565b6001600160a01b0387165f90815260216020526040908190209190915581015160c0820151611f2c91906128ad565b611f3e81606001518260e001516128e0565b611f518160800151826101000151612952565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611f9a91815260200190565b60405180910390a360e081015115611ffe57306001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360e00151604051611ff591815260200190565b60405180910390a35b6101008101511561205557600a546101008201516040519081526001600160a01b03918216918916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b50505050505050565b6002546001545f918291825b60265481101561219d578260215f6026848154811061208b5761208b612f77565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205411806120f357508160225f602684815481106120cd576120cd612f77565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054115b1561210957600254600154945094505050509091565b60215f6026838154811061211f5761211f612f77565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205461214d9084612f9f565b925060225f6026838154811061216557612165612f77565b5f9182526020808320909101546001600160a01b031683528201929092526040019020546121939083612f9f565b915060010161206a565b506001546002546121ae9190612fc6565b8210156121c5576002546001549350935050509091565b90939092509050565b6121d6612c24565b8315806121e857506121e883836129e5565b156121f95760a08101859052611737565b82158015612205575081155b156122c3575f612226601354610cd2601254896116e190919063ffffffff16565b9050601254600b5f01541161225557601354600b54612245908861302a565b61224f9190612fc6565b60c08301525b600b54601254612264916116b5565b600f541161228d57601354600f5461227c908861302a565b6122869190612fc6565b6101008301525b6122ad826101000151610bfc8460c00151846116b590919063ffffffff16565b60e08301526122bc8187612f9f565b60a0830152505b8215612382575f6122e5601354610cd2601154896116e190919063ffffffff16565b9050601154600b5f01541161231457601354600b54612304908861302a565b61230e9190612fc6565b60c08301525b600b54601154612323916116b5565b600f541161234c57601354600f5461233b908861302a565b6123459190612fc6565b6101008301525b61236c826101000151610bfc8460c00151846116b590919063ffffffff16565b60e083015261237b8187612f9f565b60a0830152505b8115611737575f6123a4601354610cd2601054896116e190919063ffffffff16565b9050601054600b5f0154116123d357601354600b546123c3908861302a565b6123cd9190612fc6565b60c08301525b600b546010546123e2916116b5565b600f541161240b57601354600f546123fa908861302a565b6124049190612fc6565b6101008301525b61242b826101000151610bfc8460c00151846116b590919063ffffffff16565b60e083015261243a8187612f9f565b60a083015250949350505050565b5f80808080612457868961302a565b94508661246e57508392505f9150819050806124c8565b858960c0015161247e919061302a565b9250858960e00151612490919061302a565b9150858961010001516124a3919061302a565b905080826124b18588612f9f565b6124bb9190612f9f565b6124c59190612f9f565b93505b945094509450945094565b6040805160028082526060820183525f926020830190803683375050602754604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa15801561253a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061255e9190613041565b815f8151811061257057612570612f77565b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106125a4576125a4612f77565b6001600160a01b03928316602091820292909201015260275460095460405163b6f9de9560e01b81529183169263b6f9de959286926125ef925f92889290911690429060040161309f565b5f604051808303818588803b158015612606575f80fd5b505af1158015612055573d5f803e3d5ffd5b5f8060175483101590505f60165461262f30610e3e565b601454911115915060ff1615801561264e5750601454610100900460ff165b80156126575750815b801561267b57506001600160a01b0386165f9081526025602052604090205460ff16155b8015612689575060195460ff165b80156126a257506028546001600160a01b038681169116145b80156126b25750601b54601a5410155b80156126bb5750805b80156126d0575060195462010000900460ff16155b9695505050505050565b6014805460ff191660019081179091556010545f916127069160029161270091906116aa565b906116e1565b90506010545f0361273e57600e54600c54600d5461273b926002926127009260019261273592909183916116aa565b906116aa565b90505b600d545f90829061274f908561302a565b6127599190612fc6565b90505f6127668285612f9f565b90504761277282612a2a565b5f61277d8247612f9f565b600d549091505f9061278f9087612f9f565b6127999083612fc6565b600d549091505f906127ab908361302a565b905080156127bd576127bd8682612b7a565b600c545f906127d1906127008560026116e1565b90508015612812576007546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015612810573d5f803e3d5ffd5b505b600e545f90612826906127008660026116e1565b9050801561283f57601e5461283b90826116aa565b601e555b5f612855601e54476116b590919063ffffffff16565b90508015612896576008546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015612894573d5f803e3d5ffd5b505b50506014805460ff19169055505050505050505050565b8160025f8282546128be9190612f9f565b9091555050602980548291905f906128d7908490612fe5565b90915550505050565b8060296001015f8282546128f49190612fe5565b9091555050305f9081526024602052604090205460ff161561293457305f908152602260205260408120805483929061292e908490612fe5565b90915550505b305f90815260216020526040812080548492906128d7908490612fe5565b8060296002015f8282546129669190612fe5565b9091555050600a546001600160a01b03165f9081526024602052604090205460ff16156129bc57600a546001600160a01b03165f90815260226020526040812080548392906129b6908490612fe5565b90915550505b600a546001600160a01b03165f90815260216020526040812080548492906128d7908490612fe5565b5f8280156129f35750601154155b80612a065750818015612a065750601054155b80610c82575082158015612a18575081155b8015610c825750506012541592915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110612a5d57612a5d612f77565b6001600160a01b03928316602091820292909201810191909152602754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612ab4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ad89190613041565b81600181518110612aeb57612aeb612f77565b6001600160a01b039283166020918202929092010152602754612b119130911684611481565b60275460405163791ac94760e01b81526001600160a01b039091169063791ac94790612b499085905f908690309042906004016130d3565b5f604051808303815f87803b158015612b60575f80fd5b505af1158015612b72573d5f803e3d5ffd5b505050505050565b602754612b929030906001600160a01b031684611481565b60275460065460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015612bff573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611317919061310e565b6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6001600160a01b0381168114612c7b575f80fd5b50565b5f60208284031215612c8e575f80fd5b8135610c8281612c67565b5f602080835283518060208501525f5b81811015612cc557858101830151858201604001528201612ca9565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215612cf6575f80fd5b8235612d0181612c67565b946020939093013593505050565b5f805f60608486031215612d21575f80fd5b8335612d2c81612c67565b92506020840135612d3c81612c67565b929592945050506040919091013590565b5f60208284031215612d5d575f80fd5b5035919050565b8015158114612c7b575f80fd5b5f8060408385031215612d82575f80fd5b823591506020830135612d9481612d64565b809150509250929050565b5f60208284031215612daf575f80fd5b8135610c8281612d64565b5f8060408385031215612dcb575f80fd5b8235612dd681612d64565b91506020830135612d9481612c67565b5f805f805f60a08688031215612dfa575f80fd5b8535612e0581612c67565b94506020860135612e1581612c67565b93506040860135612e2581612c67565b92506060860135612e3581612c67565b91506080860135612e4581612c67565b809150509295509295909350565b5f8060408385031215612e64575f80fd5b8235612e6f81612c67565b91506020830135612d9481612d64565b5f8060408385031215612e90575f80fd5b823591506020830135612d9481612c67565b5f8060408385031215612eb3575f80fd5b50508035926020909101359150565b5f8060408385031215612ed3575f80fd5b8235612dd681612c67565b5f805f60608486031215612ef0575f80fd5b505081359360208301359350604090920135919050565b5f805f805f805f80610100898b031215612f1f575f80fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b81810381811115610a0157610a01612f8b565b634e487b7160e01b5f52603160045260245ffd5b5f82612fe057634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610a0157610a01612f8b565b5f60208284031215613008575f80fd5b5051919050565b5f6020828403121561301f575f80fd5b8151610c8281612d64565b8082028115828204841417610a0157610a01612f8b565b5f60208284031215613051575f80fd5b8151610c8281612c67565b5f815180845260208085019450602084015f5b838110156130945781516001600160a01b03168752958201959082019060010161306f565b509495945050505050565b848152608060208201525f6130b7608083018661305c565b6001600160a01b03949094166040830152506060015292915050565b85815284602082015260a060408201525f6130f160a083018661305c565b6001600160a01b0394909416606083015250608001529392505050565b5f805f60608486031215613120575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c3e252cc4b42522f7fcc23efec48f2ec552fdba893270258113c8588438cdb9764736f6c63430008180033