[ { "inputs": [ { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "uint256[]", "name": "fees", "type": "uint256[]" } ], "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": "address", "name": "excludedAddress", "type": "address" } ], "name": "ExcludeFromFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "excludedAddress", "type": "address" } ], "name": "ExcludeFromReward", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "includedAddress", "type": "address" } ], "name": "IncludeInFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "includedAddress", "type": "address" } ], "name": "IncludeInReward", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "OwnerForcedSwapBack", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "marketingFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "liquidityFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "reflectFee", "type": "uint256" } ], "name": "SetBuyFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "marketingFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "liquidityFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "reflectFee", "type": "uint256" } ], "name": "SetSellFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapAVAXForTokens", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "avaxReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "SwapAndLiquifyEnabledUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapTokensForAVAX", "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TransferForeignToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "dev", "type": "address" } ], "name": "UpdatedDevAddress", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "liquidity", "type": "address" } ], "name": "UpdatedLiquidityAddress", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "marketing", "type": "address" } ], "name": "UpdatedMarketingAddress", "type": "event" }, { "inputs": [], "name": "_buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyOperationsFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyTaxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_liquidityTokensToSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_operationToSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellOperationsFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellTaxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "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": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cashoutAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cashoutFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "blocktime", "type": "uint256" } ], "name": "cashoutReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "numberOfNodes", "type": "uint256" } ], "name": "createNodeWithTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "deadWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "disableTransferDelay", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "enableDisableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "forceBuyBack", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getUnlockTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromReward", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "routerAddress", "type": "address" } ], "name": "launch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityAddress", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "manualSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "maxNodesAllowed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransactionAmount", "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": "minimumTokensBeforeSwapAmount", "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": "nodeRewardManagement", "outputs": [ { "internalType": "contract NODERewardManagement", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "operationPoolAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "operationPoolFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" }, { "internalType": "bool", "name": "deductTransferFee", "type": "bool" } ], "name": "reflectionFromToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardsPoolAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardsPoolFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "buyTaxFee", "type": "uint256" }, { "internalType": "uint256", "name": "buyLiquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "buyOperationsFee", "type": "uint256" } ], "name": "setBuyFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "gas", "type": "uint256" } ], "name": "setGasPriceLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setIsExcluded", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_liquidityAddress", "type": "address" } ], "name": "setLiquidityAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "setNodeManagement", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sellTaxFee", "type": "uint256" }, { "internalType": "uint256", "name": "sellLiquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "sellOperationsFee", "type": "uint256" } ], "name": "setSellFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setSwapAndLiquifyEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "smoothingReserveAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "smoothingReserveFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapAndLiquifyEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "rAmount", "type": "uint256" } ], "name": "tokenFromReflection", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActiveBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "transferDelayEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "transferForeignToken", "outputs": [ { "internalType": "bool", "name": "_sent", "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": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "treasuryAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "treasuryFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IJoeRouter02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "updateCashoutFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "updateLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateMinimumTokensBeforeSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "updateOperationPoolFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "wall", "type": "address" } ], "name": "updateOperationReserveAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "updateRewardsFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "wall", "type": "address" } ], "name": "updateRewardsPoolAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "wall", "type": "address" } ], "name": "updateSmoothingReserveAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "updateSmoothingReserveFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "updateSwapOperationTokensThreshold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "updateSwapTreasureTokensThreshold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newVal", "type": "bool" } ], "name": "updateTransferDelayEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "wall", "type": "address" } ], "name": "updateTreasuryAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "updateUniswapV2Router", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "updateswapSmoothingTokensThreshold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdrawStuckAVAX", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdrawStuckTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526000600c819055600d80546001600160a01b03191661dead1790556064600e55600f8190556010819055601181905560128190556013819055601455601b805461010161ffff199091161790556200006969d3c21bcecceda100000060001962000962565b62000077906000196200098f565b601f5560215460225560235460245560006026819055602781905560288190556029819055602a8190556012602b556064602c55602d556033805460ff191660011790556409502f90006034556038805461ffff60a81b191690556040516200684138819003908190833981016040819052620000f49162000a8b565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060006001600160a01b03168260008151811062000156576200015662000b69565b60200260200101516001600160a01b031614158015620001a6575060006001600160a01b03168260018151811062000192576200019262000b69565b60200260200101516001600160a01b031614155b8015620001e3575060006001600160a01b031682600281518110620001cf57620001cf62000b69565b60200260200101516001600160a01b031614155b801562000220575060006001600160a01b0316826003815181106200020c576200020c62000b69565b60200260200101516001600160a01b031614155b620002a95760405162461bcd60e51b815260206004820152604860248201527f5245574152442c2054524541535552452c204f5045524154494f4e2c20534d4f60448201527f4f54494e47204f5220545245415355525920414444524553532043414e4e4f54606482015267204245205a45524f60c01b608482015260a4015b60405180910390fd5b81600081518110620002bf57620002bf62000b69565b6020026020010151600460006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160018151811062000303576200030362000b69565b6020026020010151600660006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160028151811062000347576200034762000b69565b6020026020010151600860006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816003815181106200038b576200038b62000b69565b6020026020010151600a60006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080600081518110620003cf57620003cf62000b69565b602002602001015160001415801562000406575080600181518110620003f957620003f962000b69565b6020026020010151600014155b80156200043157508060028151811062000424576200042462000b69565b6020026020010151600014155b80156200045c5750806003815181106200044f576200044f62000b69565b6020026020010151600014155b620004aa5760405162461bcd60e51b815260206004820152601460248201527f434f4e5354523a204665657320657175616c20300000000000000000000000006044820152606401620002a0565b80600081518110620004c057620004c062000b69565b602002602001015160058190555080600181518110620004e457620004e462000b69565b60200260200101516007819055508060028151811062000508576200050862000b69565b6020026020010151600b81905550806003815181106200052c576200052c62000b69565b60200260200101516009819055506064601f546200054b919062000b7f565b6200055890606462000b96565b3360009081526017602052604080822092909255308152908120556127106200058d69d3c21bcecceda1000000601962000b96565b62000599919062000b7f565b603055620186a0620005b769d3c21bcecceda1000000601962000b96565b620005c3919062000b7f565b6036556064620005df69d3c21bcecceda1000000600162000b96565b620005eb919062000b7f565b60325560008054601680546001600160a01b0319166001600160a01b0392831690811782558352601c60208190526040808520805460ff1990811660019081179092553087528287208054821683179055935490941685528420805490921683179091558451919290918590829062000668576200066862000b69565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601c600084600181518110620006c357620006c362000b69565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601c6000846002815181106200071e576200071e62000b69565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601c60008460038151811062000779576200077962000b69565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055620007ca620007c26000546001600160a01b031690565b6001620008c5565b620007d7306001620008c5565b620007e661dead6001620008c5565b620008168260008151811062000800576200080062000b69565b60200260200101516001620008c560201b60201c565b620008308260018151811062000800576200080062000b69565b6200084a8260028151811062000800576200080062000b69565b620008648260038151811062000800576200080062000b69565b3360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064620008a069d3c21bcecceda10000008262000b96565b620008ac919062000b7f565b60405190815260200160405180910390a3505062000bb8565b6000546001600160a01b03163314620009215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620002a0565b6001600160a01b03919091166000908152603160205260409020805460ff1916911515919091179055565b634e487b7160e01b600052601260045260246000fd5b6000826200097457620009746200094c565b500690565b634e487b7160e01b600052601160045260246000fd5b600082821015620009a457620009a462000979565b500390565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620009ea57620009ea620009a9565b604052919050565b60006001600160401b0382111562000a0e5762000a0e620009a9565b5060051b60200190565b600082601f83011262000a2a57600080fd5b8151602062000a4362000a3d83620009f2565b620009bf565b82815260059290921b8401810191818101908684111562000a6357600080fd5b8286015b8481101562000a80578051835291830191830162000a67565b509695505050505050565b6000806040838503121562000a9f57600080fd5b82516001600160401b038082111562000ab757600080fd5b818501915085601f83011262000acc57600080fd5b8151602062000adf62000a3d83620009f2565b82815260059290921b8401810191818101908984111562000aff57600080fd5b948201945b8386101562000b365785516001600160a01b038116811462000b265760008081fd5b8252948201949082019062000b04565b9188015191965090935050508082111562000b5057600080fd5b5062000b5f8582860162000a18565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008262000b915762000b916200094c565b500490565b600081600019048311821515161562000bb35762000bb362000979565b500290565b615c798062000bc86000396000f3fe6080604052600436106105275760003560e01c8063697e2f8e116102a2578063b70143c911610165578063e82a416d116100cc578063f2fde38b11610085578063f2fde38b14611062578063f6b6c8b814611082578063f8b45b05146110a2578063fb0a7494146110b8578063fd0ac917146110d8578063fe4bc80c146110f857600080fd5b8063e82a416d14610fcb578063e884f26014610fe1578063ea2f0b3714610ff6578063ecb42a7914611016578063ee40166e14611036578063efcc52de1461104c57600080fd5b8063c8c8ebe41161011e578063c8c8ebe414610f03578063cc32d17614610f19578063cce8505514610f2f578063cf8e2f8e14610f4f578063dc44b6a014610f6f578063dd62ed3e14610f8557600080fd5b8063b70143c914610e48578063bbc0c74214610e68578063c300b47914610e89578063c49b9a8014610ea9578063c5f956af14610ec9578063c876d0b914610ee957600080fd5b8063864bbf59116102095780639b581f1d116101c25780639b581f1d14610d83578063a073d37f14610da3578063a2065e7114610db8578063a457c2d714610dd8578063a9059cbb14610df8578063b62496f514610e1857600080fd5b8063864bbf5914610cb357806388790a6814610cc957806388f8202014610cdf5780638da5cb5b14610d1857806395d89b4114610d365780639a7a23d614610d6357600080fd5b80637e78c6721161025b5780637e78c67214610bfd57806381ccaf7b14610c13578063829d65ed14610c335780638366e79a14610c53578063841e456114610c7357806385141a7714610c9357600080fd5b8063697e2f8e14610b525780636d9ae0be14610b7257806370a0823114610b88578063715018a614610ba857806374326f5314610bbd5780637571336a14610bdd57600080fd5b806330879d7d116103ea578063525fa81f1161035157806365b8dbc01161030a57806365b8dbc014610a9c57806365bfe43014610abc57806366e3052614610adc5780636703794d14610af25780636748b4d614610b125780636815a91c14610b3257600080fd5b8063525fa81f146109e65780635342acb414610a065780635455797314610a3f578063557ed1ba14610a545780635e6710de14610a67578063602bc62b14610a8757600080fd5b8063437823ec116103a3578063437823ec146109265780634549b0391461094657806349bd5a5e146109665780634a62bb65146109865780634a74bb02146109a557806352390c02146109c657600080fd5b806330879d7d14610874578063313ce567146108945780633221c93f146108b05780633685d419146108d057806339509351146108f05780634047ea3e1461091057600080fd5b80631a6dae831161048e578063214013ca11610447578063214013ca146107b457806323b872dd146107d457806324fed132146107f457806325519cf214610814578063256fc2ff146108345780632d8381191461085457600080fd5b80631a6dae83146106f85780631c499ab0146107185780631c68372d146107385780631cdd3be31461074e5780631d865c301461077e578063200a692d1461079e57600080fd5b806310d5de53116104e057806310d5de531461062957806312247d8b1461065957806313114a9d1461066e578063157998441461068d5780631694505e146106a357806318160ddd146106db57600080fd5b806306fdde03146105335780630804375114610577578063084a6bff1461059957806309231602146105b9578063095ea7b3146105d9578063106b5da11461060957600080fd5b3661052e57005b600080fd5b34801561053f57600080fd5b50604080518082019091526009815268283937b532b1ba2c1960b91b60208201525b60405161056e919061574a565b60405180910390f35b34801561058357600080fd5b5061059761059236600461579f565b61110e565b005b3480156105a557600080fd5b506105976105b436600461579f565b611264565b3480156105c557600080fd5b506105976105d436600461579f565b611293565b3480156105e557600080fd5b506105f96105f43660046157cd565b6112d3565b604051901515815260200161056e565b34801561061557600080fd5b5061059761062436600461579f565b6112ea565b34801561063557600080fd5b506105f96106443660046157f9565b60316020526000908152604090205460ff1681565b34801561066557600080fd5b50610597611380565b34801561067a57600080fd5b506020545b60405190815260200161056e565b34801561069957600080fd5b5061067f60095481565b3480156106af57600080fd5b506037546106c3906001600160a01b031681565b6040516001600160a01b03909116815260200161056e565b3480156106e757600080fd5b5069d3c21bcecceda100000061067f565b34801561070457600080fd5b5061059761071336600461579f565b611483565b34801561072457600080fd5b5061059761073336600461579f565b6114b2565b34801561074457600080fd5b5061067f602b5481565b34801561075a57600080fd5b506105f96107693660046157f9565b60156020526000908152604090205460ff1681565b34801561078a57600080fd5b50610597610799366004615816565b611547565b3480156107aa57600080fd5b5061067f60295481565b3480156107c057600080fd5b506105976107cf3660046157f9565b61162d565b3480156107e057600080fd5b506105f96107ef366004615842565b611983565b34801561080057600080fd5b5061059761080f3660046157f9565b6119e7565b34801561082057600080fd5b5061059761082f366004615816565b611acb565b34801561084057600080fd5b5061059761084f36600461579f565b611ba8565b34801561086057600080fd5b5061067f61086f36600461579f565b611bd7565b34801561088057600080fd5b5061059761088f36600461579f565b611c5b565b3480156108a057600080fd5b506040516012815260200161056e565b3480156108bc57600080fd5b506016546106c3906001600160a01b031681565b3480156108dc57600080fd5b506105976108eb3660046157f9565b611cfe565b3480156108fc57600080fd5b506105f961090b3660046157cd565b611eb1565b34801561091c57600080fd5b5061067f602e5481565b34801561093257600080fd5b506105976109413660046157f9565b611ee7565b34801561095257600080fd5b5061067f610961366004615891565b611f65565b34801561097257600080fd5b506038546106c3906001600160a01b031681565b34801561099257600080fd5b50601b546105f990610100900460ff1681565b3480156109b157600080fd5b506038546105f990600160a81b900460ff1681565b3480156109d257600080fd5b506105976109e13660046157f9565b611ffa565b3480156109f257600080fd5b50610597610a013660046157f9565b6121e8565b348015610a1257600080fd5b506105f9610a213660046157f9565b6001600160a01b03166000908152601c602052604090205460ff1690565b348015610a4b57600080fd5b506105976122de565b348015610a6057600080fd5b504261067f565b348015610a7357600080fd5b50610597610a8236600461579f565b612611565b348015610a9357600080fd5b5060025461067f565b348015610aa857600080fd5b50610597610ab73660046157f9565b61268d565b348015610ac857600080fd5b50610597610ad736600461579f565b6129e4565b348015610ae857600080fd5b5061067f602f5481565b348015610afe57600080fd5b50610597610b0d36600461579f565b612d09565b348015610b1e57600080fd5b50610597610b2d36600461579f565b612d38565b348015610b3e57600080fd5b50610597610b4d36600461579f565b6133db565b348015610b5e57600080fd5b506003546106c3906001600160a01b031681565b348015610b7e57600080fd5b5061067f600c5481565b348015610b9457600080fd5b5061067f610ba33660046157f9565b61340a565b348015610bb457600080fd5b50610597613469565b348015610bc957600080fd5b506105f9610bd83660046158c1565b6134dd565b348015610be957600080fd5b50610597610bf83660046158de565b61353b565b348015610c0957600080fd5b5061067f600e5481565b348015610c1f57600080fd5b50600a546106c3906001600160a01b031681565b348015610c3f57600080fd5b506008546106c3906001600160a01b031681565b348015610c5f57600080fd5b506105f9610c6e36600461590c565b613590565b348015610c7f57600080fd5b50610597610c8e3660046157f9565b613798565b348015610c9f57600080fd5b50600d546106c3906001600160a01b031681565b348015610cbf57600080fd5b5061067f60055481565b348015610cd557600080fd5b5061067f602a5481565b348015610ceb57600080fd5b506105f9610cfa3660046157f9565b6001600160a01b03166000908152601d602052604090205460ff1690565b348015610d2457600080fd5b506000546001600160a01b03166106c3565b348015610d4257600080fd5b50604080518082019091526004815263282c2a1960e11b6020820152610561565b348015610d6f57600080fd5b50610597610d7e3660046158de565b613874565b348015610d8f57600080fd5b50610597610d9e3660046157f9565b61392c565b348015610daf57600080fd5b5060365461067f565b348015610dc457600080fd5b50610597610dd33660046158c1565b613a0b565b348015610de457600080fd5b506105f9610df33660046157cd565b613a48565b348015610e0457600080fd5b506105f9610e133660046157cd565b613a97565b348015610e2457600080fd5b506105f9610e333660046157f9565b60356020526000908152604090205460ff1681565b348015610e5457600080fd5b50610597610e6336600461579f565b613aa4565b348015610e7457600080fd5b506038546105f990600160b01b900460ff1681565b348015610e9557600080fd5b50610597610ea43660046157f9565b613b1b565b348015610eb557600080fd5b50610597610ec43660046158c1565b613bfc565b348015610ed557600080fd5b506006546106c3906001600160a01b031681565b348015610ef557600080fd5b50601b546105f99060ff1681565b348015610f0f57600080fd5b5061067f60305481565b348015610f2557600080fd5b5061067f60075481565b348015610f3b57600080fd5b506004546106c3906001600160a01b031681565b348015610f5b57600080fd5b50610597610f6a3660046158de565b613c73565b348015610f7b57600080fd5b5061067f60275481565b348015610f9157600080fd5b5061067f610fa036600461590c565b6001600160a01b03918216600090815260196020908152604080832093909416825291909152205490565b348015610fd757600080fd5b5061067f60285481565b348015610fed57600080fd5b506105f9613cc8565b34801561100257600080fd5b506105976110113660046157f9565b613d03565b34801561102257600080fd5b506105976110313660046158c1565b613d7e565b34801561104257600080fd5b5061067f602d5481565b34801561105857600080fd5b5061067f60265481565b34801561106e57600080fd5b5061059761107d3660046157f9565b613dcd565b34801561108e57600080fd5b5061059761109d36600461579f565b613eb7565b3480156110ae57600080fd5b5061067f60325481565b3480156110c457600080fd5b506105976110d33660046157f9565b613ee6565b3480156110e457600080fd5b506105976110f336600461579f565b613f88565b34801561110457600080fd5b5061067f600b5481565b6000546001600160a01b031633146111415760405162461bcd60e51b81526004016111389061593a565b60405180910390fd5b620186a061115a69d3c21bcecceda10000006001615985565b61116491906159a4565b8110156111d15760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401611138565b6103e86111e969d3c21bcecceda10000006005615985565b6111f391906159a4565b81111561125f5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401611138565b603655565b6000546001600160a01b0316331461128e5760405162461bcd60e51b81526004016111389061593a565b600555565b6000546001600160a01b031633146112bd5760405162461bcd60e51b81526004016111389061593a565b63a0eebb008110156112ce57600080fd5b603455565b60006112e0338484613fb7565b5060015b92915050565b6000546001600160a01b031633146113145760405162461bcd60e51b81526004016111389061593a565b670de0b6b3a76400006103e861133569d3c21bcecceda10000006002615985565b61133f91906159a4565b61134991906159a4565b8110156113685760405162461bcd60e51b8152600401611138906159c6565b61137a81670de0b6b3a7640000615985565b60305550565b6000546001600160a01b031633146113aa5760405162461bcd60e51b81526004016111389061593a565b60006113b53061340a565b90506113cd61271069d3c21bcecceda10000006159a4565b811015611444576040805162461bcd60e51b81526020600482015260248101919091527f43616e206f6e6c792073776170206261636b206966206d6f7265207468616e2060448201527f2e303125206f6620746f6b656e7320737475636b206f6e20636f6e74726163746064820152608401611138565b61144c6140db565b6040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb32906020015b60405180910390a150565b6000546001600160a01b031633146114ad5760405162461bcd60e51b81526004016111389061593a565b600b55565b6000546001600160a01b031633146114dc5760405162461bcd60e51b81526004016111389061593a565b670de0b6b3a764000060646114fc69d3c21bcecceda10000006001615985565b61150691906159a4565b61151091906159a4565b81101561152f5760405162461bcd60e51b8152600401611138906159c6565b61154181670de0b6b3a7640000615985565b60325550565b6000546001600160a01b031633146115715760405162461bcd60e51b81526004016111389061593a565b6029839055602a829055602b8190556107d08161158e8486615a15565b6115989190615a15565b11156115e65760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b6565702073656c6c2074617865732062656c6f772032302500006044820152606401611138565b60408051828152602081018490529081018490527f5ff33e060dbf96ff8c11eeadaaa320b34884dc8af8156d77ab6134d2bece22c3906060015b60405180910390a1505050565b6000546001600160a01b031633146116575760405162461bcd60e51b81526004016111389061593a565b603854600160b01b900460ff16156116c55760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b6064820152608401611138565b6116cd614284565b806116d981600161353b565b603780546001600160a01b0319166001600160a01b03831690811790915561170b9030906117068261340a565b613fb7565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176d9190615a2d565b6001600160a01b031663c9c6539630836001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117de9190615a2d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561182b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184f9190615a2d565b603880546001600160a01b0319166001600160a01b0392909216918217905561187990600161353b565b603854611890906001600160a01b031660016142b2565b600061189b3061340a565b116118f75760405162461bcd60e51b815260206004820152602660248201527f4d757374206861766520546f6b656e73206f6e20636f6e747261637420746f206044820152650d8c2eadcc6d60d31b6064820152608401611138565b600047116119535760405162461bcd60e51b8152602060048201526024808201527f4d75737420686176652041564158206f6e20636f6e747261637420746f206c616044820152630eadcc6d60e31b6064820152608401611138565b61195c336121e8565b61196e6119683061340a565b4761430d565b61197f602254602155602454602355565b5050565b60006119908484846143ba565b6119dd843361170685604051806060016040528060288152602001615bf7602891396001600160a01b038a1660009081526019602090815260408083203384529091529020549190614bdf565b5060019392505050565b6000546001600160a01b03163314611a115760405162461bcd60e51b81526004016111389061593a565b6001600160a01b038116611a7b5760405162461bcd60e51b815260206004820152602b60248201527f736d6f6f7468696e67526573657276654164647265737320616464726573732060448201526a063616e6e6f7420626520360ac1b6064820152608401611138565b600880546001600160a01b039081166000908152601c6020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b03163314611af55760405162461bcd60e51b81526004016111389061593a565b6026839055602782905560288190556105dc81611b128486615a15565b611b1c9190615a15565b1115611b6a5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206275792074617865732062656c6f77203135250000006044820152606401611138565b60408051848152602081018490529081018290527f4b44023290188702187818a2359a9d40279e516e5e9bbade40c321936a77362090606001611620565b6000546001600160a01b03163314611bd25760405162461bcd60e51b81526004016111389061593a565b601455565b6000601f54821115611c3e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401611138565b6000611c48614c19565b9050611c548382614c3c565b9392505050565b6000546001600160a01b03163314611c855760405162461bcd60e51b81526004016111389061593a565b60004711611ca55760405162461bcd60e51b815260040161113890615a4a565b47811115611cb05750475b604051600090339047908381818185875af1925050503d8060008114611cf2576040519150601f19603f3d011682016040523d82523d6000602084013e611cf7565b606091505b5050505050565b6000546001600160a01b03163314611d285760405162461bcd60e51b81526004016111389061593a565b6001600160a01b0381166000908152601d602052604090205460ff16611d905760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401611138565b60005b601e5481101561197f57816001600160a01b0316601e8281548110611dba57611dba615a81565b6000918252602090912001546001600160a01b03161415611e9f57601e8054611de590600190615a97565b81548110611df557611df5615a81565b600091825260209091200154601e80546001600160a01b039092169183908110611e2157611e21615a81565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152601882526040808220829055601d90925220805460ff19169055601e805480611e7957611e79615aae565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80611ea981615ac4565b915050611d93565b3360008181526019602090815260408083206001600160a01b038716845290915281205490916112e09185906117069086614c7e565b6000546001600160a01b03163314611f115760405162461bcd60e51b81526004016111389061593a565b6001600160a01b0381166000818152601c6020908152604091829020805460ff1916600117905590519182527f58c3e0504c69d3a92726966f152a771e0f8f6ad4daca1ae9055a38aba1fd2b629101611478565b600069d3c21bcecceda1000000831115611fc15760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401611138565b81611fe0576000611fd184614cdd565b509395506112e4945050505050565b6000611feb84614cdd565b509295506112e4945050505050565b6000546001600160a01b031633146120245760405162461bcd60e51b81526004016111389061593a565b6001600160a01b0381166000908152601d602052604090205460ff161561208d5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401611138565b601e5460329061209e906001615a15565b11156121285760405162461bcd60e51b815260206004820152604d60248201527f43616e6e6f74206578636c756465206d6f7265207468616e203530206163636f60448201527f756e74732e2020496e636c75646520612070726576696f75736c79206578636c60648201526c3ab232b21030b2323932b9b99760991b608482015260a401611138565b6001600160a01b03811660009081526017602052604090205415612182576001600160a01b03811660009081526017602052604090205461216890611bd7565b6001600160a01b0382166000908152601860205260409020555b6001600160a01b03166000818152601d60205260408120805460ff19166001908117909155601e805491820181559091527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3500180546001600160a01b0319169091179055565b6000546001600160a01b031633146122125760405162461bcd60e51b81526004016111389061593a565b6001600160a01b0381166122765760405162461bcd60e51b815260206004820152602560248201527f5f6c69717569646974794164647265737320616464726573732063616e6e6f74604482015264020626520360dc1b6064820152608401611138565b601680546001600160a01b0319166001600160a01b0383169081179091556000818152601c6020908152604091829020805460ff1916600117905590519182527f217742673c85d2f459a37c99960c860122cdadf529374b41418d2718cae7726f9101611478565b33806123405760405162461bcd60e51b815260206004820152602b60248201527f4d414e494120435348543a20206372656174696f6e2066726f6d20746865207a60448201526a65726f206164647265737360a81b6064820152608401611138565b600a546001600160a01b0382811691161480159061236c57506004546001600160a01b03828116911614155b6123de5760405162461bcd60e51b815260206004820152603860248201527f4d414e494120435348543a20667574757220616e642072657761726473506f6f60448201527f6c2063616e6e6f7420636173686f7574207265776172647300000000000000006064820152608401611138565b6003546040516330cd31af60e11b81526001600160a01b038381166004830152600092169063619a635e90602401602060405180830381865afa158015612429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244d9190615adf565b9050600081116124bc5760405162461bcd60e51b815260206004820152603460248201527f4d414e494120435348543a20596f7520646f6e2774206861766520656e6f75676044820152731a081c995dd85c99081d1bc818d85cda081bdd5d60621b6064820152608401611138565b600c541561256c576124cc614284565b60006124ef602c546124e9600c5485614d2c90919063ffffffff16565b90614c3c565b9050600061250d602c546124e9604b85614d2c90919063ffffffff16565b9050600061252b602c546124e9601986614d2c90919063ffffffff16565b600654909150612544906001600160a01b031683614dab565b50600a5461255b906001600160a01b031682614dab565b506125668385615a97565b93505050505b600454612583906001600160a01b03168383614e08565b600c541561259c5761259c602254602155602454602355565b60035460405163170a62c760e21b81526001600160a01b03848116600483015290911690635c298b1c906024016020604051808303816000875af11580156125e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260c9190615adf565b505050565b6000546001600160a01b0316331461263b5760405162461bcd60e51b81526004016111389061593a565b60006126463061340a565b116126635760405162461bcd60e51b815260040161113890615a4a565b61266c3061340a565b81111561267f5761267c3061340a565b90505b61268a303383614e08565b50565b6000546001600160a01b031633146126b75760405162461bcd60e51b81526004016111389061593a565b6001600160a01b0381166127055760405162461bcd60e51b8152602060048201526015602482015274524f555445522043414e4e4f54204245205a45524f60581b6044820152606401611138565b6037546001600160a01b03828116911614156127745760405162461bcd60e51b815260206004820152602860248201527f544b4e3a2054686520726f7574657220616c7265616479206861732074686174604482015267206164647265737360c01b6064820152608401611138565b603780546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa1580156127d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f49190615a2d565b6001600160a01b031663c9c6539630603760009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061287a9190615a2d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156128c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128eb9190615a2d565b603880546001600160a01b0319166001600160a01b0383811691909117909155603754919250612921913091166117068261340a565b60385461293c9030906001600160a01b03166117068261340a565b306000908152601d60205260409020805460ff19166001908117909155603854612972916001600160a01b03919091169061353b565b603754612989906001600160a01b0316600161353b565b6038546129a0906001600160a01b031660016142b2565b6037546040516001600160a01b0390911681527f0c36f1f3a0f38cd9563b52fb110cc5b0fa22c509defc16728a6a42f1bddad2299060200160405180910390a15050565b3380612a405760405162461bcd60e51b815260206004820152602560248201527f435348543a20206372656174696f6e2066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401611138565b600a546001600160a01b03828116911614801590612a6c57506004546001600160a01b03828116911614155b612ad35760405162461bcd60e51b815260206004820152603260248201527f435348543a20667574757220616e642072657761726473506f6f6c2063616e6e6044820152716f7420636173686f7574207265776172647360701b6064820152608401611138565b6003546040516329b8573160e21b81526001600160a01b03838116600483015260248201859052600092169063a6e15cc490604401602060405180830381865afa158015612b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b499190615adf565b905060008111612bb25760405162461bcd60e51b815260206004820152602e60248201527f435348543a20596f7520646f6e2774206861766520656e6f756768207265776160448201526d1c99081d1bc818d85cda081bdd5d60921b6064820152608401611138565b600c5415612c5c57612bc2614284565b6000612bdf602c546124e9600c5485614d2c90919063ffffffff16565b90506000612bfd602c546124e9604b85614d2c90919063ffffffff16565b90506000612c1b602c546124e9601986614d2c90919063ffffffff16565b600654909150612c34906001600160a01b031683614dab565b50600a54612c4b906001600160a01b031682614dab565b50612c568385615a97565b93505050505b600454612c73906001600160a01b03168383614e08565b600c5415612c8c57612c8c602254602155602454602355565b60035460405163376db80160e11b81526001600160a01b0384811660048301526024820186905290911690636edb7002906044016020604051808303816000875af1158015612cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d039190615adf565b50505050565b6000546001600160a01b03163314612d335760405162461bcd60e51b81526004016111389061593a565b601355565b3381612d9b5760405162461bcd60e51b815260206004820152602c60248201527f4e4f4445204352454154494f4e3a20206e756d626572206f66206e6f6465732060448201526b63616e74206265207a65726f60a01b6064820152608401611138565b6001600160a01b038116612e085760405162461bcd60e51b815260206004820152602e60248201527f4e4f4445204352454154494f4e3a20206372656174696f6e2066726f6d20746860448201526d65207a65726f206164647265737360901b6064820152608401611138565b6001600160a01b03811660009081526015602052604090205460ff1615612e415760405162461bcd60e51b815260040161113890615af8565b600a546001600160a01b03828116911614801590612e6d57506004546001600160a01b03828116911614155b612ef55760405162461bcd60e51b815260206004820152604d60248201527f4e4f4445204352454154494f4e3a206f7065726174696f6e506f6f6c4164647260448201527f65737320616e642072657761726473506f6f6c416464726573732063616e6e6f60648201526c7420637265617465206e6f646560981b608482015260a401611138565b60035460408051631e3fd85760e31b815290516000926001600160a01b03169163f1fec2b89160048083019260209291908290030181865afa158015612f3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f639190615adf565b9050612f6f8184614d2c565b612f788361340a565b1015612fdb5760405162461bcd60e51b815260206004820152602c60248201527f4e4f4445204352454154494f4e3a2042616c616e636520746f6f206c6f77206660448201526b37b91031b932b0ba34b7b71760a11b6064820152608401611138565b60035460405163112469f960e21b81526001600160a01b0384811660048301526000921690634491a7e490602401602060405180830381865afa158015613026573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304a9190615adf565b600e5490915061305a8583615a15565b11156130a85760405162461bcd60e51b815260206004820181905260248201527f4e4f4445204352454154494f4e3a204d4158204e4f44455320435245415445446044820152606401611138565b600060055411806130bb57506000600754115b806130c857506000600954115b806130d557506000600b54115b156131f3576130e2614284565b60006130ff602c546124e960055486614d2c90919063ffffffff16565b9050600061311e602c546124e960075487614d2c90919063ffffffff16565b9050600061313d602c546124e960095488614d2c90919063ffffffff16565b9050600061315c602c546124e9600b5489614d2c90919063ffffffff16565b60055490915015613188576004546131889030906001600160a01b0316613183878c614d2c565b614e08565b600754156131aa576131a661319d848a614d2c565b600f5490614c7e565b600f555b600954156131cc576131c86131bf838a614d2c565b60105490614c7e565b6010555b600b54156131ee576131ea6131e1828a614d2c565b60115490614c7e565b6011555b505050505b601254600f541061326957600654601254613217916001600160a01b031690614dab565b6132635760405162461bcd60e51b815260206004820152601b60248201527f737761705472656173757265546f6b656e735468726573686f6c6400000000006044820152606401611138565b6000600f555b601454601154106132df57600a5460145461328d916001600160a01b031690614dab565b6132d95760405162461bcd60e51b815260206004820152601c60248201527f737761704f7065726174696f6e546f6b656e735468726573686f6c64000000006044820152606401611138565b60006011555b6013546010541061335557600854601354613303916001600160a01b031690614dab565b61334f5760405162461bcd60e51b815260206004820152601c60248201527f73776170536d6f6f7468696e67546f6b656e735468726573686f6c64000000006044820152606401611138565b60006010555b61336483306131838588614d2c565b6003546040516312833e0960e01b81526001600160a01b03858116600483015260248201879052909116906312833e0990604401600060405180830381600087803b1580156133b257600080fd5b505af11580156133c6573d6000803e3d6000fd5b50505050612d03602254602155602454602355565b6000546001600160a01b031633146134055760405162461bcd60e51b81526004016111389061593a565b600c55565b6001600160a01b0381166000908152601d602052604081205460ff161561344757506001600160a01b031660009081526018602052604090205490565b6001600160a01b0382166000908152601760205260409020546112e490611bd7565b6000546001600160a01b031633146134935760405162461bcd60e51b81526004016111389061593a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b031633146135085760405162461bcd60e51b81526004016111389061593a565b50601b80546033805460ff1990811685151590811790925561010082021661ffff19909216919091171790556001919050565b6000546001600160a01b031633146135655760405162461bcd60e51b81526004016111389061593a565b6001600160a01b03919091166000908152603160205260409020805460ff1916911515919091179055565b600080546001600160a01b031633146135bb5760405162461bcd60e51b81526004016111389061593a565b6001600160a01b0383166136115760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401611138565b6001600160a01b03831630141561366a5760405162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e73000000006044820152606401611138565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156136b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136d59190615adf565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015613728573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374c9190615b3a565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6000546001600160a01b031633146137c25760405162461bcd60e51b81526004016111389061593a565b6001600160a01b0381166138245760405162461bcd60e51b815260206004820152602360248201527f74726561737572794164647265737320616464726573732063616e6e6f74206260448201526206520360ec1b6064820152608401611138565b600680546001600160a01b039081166000908152601c6020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b0316331461389e5760405162461bcd60e51b81526004016111389061593a565b6038546001600160a01b03838116911614156139225760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401611138565b61197f82826142b2565b6000546001600160a01b031633146139565760405162461bcd60e51b81526004016111389061593a565b6001600160a01b0381166139bb5760405162461bcd60e51b815260206004820152602660248201527f72657761726473506f6f6c4164647265737320616464726573732063616e6e6f60448201526507420626520360d41b6064820152608401611138565b600480546001600160a01b039081166000908152601c6020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b03163314613a355760405162461bcd60e51b81526004016111389061593a565b601b805460ff1916911515919091179055565b60006112e0338461170685604051806060016040528060258152602001615c1f602591393360009081526019602090815260408083206001600160a01b038d1684529091529020549190614bdf565b60006112e03384846143ba565b6000546001600160a01b03163314613ace5760405162461bcd60e51b81526004016111389061593a565b6000613ad93061340a565b11613af65760405162461bcd60e51b815260040161113890615a4a565b613aff3061340a565b811115613b1257613b0f3061340a565b90505b61268a81614f05565b6000546001600160a01b03163314613b455760405162461bcd60e51b81526004016111389061593a565b6001600160a01b038116613bac5760405162461bcd60e51b815260206004820152602860248201527f6f7065726174696f6e506f6f6c4164647265737320616464726573732063616e60448201526706e6f7420626520360c41b6064820152608401611138565b600a80546001600160a01b039081166000908152601c6020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b03163314613c265760405162461bcd60e51b81526004016111389061593a565b60388054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061147890831515815260200190565b6000546001600160a01b03163314613c9d5760405162461bcd60e51b81526004016111389061593a565b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b600080546001600160a01b03163314613cf35760405162461bcd60e51b81526004016111389061593a565b50601b805460ff19169055600190565b6000546001600160a01b03163314613d2d5760405162461bcd60e51b81526004016111389061593a565b6001600160a01b0381166000818152601c6020908152604091829020805460ff1916905590519182527f4f6a6b6efe34ec6478021aa9fb7f6980e78ea3a10c74074a8ce49d5d3ebf1f7e9101611478565b6000546001600160a01b03163314613da85760405162461bcd60e51b81526004016111389061593a565b6038805460ff60b01b1916600160b01b83151502179055602d5461268a5743602d5550565b6000546001600160a01b03163314613df75760405162461bcd60e51b81526004016111389061593a565b6001600160a01b038116613e5c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611138565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314613ee15760405162461bcd60e51b81526004016111389061593a565b600955565b6000546001600160a01b03163314613f105760405162461bcd60e51b81526004016111389061593a565b6001600160a01b038116613f665760405162461bcd60e51b815260206004820152601b60248201527f4e4f4445204d414e414745522043414e4e4f54204245205a45524f00000000006044820152606401611138565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314613fb25760405162461bcd60e51b81526004016111389061593a565b601255565b6001600160a01b0383166140195760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401611138565b6001600160a01b03821661407a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401611138565b6001600160a01b0383811660008181526019602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6038805460ff60a01b1916600160a01b17905560006140f93061340a565b90506000602f54602e5461410d9190615a15565b9050603654600a61411e9190615985565b82106141355760365461413290600a615985565b91505b811580614140575080155b1561414c575050614275565b6000600282602e548561415f9190615985565b61416991906159a4565b61417391906159a4565b90506000614181848361505f565b90504761418d82614f05565b6000614199478361505f565b905060006141b6866124e9602f5485614d2c90919063ffffffff16565b905060006141c48284615a97565b6000602e819055602f819055600a546040519293506001600160a01b03169184156108fc0291859190818181858888f1935050505015801561420a573d6000803e3d6000fd5b5060008611801561421b5750600081115b1561426c5761422a868261430d565b60408051868152602081018390529081018790527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b50505050505050505b6038805460ff60a01b19169055565b6021541580156142945750602354155b1561429b57565b602180546022556023805460245560009182905555565b6001600160a01b038216600090815260356020908152604080832080548515801560ff19928316811790935560319094529190932080549091169092179091556142ff576142ff82611ffa565b8061197f5761197f82611cfe565b6037546143259030906001600160a01b031684613fb7565b603754601654604051637c8d9fb960e11b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f91b3f7290839060c40160606040518083038185885af1158015614395573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cf79190615b57565b6001600160a01b03831661441e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401611138565b6001600160a01b0382166144805760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401611138565b600081116144e25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401611138565b6001600160a01b03831660009081526015602052604090205460ff161561451b5760405162461bcd60e51b815260040161113890615af8565b603854600160b01b900460ff166145b7576001600160a01b0383166000908152601c602052604090205460ff168061456b57506001600160a01b0382166000908152601c602052604090205460ff165b6145b75760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420616374697665207965742e0000000000006044820152606401611138565b601b54610100900460ff16156149ff576000546001600160a01b038481169116148015906145f357506000546001600160a01b03838116911614155b801561460757506001600160a01b03821615155b801561461e57506001600160a01b03821661dead14155b80156146345750603854600160a01b900460ff16155b156149ff5760335460ff16801561466357506001600160a01b03831660009081526035602052604090205460ff165b156146ba576034543a11156146ba5760405162461bcd60e51b815260206004820152601860248201527f4761732070726963652065786365656473206c696d69742e00000000000000006044820152606401611138565b601b5460ff16156147b9576000546001600160a01b038381169116148015906146f157506037546001600160a01b03838116911614155b801561470b57506038546001600160a01b03838116911614155b156147b957326000908152601a602052604090205443116147a65760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401611138565b326000908152601a602052604090204390555b6001600160a01b03831660009081526035602052604090205460ff1680156147fa57506001600160a01b03821660009081526031602052604090205460ff16155b156148ce5760305481111561486f5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401611138565b60325461487b8361340a565b6148859083615a15565b11156148c95760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b6044820152606401611138565b6149ff565b6001600160a01b03821660009081526035602052604090205460ff16801561490f57506001600160a01b03831660009081526031602052604090205460ff16155b15614985576030548111156148c95760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401611138565b6001600160a01b03821660009081526031602052604090205460ff166149ff576032546149b18361340a565b6149bb9083615a15565b11156149ff5760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b6044820152606401611138565b6000614a0a3061340a565b60365460385491925082101590600160a01b900460ff16158015614a375750603854600160a81b900460ff165b8015614a585750603854600090614a56906001600160a01b031661340a565b115b8015614a7d57506001600160a01b0384166000908152601c602052604090205460ff16155b8015614aa257506001600160a01b0385166000908152601c602052604090205460ff16155b8015614ac657506001600160a01b03841660009081526035602052604090205460ff165b8015614acf5750805b15614adc57614adc6140db565b614ae4614284565b60036025556001600160a01b0385166000908152601c602052604090205460ff16158015614b2b57506001600160a01b0384166000908152601c602052604090205460ff16155b15614bc3576001600160a01b03851660009081526035602052604090205460ff1615614b7c57602654602155602854602754614b679190615a15565b602381905515614b775760016025555b614bc3565b6001600160a01b03841660009081526035602052604090205460ff1615614bc357602954602155602b54602a54614bb39190615a15565b602381905515614bc35760026025555b614bce858585614e08565b611cf7602254602155602454602355565b60008184841115614c035760405162461bcd60e51b8152600401611138919061574a565b506000614c108486615a97565b95945050505050565b6000806000614c266150a1565b9092509050614c358282614c3c565b9250505090565b6000611c5483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250615241565b600080614c8b8385615a15565b905083811015611c545760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401611138565b6000806000806000806000806000614cf48a61526f565b9250925092506000806000614d128d8686614d0d614c19565b6152b1565b919f909e50909c50959a5093985091965092945050505050565b600082614d3b575060006112e4565b6000614d478385615985565b905082614d5485836159a4565b14611c545760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401611138565b600047614db783614f05565b6000614dc3478361505f565b6040519091506001600160a01b0386169082156108fc029083906000818181858888f19350505050158015614dfc573d6000803e3d6000fd5b50600195945050505050565b6001600160a01b0383166000908152601d602052604090205460ff168015614e4957506001600160a01b0382166000908152601d602052604090205460ff16155b15614e595761260c838383615301565b6001600160a01b0383166000908152601d602052604090205460ff16158015614e9a57506001600160a01b0382166000908152601d602052604090205460ff165b15614eaa5761260c838383615427565b6001600160a01b0383166000908152601d602052604090205460ff168015614eea57506001600160a01b0382166000908152601d602052604090205460ff165b15614efa5761260c8383836154d0565b61260c838383615543565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110614f3a57614f3a615a81565b6001600160a01b03928316602091820292909201810191909152603754604080516339d94ae160e11b8152905191909316926373b295c29260048083019391928290030181865afa158015614f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614fb79190615a2d565b81600181518110614fca57614fca615a81565b6001600160a01b039283166020918202929092010152603754614ff09130911684613fb7565b603754604051633b158ab160e11b81526001600160a01b039091169063762b156290615029908590600090869030904290600401615b85565b600060405180830381600087803b15801561504357600080fd5b505af1158015615057573d6000803e3d6000fd5b505050505050565b6000611c5483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614bdf565b601f54600090819069d3c21bcecceda1000000825b601e54811015615202578260176000601e84815481106150d8576150d8615a81565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061514357508160186000601e848154811061511c5761511c615a81565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15615160575050601f549369d3c21bcecceda10000009350915050565b6151a660176000601e848154811061517a5761517a615a81565b60009182526020808320909101546001600160a01b03168352820192909252604001902054849061505f565b92506151ee60186000601e84815481106151c2576151c2615a81565b60009182526020808320909101546001600160a01b03168352820192909252604001902054839061505f565b9150806151fa81615ac4565b9150506150b6565b50601f5461521a9069d3c21bcecceda1000000614c3c565b821015615238575050601f549269d3c21bcecceda100000092509050565b90939092509050565b600081836152625760405162461bcd60e51b8152600401611138919061574a565b506000614c1084866159a4565b60008060008061527e85615587565b9050600061528b866155a4565b905060006152a38261529d898661505f565b9061505f565b979296509094509092505050565b60008080806152c08886614d2c565b905060006152ce8887614d2c565b905060006152dc8888614d2c565b905060006152ee8261529d868661505f565b939b939a50919850919650505050505050565b60008060008060008061531387614cdd565b6001600160a01b038f16600090815260186020526040902054959b50939950919750955093509150615345908861505f565b6001600160a01b038a16600090815260186020908152604080832093909355601790522054615374908761505f565b6001600160a01b03808b1660009081526017602052604080822093909355908a16815220546153a39086614c7e565b6001600160a01b0389166000908152601760205260409020556153c5816155c1565b6153cf8483615726565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161541491815260200190565b60405180910390a3505050505050505050565b60008060008060008061543987614cdd565b6001600160a01b038f16600090815260176020526040902054959b5093995091975095509350915061546b908761505f565b6001600160a01b03808b16600090815260176020908152604080832094909455918b168152601890915220546154a19084614c7e565b6001600160a01b0389166000908152601860209081526040808320939093556017905220546153a39086614c7e565b6000806000806000806154e287614cdd565b6001600160a01b038f16600090815260186020526040902054959b50939950919750955093509150615514908861505f565b6001600160a01b038a1660009081526018602090815260408083209390935560179052205461546b908761505f565b60008060008060008061555587614cdd565b6001600160a01b038f16600090815260176020526040902054959b50939950919750955093509150615374908761505f565b60006112e4602c546124e960215485614d2c90919063ffffffff16565b60006112e4602c546124e960235485614d2c90919063ffffffff16565b60016025541415615632576023546027546155dc9083615985565b6155e691906159a4565b602e60008282546155f79190615a15565b909155505060235460285461560c9083615985565b61561691906159a4565b602f60008282546156279190615a15565b9091555061569e9050565b6002602554141561569e57602354602a5461564d9083615985565b61565791906159a4565b602e60008282546156689190615a15565b9091555050602354602b5461567d9083615985565b61568791906159a4565b602f60008282546156989190615a15565b90915550505b60006156a8614c19565b905060006156b68383614d2c565b306000908152601760205260409020549091506156d39082614c7e565b30600090815260176020908152604080832093909355601d9052205460ff161561260c57306000908152601860205260409020546157119084614c7e565b30600090815260186020526040902055505050565b601f54615733908361505f565b601f556020546157439082614c7e565b6020555050565b600060208083528351808285015260005b818110156157775785810183015185820160400152820161575b565b81811115615789576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156157b157600080fd5b5035919050565b6001600160a01b038116811461268a57600080fd5b600080604083850312156157e057600080fd5b82356157eb816157b8565b946020939093013593505050565b60006020828403121561580b57600080fd5b8135611c54816157b8565b60008060006060848603121561582b57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561585757600080fd5b8335615862816157b8565b92506020840135615872816157b8565b929592945050506040919091013590565b801515811461268a57600080fd5b600080604083850312156158a457600080fd5b8235915060208301356158b681615883565b809150509250929050565b6000602082840312156158d357600080fd5b8135611c5481615883565b600080604083850312156158f157600080fd5b82356158fc816157b8565b915060208301356158b681615883565b6000806040838503121561591f57600080fd5b823561592a816157b8565b915060208301356158b6816157b8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561599f5761599f61596f565b500290565b6000826159c157634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602f908201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060408201526e6c6f776572207468616e20302e322560881b606082015260800190565b60008219821115615a2857615a2861596f565b500190565b600060208284031215615a3f57600080fd5b8151611c54816157b8565b60208082526018908201527f436f6e74726163742062616c616e6365206973207a65726f0000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600082821015615aa957615aa961596f565b500390565b634e487b7160e01b600052603160045260246000fd5b6000600019821415615ad857615ad861596f565b5060010190565b600060208284031215615af157600080fd5b5051919050565b60208082526022908201527f4e4f4445204352454154494f4e3a20426c61636b6c6973746564206164647265604082015261737360f01b606082015260800190565b600060208284031215615b4c57600080fd5b8151611c5481615883565b600080600060608486031215615b6c57600080fd5b8351925060208401519150604084015190509250925092565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015615bd55784516001600160a01b031683529383019391830191600101615bb0565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122052e8305dcf7d708697de94143f7cb6bbe120489b01cb7ca42bb871217873752264736f6c634300080b0033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000adbf6ee98f86d5c234d60662639d0c067818294e00000000000000000000000068041dc29775c9ee6e10671204895593e4b6330f00000000000000000000000092e01e2f29084ddaf3d099fb56191edae066f0e90000000000000000000000004a4082ac05a0a6faaf5e2283e24c1b1df2870556000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001