[ { "inputs": [ { "internalType": "address[]", "name": "payees", "type": "address[]" }, { "internalType": "uint256[]", "name": "shares", "type": "uint256[]" }, { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "uint256[]", "name": "balances", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "fees", "type": "uint256[]" }, { "internalType": "uint256", "name": "swapAmount", "type": "uint256" }, { "internalType": "address", "name": "uniV2Router", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "contract IERC20", "name": "token", "type": "address" }, { "indexed": false, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ERC20PaymentReleased", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newLiquidityWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldLiquidityWallet", "type": "address" } ], "name": "LiquidityWalletUpdated", "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": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "PayeeAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "PaymentReceived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "PaymentReleased", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiqudity", "type": "uint256" } ], "name": "SwapAndLiquify", "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": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "blacklistMalicious", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "boostReward", "outputs": [], "stateMutability": "nonpayable", "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": "bool", "name": "newMode", "type": "bool" } ], "name": "changeAutoDistri", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newTime", "type": "uint256" } ], "name": "changeClaimTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newGasDistri", "type": "uint256" } ], "name": "changeGasDistri", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNodePrice", "type": "uint256" } ], "name": "changeNodePrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newPrice", "type": "uint256" } ], "name": "changeRewardPerNode", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newVal", "type": "bool" } ], "name": "changeSwapLiquify", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string" } ], "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": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "distributeRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "distributionPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "futurFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "futurUsePool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getAutoDistri", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getClaimTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDistriCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getGasDistri", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getNodeNumberOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNodePrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNodesCreatime", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNodesLastClaims", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNodesNames", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNodesRewards", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRewardAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getRewardAmountOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRewardPerNode", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTotalCreatedNodes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTotalStakedReward", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "liquidityPoolFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nodeRewardManager", "outputs": [ { "internalType": "contract NODERewardManagement", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "payee", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "publiDistriRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "account", "type": "address" } ], "name": "release", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "token", "type": "address" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "release", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "token", "type": "address" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "released", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "released", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardsFee", "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": "address", "name": "nodeManagement", "type": "address" } ], "name": "setNodeManagement", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "shares", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "token", "type": "address" } ], "name": "totalReleased", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalReleased", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalShares", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "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": "uint256", "name": "value", "type": "uint256" } ], "name": "updateFuturFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "wall", "type": "address" } ], "name": "updateFuturWall", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "updateLiquiditFee", "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": "updateRewardsWall", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "updateRwSwapFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newVal", "type": "uint256" } ], "name": "updateSwapTokensAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "updateUniswapV2Router", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052601280546001600160a01b03191661dead1790556019805461ffff19166101001790553480156200003457600080fd5b5060405162005cdc38038062005cdc833981016040819052620000579162000cef565b604080518082018252600e81526d4368726973746d61734e6f64657360901b602080830191825283518085019094526009845268586d61734e6f64657360b81b9084015281518a938a93929091620000b29160039162000b31565b508051620000c890600490602084019062000b31565b5050506000620000dd6200083c60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508051825114620001585760405162461bcd60e51b81526004016200014f9062001051565b60405180910390fd5b60008251116200017c5760405162461bcd60e51b81526004016200014f906200116e565b60005b82518110156200020057620001eb838281518110620001ae57634e487b7160e01b600052603260045260246000fd5b6020026020010151838381518110620001d757634e487b7160e01b600052603260045260246000fd5b60200260200101516200084060201b60201c565b80620001f781620012e8565b9150506200017f565b505050846004815181106200022557634e487b7160e01b600052603260045260246000fd5b6020026020010151601060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550846005815181106200027557634e487b7160e01b600052603260045260246000fd5b6020908102919091010151601180546001600160a01b0319166001600160a01b039283161790556010541615801590620002b957506011546001600160a01b031615155b620002d85760405162461bcd60e51b81526004016200014f9062000e9c565b6001600160a01b038116620003015760405162461bcd60e51b81526004016200014f9062000f75565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200034257600080fd5b505afa15801562000357573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037d919062000cd2565b6001600160a01b031663c9c6539630846001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b158015620003c657600080fd5b505afa158015620003db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000401919062000cd2565b6040518363ffffffff1660e01b81526004016200042092919062000de6565b602060405180830381600087803b1580156200043b57600080fd5b505af115801562000450573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000476919062000cd2565b600e80546001600160a01b038086166001600160a01b031992831617909255600f8054928416929091169190911790559050620004b581600162000972565b84600081518110620004d757634e487b7160e01b600052603260045260246000fd5b60200260200101516000141580156200051a5750846001815181106200050d57634e487b7160e01b600052603260045260246000fd5b6020026020010151600014155b8015620005515750846002815181106200054457634e487b7160e01b600052603260045260246000fd5b6020026020010151600014155b8015620005885750846003815181106200057b57634e487b7160e01b600052603260045260246000fd5b6020026020010151600014155b620005a75760405162461bcd60e51b81526004016200014f9062000e19565b84600081518110620005c957634e487b7160e01b600052603260045260246000fd5b602002602001015160158190555084600181518110620005f957634e487b7160e01b600052603260045260246000fd5b6020026020010151601381905550846002815181106200062957634e487b7160e01b600052603260045260246000fd5b6020026020010151601481905550846003815181106200065957634e487b7160e01b600052603260045260246000fd5b6020026020010151601781905550846004815181106200068957634e487b7160e01b600052603260045260246000fd5b6020026020010151601881905550620006d0601554620006bc60145460135462000a0860201b62002fea1790919060201c565b62000a0860201b62002fea1790919060201c565b601655865115801590620006e5575060008651115b620007045760405162461bcd60e51b81526004016200014f9062000ee1565b8551875114620007285760405162461bcd60e51b81526004016200014f9062001009565b60005b8751811015620007bb57620007a68882815181106200075a57634e487b7160e01b600052603260045260246000fd5b60200260200101518883815181106200078357634e487b7160e01b600052603260045260246000fd5b6020026020010151670de0b6b3a7640000620007a0919062001289565b62000a43565b80620007b281620012e8565b9150506200072b565b50620007c662000b26565b6a10ebe24297ce6ff43c000014620007f25760405162461bcd60e51b81526004016200014f9062001125565b60008411620008155760405162461bcd60e51b81526004016200014f90620010a3565b6200082984670de0b6b3a764000062001289565b601a555062001332975050505050505050565b3390565b6001600160a01b038216620008695760405162461bcd60e51b81526004016200014f9062000e50565b600081116200088c5760405162461bcd60e51b81526004016200014f90620011a5565b6001600160a01b03821660009081526008602052604090205415620008c55760405162461bcd60e51b81526004016200014f90620010da565b600a8054600181019091557fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319166001600160a01b03841690811790915560009081526008602052604090208190556006546200092f9082906200126e565b6006556040517f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac9062000966908490849062000e00565b60405180910390a15050565b6001600160a01b0382166000908152601c602052604090205460ff1615158115151415620009b45760405162461bcd60e51b81526004016200014f9062000fac565b6001600160a01b0382166000818152601c6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b60008062000a1783856200126e565b90508381101562000a3c5760405162461bcd60e51b81526004016200014f9062000f3e565b9392505050565b6001600160a01b03821662000a6c5760405162461bcd60e51b81526004016200014f90620011dc565b62000a7a6000838362000b2c565b62000a968160025462000a0860201b62002fea1790919060201c565b6002556001600160a01b0382166000908152602081815260409091205462000ac991839062002fea62000a08821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062000b1a90859062001213565b60405180910390a35050565b60025490565b505050565b82805462000b3f90620012ab565b90600052602060002090601f01602090048101928262000b63576000855562000bae565b82601f1062000b7e57805160ff191683800117855562000bae565b8280016001018555821562000bae579182015b8281111562000bae57825182559160200191906001019062000b91565b5062000bbc92915062000bc0565b5090565b5b8082111562000bbc576000815560010162000bc1565b80516001600160a01b038116811462000bef57600080fd5b919050565b600082601f83011262000c05578081fd5b8151602062000c1e62000c188362001248565b6200121c565b828152818101908583018385028701840188101562000c3b578586fd5b855b8581101562000c645762000c518262000bd7565b8452928401929084019060010162000c3d565b5090979650505050505050565b600082601f83011262000c82578081fd5b8151602062000c9562000c188362001248565b828152818101908583018385028701840188101562000cb2578586fd5b855b8581101562000c645781518452928401929084019060010162000cb4565b60006020828403121562000ce4578081fd5b62000a3c8262000bd7565b600080600080600080600060e0888a03121562000d0a578283fd5b87516001600160401b038082111562000d21578485fd5b62000d2f8b838c0162000bf4565b985060208a015191508082111562000d45578485fd5b62000d538b838c0162000c71565b975060408a015191508082111562000d69578485fd5b62000d778b838c0162000bf4565b965060608a015191508082111562000d8d578485fd5b62000d9b8b838c0162000c71565b955060808a015191508082111562000db1578485fd5b5062000dc08a828b0162000c71565b93505060a0880151915062000dd860c0890162000bd7565b905092959891949750929550565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b60208082526014908201527f434f4e5354523a204665657320657175616c2030000000000000000000000000604082015260600190565b6020808252602c908201527f5061796d656e7453706c69747465723a206163636f756e74206973207468652060408201526b7a65726f206164647265737360a01b606082015260800190565b60208082526025908201527f465554555220262052455741524420414444524553532043414e4e4f54204245604082015264205a45524f60d81b606082015260800190565b60208082526038908201527f434f4e5354523a20616464726573736573206172726179206c656e677468206d60408201527f7573742062652067726561746572207468616e207a65726f0000000000000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526015908201527f524f555445522043414e4e4f54204245205a45524f0000000000000000000000604082015260600190565b6020808252603d908201527f544b4e3a204175746f6d61746564206d61726b6574206d616b6572207061697260408201527f20697320616c72656164792073657420746f20746861742076616c7565000000606082015260800190565b60208082526028908201527f434f4e5354523a2061646472657373657320617272617973206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526032908201527f5061796d656e7453706c69747465723a2070617965657320616e6420736861726040820152710cae640d8cadccee8d040dad2e6dac2e8c6d60731b606082015260800190565b6020808252601d908201527f434f4e5354523a205377617020616d6f756e7420696e636f7272656374000000604082015260600190565b6020808252602b908201527f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960408201526a206861732073686172657360a81b606082015260800190565b60208082526029908201527f434f4e5354523a20746f74616c537570706c79206d75737420657175616c2032604082015268181036b4b63634b7b760b91b606082015260800190565b6020808252601a908201527f5061796d656e7453706c69747465723a206e6f20706179656573000000000000604082015260600190565b6020808252601d908201527f5061796d656e7453706c69747465723a20736861726573206172652030000000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200124057620012406200131c565b604052919050565b60006001600160401b038211156200126457620012646200131c565b5060209081020190565b6000821982111562001284576200128462001306565b500190565b6000816000190483118215151615620012a657620012a662001306565b500290565b600281046001821680620012c057607f821691505b60208210811415620012e257634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415620012ff57620012ff62001306565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b61499a80620013426000396000f3fe60806040526004361061044b5760003560e01c80638013858b11610234578063b62496f51161012e578063db3ad6b5116100b6578063f5a072561161007a578063f5a0725614610c67578063f74c993414610c7c578063f7b9f94314610c9c578063f9afc76314610cb1578063fb0a749414610cc657610492565b8063db3ad6b514610be8578063dd62ed3e14610bfd578063e33b7de314610c1d578063ee1afdbf14610c32578063f2fde38b14610c4757610492565b8063ce7c2ac2116100fd578063ce7c2ac214610b53578063d0f7747414610b73578063d79779b214610b93578063d892934214610bb3578063da41b33314610bd357610492565b8063b62496f514610ae9578063b96392c114610b09578063bdf24a5314610b29578063c5ca7d6d14610b3e57610492565b806395d89b41116101bc578063a457c2d711610180578063a457c2d714610a6a578063a5021a1714610a8a578063a538ddf214610a9f578063a9059cbb14610ab4578063ab57476114610ad457610492565b806395d89b41146109e05780639852595c146109f55780639a7a23d614610a155780639c82751c14610a35578063a0a8fe6514610a5557610492565b80638b83209b116102035780638b83209b1461094b5780638bc9c7b01461096b5780638da5cb5b1461098b5780638f0ba4ca146109a05780639349c47d146109c057610492565b80638013858b146108e157806385141a77146109015780638743ef6d1461091657806388c41d7c1461092b57610492565b806348b750441161034557806365b8dbc0116102cd5780636f4a2cd0116102915780636f4a2cd01461085357806370a0823114610877578063715018a6146108975780637628b3d7146108ac5780637b770392146108c157610492565b806365b8dbc0146107be57806365bfe430146107de5780636770474b146107fe5780636815a91c1461081e5780636d9ae0be1461083e57610492565b806354f12f1f1161031457806354f12f1f1461073f578063583bd7a61461075457806359640ed9146107745780635b0d4674146107945780635f1c3182146107a957610492565b806348b75044146106e057806348e5642b1461070057806349bd5a5e14610715578063545579731461072a57610492565b806319165587116103d35780633950935111610397578063395093511461064b5780633a98ef391461066b578063406072a9146106805780634195fbf3146106a057806342bc9fca146106c057610492565b806319165587146105b45780631cdd3be3146105d457806323b872dd146105f45780632bb14e1d14610614578063313ce5671461062957610492565b80630c08f3001161041a5780630c08f3001461053357806313114a9d14610553578063138a634a146105685780631694505e1461057d57806318160ddd1461059f57610492565b806306fdde0314610497578063084a6bff146104c2578063095ea7b3146104e457806309a69f571461051157610492565b36610492577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be770610479610ce6565b34604051610488929190613d24565b60405180910390a1005b600080fd5b3480156104a357600080fd5b506104ac610cea565b6040516104b99190613dbf565b60405180910390f35b3480156104ce57600080fd5b506104e26104dd366004613c68565b610d7c565b005b3480156104f057600080fd5b506105046104ff366004613b10565b610de1565b6040516104b99190613db4565b34801561051d57600080fd5b50610526610dff565b6040516104b991906146db565b34801561053f57600080fd5b506104e261054e366004613a33565b610f5c565b34801561055f57600080fd5b50610526610fb3565b34801561057457600080fd5b506104ac610fb9565b34801561058957600080fd5b50610592611116565b6040516104b99190613d10565b3480156105ab57600080fd5b50610526611125565b3480156105c057600080fd5b506104e26105cf366004613a33565b61112b565b3480156105e057600080fd5b506105046105ef366004613a33565b611239565b34801561060057600080fd5b5061050461060f366004613aa3565b61124e565b34801561062057600080fd5b506105266112d6565b34801561063557600080fd5b5061063e6112dc565b6040516104b9919061476a565b34801561065757600080fd5b50610504610666366004613b10565b6112e1565b34801561067757600080fd5b5061052661132f565b34801561068c57600080fd5b5061052661069b366004613b73565b611335565b3480156106ac57600080fd5b506104e26106bb366004613c68565b611360565b3480156106cc57600080fd5b506104e26106db366004613c68565b6113e4565b3480156106ec57600080fd5b506104e26106fb366004613b73565b611433565b34801561070c57600080fd5b506105266115e9565b34801561072157600080fd5b5061059261162e565b34801561073657600080fd5b506104e261163d565b34801561074b57600080fd5b50610526611893565b34801561076057600080fd5b506104e261076f366004613b3b565b611899565b34801561078057600080fd5b506104e261078f366004613c68565b6118e8565b3480156107a057600080fd5b506104ac611982565b3480156107b557600080fd5b50610526611a6f565b3480156107ca57600080fd5b506104e26107d9366004613a33565b611a75565b3480156107ea57600080fd5b506104e26107f9366004613c68565b611cd1565b34801561080a57600080fd5b506104e2610819366004613c68565b611f26565b34801561082a57600080fd5b506104e2610839366004613c68565b611f60565b34801561084a57600080fd5b50610526611f9a565b34801561085f57600080fd5b50610868611fa0565b6040516104b993929190614754565b34801561088357600080fd5b50610526610892366004613a33565b61206d565b3480156108a357600080fd5b506104e2612088565b3480156108b857600080fd5b50610592612107565b3480156108cd57600080fd5b506104e26108dc366004613c68565b612116565b3480156108ed57600080fd5b506104e26108fc366004613c68565b61217b565b34801561090d57600080fd5b506105926121e0565b34801561092257600080fd5b506104e26121ef565b34801561093757600080fd5b506104e2610946366004613c68565b612277565b34801561095757600080fd5b50610592610966366004613c68565b6122c6565b34801561097757600080fd5b506104e2610986366004613c68565b612304565b34801561099757600080fd5b5061059261233e565b3480156109ac57600080fd5b506104e26109bb366004613b85565b61234d565b3480156109cc57600080fd5b506104e26109db366004613a33565b6126cb565b3480156109ec57600080fd5b506104ac612722565b348015610a0157600080fd5b50610526610a10366004613a33565b612731565b348015610a2157600080fd5b506104e2610a30366004613ae3565b61274c565b348015610a4157600080fd5b506104e2610a50366004613c68565b6127b9565b348015610a6157600080fd5b5061052661281e565b348015610a7657600080fd5b50610504610a85366004613b10565b612863565b348015610a9657600080fd5b506105266128cb565b348015610aab57600080fd5b50610592612910565b348015610ac057600080fd5b50610504610acf366004613b10565b61291f565b348015610ae057600080fd5b50610526612933565b348015610af557600080fd5b50610504610b04366004613a33565b612939565b348015610b1557600080fd5b50610526610b24366004613a33565b61294e565b348015610b3557600080fd5b506104ac612a05565b348015610b4a57600080fd5b50610592612af2565b348015610b5f57600080fd5b50610526610b6e366004613a33565b612b01565b348015610b7f57600080fd5b506104e2610b8e366004613b3b565b612b1c565b348015610b9f57600080fd5b50610526610bae366004613a33565b612b81565b348015610bbf57600080fd5b506104e2610bce366004613ae3565b612b9c565b348015610bdf57600080fd5b50610526612bfc565b348015610bf457600080fd5b50610526612c41565b348015610c0957600080fd5b50610526610c18366004613a6b565b612c86565b348015610c2957600080fd5b50610526612cb1565b348015610c3e57600080fd5b506104ac612cb7565b348015610c5357600080fd5b506104e2610c62366004613a33565b612da4565b348015610c7357600080fd5b50610526612e5b565b348015610c8857600080fd5b50610526610c97366004613a33565b612ea0565b348015610ca857600080fd5b50610526612ed1565b348015610cbd57600080fd5b50610504612f16565b348015610cd257600080fd5b506104e2610ce1366004613a33565b612f93565b3390565b606060038054610cf990614864565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2590614864565b8015610d725780601f10610d4757610100808354040283529160200191610d72565b820191906000526020600020905b815481529060010190602001808311610d5557829003601f168201915b5050505050905090565b610d84610ce6565b6005546001600160a01b03908116911614610dba5760405162461bcd60e51b8152600401610db1906144f4565b60405180910390fd5b6013819055601554601454610ddb9190610dd5908490612fea565b90612fea565b60165550565b6000610df5610dee610ce6565b8484613019565b5060015b92915050565b600080610e0a610ce6565b6001600160a01b03161415610e315760405162461bcd60e51b8152600401610db190613fd2565b600d546001600160a01b03166341ac82b0610e4a610ce6565b6040518263ffffffff1660e01b8152600401610e669190613d10565b60206040518083038186803b158015610e7e57600080fd5b505afa158015610e92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb69190613b57565b610ed25760405162461bcd60e51b8152600401610db190613e72565b600d546001600160a01b031663619a635e610eeb610ce6565b6040518263ffffffff1660e01b8152600401610f079190613d10565b60206040518083038186803b158015610f1f57600080fd5b505afa158015610f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f579190613c80565b905090565b610f64610ce6565b6005546001600160a01b03908116911614610f915760405162461bcd60e51b8152600401610db1906144f4565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b60165481565b60606000610fc5610ce6565b6001600160a01b03161415610fec5760405162461bcd60e51b8152600401610db190613fd2565b600d546001600160a01b03166341ac82b0611005610ce6565b6040518263ffffffff1660e01b81526004016110219190613d10565b60206040518083038186803b15801561103957600080fd5b505afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110719190613b57565b61108d5760405162461bcd60e51b8152600401610db190613e72565b600d546001600160a01b031663334de3a26110a6610ce6565b6040518263ffffffff1660e01b81526004016110c29190613d10565b60006040518083038186803b1580156110da57600080fd5b505afa1580156110ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f579190810190613bfe565b600e546001600160a01b031681565b60025490565b6001600160a01b0381166000908152600860205260409020546111605760405162461bcd60e51b8152600401610db190614009565b600061116a612cb1565b61117490476147ca565b9050600061118b838361118686612731565b6130cd565b9050806111aa5760405162461bcd60e51b8152600401610db190614140565b6001600160a01b038316600090815260096020526040812080548392906111d29084906147ca565b9250508190555080600760008282546111eb91906147ca565b909155506111fb90508382613113565b7fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056838260405161122c929190613d24565b60405180910390a1505050565b601b6020526000908152604090205460ff1681565b600061125b8484846131af565b6112cb84611267610ce6565b6112c685604051806060016040528060288152602001614918602891396001600160a01b038a166000908152600160205260408120906112a5610ce6565b6001600160a01b031681526020810191909152604001600020549190613264565b613019565b5060015b9392505050565b60135481565b601290565b6000610df56112ee610ce6565b846112c685600160006112ff610ce6565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612fea565b60065490565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b611368610ce6565b6005546001600160a01b039081169116146113955760405162461bcd60e51b8152600401610db1906144f4565b478111156113a05750475b6113a861233e565b6001600160a01b03166108fc829081150290604051600060405180830381858888f193505050501580156113e0573d6000803e3d6000fd5b5050565b6113ec610ce6565b6005546001600160a01b039081169116146114195760405162461bcd60e51b8152600401610db1906144f4565b6014819055601554601354610ddb9190610dd59084612fea565b6001600160a01b0381166000908152600860205260409020546114685760405162461bcd60e51b8152600401610db190614009565b600061147383612b81565b6040516370a0823160e01b81526001600160a01b038516906370a082319061149f903090600401613d10565b60206040518083038186803b1580156114b757600080fd5b505afa1580156114cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ef9190613c80565b6114f991906147ca565b9050600061150c83836111868787611335565b90508061152b5760405162461bcd60e51b8152600401610db190614140565b6001600160a01b038085166000908152600c60209081526040808320938716835292905290812080548392906115629084906147ca565b90915550506001600160a01b0384166000908152600b60205260408120805483929061158f9084906147ca565b909155506115a0905084848361329e565b836001600160a01b03167f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a84836040516115db929190613d24565b60405180910390a250505050565b600d54604080516345193f5560e11b815290516000926001600160a01b031691638a327eaa916004808301926020929190829003018186803b158015610f1f57600080fd5b600f546001600160a01b031681565b6000611647610ce6565b90506001600160a01b03811661166f5760405162461bcd60e51b8152600401610db190614633565b6001600160a01b0381166000908152601b602052604090205460ff16156116a85760405162461bcd60e51b8152600401610db19061418b565b6010546001600160a01b038281169116148015906116d457506011546001600160a01b03828116911614155b6116f05760405162461bcd60e51b8152600401610db1906143f9565b600d546040516330cd31af60e11b81526000916001600160a01b03169063619a635e90611721908590600401613d10565b60206040518083038186803b15801561173957600080fd5b505afa15801561174d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117719190613c80565b9050600081116117935760405162461bcd60e51b8152600401610db19061467e565b601954610100900460ff16156117f557601754600090156117e7576117ce60646117c86017548561332190919063ffffffff16565b90613366565b6010549091506117e7906001600160a01b0316826133a8565b6117f18183614821565b9150505b60115461180c906001600160a01b031683836133f7565b600d5460405163170a62c760e21b81526001600160a01b0390911690635c298b1c9061183c908590600401613d10565b602060405180830381600087803b15801561185657600080fd5b505af115801561186a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188e9190613c80565b505050565b60145481565b6118a1610ce6565b6005546001600160a01b039081169116146118ce5760405162461bcd60e51b8152600401610db1906144f4565b601980549115156101000261ff0019909216919091179055565b6118f0610ce6565b6005546001600160a01b0390811691161461191d5760405162461bcd60e51b8152600401610db1906144f4565b600d54604051631df3773160e31b81526001600160a01b039091169063ef9bb9889061194d9084906004016146db565b600060405180830381600087803b15801561196757600080fd5b505af115801561197b573d6000803e3d6000fd5b5050505050565b6060600061198e610ce6565b6001600160a01b031614156119b55760405162461bcd60e51b8152600401610db190613fd2565b600d546001600160a01b03166341ac82b06119ce610ce6565b6040518263ffffffff1660e01b81526004016119ea9190613d10565b60206040518083038186803b158015611a0257600080fd5b505afa158015611a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3a9190613b57565b611a565760405162461bcd60e51b8152600401610db190613e72565b600d546001600160a01b0316634a389fae6110a6610ce6565b601a5481565b611a7d610ce6565b6005546001600160a01b03908116911614611aaa5760405162461bcd60e51b8152600401610db1906144f4565b600e546001600160a01b0382811691161415611ad85760405162461bcd60e51b8152600401610db1906141c2565b600e546040516001600160a01b03918216918316907f8fc842bbd331dfa973645f4ed48b11683d501ebf1352708d77a5da2ab49a576e90600090a3600e80546001600160a01b0319166001600160a01b0383811691909117918290556040805163c45a015560e01b815290516000939092169163c45a015591600480820192602092909190829003018186803b158015611b7157600080fd5b505afa158015611b85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba99190613a4f565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0657600080fd5b505afa158015611c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3e9190613a4f565b6040518363ffffffff1660e01b8152600401611c5b929190613d3d565b602060405180830381600087803b158015611c7557600080fd5b505af1158015611c89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cad9190613a4f565b600f80546001600160a01b0319166001600160a01b03929092169190911790555050565b6000611cdb610ce6565b90506001600160a01b038116611d035760405162461bcd60e51b8152600401610db190613f8d565b6001600160a01b0381166000908152601b602052604090205460ff1615611d3c5760405162461bcd60e51b8152600401610db19061418b565b6010546001600160a01b03828116911614801590611d6857506011546001600160a01b03828116911614155b611d845760405162461bcd60e51b8152600401610db190613dd2565b600d546040516329b8573160e21b81526000916001600160a01b03169063a6e15cc490611db79085908790600401613d24565b60206040518083038186803b158015611dcf57600080fd5b505afa158015611de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e079190613c80565b905060008111611e295760405162461bcd60e51b8152600401610db1906140ac565b601954610100900460ff1615611e855760175460009015611e7757611e5e60646117c86017548561332190919063ffffffff16565b601054909150611e77906001600160a01b0316826133a8565b611e818183614821565b9150505b601154611e9c906001600160a01b031683836133f7565b600d5460405163376db80160e11b81526001600160a01b0390911690636edb700290611ece9085908790600401613d24565b602060405180830381600087803b158015611ee857600080fd5b505af1158015611efc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f209190613c80565b50505050565b611f2e610ce6565b6005546001600160a01b03908116911614611f5b5760405162461bcd60e51b8152600401610db1906144f4565b601a55565b611f68610ce6565b6005546001600160a01b03908116911614611f955760405162461bcd60e51b8152600401610db1906144f4565b601755565b60175481565b6000806000611fad610ce6565b6005546001600160a01b03908116911614611fda5760405162461bcd60e51b8152600401610db1906144f4565b600d60009054906101000a90046001600160a01b03166001600160a01b03166388fe65536040518163ffffffff1660e01b8152600401606060405180830381600087803b15801561202a57600080fd5b505af115801561203e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120629190613c98565b925092509250909192565b6001600160a01b031660009081526020819052604090205490565b612090610ce6565b6005546001600160a01b039081169116146120bd5760405162461bcd60e51b8152600401610db1906144f4565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b600d546001600160a01b031681565b61211e610ce6565b6005546001600160a01b0390811691161461214b5760405162461bcd60e51b8152600401610db1906144f4565b600d546040516318df5db960e31b81526001600160a01b039091169063c6faedc89061194d9084906004016146db565b612183610ce6565b6005546001600160a01b039081169116146121b05760405162461bcd60e51b8152600401610db1906144f4565b600d5460405163cece91eb60e01b81526001600160a01b039091169063cece91eb9061194d9084906004016146db565b6012546001600160a01b031681565b600d60009054906101000a90046001600160a01b03166001600160a01b03166388fe65536040518163ffffffff1660e01b8152600401606060405180830381600087803b15801561223f57600080fd5b505af1158015612253573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188e9190613c98565b61227f610ce6565b6005546001600160a01b039081169116146122ac5760405162461bcd60e51b8152600401610db1906144f4565b6015819055601454601354610ddb918391610dd591612fea565b6000600a82815481106122e957634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031692915050565b61230c610ce6565b6005546001600160a01b039081169116146123395760405162461bcd60e51b8152600401610db1906144f4565b601855565b6005546001600160a01b031690565b6003815111801561235f575060208151105b61237b5760405162461bcd60e51b8152600401610db190613e99565b6000612385610ce6565b90506001600160a01b0381166123ad5760405162461bcd60e51b8152600401610db190614456565b6001600160a01b0381166000908152601b602052604090205460ff16156123e65760405162461bcd60e51b8152600401610db1906143b7565b6010546001600160a01b0382811691161480159061241257506011546001600160a01b03828116911614155b61242e5760405162461bcd60e51b8152600401610db19061435a565b600d5460408051631e3fd85760e31b815290516000926001600160a01b03169163f1fec2b8916004808301926020929190829003018186803b15801561247357600080fd5b505afa158015612487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ab9190613c80565b9050806124b78361206d565b10156124d55760405162461bcd60e51b8152600401610db19061420a565b60006124e03061206d565b601a54909150811080159081906124fe5750601954610100900460ff165b801561250d575060195460ff16155b8015612532575061251c61233e565b6001600160a01b0316846001600160a01b031614155b801561255757506001600160a01b0384166000908152601c602052604090205460ff16155b15612655576019805460ff19166001179055601554600090612581906064906117c8908690613321565b60105490915061259a906001600160a01b0316826133a8565b60006125b660646117c86013548761332190919063ffffffff16565b905060006125d460646117c86018548561332190919063ffffffff16565b6011549091506125ed906001600160a01b0316826133a8565b60115461260e9030906001600160a01b0316612609858561350c565b6133f7565b600061262a60646117c86014548961332190919063ffffffff16565b90506126358161354e565b6126466126413061206d565b6135cf565b50506019805460ff1916905550505b6126608430856133f7565b600d546040516312b8603f60e01b81526001600160a01b03909116906312b8603f906126929087908990600401613d57565b600060405180830381600087803b1580156126ac57600080fd5b505af11580156126c0573d6000803e3d6000fd5b505050505050505050565b6126d3610ce6565b6005546001600160a01b039081169116146127005760405162461bcd60e51b8152600401610db1906144f4565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b606060048054610cf990614864565b6001600160a01b031660009081526009602052604090205490565b612754610ce6565b6005546001600160a01b039081169116146127815760405162461bcd60e51b8152600401610db1906144f4565b600f546001600160a01b03838116911614156127af5760405162461bcd60e51b8152600401610db1906142ea565b6113e08282613754565b6127c1610ce6565b6005546001600160a01b039081169116146127ee5760405162461bcd60e51b8152600401610db1906144f4565b600d5460405163d1871a8960e01b81526001600160a01b039091169063d1871a899061194d9084906004016146db565b600d546040805163b8527aef60e01b815290516000926001600160a01b03169163b8527aef916004808301926020929190829003018186803b158015610f1f57600080fd5b6000610df5612870610ce6565b846112c685604051806060016040528060258152602001614940602591396001600061289a610ce6565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190613264565b600d5460408051631e3fd85760e31b815290516000926001600160a01b03169163f1fec2b8916004808301926020929190829003018186803b158015610f1f57600080fd5b6010546001600160a01b031681565b6000610df561292c610ce6565b84846131af565b60155481565b601c6020526000908152604090205460ff1681565b6000612958610ce6565b6005546001600160a01b039081169116146129855760405162461bcd60e51b8152600401610db1906144f4565b600d546040516330cd31af60e11b81526001600160a01b039091169063619a635e906129b5908590600401613d10565b60206040518083038186803b1580156129cd57600080fd5b505afa1580156129e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df99190613c80565b60606000612a11610ce6565b6001600160a01b03161415612a385760405162461bcd60e51b8152600401610db190613fd2565b600d546001600160a01b03166341ac82b0612a51610ce6565b6040518263ffffffff1660e01b8152600401612a6d9190613d10565b60206040518083038186803b158015612a8557600080fd5b505afa158015612a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612abd9190613b57565b612ad95760405162461bcd60e51b8152600401610db190613e72565b600d546001600160a01b031663c92819ce6110a6610ce6565b6011546001600160a01b031681565b6001600160a01b031660009081526008602052604090205490565b612b24610ce6565b6005546001600160a01b03908116911614612b515760405162461bcd60e51b8152600401610db1906144f4565b600d54604051636d58441560e11b81526001600160a01b039091169063dab0882a9061194d908490600401613db4565b6001600160a01b03166000908152600b602052604090205490565b612ba4610ce6565b6005546001600160a01b03908116911614612bd15760405162461bcd60e51b8152600401610db1906144f4565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b600d546040805163fb10d6fb60e01b815290516000926001600160a01b03169163fb10d6fb916004808301926020929190829003018186803b158015610f1f57600080fd5b600d546040805163613ff46f60e01b815290516000926001600160a01b03169163613ff46f916004808301926020929190829003018186803b158015610f1f57600080fd5b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60075490565b60606000612cc3610ce6565b6001600160a01b03161415612cea5760405162461bcd60e51b8152600401610db190613fd2565b600d546001600160a01b03166341ac82b0612d03610ce6565b6040518263ffffffff1660e01b8152600401612d1f9190613d10565b60206040518083038186803b158015612d3757600080fd5b505afa158015612d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6f9190613b57565b612d8b5760405162461bcd60e51b8152600401610db190613e72565b600d546001600160a01b0316635759fb026110a6610ce6565b612dac610ce6565b6005546001600160a01b03908116911614612dd95760405162461bcd60e51b8152600401610db1906144f4565b6001600160a01b038116612dff5760405162461bcd60e51b8152600401610db190613ece565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b600d54604080516327b3bf1160e01b815290516000926001600160a01b0316916327b3bf11916004808301926020929190829003018186803b158015610f1f57600080fd5b600d5460405163112469f960e21b81526000916001600160a01b031690634491a7e4906129b5908590600401613d10565b600d5460408051636f60a39360e11b815290516000926001600160a01b03169163dec14726916004808301926020929190829003018186803b158015610f1f57600080fd5b600d54604080516385c44d9d60e01b815290516000926001600160a01b0316916385c44d9d916004808301926020929190829003018186803b158015612f5b57600080fd5b505afa158015612f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f579190613b57565b612f9b610ce6565b6005546001600160a01b03908116911614612fc85760405162461bcd60e51b8152600401610db1906144f4565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b600080612ff783856147ca565b9050838110156112cf5760405162461bcd60e51b8152600401610db190613f56565b6001600160a01b03831661303f5760405162461bcd60e51b8152600401610db19061456e565b6001600160a01b0382166130655760405162461bcd60e51b8152600401610db190613f14565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906130c09085906146db565b60405180910390a3505050565b6006546001600160a01b038416600090815260086020526040812054909183916130f79086614802565b61310191906147e2565b61310b9190614821565b949350505050565b804710156131335760405162461bcd60e51b8152600401610db190614109565b6000826001600160a01b03168260405161314c90613d0d565b60006040518083038185875af1925050503d8060008114613189576040519150601f19603f3d011682016040523d82523d6000602084013e61318e565b606091505b505090508061188e5760405162461bcd60e51b8152600401610db19061404f565b6001600160a01b0383166131d55760405162461bcd60e51b8152600401610db190614529565b6001600160a01b0382166131fb5760405162461bcd60e51b8152600401610db190613e2f565b6001600160a01b0383166000908152601b602052604090205460ff1615801561323d57506001600160a01b0382166000908152601b602052604090205460ff16155b6132595760405162461bcd60e51b8152600401610db1906142b3565b61188e8383836133f7565b600081848411156132885760405162461bcd60e51b8152600401610db19190613dbf565b5060006132958486614821565b95945050505050565b61188e8363a9059cbb60e01b84846040516024016132bd929190613d24565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526137e7565b60008261333057506000610df9565b600061333c8385614802565b90508261334985836147e2565b146112cf5760405162461bcd60e51b8152600401610db1906144b3565b60006112cf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613876565b476133b2826135cf565b60006133be478361350c565b6040519091506001600160a01b0385169082156108fc029083906000818181858888f1935050505015801561197b573d6000803e3d6000fd5b6001600160a01b03831661341d5760405162461bcd60e51b8152600401610db190614529565b6001600160a01b0382166134435760405162461bcd60e51b8152600401610db190613e2f565b61344e83838361188e565b61348b816040518060600160405280602681526020016148f2602691396001600160a01b0386166000908152602081905260409020549190613264565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546134ba9082612fea565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906130c09085906146db565b60006112cf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613264565b600061355b826002613366565b90506000613569838361350c565b905047613575836135cf565b6000613581478361350c565b905061358d83826138a4565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618482856040516135c093929190614754565b60405180910390a15050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061361257634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600e54604080516339d94ae160e11b8152905191909316926373b295c2926004808301939192829003018186803b15801561366657600080fd5b505afa15801561367a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061369e9190613a4f565b816001815181106136bf57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600e546136e59130911684613019565b600e54604051633b158ab160e11b81526001600160a01b039091169063762b15629061371e9085906000908690309042906004016146e4565b600060405180830381600087803b15801561373857600080fd5b505af115801561374c573d6000803e3d6000fd5b505050505050565b6001600160a01b0382166000908152601c602052604090205460ff16151581151514156137935760405162461bcd60e51b8152600401610db190614256565b6001600160a01b0382166000818152601c6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b600061383c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661394b9092919063ffffffff16565b80519091501561188e578080602001905181019061385a9190613b57565b61188e5760405162461bcd60e51b8152600401610db1906145e9565b600081836138975760405162461bcd60e51b8152600401610db19190613dbf565b50600061329584866147e2565b600e546138bc9030906001600160a01b031684613019565b600e54604051637c8d9fb960e11b81526001600160a01b039091169063f91b3f729083906138f99030908790600090819081904290600401613d79565b6060604051808303818588803b15801561391257600080fd5b505af1158015613926573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061197b9190613c98565b606061310b84846000858561395f856139f4565b61397b5760405162461bcd60e51b8152600401610db1906145b2565b600080866001600160a01b031685876040516139979190613cf1565b60006040518083038185875af1925050503d80600081146139d4576040519150601f19603f3d011682016040523d82523d6000602084013e6139d9565b606091505b50915091506139e98282866139fa565b979650505050505050565b3b151590565b60608315613a095750816112cf565b825115613a195782518084602001fd5b8160405162461bcd60e51b8152600401610db19190613dbf565b600060208284031215613a44578081fd5b81356112cf816148cb565b600060208284031215613a60578081fd5b81516112cf816148cb565b60008060408385031215613a7d578081fd5b8235613a88816148cb565b91506020830135613a98816148cb565b809150509250929050565b600080600060608486031215613ab7578081fd5b8335613ac2816148cb565b92506020840135613ad2816148cb565b929592945050506040919091013590565b60008060408385031215613af5578182fd5b8235613b00816148cb565b91506020830135613a98816148e3565b60008060408385031215613b22578182fd5b8235613b2d816148cb565b946020939093013593505050565b600060208284031215613b4c578081fd5b81356112cf816148e3565b600060208284031215613b68578081fd5b81516112cf816148e3565b60008060408385031215613a7d578182fd5b600060208284031215613b96578081fd5b813567ffffffffffffffff811115613bac578182fd5b8201601f81018413613bbc578182fd5b8035613bcf613bca826147a2565b614778565b818152856020838501011115613be3578384fd5b81602084016020830137908101602001929092525092915050565b600060208284031215613c0f578081fd5b815167ffffffffffffffff811115613c25578182fd5b8201601f81018413613c35578182fd5b8051613c43613bca826147a2565b818152856020838501011115613c57578384fd5b613295826020830160208601614838565b600060208284031215613c79578081fd5b5035919050565b600060208284031215613c91578081fd5b5051919050565b600080600060608486031215613cac578081fd5b8351925060208401519150604084015190509250925092565b60008151808452613cdd816020860160208601614838565b601f01601f19169290920160200192915050565b60008251613d03818460208701614838565b9190910192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b60006001600160a01b03841682526040602083015261310b6040830184613cc5565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602082526112cf6020830184613cc5565b60208082526032908201527f435348543a20667574757220616e642072657761726473506f6f6c2063616e6e60408201527f6f7420636173686f757420726577617264730000000000000000000000000000606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252600d908201526c2727902727a2229027aba722a960991b604082015260600190565b6020808252818101527f4e4f4445204352454154494f4e3a204e414d452053495a4520494e56414c4944604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526025908201527f435348543a20206372656174696f6e2066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526014908201527f53454e4445522043414e2754204245205a45524f000000000000000000000000604082015260600190565b60208082526026908201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060408201526573686172657360d01b606082015260800190565b6020808252603a908201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260408201527f6563697069656e74206d61792068617665207265766572746564000000000000606082015260800190565b6020808252602e908201527f435348543a20596f7520646f6e2774206861766520656e6f756768207265776160408201527f726420746f2063617368206f7574000000000000000000000000000000000000606082015260800190565b6020808252601d908201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604082015260600190565b6020808252602b908201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060408201526a191d59481c185e5b595b9d60aa1b606082015260800190565b6020808252601f908201527f4d414e494120435348543a20426c61636b6c6973746564206164647265737300604082015260600190565b60208082526028908201527f544b4e3a2054686520726f7574657220616c7265616479206861732074686174604082015267206164647265737360c01b606082015260800190565b6020808252602c908201527f4e4f4445204352454154494f4e3a2042616c616e636520746f6f206c6f77206660408201526b37b91031b932b0ba34b7b71760a11b606082015260800190565b6020808252603d908201527f544b4e3a204175746f6d61746564206d61726b6574206d616b6572207061697260408201527f20697320616c72656164792073657420746f20746861742076616c7565000000606082015260800190565b60208082526013908201527f426c61636b6c6973746564206164647265737300000000000000000000000000604082015260600190565b6020808252604a908201527f544b4e3a205468652050616e63616b655377617020706169722063616e6e6f7460408201527f2062652072656d6f7665642066726f6d206175746f6d617465644d61726b65746060820152694d616b6572506169727360b01b608082015260a00190565b60208082526037908201527f4e4f4445204352454154494f4e3a20667574757220616e64207265776172647360408201527f506f6f6c2063616e6e6f7420637265617465206e6f6465000000000000000000606082015260800190565b60208082526022908201527f4e4f4445204352454154494f4e3a20426c61636b6c6973746564206164647265604082015261737360f01b606082015260800190565b60208082526038908201527f4d414e494120435348543a20667574757220616e642072657761726473506f6f60408201527f6c2063616e6e6f7420636173686f757420726577617264730000000000000000606082015260800190565b6020808252602e908201527f4e4f4445204352454154494f4e3a20206372656174696f6e2066726f6d20746860408201527f65207a65726f2061646472657373000000000000000000000000000000000000606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602b908201527f4d414e494120435348543a20206372656174696f6e2066726f6d20746865207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526034908201527f4d414e494120435348543a20596f7520646f6e2774206861766520656e6f756760408201527f682072657761726420746f2063617368206f7574000000000000000000000000606082015260800190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156147335784516001600160a01b03168352938301939183019160010161470e565b50506001600160a01b03969096166060850152505050608001529392505050565b9283526020830191909152604082015260600190565b60ff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561479a5761479a6148b5565b604052919050565b600067ffffffffffffffff8211156147bc576147bc6148b5565b50601f01601f191660200190565b600082198211156147dd576147dd61489f565b500190565b6000826147fd57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561481c5761481c61489f565b500290565b6000828210156148335761483361489f565b500390565b60005b8381101561485357818101518382015260200161483b565b83811115611f205750506000910152565b60028104600182168061487857607f821691505b6020821081141561489957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146148e057600080fd5b50565b80151581146148e057600080fdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202255a4007782367eb010d01aa6fa9f934add73f243eaa66e9b91f2a61c76a70664736f6c6343000800003300000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d40000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000c785e173c9e9f69ba55a494d268f89d8618502a60000000000000000000000003bb5f19263636709aa56f7b2f1e0357885937ef2000000000000000000000000738386e8afea0b89016b366f69ef4b1d4d519f860000000000000000000000003c14e8a5be53e97ac250c8be5fe66df8dd71e97700000000000000000000000016efdf2742e32d9695ad19b53e28b82313f226a4000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000012fad2f0000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000186a00000000000000000000000000000000000000000000000000000000000035b600000000000000000000000000000000000000000000000000000000000035b600000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000c785e173c9e9f69ba55a494d268f89d8618502a60000000000000000000000003bb5f19263636709aa56f7b2f1e0357885937ef2000000000000000000000000738386e8afea0b89016b366f69ef4b1d4d519f860000000000000000000000003c14e8a5be53e97ac250c8be5fe66df8dd71e97700000000000000000000000016efdf2742e32d9695ad19b53e28b82313f226a4000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000012fad2f0000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000186a00000000000000000000000000000000000000000000000000000000000035b600000000000000000000000000000000000000000000000000000000000035b600000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a