[ { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "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": "REWARD", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "allocationSum", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "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": "spender", "type": "address" } ], "name": "approveMax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "authorize", "outputs": [], "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": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newRewardFee", "type": "uint256" }, { "internalType": "uint256", "name": "newMarketingFee", "type": "uint256" } ], "name": "changeFeeAllocation", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "changeIsFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "changeIsTxLimitExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newGas", "type": "uint256" } ], "name": "changeRewardsGas", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enableSwapBack", "type": "bool" }, { "internalType": "uint256", "name": "newSwapBackLimit", "type": "uint256" } ], "name": "changeSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newBuyFee", "type": "uint256" }, { "internalType": "uint256", "name": "newSellFee", "type": "uint256" } ], "name": "changeTotalFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "changeTxLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "changeWalletLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "shareholder", "type": "address" } ], "name": "checkPendingReflections", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "clearStuckEth", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "devWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "finalTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "isAuthorized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isDividendExempt", "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": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isTxLimitExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "manualGas", "type": "uint256" } ], "name": "manualProcessGas", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "manualSwapBack", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "maxTx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [], "name": "removeStuckDividends", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tokenAddr", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "rescueTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewards", "outputs": [ { "internalType": "contract RewardsDividends", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardsGas", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IDEXRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "newDevWallet", "type": "address" } ], "name": "setDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMinPeriod", "type": "uint256" }, { "internalType": "uint256", "name": "newMinDistribution", "type": "uint256" } ], "name": "setDistributionCriteria", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsDividendExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "newOwnerWallet", "type": "address" } ], "name": "setOwnerWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAndLiquifyEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "toMarketing", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "toReflections", "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": "tradingOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "address", "name": "adr", "type": "address" } ], "name": "unauthorize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawFromRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052600280546001600160a01b031916736982508145454ce325ddbe47a25d4ec3d2311933179055620000386009600a62000690565b620000499064174876e800620006a0565b6003819055600880546001600160a01b031990811661dead179091556009805482169055600d8054909116331790556004600e819055600f55604b60105560196011819055606460128190556017805461ffff60a81b1916600160a81b1790555f909155620000c691620000bf9060026200045f565b90620004f2565b601a55600354620000e190606490620000bf9060026200045f565b601b55600354620000f590610190620004f2565b601c5534801562000104575f80fd5b5060405162003ba238038062003ba28339810160408190526200012791620006ba565b5f80546001600160a01b03199081166001600160a01b038416908117835580835260016020818152604094859020805460ff191690921790915560178054841690921790915560138054737a250d5630b4cf539739df2c5dacb4c659f2488d93168317905582516315ab88c960e31b81529251919263ad5c464892600482810193928290030181865afa158015620001c1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e79190620006ba565b600780546001600160a01b0319166001600160a01b039283161790556013546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000244573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200026a9190620006ba565b6007546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af1158015620002b9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ba565b601480546001600160a01b0319166001600160a01b03928316179055305f90815260056020908152604080832060135490941683529290528190205f199055516200032a9062000575565b604051809103905ff08015801562000344573d5f803e3d5ffd5b50601880546001600160a01b0319166001600160a01b039283161790558181165f818152600a60209081526040808320805460ff199081166001908117909255601780548816865283862080548316841790556014805489168752600c865284872080548416851790553087528487208054841685179055600880548a1688528588208054851686179055888852600b87528588208054851686179055905489168752848720805484168517905554881686528386208054831684179055549096168452818420805490961617909455600354838352600482528483208190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000750565b5f825f036200047057505f620004ec565b5f6200047d8385620006a0565b9050826200048c8583620006e2565b14620004e95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f620004e983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200053b60201b60201c565b5f81836200055e5760405162461bcd60e51b8152600401620004e0919062000702565b505f6200056c8486620006e2565b95945050505050565b6111248062002a7e83390190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005d757815f1904821115620005bb57620005bb62000583565b80851615620005c957918102915b93841c93908002906200059c565b509250929050565b5f82620005ef57506001620004ec565b81620005fd57505f620004ec565b8160018114620006165760028114620006215762000641565b6001915050620004ec565b60ff84111562000635576200063562000583565b50506001821b620004ec565b5060208310610133831016604e8410600b841016171562000666575081810a620004ec565b62000672838362000597565b805f190482111562000688576200068862000583565b029392505050565b5f620004e960ff841683620005df565b8082028115828204841417620004ec57620004ec62000583565b5f60208284031215620006cb575f80fd5b81516001600160a01b0381168114620004e9575f80fd5b5f82620006fd57634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b81811015620007305785810183015185820160400152820162000712565b505f604082860101526040601f19601f8301168501019250505092915050565b612320806200075e5f395ff3fe60806040526004361061037f575f3560e01c806389291a8f116101d3578063caa5581b116100fd578063f0b37c041161009d578063f8b45b051161006d578063f8b45b0514610a67578063fabe628314610a7c578063fe9fbb8014610a9b578063ffb54a9914610ad2575f80fd5b8063f0b37c04146109eb578063f2fde38b14610a0a578063f708a64f14610a29578063f887ea4014610a48575f80fd5b8063d52576b5116100d8578063d52576b514610960578063d920334e14610974578063dd62ed3e14610993578063dfbfbc6b146109d7575f80fd5b8063caa5581b1461090d578063cab34c0814610922578063cea9d26f14610941575f80fd5b8063a3a2e89e11610173578063b6a5d7de11610143578063b6a5d7de14610891578063bb542ef0146108b0578063c45a0155146108cf578063ca19e830146108ee575f80fd5b8063a3a2e89e1461081f578063a8aa1b311461083e578063a9059cbb1461085d578063ad32330b1461087c575f80fd5b80638b42507f116101ae5780638b42507f146107845780638ea5220f146107b257806395d89b41146107d15780639ec5a89414610800575f80fd5b806389291a8f14610740578063893d20e8146107545780638a8c523c14610770575f80fd5b80633f4218e0116102b45780636303516c1161025457806375df13051161022457806375df1305146106ce57806377359aa7146106e35780637db1342c146107025780638193403114610721575f80fd5b80636303516c1461063a57806366eb37851461067157806370a08231146106855780637437681e146106b9575f80fd5b8063470624021161028f57806347062402146105d25780634a74bb02146105e75780634d07912a14610607578063571ac8b01461061b575f80fd5b80633f4218e0146105615780634355855a1461058f57806345434377146105bd575f80fd5b80632b112e491161031f5780632f54bf6e116102fa5780632f54bf6e146104db57806330ca34ee14610508578063313ce567146105275780633dab526914610542575f80fd5b80632b112e49146104935780632b14ca56146104a75780632d48e896146104bc575f80fd5b8063127cf7ac1161035a578063127cf7ac1461042057806318160ddd146104415780631f53ac021461045557806323b872dd14610474575f80fd5b80630445b6671461038a57806306fdde03146103b2578063095ea7b3146103f1575f80fd5b3661038657005b5f80fd5b348015610395575f80fd5b5061039f601c5481565b6040519081526020015b60405180910390f35b3480156103bd575f80fd5b5060408051808201909152600e81526d2822a82290282924a72a27a7a7a960911b60208201525b6040516103a99190611fe2565b3480156103fc575f80fd5b5061041061040b366004612042565b610af2565b60405190151581526020016103a9565b34801561042b575f80fd5b5061043f61043a36600461206c565b610b5e565b005b34801561044c575f80fd5b5060035461039f565b348015610460575f80fd5b5061043f61046f366004612083565b610b95565b34801561047f575f80fd5b5061041061048e36600461209e565b610be0565b34801561049e575f80fd5b5061039f610c9e565b3480156104b2575f80fd5b5061039f600f5481565b3480156104c7575f80fd5b5061043f6104d63660046120dc565b610cee565b3480156104e6575f80fd5b506104106104f5366004612083565b5f546001600160a01b0391821691161490565b348015610513575f80fd5b5061043f6105223660046120dc565b610d7c565b348015610532575f80fd5b50604051600981526020016103a9565b34801561054d575f80fd5b5061043f61055c366004612109565b610db0565b34801561056c575f80fd5b5061041061057b366004612083565b600a6020525f908152604090205460ff1681565b34801561059a575f80fd5b506104106105a9366004612083565b600c6020525f908152604090205460ff1681565b3480156105c8575f80fd5b5061039f60125481565b3480156105dd575f80fd5b5061039f600e5481565b3480156105f2575f80fd5b5060175461041090600160a81b900460ff1681565b348015610612575f80fd5b5061043f610dfb565b348015610626575f80fd5b50610410610635366004612083565b610e3a565b348015610645575f80fd5b50600d54610659906001600160a01b031681565b6040516001600160a01b0390911681526020016103a9565b34801561067c575f80fd5b5061043f610e46565b348015610690575f80fd5b5061039f61069f366004612083565b6001600160a01b03165f9081526004602052604090205490565b3480156106c4575f80fd5b5061039f601a5481565b3480156106d9575f80fd5b5061039f60115481565b3480156106ee575f80fd5b5061039f6106fd366004612083565b610e79565b34801561070d575f80fd5b5061043f61071c36600461206c565b610ee5565b34801561072c575f80fd5b5061043f61073b36600461206c565b610f65565b34801561074b575f80fd5b5061043f610fed565b34801561075f575f80fd5b505f546001600160a01b0316610659565b34801561077b575f80fd5b5061043f611059565b34801561078f575f80fd5b5061041061079e366004612083565b600b6020525f908152604090205460ff1681565b3480156107bd575f80fd5b50601754610659906001600160a01b031681565b3480156107dc575f80fd5b506040805180820190915260078152661411541492539560ca1b60208201526103e4565b34801561080b575f80fd5b50601854610659906001600160a01b031681565b34801561082a575f80fd5b5061043f610839366004612125565b6110ab565b348015610849575f80fd5b50601454610659906001600160a01b031681565b348015610868575f80fd5b50610410610877366004612042565b6110fe565b348015610887575f80fd5b5061039f60195481565b34801561089c575f80fd5b5061043f6108ab366004612083565b61110a565b3480156108bb575f80fd5b5061043f6108ca366004612083565b611159565b3480156108da575f80fd5b50601554610659906001600160a01b031681565b3480156108f9575f80fd5b5061043f6109083660046120dc565b6111a4565b348015610918575f80fd5b5061039f60105481565b34801561092d575f80fd5b50600254610659906001600160a01b031681565b34801561094c575f80fd5b5061043f61095b36600461209e565b6111d8565b34801561096b575f80fd5b5061043f611277565b34801561097f575f80fd5b5061043f61098e36600461206c565b6112cb565b34801561099e575f80fd5b5061039f6109ad36600461215c565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b3480156109e2575f80fd5b5061043f611342565b3480156109f6575f80fd5b5061043f610a05366004612083565b6113b7565b348015610a15575f80fd5b5061043f610a24366004612083565b611400565b348015610a34575f80fd5b5061043f610a43366004612125565b611494565b348015610a53575f80fd5b50601354610659906001600160a01b031681565b348015610a72575f80fd5b5061039f601b5481565b348015610a87575f80fd5b5061043f610a96366004612125565b6114c7565b348015610aa6575f80fd5b50610410610ab5366004612083565b6001600160a01b03165f9081526001602052604090205460ff1690565b348015610add575f80fd5b5060175461041090600160b01b900460ff1681565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b4c9086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b03163314610b905760405162461bcd60e51b8152600401610b8790612188565b60405180910390fd5b601955565b5f546001600160a01b03163314610bbe5760405162461bcd60e51b8152600401610b8790612188565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f1914610c89576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152600582528381203382529091529190912054610c6591849061151a565b6001600160a01b0385165f9081526005602090815260408083203384529091529020555b610c94848484611552565b90505b9392505050565b6009546001600160a01b03165f90815260046020526040812054610ce9906008546001600160a01b03165f90815260046020526040902054610ce39060035490611994565b90611994565b905090565b5f546001600160a01b03163314610d175760405162461bcd60e51b8152600401610b8790612188565b6018546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b5f604051808303815f87803b158015610d62575f80fd5b505af1158015610d74573d5f803e3d5ffd5b505050505050565b5f546001600160a01b03163314610da55760405162461bcd60e51b8152600401610b8790612188565b600e91909155600f55565b5f546001600160a01b03163314610dd95760405162461bcd60e51b8152600401610b8790612188565b60178054921515600160a81b0260ff60a81b1990931692909217909155601c55565b5f546001600160a01b03163314610e245760405162461bcd60e51b8152600401610b8790612188565b6004600e819055600f55604b6010556019601155565b5f610b58825f19610af2565b5f546001600160a01b03163314610e6f5760405162461bcd60e51b8152600401610b8790612188565b610e776119d5565b565b60185460405163051fa63360e31b81526001600160a01b0383811660048301525f9216906328fd319890602401602060405180830381865afa158015610ec1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5891906121a8565b5f546001600160a01b03163314610f0e5760405162461bcd60e51b8152600401610b8790612188565b601b54811015610f605760405162461bcd60e51b815260206004820152601860248201527f43616e206e6f74206c6f776572206d61782077616c6c657400000000000000006044820152606401610b87565b601b55565b5f546001600160a01b03163314610f8e5760405162461bcd60e51b8152600401610b8790612188565b6018546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c479906024015f604051808303815f87803b158015610fd4575f80fd5b505af1158015610fe6573d5f803e3d5ffd5b5050505050565b5f546001600160a01b031633146110165760405162461bcd60e51b8152600401610b8790612188565b478015611056576017546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611054573d5f803e3d5ffd5b505b50565b5f546001600160a01b031633146110825760405162461bcd60e51b8152600401610b8790612188565b6017805460ff60b01b1916600160b01b1790556014600e556023600f556019601055604b601155565b5f546001600160a01b031633146110d45760405162461bcd60e51b8152600401610b8790612188565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b5f610c97338484611552565b5f546001600160a01b031633146111335760405162461bcd60e51b8152600401610b8790612188565b6001600160a01b03165f908152600160208190526040909120805460ff19169091179055565b5f546001600160a01b031633146111825760405162461bcd60e51b8152600401610b8790612188565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146111cd5760405162461bcd60e51b8152600401610b8790612188565b601091909155601155565b5f546001600160a01b031633146112015760405162461bcd60e51b8152600401610b8790612188565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af115801561124d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127191906121bf565b50505050565b6018546040516351cff8d960e01b81523360048201526001600160a01b03909116906351cff8d9906024015f604051808303815f87803b1580156112b9575f80fd5b505af1158015611271573d5f803e3d5ffd5b5f546001600160a01b031633146112f45760405162461bcd60e51b8152600401610b8790612188565b601a5481101561133d5760405162461bcd60e51b8152602060048201526014602482015273086c2dc40dcdee840d8deeecae440dac2f040e8f60631b6044820152606401610b87565b601a55565b5f546001600160a01b0316331461136b5760405162461bcd60e51b8152600401610b8790612188565b60185f9054906101000a90046001600160a01b03166001600160a01b031663dfbfbc6b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156112b9575f80fd5b5f546001600160a01b031633146113e05760405162461bcd60e51b8152600401610b8790612188565b6001600160a01b03165f908152600160205260409020805460ff19169055565b5f546001600160a01b031633146114295760405162461bcd60e51b8152600401610b8790612188565b5f80546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b5f546001600160a01b031633146114bd5760405162461bcd60e51b8152600401610b8790612188565b6110548282611acf565b5f546001600160a01b031633146114f05760405162461bcd60e51b8152600401610b8790612188565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b5f818484111561153d5760405162461bcd60e51b8152600401610b879190611fe2565b505f61154984866121ee565b95945050505050565b5f80546001600160a01b0385811691161480159061157d57505f546001600160a01b03848116911614155b156115db57601754600160b01b900460ff166115db5760405162461bcd60e51b815260206004820152601760248201527f686f6c6420757220686f7273657320626967206775792e0000000000000000006044820152606401610b87565b601754600160a01b900460ff16156115ff576115f8848484611bd8565b9050610c97565b601a548211158061162757506001600160a01b0384165f908152600b602052604090205460ff165b6116585760405162461bcd60e51b81526020600482015260026024820152610e8f60f31b6044820152606401610b87565b6001600160a01b0383165f908152600b602052604090205460ff166116d357601b546001600160a01b0384165f9081526004602052604090205461169c9084611cbb565b11156116d35760405162461bcd60e51b81526020600482015260066024820152651dd85b1b195d60d21b6044820152606401610b87565b6014546001600160a01b031633148015906116f85750601754600160a01b900460ff16155b801561170d5750601754600160a81b900460ff165b80156117295750601c54305f9081526004602052604090205410155b15611736576117366119d5565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f9081526004909152919091205461178791849061151a565b6001600160a01b0385165f90815260046020908152604080832093909355600a90529081205460ff161580156117d557506001600160a01b0384165f908152600a602052604090205460ff16155b6117df57826117ea565b6117ea858585611d19565b6001600160a01b0385165f9081526004602052604090205490915061180f9082611cbb565b6001600160a01b038086165f908152600460209081526040808320949094559188168152600c909152205460ff166118af576018546001600160a01b038681165f81815260046020819052604091829020549151630a5b654b60e11b81529081019290925260248201529116906314b6ca96906044015f604051808303815f87803b15801561189c575f80fd5b505af19250505080156118ad575060015b505b6001600160a01b0384165f908152600c602052604090205460ff1661193c576018546001600160a01b038581165f81815260046020819052604091829020549151630a5b654b60e11b81529081019290925260248201529116906314b6ca96906044015f604051808303815f87803b158015611929575f80fd5b505af192505050801561193a575060015b505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161198191815260200190565b60405180910390a3506001949350505050565b5f610c9783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061151a565b6017805460ff60a01b1916600160a01b179055305f90815260046020526040902054611a0090611dd8565b5f4790505f611a256064611a1f60105485611efc90919063ffffffff16565b90611f7a565b905060185f9054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015611a74575f80fd5b505af193505050508015611a86575060015b506017546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611abd573d5f803e3d5ffd5b50506017805460ff60a01b1916905550565b6001600160a01b0382163014801590611af657506014546001600160a01b03838116911614155b611afe575f80fd5b6001600160a01b0382165f908152600c60205260409020805460ff19168215801591909117909155611b8f57601854604051630a5b654b60e11b81526001600160a01b0384811660048301525f6024830152909116906314b6ca96906044015f604051808303815f87803b158015611b74575f80fd5b505af1158015611b86573d5f803e3d5ffd5b50505050611054565b6018546001600160a01b038381165f81815260046020819052604091829020549151630a5b654b60e11b81529081019290925260248201529116906314b6ca9690604401610d4b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600490915291822054611c2891849061151a565b6001600160a01b038086165f908152600460205260408082209390935590851681522054611c569083611cbb565b6001600160a01b038085165f8181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ca99086815260200190565b60405180910390a35060019392505050565b5f80611cc78385612201565b905083811015610c975760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b87565b6014545f9081906001600160a01b03858116911614611d3a57600e54611d3e565b600f545b90505f611d506064611a1f8685611efc565b305f90815260046020526040902054909150611d6c9082611cbb565b305f81815260046020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611dbc9085815260200190565b60405180910390a3611dce8482611994565b9695505050505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611e0b57611e0b612214565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611e62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e869190612228565b81600181518110611e9957611e99612214565b60200260200101906001600160a01b031690816001600160a01b031681525050611ec33083610af2565b5060135460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d4b9085905f90869030904290600401612243565b5f825f03611f0b57505f610b58565b5f611f1683856122b4565b905082611f2385836122cb565b14610c975760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b87565b5f610c9783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f8183611fd65760405162461bcd60e51b8152600401610b879190611fe2565b505f61154984866122cb565b5f602080835283518060208501525f5b8181101561200e57858101830151858201604001528201611ff2565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611056575f80fd5b5f8060408385031215612053575f80fd5b823561205e8161202e565b946020939093013593505050565b5f6020828403121561207c575f80fd5b5035919050565b5f60208284031215612093575f80fd5b8135610c978161202e565b5f805f606084860312156120b0575f80fd5b83356120bb8161202e565b925060208401356120cb8161202e565b929592945050506040919091013590565b5f80604083850312156120ed575f80fd5b50508035926020909101359150565b8015158114611056575f80fd5b5f806040838503121561211a575f80fd5b823561205e816120fc565b5f8060408385031215612136575f80fd5b82356121418161202e565b91506020830135612151816120fc565b809150509250929050565b5f806040838503121561216d575f80fd5b82356121788161202e565b915060208301356121518161202e565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f602082840312156121b8575f80fd5b5051919050565b5f602082840312156121cf575f80fd5b8151610c97816120fc565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610b5857610b586121da565b80820180821115610b5857610b586121da565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215612238575f80fd5b8151610c978161202e565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156122935784516001600160a01b03168352938301939183019160010161226e565b50506001600160a01b03969096166060850152505050608001529392505050565b8082028115828204841417610b5857610b586121da565b5f826122e557634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122095604c280d09644b32a8e89402aa714eee3d706cb72690b67e90ab3b21ee704764736f6c6343000818003360806040526ec097ce7bc90715b34b9f1000000000600b55610e10600c55670de0b6b3a7640000600d55348015610034575f80fd5b505f80546001600160a01b03199081163317909155600280548216737a250d5630b4cf539739df2c5dacb4c659f2488d17905560018054909116736982508145454ce325ddbe47a25d4ec3d2311933179055611091806100935f395ff3fe608060405260043610610108575f3560e01c8063997664d711610092578063dfbfbc6b11610062578063dfbfbc6b146102d6578063e2d2e219146102ea578063efca2eed146102ff578063ffb2c47914610314578063ffd49c8414610333575f80fd5b8063997664d71461022d578063cab34c0814610242578063ce7c2ac214610279578063d0e30db0146102ce575f80fd5b80632d48e896116100d85780632d48e896146101965780633a98ef39146101b55780634fab0ae8146101ca57806351cff8d9146101df5780638c21cd52146101fe575f80fd5b806311ce023d1461011b57806314b6ca961461014357806326987b601461016257806328fd319814610177575f80fd5b3661011757610115610348565b005b5f80fd5b348015610126575f80fd5b50610130600b5481565b6040519081526020015b60405180910390f35b34801561014e575f80fd5b5061011561015d366004610e28565b6105b1565b34801561016d575f80fd5b50610130600e5481565b348015610182575f80fd5b50610130610191366004610e52565b61071f565b3480156101a1575f80fd5b506101156101b0366004610e6d565b6107a5565b3480156101c0575f80fd5b5061013060075481565b3480156101d5575f80fd5b50610130600d5481565b3480156101ea575f80fd5b506101156101f9366004610e52565b6107c5565b348015610209575f80fd5b5061021d610218366004610e52565b6107e6565b604051901515815260200161013a565b348015610238575f80fd5b5061013060085481565b34801561024d575f80fd5b50600154610261906001600160a01b031681565b6040516001600160a01b03909116815260200161013a565b348015610284575f80fd5b506102b3610293366004610e52565b60066020525f908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161013a565b610115610348565b3480156102e1575f80fd5b5061011561082b565b3480156102f5575f80fd5b50610130600a5481565b34801561030a575f80fd5b5061013060095481565b34801561031f575f80fd5b5061011561032e366004610e8d565b610921565b34801561033e575f80fd5b50610130600c5481565b6001546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa15801561038e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b29190610ea4565b6040805160028082526060820183529293505f9290916020830190803683375050600254604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa15801561041e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104429190610ebb565b815f8151811061045457610454610ed6565b6001600160a01b039283166020918202929092010152600180548351921691839190811061048457610484610ed6565b6001600160a01b03928316602091820292909201015260025460405163b6f9de9560e01b815291169063b6f9de959034906104c9905f90869030904290600401610eea565b5f604051808303818588803b1580156104e0575f80fd5b505af11580156104f2573d5f803e3d5ffd5b50506001546040516370a0823160e01b81523060048201525f945061056f93508692506001600160a01b03909116906370a0823190602401602060405180830381865afa158015610545573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105699190610ea4565b90610a07565b60085490915061057f9082610a4f565b600855600754600b546105a9916105a09161059a9085610ab2565b90610b30565b600a5490610a4f565b600a55505050565b5f546001600160a01b031633146105c6575f80fd5b6001600160a01b0382165f90815260066020526040902054156105ec576105ec82610b71565b5f8111801561061057506001600160a01b0382165f90815260066020526040902054155b1561067557600380546001600160a01b0384165f818152600460205260408120839055600183018455929092527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b03191690911790556106a7565b8015801561069957506001600160a01b0382165f9081526006602052604090205415155b156106a7576106a782610c84565b6001600160a01b0382165f908152600660205260409020546007546106d79183916106d191610a07565b90610a4f565b6007556001600160a01b0382165f9081526006602052604090208190556106fd81610d94565b6001600160a01b039092165f9081526006602052604090206001019190915550565b6001600160a01b0381165f90815260066020526040812054810361074457505f919050565b6001600160a01b0382165f9081526006602052604081205461076590610d94565b6001600160a01b0384165f9081526006602052604090206001015490915080821161079357505f9392505050565b61079d8282610a07565b949350505050565b5f546001600160a01b031633146107ba575f80fd5b600c91909155600d55565b5f546001600160a01b031633146107da575f80fd5b6107e381610b71565b50565b600c546001600160a01b0382165f908152600560205260408120549091429161080f9190610f68565b1080156108255750600d546108238361071f565b115b92915050565b5f546001600160a01b03163314610840575f80fd5b6001546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa9190610ea4565b60015460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303815f875af11580156108f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091d9190610f7b565b5050565b6003545f819003610930575050565b5f805f5a90505b848210801561094557508383105b15610a005783600e5410610958575f600e555b6109896003600e548154811061097057610970610ed6565b5f918252602090912001546001600160a01b03166107e6565b156109bf576109bf6003600e54815481106109a6576109a6610ed6565b5f918252602090912001546001600160a01b0316610b71565b6109d46109cd5a8390610a07565b8390610a4f565b91505a600e80549192505f6109e883610f9a565b919050555082806109f890610f9a565b935050610937565b5050505050565b5f610a4883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610db0565b9392505050565b5f80610a5b8385610f68565b905083811015610a485760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b5f825f03610ac157505f610825565b5f610acc8385610fb2565b905082610ad98583610fc9565b14610a485760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610aa9565b5f610a4883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610de8565b6001600160a01b0381165f908152600660205260408120549003610b925750565b5f610b9c8261071f565b9050801561091d57600954610bb19082610a4f565b60095560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303815f875af1158015610c04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c289190610f7b565b506001600160a01b0382165f9081526005602090815260408083204290556006909152902060020154610c5b9082610a4f565b6001600160a01b0383165f9081526006602052604090206002810191909155546106fd90610d94565b60038054610c9490600190610fe8565b81548110610ca457610ca4610ed6565b5f9182526020808320909101546001600160a01b0384811684526004909252604090922054600380549290931692918110610ce157610ce1610ed6565b5f91825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260049182905260408120546003805491939291610d2c90600190610fe8565b81548110610d3c57610d3c610ed6565b5f9182526020808320909101546001600160a01b031683528201929092526040019020556003805480610d7157610d71610ffb565b5f8281526020902081015f1990810180546001600160a01b031916905501905550565b5f610825600b5461059a600a5485610ab290919063ffffffff16565b5f8184841115610dd35760405162461bcd60e51b8152600401610aa9919061100f565b505f610ddf8486610fe8565b95945050505050565b5f8183610e085760405162461bcd60e51b8152600401610aa9919061100f565b505f610ddf8486610fc9565b6001600160a01b03811681146107e3575f80fd5b5f8060408385031215610e39575f80fd5b8235610e4481610e14565b946020939093013593505050565b5f60208284031215610e62575f80fd5b8135610a4881610e14565b5f8060408385031215610e7e575f80fd5b50508035926020909101359150565b5f60208284031215610e9d575f80fd5b5035919050565b5f60208284031215610eb4575f80fd5b5051919050565b5f60208284031215610ecb575f80fd5b8151610a4881610e14565b634e487b7160e01b5f52603260045260245ffd5b5f6080820186835260206080602085015281875180845260a0860191506020890193505f5b81811015610f345784516001600160a01b031683529383019391830191600101610f0f565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561082557610825610f54565b5f60208284031215610f8b575f80fd5b81518015158114610a48575f80fd5b5f60018201610fab57610fab610f54565b5060010190565b808202811582820484141761082557610825610f54565b5f82610fe357634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561082557610825610f54565b634e487b7160e01b5f52603160045260245ffd5b5f602080835283518060208501525f5b8181101561103b5785810183015185820160400152820161101f565b505f604082860101526040601f19601f830116850101925050509291505056fea26469706673582212203098baf694ffbb2286cf5de3895592eca8c85b356723c07f1d55ffb34bce289064736f6c63430008180033000000000000000000000000379f175939f88c6b8d8bea33fe3584fcd27435b9