[ { "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": false, "internalType": "uint256", "name": "amountCurrency", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountTokens", "type": "uint256" } ], "name": "AutoLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "ContractSwapEnabledUpdated", "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": [], "name": "DEAD", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_hasLiqBeenAdded", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_ratios", "outputs": [ { "internalType": "uint16", "name": "marketing", "type": "uint16" }, { "internalType": "uint16", "name": "development", "type": "uint16" }, { "internalType": "uint16", "name": "revShare", "type": "uint16" }, { "internalType": "uint16", "name": "team", "type": "uint16" }, { "internalType": "uint16", "name": "buybacks", "type": "uint16" }, { "internalType": "uint16", "name": "totalSwap", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxRates", "outputs": [ { "internalType": "uint16", "name": "buyFee", "type": "uint16" }, { "internalType": "uint16", "name": "sellFee", "type": "uint16" }, { "internalType": "uint16", "name": "transferFee", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxWallets", "outputs": [ { "internalType": "address payable", "name": "marketing", "type": "address" }, { "internalType": "address payable", "name": "development", "type": "address" }, { "internalType": "address payable", "name": "buybacks", "type": "address" }, { "internalType": "address payable", "name": "team", "type": "address" }, { "internalType": "address payable", "name": "revShare", "type": "address" } ], "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": [], "name": "approveContractContingency", "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": "contractSwapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dexRouter", "outputs": [ { "internalType": "contract IRouter02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMaxTX", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMaxWallet", "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": "uint256", "name": "priceImpactInHundreds", "type": "uint256" } ], "name": "getTokenAmountAtPriceImpact", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "address", "name": "_initializer", "type": "address" } ], "name": "intializeContract", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromProtection", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launchStamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "lpPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxBuyTaxes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSellTaxes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransferTaxes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "multiSendTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "piContractSwapsEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "piSwapPercent", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeBlacklisted", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeSniper", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setBlacklistEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setBlacklistEnabledMultiple", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "swapEnabled", "type": "bool" }, { "internalType": "bool", "name": "priceImpactSwapEnabled", "type": "bool" } ], "name": "setContractSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setExcludedFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setExcludedFromLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setExcludedFromProtection", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "init", "type": "address" } ], "name": "setInitializer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setLpPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" }, { "internalType": "uint256", "name": "divisor", "type": "uint256" } ], "name": "setMaxTxPercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" }, { "internalType": "uint256", "name": "divisor", "type": "uint256" } ], "name": "setMaxWalletSize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "priceImpactSwapPercent", "type": "uint256" } ], "name": "setPriceImpactSwapAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_antiSnipe", "type": "bool" }, { "internalType": "bool", "name": "_antiBlock", "type": "bool" } ], "name": "setProtectionSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "marketing", "type": "uint16" }, { "internalType": "uint16", "name": "development", "type": "uint16" }, { "internalType": "uint16", "name": "team", "type": "uint16" }, { "internalType": "uint16", "name": "revShare", "type": "uint16" }, { "internalType": "uint16", "name": "buybacks", "type": "uint16" } ], "name": "setRatios", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "thresholdPercent", "type": "uint256" }, { "internalType": "uint256", "name": "thresholdDivisor", "type": "uint256" }, { "internalType": "uint256", "name": "amountPercent", "type": "uint256" }, { "internalType": "uint256", "name": "amountDivisor", "type": "uint256" } ], "name": "setSwapSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "buyFee", "type": "uint16" }, { "internalType": "uint16", "name": "sellFee", "type": "uint16" }, { "internalType": "uint16", "name": "transferFee", "type": "uint16" } ], "name": "setTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "marketing", "type": "address" }, { "internalType": "address payable", "name": "buybacks", "type": "address" }, { "internalType": "address payable", "name": "revShare", "type": "address" }, { "internalType": "address payable", "name": "team", "type": "address" }, { "internalType": "address payable", "name": "development", "type": "address" } ], "name": "setWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sweepContingency", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "sweepExternalTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxesAreLocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "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", "name": "newOwner", "type": "address" } ], "name": "transferOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
600060028190556101f4608081905260a05260c052600a80546301f401f465ffffffffffff19909116178155601960e052610100818152600761012052600561014052600361016052603261018052600b80546001600160601b0319166a32000300050007000a00191790556102406040527351e11ca32f87f67016e76e62db92e93bce94b8326101a0819052736015900ee8da7008a236b46f9528136114ec70496101c081905273cd3ffec64d00303aaf40b0cf77e69c7eff7f4bd06101e081905273639fab1e71f06c63af84a370a0d562c0c6ca492061020081905273013e9b0db1e24c57c09925e952eae6453ccdac81610220819052600e80546001600160a01b03199081169096179055600f805486169094179093556010805485169092179091556011805484169091179055601280549092161781556013805461ff00191690556017839055601a805461ffff19169055601c8054610100600160a81b03191633909302929092179091556200017a91620003d6565b6200018a906305f5e100620003ee565b601c80546001600160a01b03610100918290048116600090815260208181526040808320969096558454849004831682526006808252868320805460ff19908116600190811790925530855288852080548216831790557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054821683179055965495909504909316825260048152948120805485168417905593527f9f0450866e340883c5637ebf25d629ea9e0ea06bf9caa3748b581238b1bc2bb980548316821790557f9b00c99845a242ceea732a2478bee8e7b057d22892cafbdc32d0e607c88ddea0805483168217905573dba68f07d1b7ca219f78ae8582c213d975c25caf9092527fab9d0a02af394b8961be3a9588d91fbbf70984385fd8d3031385f593b62a4bf98054909116909117905562000408565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000318578160001904821115620002fc57620002fc620002c1565b808516156200030a57918102915b93841c9390800290620002dc565b509250929050565b6000826200033157506001620003d0565b816200034057506000620003d0565b8160018114620003595760028114620003645762000384565b6001915050620003d0565b60ff841115620003785762000378620002c1565b50506001821b620003d0565b5060208310610133831016604e8410600b8410161715620003a9575081810a620003d0565b620003b58383620002d7565b8060001904821115620003cc57620003cc620002c1565b0290505b92915050565b6000620003e760ff84168362000320565b9392505050565b8082028115828204841417620003d057620003d0620002c1565b614c9880620004186000396000f3fe6080604052600436106103bc5760003560e01c8063590ffdce116101f2578063b1b08f711161010d578063ee5d9c2d116100a0578063fb78680d1161006f578063fb78680d14610bd1578063fdb78c0e14610bf1578063fe575a8714610c10578063feadde9c14610c3057600080fd5b8063ee5d9c2d14610b09578063eec2744e14610b1e578063f08f43a214610b3e578063f94aa1b414610b5e57600080fd5b8063c6a276c2116100dc578063c6a276c214610a05578063cf84770614610a25578063dd62ed3e14610ab0578063de3a3b6914610af657600080fd5b8063b1b08f7114610636578063b3d514fb14610636578063b7df8b36146109cb578063bfc2fc35146109e557600080fd5b806380c581d1116101855780638a8c523c116101545780638a8c523c1461096157806395d89b4114610976578063a9059cbb1461098b578063ab558e4d146109ab57600080fd5b806380c581d1146108e95780638252879114610909578063893d20e8146109295780638a63bd9b1461094c57600080fd5b80636ebd0078116101c15780636ebd00781461088a57806370a082311461089f578063715018a6146108bf57806378648edf146108d457600080fd5b8063590ffdce146107fb5780635a6f09181461081b5780635c24b074146108315780635cce86cd1461085157600080fd5b806328577751116102e25780633f3cf56c116102755780634e718e48116102445780634e718e48146107635780634fb2e45d146107835780634fbee193146107a357806350a8e016146107dc57600080fd5b80633f3cf56c146106e9578063452ed4f1146107095780634ada218b146107295780634bbb93eb1461074357600080fd5b8063313ce567116102b1578063313ce5671461066257806332cde6641461068957806333251a0b146106a957806336fddb04146106c957600080fd5b8063285777511461060b5780632b112e49146106215780632b28fc7a146106365780632e8fa8211461064c57600080fd5b806307dd79e01161035a57806318160ddd1161032957806318160ddd1461059657806323b872dd146105ab57806326003957146105cb5780632610eaca146105eb57600080fd5b806307dd79e0146104fe578063095ea7b3146105285780630dcbcf1c146105485780630fa604e41461058157600080fd5b806305bbedb61161039657806305bbedb614610441578063069d955f1461046157806306fdde03146104b75780630758d924146104d957600080fd5b806303fd2a45146103c85780630445b667146103fb578063044df7261461041f57600080fd5b366103c357005b600080fd5b3480156103d457600080fd5b506103de61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561040757600080fd5b5061041160145481565b6040519081526020016103f2565b34801561042b57600080fd5b5061043f61043a3660046140b0565b610c50565b005b34801561044d57600080fd5b5061043f61045c3660046141dd565b610cf9565b34801561046d57600080fd5b50600a546104929061ffff808216916201000081048216916401000000009091041683565b6040805161ffff948516815292841660208401529216918101919091526060016103f2565b3480156104c357600080fd5b506104cc610da5565b6040516103f29190614248565b3480156104e557600080fd5b50600c546103de9061010090046001600160a01b031681565b34801561050a57600080fd5b50600c546105189060ff1681565b60405190151581526020016103f2565b34801561053457600080fd5b5061051861054336600461427b565b610e37565b34801561055457600080fd5b506105186105633660046142a7565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561058d57600080fd5b50610411610e4e565b3480156105a257600080fd5b50610411610e6e565b3480156105b757600080fd5b506105186105c63660046142c4565b610e9a565b3480156105d757600080fd5b5061043f6105e6366004614305565b610f12565b3480156105f757600080fd5b5061043f610606366004614327565b611035565b34801561061757600080fd5b5061041160175481565b34801561062d57600080fd5b506104116111b7565b34801561064257600080fd5b506104116101f481565b34801561065857600080fd5b5061041160155481565b34801561066e57600080fd5b506106776111fc565b60405160ff90911681526020016103f2565b34801561069557600080fd5b5061043f6106a43660046143f9565b611214565b3480156106b557600080fd5b5061043f6106c43660046142a7565b611343565b3480156106d557600080fd5b5061043f6106e436600461443c565b6113dc565b3480156106f557600080fd5b5061043f610704366004614305565b611436565b34801561071557600080fd5b50600d546103de906001600160a01b031681565b34801561073557600080fd5b50601a546105189060ff1681565b34801561074f57600080fd5b5061041161075e36600461445a565b611572565b34801561076f57600080fd5b5061043f61077e36600461445a565b6115a4565b34801561078f57600080fd5b5061043f61079e3660046142a7565b611622565b3480156107af57600080fd5b506105186107be3660046142a7565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156107e857600080fd5b50601a5461051890610100900460ff1681565b34801561080757600080fd5b5061043f61081636600461443c565b61181f565b34801561082757600080fd5b50610411601b5481565b34801561083d57600080fd5b5061043f61084c3660046142a7565b611879565b34801561085d57600080fd5b5061051861086c3660046142a7565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561089657600080fd5b50610411611a25565b3480156108ab57600080fd5b506104116108ba3660046142a7565b611a40565b3480156108cb57600080fd5b5061043f611a5b565b3480156108e057600080fd5b5061043f611b63565b3480156108f557600080fd5b5061043f61090436600461443c565b611ba1565b34801561091557600080fd5b5061043f610924366004614473565b611d53565b34801561093557600080fd5b50601c5461010090046001600160a01b03166103de565b34801561095857600080fd5b50610518611e89565b34801561096d57600080fd5b5061043f611ee0565b34801561098257600080fd5b506104cc61210f565b34801561099757600080fd5b506105186109a636600461427b565b61211e565b3480156109b757600080fd5b5061043f6109c63660046142a7565b612135565b3480156109d757600080fd5b506016546105189060ff1681565b3480156109f157600080fd5b5061043f610a003660046140b0565b6122ba565b348015610a1157600080fd5b5061043f610a203660046142a7565b612348565b348015610a3157600080fd5b50600b54610a739061ffff808216916201000081048216916401000000008204811691600160301b8104821691600160401b8204811691600160501b90041686565b6040805161ffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c0016103f2565b348015610abc57600080fd5b50610411610acb3660046144e4565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61043f610b0436600461455e565b6123b0565b348015610b1557600080fd5b5061043f612a07565b348015610b2a57600080fd5b5061043f610b3936600461443c565b612ace565b348015610b4a57600080fd5b5061043f610b593660046145d4565b612b3e565b348015610b6a57600080fd5b50600e54600f54601054601154601254610b97946001600160a01b03908116948116938116928116911685565b604080516001600160a01b03968716815294861660208601529285169284019290925283166060830152909116608082015260a0016103f2565b348015610bdd57600080fd5b5061043f610bec366004614639565b612ca5565b348015610bfd57600080fd5b5060135461051890610100900460ff1681565b348015610c1c57600080fd5b50610518610c2b3660046142a7565b612eba565b348015610c3c57600080fd5b5061043f610c4b36600461443c565b612f2f565b601c5461010090046001600160a01b03163314610c885760405162461bcd60e51b8152600401610c7f9061466b565b60405180910390fd5b601a5460405163efbdbabd60e01b815283151560048201528215156024820152620100009091046001600160a01b03169063efbdbabd906044015b600060405180830381600087803b158015610cdd57600080fd5b505af1158015610cf1573d6000803e3d6000fd5b505050505050565b601c5461010090046001600160a01b03163314610d285760405162461bcd60e51b8152600401610c7f9061466b565b606482511115610d6e5760405162461bcd60e51b81526020600482015260116024820152702a37b79036b0b73c9030ba1037b731b29760791b6044820152606401610c7f565b601a546040516302ddf6db60e11b8152620100009091046001600160a01b0316906305bbedb690610cc390859085906004016146da565b606060088054610db4906146fe565b80601f0160208091040260200160405190810160405280929190818152602001828054610de0906146fe565b8015610e2d5780601f10610e0257610100808354040283529160200191610e2d565b820191906000526020600020905b815481529060010190602001808311610e1057829003601f168201915b5050505050905090565b6000610e44338484612f89565b5060015b92915050565b6000610e5c6012600a614832565b601954610e699190614841565b905090565b601c5460009060ff16610e8057600080fd5b610e8c6012600a614832565b610e69906305f5e100614863565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610eff576001600160a01b038416600090815260036020908152604080832033845290915281208054849290610ef990849061487a565b90915550505b610f0a848484613082565b949350505050565b601c5461010090046001600160a01b03163314610f415760405162461bcd60e51b8152600401610c7f9061466b565b6064610f4f6012600a614832565b610f5d906305f5e100614863565b610f679190614841565b8183610f756012600a614832565b610f83906305f5e100614863565b610f8d9190614863565b610f979190614841565b1015610ffe5760405162461bcd60e51b815260206004820152603060248201527f4d61782057616c6c657420616d74206d7573742062652061626f76652031252060448201526f37b3103a37ba30b61039bab838363c9760811b6064820152608401610c7f565b808261100c6012600a614832565b61101a906305f5e100614863565b6110249190614863565b61102e9190614841565b6019555050565b601c5461010090046001600160a01b031633146110645760405162461bcd60e51b8152600401610c7f9061466b565b80518251146110ad5760405162461bcd60e51b81526020600482015260156024820152742632b733ba3439903237903737ba1036b0ba31b41760591b6044820152606401610c7f565b60005b82518161ffff1610156111b2576110c96012600a614832565b828261ffff16815181106110df576110df61488d565b60200260200101516110f19190614863565b6110fa33611a40565b101561113d5760405162461bcd60e51b81526020600482015260126024820152712737ba1032b737bab3b4103a37b5b2b7399760711b6044820152606401610c7f565b61119f33848361ffff16815181106111575761115761488d565b60200260200101516012600a61116d9190614832565b858561ffff16815181106111835761118361488d565b60200260200101516111959190614863565b6000806001613532565b50806111aa816148a3565b9150506110b0565b505050565b60006111c36000611a40565b6111ce61dead611a40565b6111d891906148c4565b6111e46012600a614832565b6111f2906305f5e100614863565b610e69919061487a565b601c5460009060ff1661120e57600080fd5b50601290565b601c5461010090046001600160a01b031633146112435760405162461bcd60e51b8152600401610c7f9061466b565b600c5460ff161561128a5760405162461bcd60e51b81526020600482015260116024820152702a30bc32b99030b932903637b1b5b2b21760791b6044820152606401610c7f565b6101f48361ffff16111580156112a657506101f48261ffff1611155b80156112b857506101f48161ffff1611155b6113045760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420657863656564206d6178696d756d732e0000000000000000006044820152606401610c7f565b600a805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b601c5461010090046001600160a01b031633146113725760405162461bcd60e51b8152600401610c7f9061466b565b601a546040516333251a0b60e01b81526001600160a01b03838116600483015262010000909204909116906333251a0b906024015b600060405180830381600087803b1580156113c157600080fd5b505af11580156113d5573d6000803e3d6000fd5b5050505050565b601c5461010090046001600160a01b0316331461140b5760405162461bcd60e51b8152600401610c7f9061466b565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b601c5461010090046001600160a01b031633146114655760405162461bcd60e51b8152600401610c7f9061466b565b6103e86114746012600a614832565b611482906305f5e100614863565b61148d906005614863565b6114979190614841565b81836114a56012600a614832565b6114b3906305f5e100614863565b6114bd9190614863565b6114c79190614841565b101561153b5760405162461bcd60e51b815260206004820152603760248201527f4d6178205472616e73616374696f6e20616d74206d7573742062652061626f7660448201527f6520302e3525206f6620746f74616c20737570706c792e0000000000000000006064820152608401610c7f565b80826115496012600a614832565b611557906305f5e100614863565b6115619190614863565b61156b9190614841565b6018555050565b600d54600090612710908390611590906001600160a01b0316611a40565b61159a9190614863565b610e489190614841565b601c5461010090046001600160a01b031633146115d35760405162461bcd60e51b8152600401610c7f9061466b565b609681111561161d5760405162461bcd60e51b815260206004820152601660248201527521b0b73737ba1039b2ba1030b137bb329018971a929760511b6044820152606401610c7f565b601755565b601c5461010090046001600160a01b031633146116515760405162461bcd60e51b8152600401610c7f9061466b565b6001600160a01b0381166116a75760405162461bcd60e51b815260206004820152601f60248201527f43616c6c2072656e6f756e63654f776e65727368697020696e73746561642e006044820152606401610c7f565b61deac196001600160a01b038216016117025760405162461bcd60e51b815260206004820152601f60248201527f43616c6c2072656e6f756e63654f776e65727368697020696e73746561642e006044820152606401610c7f565b601c5461171e9061010090046001600160a01b0316600061181f565b61172981600161181f565b601c546000906117469061010090046001600160a01b0316611a40565b111561176d57601c5461176b9061010090046001600160a01b03168261119582611a40565b505b601c80546001600160a01b03838116610100908102610100600160a81b0319841617909355601a5491839004169160ff9104166117db576001600160a01b03808216600090815260046020526040808220805460ff1990811690915592851682529020805490911660011790555b816001600160a01b0316816001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b601c5461010090046001600160a01b0316331461184e5760405162461bcd60e51b8152600401610c7f9061466b565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b601c5461010090046001600160a01b031633146118a85760405162461bcd60e51b8152600401610c7f9061466b565b601a5460ff16156118b857600080fd5b306001600160a01b038216036119015760405162461bcd60e51b815260206004820152600e60248201526d21b0b713ba1031329039b2b6331760911b6044820152606401610c7f565b601a805462010000600160b01b031916620100006001600160a01b0384811682029290921792839055604080516330fe427560e21b81528151929094049092169263c3f909d492600480830193919282900301816000875af1925050508015611987575060408051601f3d908101601f19168201909252611984918101906148d7565b60015b61199057600080fd5b600c8054610100600160a81b0319166101006001600160a01b038581168202929092178355600d80546001600160a01b0319168584169081179091556000908152600160208190526040909120805460ff19169091179055601c549254611a039382900483169291900416600019612f89565b600c546111b290309061010090046001600160a01b0316600019612f89565b50565b6000611a336012600a614832565b601854610e699190614841565b6001600160a01b031660009081526020819052604090205490565b601c5461010090046001600160a01b03163314611a8a5760405162461bcd60e51b8152600401610c7f9061466b565b601a5460ff16611af45760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f742072656e6f756e636520756e74696c2074726164696e6720686160448201526e39903132b2b71032b730b13632b21760891b6064820152608401610c7f565b601c54611b109061010090046001600160a01b0316600061181f565b601c8054610100600160a81b031981169091556040516101009091046001600160a01b03169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b601c5461010090046001600160a01b03163314611b925760405162461bcd60e51b8152600401610c7f9061466b565b600c805460ff19166001179055565b601c5461010090046001600160a01b03163314611bd05760405162461bcd60e51b8152600401610c7f9061466b565b80611c2e576001600160a01b03828116600081815260016020526040808220805460ff19169055601a5490516380c581d160e01b815260048101939093526024830191909152620100009004909116906380c581d190604401610cc3565b60025415611c87576203f48060025442611c48919061487a565b11611c875760405162461bcd60e51b815260206004820152600f60248201526e19902230bc9031b7b7b63237bbb71760891b6044820152606401610c7f565b6001600160a01b03821660009081526001602052604090205460ff1615611cf05760405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e00000000006044820152606401610c7f565b6001600160a01b03828116600081815260016020819052604091829020805460ff19168217905542600255601a5491516380c581d160e01b815260048101939093526024830152620100009004909116906380c581d190604401610cc3565b5050565b601c5461010090046001600160a01b03163314611d825760405162461bcd60e51b8152600401610c7f9061466b565b6001600160a01b03851615801590611da257506001600160a01b03811615155b8015611db657506001600160a01b03841615155b8015611dca57506001600160a01b03831615155b8015611dde57506001600160a01b03821615155b611e2a5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74206265207a65726f20616464726573732e0000000000000000006044820152606401610c7f565b600e80546001600160a01b03199081166001600160a01b0397881617909155601180548216938716939093179092556010805483169486169490941790935560128054821692851692909217909155600f805490911691909216179055565b601c5460009061010090046001600160a01b03163314611ebb5760405162461bcd60e51b8152600401610c7f9061466b565b600c54611eda90309061010090046001600160a01b0316600019612f89565b50600190565b601c5461010090046001600160a01b03163314611f0f5760405162461bcd60e51b8152600401610c7f9061466b565b601a5460ff1615611f625760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610c7f565b601a54610100900460ff16611fb95760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610c7f565b601a546201000090046001600160a01b0316611fe957601a805462010000600160b01b0319163062010000021790555b601a54600d54604051631b04570d60e21b81526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff4216604482015260126064820152620100009092041690636c115c3490608401600060405180830381600087803b15801561205b57600080fd5b505af192505050801561206c575060015b50601a54600d546001600160a01b03620100009092048216916325a71cae916120959116611a40565b6040518263ffffffff1660e01b81526004016120b391815260200190565b60408051808303816000875af19250505080156120ed575060408051601f3d908101601f191682019092526120ea91810190614906565b60015b156120fc576014919091556015555b601a805460ff1916600117905542601b55565b606060098054610db4906146fe565b600061212b338484613082565b5060019392505050565b601c5461010090046001600160a01b031633146121645760405162461bcd60e51b8152600401610c7f9061466b565b601a54610100900460ff16156121cc57306001600160a01b038216036121cc5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207377656570206e617469766520746f6b656e732e00000000006044820152606401610c7f565b601c546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb9261010090049091169083906370a0823190602401602060405180830381865afa158015612227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224b919061492a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015612296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b29190614943565b601c5461010090046001600160a01b031633146122e95760405162461bcd60e51b8152600401610c7f9061466b565b6013805461ff001916610100841515908102919091179091556016805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257906020015b60405180910390a15050565b601c5461010090046001600160a01b031633146123775760405162461bcd60e51b8152600401610c7f9061466b565b601a546040516363513b6160e11b81526001600160a01b038381166004830152620100009092049091169063c6a276c2906024016113a7565b601c5461010090046001600160a01b031633146123df5760405162461bcd60e51b8152600401610c7f9061466b565b601c5460ff16156124165760405162461bcd60e51b81526020600482015260016024820152603160f81b6044820152606401610c7f565b8382146124495760405162461bcd60e51b81526020600482015260016024820152601960f91b6044820152606401610c7f565b60004711806124585750600034115b6124a45760405162461bcd60e51b815260206004820152601760248201527f4e6f2066756e647320666f72206c69717569646974792e0000000000000000006044820152606401610c7f565b80601a60026101000a8154816001600160a01b0302191690836001600160a01b03160217905550601a60029054906101000a90046001600160a01b03166001600160a01b0316638a4068dd6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561251b57600080fd5b505af192505050801561252c575060015b50601a60029054906101000a90046001600160a01b03166001600160a01b031663dbc4d8836040518163ffffffff1660e01b81526004016000604051808303816000875af19250505080156125a357506040513d6000823e601f3d908101601f191682016040526125a091908101906149c4565b60015b6125d35760405162461bcd60e51b81526020600482015260016024820152603360f81b6044820152606401610c7f565b60086125df8782614a93565b5060096125ec8682614a93565b5082846125fb6012600a614832565b612609906305f5e100614863565b6126139190614863565b61261d9190614841565b601855808261262e6012600a614832565b61263c906305f5e100614863565b6126469190614863565b6126509190614841565b601955505050505050601a60029054906101000a90046001600160a01b03166001600160a01b031663c3f909d46040518163ffffffff1660e01b815260040160408051808303816000875af19250505080156126c9575060408051601f3d908101601f191682019092526126c6918101906148d7565b60015b61270a5760405162461bcd60e51b815260206004820152601260248201527124b734ba34b0b634bd32b91032b93937b91760711b6044820152606401610c7f565b600c8054610100600160a81b0319166101006001600160a01b038581168202929092178355600d80546001600160a01b0319168584169081179091556000908152600160208190526040909120805460ff19169091179055601c54925461277d9382900483169291900416600019612f89565b600c5461279c90309061010090046001600160a01b0316600019612f89565b5050601c805460ff1916600117908190556001600160a01b036101009091041660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6127eb6012600a614832565b6127f9906305f5e100614863565b60405190815260200160405180910390a3600c5461282990309061010090046001600160a01b0316600019612f89565b601c54600c54612852916001600160a01b03610100918290048116929190910416600019612f89565b60005b848110156128ed57600061286b6012600a614832565b85858481811061287d5761287d61488d565b9050602002013561288e9190614863565b601c549091506128d89061010090046001600160a01b03168888858181106128b8576128b861488d565b90506020020160208101906128cd91906142a7565b836000806001613532565b505080806128e590614b53565b915050612855565b50601c5461290d9061010090046001600160a01b03163061119582611a40565b50600c5461010090046001600160a01b031663f305d719473061292f81611a40565b601c5460405160e086901b6001600160e01b03191681526001600160a01b03938416600482015260248101929092526000604483018190526064830152610100900490911660848201524260a482015260c40160606040518083038185885af1935050505080156129bd575060408051601f3d908101601f191682019092526129ba91810190614b6c565b60015b6129fc5760405162461bcd60e51b815260206004820152601060248201526f2634b8bab4b234ba3c9032b93937b91760811b6044820152606401610c7f565b5050506113d5611ee0565b601c5461010090046001600160a01b03163314612a365760405162461bcd60e51b8152600401610c7f9061466b565b601a54610100900460ff1615612a8e5760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610c7f565b601c546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015611a22573d6000803e3d6000fd5b601c5461010090046001600160a01b03163314612afd5760405162461bcd60e51b8152600401610c7f9061466b565b601a546040516377613a2760e11b81526001600160a01b0384811660048301528315156024830152620100009092049091169063eec2744e90604401610cc3565b601c5461010090046001600160a01b03163314612b6d5760405162461bcd60e51b8152600401610c7f9061466b565b600b805461ffff87811663ffffffff199092169190911762010000878316021767ffffffff0000000019166401000000008583160267ffff000000000000191617600160301b868316021769ffff00000000000000001916600160401b91841691909102179055808383612be18888614b9a565b612beb9190614b9a565b612bf59190614b9a565b612bff9190614b9a565b600b805461ffff60501b1916600160501b61ffff93841602179055600a54600091612c339162010000810482169116614b9a565b600b5461ffff9182169250600160501b900416811015610cf15760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f74206578636565642073756d206f662062757920616e642073656c60448201526636103332b2b99760c91b6064820152608401610c7f565b601c5461010090046001600160a01b03163314612cd45760405162461bcd60e51b8152600401610c7f9061466b565b8284612ce26012600a614832565b612cf0906305f5e100614863565b612cfa9190614863565b612d049190614841565b6014558082612d156012600a614832565b612d23906305f5e100614863565b612d2d9190614863565b612d379190614841565b60158190556014541115612d975760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610c7f565b600d5461271090612db0906001600160a01b0316611a40565b612dbb906096614863565b612dc59190614841565b6015541115612e225760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f742062652061626f766520312e3525206f662063757272656e742060448201526228249760e91b6064820152608401610c7f565b620f4240612e326012600a614832565b612e40906305f5e100614863565b612e4a9190614841565b6015541015612e6b5760405162461bcd60e51b8152600401610c7f90614bbc565b620f4240612e7b6012600a614832565b612e89906305f5e100614863565b612e939190614841565b6014541015612eb45760405162461bcd60e51b8152600401610c7f90614bbc565b50505050565b601a5460405163fe575a8760e01b81526001600160a01b038381166004830152600092620100009004169063fe575a8790602401602060405180830381865afa158015612f0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e489190614943565b601c5461010090046001600160a01b03163314612f5e5760405162461bcd60e51b8152600401610c7f9061466b565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6001600160a01b038316612fd55760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610c7f565b6001600160a01b0382166130215760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610c7f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166130e85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c7f565b6001600160a01b03831661314a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c7f565b600082116131ac5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610c7f565b6001600160a01b0384166000908152600160205260408120548190819060ff16156131da5760019250613208565b6001600160a01b03861660009081526001602052604090205460ff16156132045760019150613208565b5060015b61321287876137e5565b1561348957601a5460ff16613313578061326e5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610c7f565b6001600160a01b03871660009081526005602052604090205460ff161580156132b057506001600160a01b03861660009081526005602052604090205460ff16155b156133135760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b6064820152608401610c7f565b828061331c5750815b156133cb576001600160a01b03871660009081526007602052604090205460ff1615801561336357506001600160a01b03861660009081526007602052604090205460ff16155b156133cb576018548511156133cb5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610c7f565b600c546001600160a01b0387811661010090920416148015906133ec575081155b15613489576001600160a01b03861660009081526007602052604090205460ff16613489576019548561341e88611a40565b61342891906148c4565b11156134895760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526930b63632ba29b4bd329760b11b6064820152608401610c7f565b81156135195760135460ff1661351957601354610100900460ff16156135195760006134b430611a40565b905060145481106135175760155460165460ff161561350157601754600d5461271091906134ea906001600160a01b0316611a40565b6134f49190614863565b6134fe9190614841565b90505b80821061350c578091505b6135158261390b565b505b505b613527878787868686613532565b979650505050505050565b600061353e87876137e5565b156135d857601a5460405163ecd07a5360e01b81526001600160a01b038981166004830152888116602483015260448201889052600092620100009004169063ecd07a53906064016020604051808303816000875af19250505080156135c1575060408051601f3d908101601f191682019092526135be91810190614943565b60015b6135ca57600080fd5b9050806135d657600080fd5b505b6001600160a01b03871660009081526006602052604090205460019060ff168061361a57506001600160a01b03871660009081526006602052604090205460ff165b15613623575060005b6001600160a01b0388166000908152602081905260408120805488929061364b90849061487a565b90915550600090508161365e578661366a565b61366a89888888613e56565b9050806000808a6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546136a091906148c4565b92505081905550876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516136ec91815260200190565b60405180910390a3601a54610100900460ff166137d65761370d8989613f62565b601a54610100900460ff1615801561372a575061372a89896137e5565b801561374f57506001600160a01b03891660009081526005602052604090205460ff16155b801561377457506001600160a01b03881660009081526005602052604090205460ff16155b801561377e575083155b156137d65760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b6064820152608401610c7f565b50600198975050505050505050565b601c546000906001600160a01b03848116610100909204161480159061381e5750601c546001600160a01b038381166101009092041614155b801561383a5750601c5461010090046001600160a01b03163214155b801561385f57506001600160a01b03821660009081526004602052604090205460ff16155b801561388457506001600160a01b03831660009081526004602052604090205460ff16155b801561389b57506001600160a01b03821661dead14155b80156138af57506001600160a01b03821615155b80156138c457506001600160a01b0383163014155b80156138e45750601a546001600160a01b03848116620100009092041614155b80156139045750601a546001600160a01b03838116620100009092041614155b9392505050565b6013805460ff191660011790556040805160c081018252600b5461ffff8082168352620100008204811660208401526401000000008204811693830193909352600160301b810483166060830152600160401b810483166080830152600160501b900490911660a082018190526000036139855750613e49565b306000908152600360209081526040808320600c5461010090046001600160a01b03168452909152902054600019146139e857306000908152600360209081526040808320600c5461010090046001600160a01b03168452909152902060001990555b6040805160028082526060820183526000926020830190803683370190505090503081600081518110613a1d57613a1d61488d565b60200260200101906001600160a01b031690816001600160a01b031681525050600c60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ab49190614c09565b81600181518110613ac757613ac761488d565b6001600160a01b039283166020918202929092010152600c5460405163791ac94760e01b81526101009091049091169063791ac94790613b14908690600090869030904290600401614c26565b600060405180830381600087803b158015613b2e57600080fd5b505af1925050508015613b3f575060015b613b4a575050613e49565b60004790506000808460a0015161ffff16856020015161ffff1684613b6f9190614863565b613b799190614841565b905060008560a0015161ffff16866080015161ffff1685613b9a9190614863565b613ba49190614841565b905060008660a0015161ffff16876060015161ffff1686613bc59190614863565b613bcf9190614841565b905060008760a0015161ffff16886040015161ffff1687613bf09190614863565b613bfa9190614841565b905060008183613c0a86886148c4565b613c1491906148c4565b613c1e91906148c4565b613c28908861487a565b895190915061ffff1615613c9357600e546040516001600160a01b039091169061d6d89083906000818181858888f193505050503d8060008114613c88576040519150601f19603f3d011682016040523d82523d6000602084013e613c8d565b606091505b50909650505b602089015161ffff1615613cfe57600f546040516001600160a01b039091169061d6d89087906000818181858888f193505050503d8060008114613cf3576040519150601f19603f3d011682016040523d82523d6000602084013e613cf8565b606091505b50909650505b608089015161ffff1615613d69576010546040516001600160a01b039091169061d6d89086906000818181858888f193505050503d8060008114613d5e576040519150601f19603f3d011682016040523d82523d6000602084013e613d63565b606091505b50909650505b606089015161ffff1615613dd4576011546040516001600160a01b039091169061d6d89085906000818181858888f193505050503d8060008114613dc9576040519150601f19603f3d011682016040523d82523d6000602084013e613dce565b606091505b50909650505b604089015161ffff1615613e3f576012546040516001600160a01b039091169061d6d89084906000818181858888f193505050503d8060008114613e34576040519150601f19603f3d011682016040523d82523d6000602084013e613e39565b606091505b50909650505b5050505050505050505b506013805460ff19169055565b6000808315613e6c5750600a5461ffff16613e96565b8215613e855750600a5462010000900461ffff16613e96565b50600a54640100000000900461ffff165b601a546201000090046001600160a01b031630148015613eb7575046606114155b15613ec157506111945b80600003613ed25784915050610f0a565b6000612710613ee18388614863565b613eeb9190614841565b90508015613f58573060009081526020819052604081208054839290613f129084906148c4565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b613527818761487a565b601a54610100900460ff1615613fc65760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610c7f565b613fd082826137e5565b158015613fea5750600d546001600160a01b038281169116145b15611d4f576001600160a01b038083166000908152600460209081526040808320805460ff1990811660019081179092556006909352922080549091169091179055601a805461ff00191661010017908190556201000090041661406257601a805462010000600160b01b0319163062010000021790555b6013805461ff001916610100179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200161233c565b8015158114611a2257600080fd5b600080604083850312156140c357600080fd5b82356140ce816140a2565b915060208301356140de816140a2565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614128576141286140e9565b604052919050565b600067ffffffffffffffff82111561414a5761414a6140e9565b5060051b60200190565b6001600160a01b0381168114611a2257600080fd5b600082601f83011261417a57600080fd5b8135602061418f61418a83614130565b6140ff565b82815260059290921b840181019181810190868411156141ae57600080fd5b8286015b848110156141d25780356141c581614154565b83529183019183016141b2565b509695505050505050565b600080604083850312156141f057600080fd5b823567ffffffffffffffff81111561420757600080fd5b61421385828601614169565b92505060208301356140de816140a2565b60005b8381101561423f578181015183820152602001614227565b50506000910152565b6020815260008251806020840152614267816040850160208701614224565b601f01601f19169190910160400192915050565b6000806040838503121561428e57600080fd5b823561429981614154565b946020939093013593505050565b6000602082840312156142b957600080fd5b813561390481614154565b6000806000606084860312156142d957600080fd5b83356142e481614154565b925060208401356142f481614154565b929592945050506040919091013590565b6000806040838503121561431857600080fd5b50508035926020909101359150565b6000806040838503121561433a57600080fd5b823567ffffffffffffffff8082111561435257600080fd5b61435e86838701614169565b935060209150818501358181111561437557600080fd5b85019050601f8101861361438857600080fd5b803561439661418a82614130565b81815260059190911b820183019083810190888311156143b557600080fd5b928401925b828410156143d3578335825292840192908401906143ba565b80955050505050509250929050565b803561ffff811681146143f457600080fd5b919050565b60008060006060848603121561440e57600080fd5b614417846143e2565b9250614425602085016143e2565b9150614433604085016143e2565b90509250925092565b6000806040838503121561444f57600080fd5b82356140ce81614154565b60006020828403121561446c57600080fd5b5035919050565b600080600080600060a0868803121561448b57600080fd5b853561449681614154565b945060208601356144a681614154565b935060408601356144b681614154565b925060608601356144c681614154565b915060808601356144d681614154565b809150509295509295909350565b600080604083850312156144f757600080fd5b823561450281614154565b915060208301356140de81614154565b60008083601f84011261452457600080fd5b50813567ffffffffffffffff81111561453c57600080fd5b6020830191508360208260051b850101111561455757600080fd5b9250929050565b60008060008060006060868803121561457657600080fd5b853567ffffffffffffffff8082111561458e57600080fd5b61459a89838a01614512565b909750955060208801359150808211156145b357600080fd5b506145c088828901614512565b90945092505060408601356144d681614154565b600080600080600060a086880312156145ec57600080fd5b6145f5866143e2565b9450614603602087016143e2565b9350614611604087016143e2565b925061461f606087016143e2565b915061462d608087016143e2565b90509295509295909350565b6000806000806080858703121561464f57600080fd5b5050823594602084013594506040840135936060013592509050565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b600081518084526020808501945080840160005b838110156146cf5781516001600160a01b0316875295820195908201906001016146aa565b509495945050505050565b6040815260006146ed6040830185614696565b905082151560208301529392505050565b600181811c9082168061471257607f821691505b60208210810361473257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561478957816000190482111561476f5761476f614738565b8085161561477c57918102915b93841c9390800290614753565b509250929050565b6000826147a057506001610e48565b816147ad57506000610e48565b81600181146147c357600281146147cd576147e9565b6001915050610e48565b60ff8411156147de576147de614738565b50506001821b610e48565b5060208310610133831016604e8410600b841016171561480c575081810a610e48565b614816838361474e565b806000190482111561482a5761482a614738565b029392505050565b600061390460ff841683614791565b60008261485e57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610e4857610e48614738565b81810381811115610e4857610e48614738565b634e487b7160e01b600052603260045260246000fd5b600061ffff8083168181036148ba576148ba614738565b6001019392505050565b80820180821115610e4857610e48614738565b600080604083850312156148ea57600080fd5b82516148f581614154565b60208401519092506140de81614154565b6000806040838503121561491957600080fd5b505080516020909101519092909150565b60006020828403121561493c57600080fd5b5051919050565b60006020828403121561495557600080fd5b8151613904816140a2565b600082601f83011261497157600080fd5b815167ffffffffffffffff81111561498b5761498b6140e9565b61499e601f8201601f19166020016140ff565b8181528460208386010111156149b357600080fd5b610f0a826020830160208701614224565b60008060008060008060c087890312156149dd57600080fd5b865167ffffffffffffffff808211156149f557600080fd5b614a018a838b01614960565b97506020890151915080821115614a1757600080fd5b50614a2489828a01614960565b95505060408701519350606087015192506080870151915060a087015190509295509295509295565b601f8211156111b257600081815260208120601f850160051c81016020861015614a745750805b601f850160051c820191505b81811015610cf157828155600101614a80565b815167ffffffffffffffff811115614aad57614aad6140e9565b614ac181614abb84546146fe565b84614a4d565b602080601f831160018114614af65760008415614ade5750858301515b600019600386901b1c1916600185901b178555610cf1565b600085815260208120601f198616915b82811015614b2557888601518255948401946001909101908401614b06565b5085821015614b435787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060018201614b6557614b65614738565b5060010190565b600080600060608486031215614b8157600080fd5b8351925060208401519150604084015190509250925092565b61ffff818116838216019080821115614bb557614bb5614738565b5092915050565b6020808252602d908201527f43616e6e6f74206265206c6f776572207468616e20302e3030303125206f662060408201526c3a37ba30b61039bab838363c9760991b606082015260800190565b600060208284031215614c1b57600080fd5b815161390481614154565b85815284602082015260a060408201526000614c4560a0830186614696565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220a49f323c3081814ae021f09793c37694d820db6337c2b0320c42052add1b396a64736f6c63430008130033