[ { "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": "uint256", "name": "nodePrice", "type": "uint256" }, { "internalType": "uint256", "name": "rewardPerNode", "type": "uint256" }, { "internalType": "uint256", "name": "claimTime", "type": "uint256" }, { "internalType": "address", "name": "uniV2Router", "type": "address" }, { "internalType": "address", "name": "nodeManagement", "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": [], "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": "getTotalNodesCreated", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTotalRewardStaked", "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": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "manualsend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nodeRewardManagement", "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": "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" } ]
6080604052601280546001600160a01b03191661dead1790556019805461ffff19166101001790553480156200003457600080fd5b5060405162005df138038062005df1833981016040819052620000579162000d76565b8a8a604051806040016040528060068152602001654d797374696360d01b815250604051806040016040528060068152602001654d595354494360d01b8152508160039080519060200190620000af92919062000bb8565b508051620000c590600490602084019062000bb8565b5050506000620000da620008c360201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508051825114620001555760405162461bcd60e51b81526004016200014c90620011b1565b60405180910390fd5b6000825111620001795760405162461bcd60e51b81526004016200014c9062001305565b60005b8251811015620001fd57620001e8838281518110620001ab57634e487b7160e01b600052603260045260246000fd5b6020026020010151838381518110620001d457634e487b7160e01b600052603260045260246000fd5b6020026020010151620008c760201b60201c565b80620001f4816200147f565b9150506200017c565b50505060008511620002235760405162461bcd60e51b81526004016200014c906200104d565b60008411620002465760405162461bcd60e51b81526004016200014c906200108f565b60008311620002695760405162461bcd60e51b81526004016200014c9062001285565b600d80546001600160a01b0319166001600160a01b038316179055885189906004908110620002a857634e487b7160e01b600052603260045260246000fd5b6020026020010151601060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555088600581518110620002f857634e487b7160e01b600052603260045260246000fd5b6020908102919091010151601180546001600160a01b0319166001600160a01b0392831617905560105416158015906200033c57506011546001600160a01b031615155b6200035b5760405162461bcd60e51b81526004016200014c9062000f74565b6001600160a01b038216620003845760405162461bcd60e51b81526004016200014c90620010d5565b60008290506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003c557600080fd5b505afa158015620003da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000400919062000d59565b6001600160a01b031663c9c6539630846001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156200044957600080fd5b505afa1580156200045e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000484919062000d59565b6040518363ffffffff1660e01b8152600401620004a392919062000ebe565b602060405180830381600087803b158015620004be57600080fd5b505af1158015620004d3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004f9919062000d59565b600e80546001600160a01b038086166001600160a01b031992831617909255600f805492841692909116919091179055905062000538816001620009f9565b886000815181106200055a57634e487b7160e01b600052603260045260246000fd5b60200260200101516000141580156200059d5750886001815181106200059057634e487b7160e01b600052603260045260246000fd5b6020026020010151600014155b8015620005d4575088600281518110620005c757634e487b7160e01b600052603260045260246000fd5b6020026020010151600014155b80156200060b575088600381518110620005fe57634e487b7160e01b600052603260045260246000fd5b6020026020010151600014155b6200062a5760405162461bcd60e51b81526004016200014c9062000ef1565b886000815181106200064c57634e487b7160e01b600052603260045260246000fd5b6020026020010151601581905550886001815181106200067c57634e487b7160e01b600052603260045260246000fd5b602002602001015160138190555088600281518110620006ac57634e487b7160e01b600052603260045260246000fd5b602002602001015160148190555088600381518110620006dc57634e487b7160e01b600052603260045260246000fd5b6020026020010151601781905550886004815181106200070c57634e487b7160e01b600052603260045260246000fd5b6020026020010151601881905550620007536015546200073f60145460135462000a8f60201b62002f681790919060201c565b62000a8f60201b62002f681790919060201c565b6016558a511580159062000768575060008a51115b620007875760405162461bcd60e51b81526004016200014c9062000fb9565b89518b5114620007ab5760405162461bcd60e51b81526004016200014c9062001169565b60005b8b518110156200083e57620008298c8281518110620007dd57634e487b7160e01b600052603260045260246000fd5b60200260200101518c83815181106200080657634e487b7160e01b600052603260045260246000fd5b6020026020010151670de0b6b3a764000062000823919062001420565b62000aca565b8062000835816200147f565b915050620007ae565b506200084962000bad565b6a10ebe24297ce6ff43c000014620008755760405162461bcd60e51b81526004016200014c90620012bc565b60008811620008985760405162461bcd60e51b81526004016200014c9062001203565b620008ac88670de0b6b3a764000062001420565b601a5550620014c99b505050505050505050505050565b3390565b6001600160a01b038216620008f05760405162461bcd60e51b81526004016200014c9062000f28565b60008111620009135760405162461bcd60e51b81526004016200014c906200133c565b6001600160a01b038216600090815260086020526040902054156200094c5760405162461bcd60e51b81526004016200014c906200123a565b600a8054600181019091557fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319166001600160a01b0384169081179091556000908152600860205260409020819055600654620009b690829062001405565b6006556040517f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac90620009ed908490849062000ed8565b60405180910390a15050565b6001600160a01b0382166000908152601c602052604090205460ff161515811515141562000a3b5760405162461bcd60e51b81526004016200014c906200110c565b6001600160a01b0382166000818152601c6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b60008062000a9e838562001405565b90508381101562000ac35760405162461bcd60e51b81526004016200014c9062001016565b9392505050565b6001600160a01b03821662000af35760405162461bcd60e51b81526004016200014c9062001373565b62000b016000838362000bb3565b62000b1d8160025462000a8f60201b62002f681790919060201c565b6002556001600160a01b0382166000908152602081815260409091205462000b5091839062002f6862000a8f821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062000ba1908590620013aa565b60405180910390a35050565b60025490565b505050565b82805462000bc69062001442565b90600052602060002090601f01602090048101928262000bea576000855562000c35565b82601f1062000c0557805160ff191683800117855562000c35565b8280016001018555821562000c35579182015b8281111562000c3557825182559160200191906001019062000c18565b5062000c4392915062000c47565b5090565b5b8082111562000c43576000815560010162000c48565b80516001600160a01b038116811462000c7657600080fd5b919050565b600082601f83011262000c8c578081fd5b8151602062000ca562000c9f83620013df565b620013b3565b828152818101908583018385028701840188101562000cc2578586fd5b855b8581101562000ceb5762000cd88262000c5e565b8452928401929084019060010162000cc4565b5090979650505050505050565b600082601f83011262000d09578081fd5b8151602062000d1c62000c9f83620013df565b828152818101908583018385028701840188101562000d39578586fd5b855b8581101562000ceb5781518452928401929084019060010162000d3b565b60006020828403121562000d6b578081fd5b62000ac38262000c5e565b60008060008060008060008060008060006101608c8e03121562000d98578687fd5b8b516001600160401b0381111562000dae578788fd5b62000dbc8e828f0162000c7b565b60208e0151909c5090506001600160401b0381111562000dda578788fd5b62000de88e828f0162000cf8565b60408e0151909b5090506001600160401b0381111562000e06578788fd5b62000e148e828f0162000c7b565b60608e0151909a5090506001600160401b0381111562000e32578788fd5b62000e408e828f0162000cf8565b60808e015190995090506001600160401b0381111562000e5e578788fd5b62000e6c8e828f0162000cf8565b97505060a08c0151955060c08c0151945060e08c015193506101008c0151925062000e9b6101208d0162000c5e565b915062000eac6101408d0162000c5e565b90509295989b509295989b9093969950565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b60208082526014908201527f434f4e5354523a204665657320657175616c2030000000000000000000000000604082015260600190565b6020808252602c908201527f5061796d656e7453706c69747465723a206163636f756e74206973207468652060408201526b7a65726f206164647265737360a01b606082015260800190565b60208082526025908201527f465554555220262052455741524420414444524553532043414e4e4f54204245604082015264205a45524f60d81b606082015260800190565b60208082526038908201527f434f4e5354523a20616464726573736573206172726179206c656e677468206d60408201527f7573742062652067726561746572207468616e207a65726f0000000000000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f434f4e5354523a206e6f6465507269636520616d6f756e7420696e636f72726560408201526118dd60f21b606082015260800190565b60208082526026908201527f434f4e5354523a207265776172645065724e6f646520616d6f756e7420696e636040820152651bdc9c9958dd60d21b606082015260800190565b60208082526015908201527f524f555445522043414e4e4f54204245205a45524f0000000000000000000000604082015260600190565b6020808252603d908201527f544b4e3a204175746f6d61746564206d61726b6574206d616b6572207061697260408201527f20697320616c72656164792073657420746f20746861742076616c7565000000606082015260800190565b60208082526028908201527f434f4e5354523a2061646472657373657320617272617973206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526032908201527f5061796d656e7453706c69747465723a2070617965657320616e6420736861726040820152710cae640d8cadccee8d040dad2e6dac2e8c6d60731b606082015260800190565b6020808252601d908201527f434f4e5354523a205377617020616d6f756e7420696e636f7272656374000000604082015260600190565b6020808252602b908201527f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960408201526a206861732073686172657360a81b606082015260800190565b6020808252601b908201527f434f4e5354523a20636c61696d54696d6520696e636f72726563740000000000604082015260600190565b60208082526029908201527f434f4e5354523a20746f74616c537570706c79206d75737420657175616c2032604082015268181036b4b63634b7b760b91b606082015260800190565b6020808252601a908201527f5061796d656e7453706c69747465723a206e6f20706179656573000000000000604082015260600190565b6020808252601d908201527f5061796d656e7453706c69747465723a20736861726573206172652030000000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b0381118282101715620013d757620013d7620014b3565b604052919050565b60006001600160401b03821115620013fb57620013fb620014b3565b5060209081020190565b600082198211156200141b576200141b6200149d565b500190565b60008160001904831182151516156200143d576200143d6200149d565b500290565b6002810460018216806200145757607f821691505b602082108114156200147957634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156200149657620014966200149d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b61491880620014d96000396000f3fe6080604052600436106104405760003560e01c80637b77039211610234578063ab5747611161012e578063da41b333116100b6578063f2fde38b1161007a578063f2fde38b14610c3c578063f5a0725614610c5c578063f74c993414610c71578063f7b9f94314610c91578063f9afc76314610ca657610487565b8063da41b33314610bc8578063db3ad6b514610bdd578063dd62ed3e14610bf2578063e33b7de314610c12578063ee1afdbf14610c2757610487565b8063c5ca7d6d116100fd578063c5ca7d6d14610b33578063ce7c2ac214610b48578063d0f7747414610b68578063d79779b214610b88578063d892934214610ba857610487565b8063ab57476114610ac9578063b62496f514610ade578063b96392c114610afe578063bdf24a5314610b1e57610487565b80638f0ba4ca116101bc5780639c82751c116101805780639c82751c14610a3f578063a457c2d714610a5f578063a5021a1714610a7f578063a538ddf214610a94578063a9059cbb14610aa957610487565b80638f0ba4ca146109aa5780639349c47d146109ca57806395d89b41146109ea5780639852595c146109ff5780639a7a23d614610a1f57610487565b80638743ef6d116102035780638743ef6d1461092057806388c41d7c146109355780638b83209b146109555780638bc9c7b0146109755780638da5cb5b1461099557610487565b80637b770392146108b65780638013858b146108d6578063823349b3146108f657806385141a771461090b57610487565b806342bc9fca116103455780635f1c3182116102cd578063697e2f8e11610291578063697e2f8e146108335780636d9ae0be146108485780636f4a2cd01461085d57806370a0823114610881578063715018a6146108a157610487565b80635f1c31821461079e57806365b8dbc0146107b357806365bfe430146107d35780636770474b146107f35780636815a91c1461081357610487565b80635455797311610314578063545579731461071f57806354f12f1f14610734578063583bd7a61461074957806359640ed9146107695780635b0d46741461078957610487565b806342bc9fca146106b557806348b75044146106d557806349bd5a5e146106f55780634dc9b8191461070a57610487565b806319165587116103c85780632bb14e1d116103975780632bb14e1d14610629578063313ce5671461063e57806339509351146106605780633a98ef3914610680578063406072a91461069557610487565b806319165587146105a95780631ad34a4f146105c95780631cdd3be3146105e957806323b872dd1461060957610487565b80630c08f3001161040f5780630c08f3001461052857806313114a9d14610548578063138a634a1461055d5780631694505e1461057257806318160ddd1461059457610487565b806306fdde031461048c578063084a6bff146104b7578063095ea7b3146104d957806309a69f571461050657610487565b36610487577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77061046e610cbb565b3460405161047d929190613ca2565b60405180910390a1005b600080fd5b34801561049857600080fd5b506104a1610cbf565b6040516104ae9190613d3d565b60405180910390f35b3480156104c357600080fd5b506104d76104d2366004613be6565b610d51565b005b3480156104e557600080fd5b506104f96104f4366004613a8e565b610db6565b6040516104ae9190613d32565b34801561051257600080fd5b5061051b610dd4565b6040516104ae9190614659565b34801561053457600080fd5b506104d76105433660046139b1565b610f31565b34801561055457600080fd5b5061051b610f88565b34801561056957600080fd5b506104a1610f8e565b34801561057e57600080fd5b506105876110eb565b6040516104ae9190613c8e565b3480156105a057600080fd5b5061051b6110fa565b3480156105b557600080fd5b506104d76105c43660046139b1565b611100565b3480156105d557600080fd5b506104d76105e4366004613be6565b61120e565b3480156105f557600080fd5b506104f96106043660046139b1565b611292565b34801561061557600080fd5b506104f9610624366004613a21565b6112a7565b34801561063557600080fd5b5061051b61132f565b34801561064a57600080fd5b50610653611335565b6040516104ae91906146e8565b34801561066c57600080fd5b506104f961067b366004613a8e565b61133a565b34801561068c57600080fd5b5061051b611388565b3480156106a157600080fd5b5061051b6106b0366004613af1565b61138e565b3480156106c157600080fd5b506104d76106d0366004613be6565b6113b9565b3480156106e157600080fd5b506104d76106f0366004613af1565b611408565b34801561070157600080fd5b506105876115be565b34801561071657600080fd5b5061051b6115cd565b34801561072b57600080fd5b506104d7611612565b34801561074057600080fd5b5061051b611868565b34801561075557600080fd5b506104d7610764366004613ab9565b61186e565b34801561077557600080fd5b506104d7610784366004613be6565b6118bd565b34801561079557600080fd5b506104a1611957565b3480156107aa57600080fd5b5061051b611a44565b3480156107bf57600080fd5b506104d76107ce3660046139b1565b611a4a565b3480156107df57600080fd5b506104d76107ee366004613be6565b611ca6565b3480156107ff57600080fd5b506104d761080e366004613be6565b611efb565b34801561081f57600080fd5b506104d761082e366004613be6565b611f35565b34801561083f57600080fd5b50610587611f6f565b34801561085457600080fd5b5061051b611f7e565b34801561086957600080fd5b50610872611f84565b6040516104ae939291906146d2565b34801561088d57600080fd5b5061051b61089c3660046139b1565b612051565b3480156108ad57600080fd5b506104d761206c565b3480156108c257600080fd5b506104d76108d1366004613be6565b6120eb565b3480156108e257600080fd5b506104d76108f1366004613be6565b612150565b34801561090257600080fd5b5061051b6121b5565b34801561091757600080fd5b506105876121fa565b34801561092c57600080fd5b506104d7612209565b34801561094157600080fd5b506104d7610950366004613be6565b612291565b34801561096157600080fd5b50610587610970366004613be6565b6122e0565b34801561098157600080fd5b506104d7610990366004613be6565b61231e565b3480156109a157600080fd5b50610587612358565b3480156109b657600080fd5b506104d76109c5366004613b03565b612367565b3480156109d657600080fd5b506104d76109e53660046139b1565b6126e5565b3480156109f657600080fd5b506104a161273c565b348015610a0b57600080fd5b5061051b610a1a3660046139b1565b61274b565b348015610a2b57600080fd5b506104d7610a3a366004613a61565b612766565b348015610a4b57600080fd5b506104d7610a5a366004613be6565b6127d3565b348015610a6b57600080fd5b506104f9610a7a366004613a8e565b612838565b348015610a8b57600080fd5b5061051b6128a0565b348015610aa057600080fd5b506105876128e5565b348015610ab557600080fd5b506104f9610ac4366004613a8e565b6128f4565b348015610ad557600080fd5b5061051b612908565b348015610aea57600080fd5b506104f9610af93660046139b1565b61290e565b348015610b0a57600080fd5b5061051b610b193660046139b1565b612923565b348015610b2a57600080fd5b506104a16129da565b348015610b3f57600080fd5b50610587612ac7565b348015610b5457600080fd5b5061051b610b633660046139b1565b612ad6565b348015610b7457600080fd5b506104d7610b83366004613ab9565b612af1565b348015610b9457600080fd5b5061051b610ba33660046139b1565b612b56565b348015610bb457600080fd5b506104d7610bc3366004613a61565b612b71565b348015610bd457600080fd5b5061051b612bd1565b348015610be957600080fd5b5061051b612c16565b348015610bfe57600080fd5b5061051b610c0d3660046139e9565b612c5b565b348015610c1e57600080fd5b5061051b612c86565b348015610c3357600080fd5b506104a1612c8c565b348015610c4857600080fd5b506104d7610c573660046139b1565b612d79565b348015610c6857600080fd5b5061051b612e30565b348015610c7d57600080fd5b5061051b610c8c3660046139b1565b612e75565b348015610c9d57600080fd5b5061051b612ea6565b348015610cb257600080fd5b506104f9612eeb565b3390565b606060038054610cce906147e2565b80601f0160208091040260200160405190810160405280929190818152602001828054610cfa906147e2565b8015610d475780601f10610d1c57610100808354040283529160200191610d47565b820191906000526020600020905b815481529060010190602001808311610d2a57829003601f168201915b5050505050905090565b610d59610cbb565b6005546001600160a01b03908116911614610d8f5760405162461bcd60e51b8152600401610d8690614472565b60405180910390fd5b6013819055601554601454610db09190610daa908490612f68565b90612f68565b60165550565b6000610dca610dc3610cbb565b8484612f97565b5060015b92915050565b600080610ddf610cbb565b6001600160a01b03161415610e065760405162461bcd60e51b8152600401610d8690613f50565b600d546001600160a01b03166341ac82b0610e1f610cbb565b6040518263ffffffff1660e01b8152600401610e3b9190613c8e565b60206040518083038186803b158015610e5357600080fd5b505afa158015610e67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8b9190613ad5565b610ea75760405162461bcd60e51b8152600401610d8690613df0565b600d546001600160a01b031663619a635e610ec0610cbb565b6040518263ffffffff1660e01b8152600401610edc9190613c8e565b60206040518083038186803b158015610ef457600080fd5b505afa158015610f08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2c9190613bfe565b905090565b610f39610cbb565b6005546001600160a01b03908116911614610f665760405162461bcd60e51b8152600401610d8690614472565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b60165481565b60606000610f9a610cbb565b6001600160a01b03161415610fc15760405162461bcd60e51b8152600401610d8690613f50565b600d546001600160a01b03166341ac82b0610fda610cbb565b6040518263ffffffff1660e01b8152600401610ff69190613c8e565b60206040518083038186803b15801561100e57600080fd5b505afa158015611022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110469190613ad5565b6110625760405162461bcd60e51b8152600401610d8690613df0565b600d546001600160a01b031663334de3a261107b610cbb565b6040518263ffffffff1660e01b81526004016110979190613c8e565b60006040518083038186803b1580156110af57600080fd5b505afa1580156110c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2c9190810190613b7c565b600e546001600160a01b031681565b60025490565b6001600160a01b0381166000908152600860205260409020546111355760405162461bcd60e51b8152600401610d8690613f87565b600061113f612c86565b6111499047614748565b90506000611160838361115b8661274b565b61304b565b90508061117f5760405162461bcd60e51b8152600401610d86906140be565b6001600160a01b038316600090815260096020526040812080548392906111a7908490614748565b9250508190555080600760008282546111c09190614748565b909155506111d090508382613091565b7fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b0568382604051611201929190613ca2565b60405180910390a1505050565b611216610cbb565b6005546001600160a01b039081169116146112435760405162461bcd60e51b8152600401610d8690614472565b4781111561124e5750475b611256612358565b6001600160a01b03166108fc829081150290604051600060405180830381858888f1935050505015801561128e573d6000803e3d6000fd5b5050565b601b6020526000908152604090205460ff1681565b60006112b484848461312d565b611324846112c0610cbb565b61131f85604051806060016040528060288152602001614896602891396001600160a01b038a166000908152600160205260408120906112fe610cbb565b6001600160a01b0316815260208101919091526040016000205491906131e2565b612f97565b5060015b9392505050565b60135481565b601290565b6000610dca611347610cbb565b8461131f8560016000611358610cbb565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612f68565b60065490565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b6113c1610cbb565b6005546001600160a01b039081169116146113ee5760405162461bcd60e51b8152600401610d8690614472565b6014819055601554601354610db09190610daa9084612f68565b6001600160a01b03811660009081526008602052604090205461143d5760405162461bcd60e51b8152600401610d8690613f87565b600061144883612b56565b6040516370a0823160e01b81526001600160a01b038516906370a0823190611474903090600401613c8e565b60206040518083038186803b15801561148c57600080fd5b505afa1580156114a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c49190613bfe565b6114ce9190614748565b905060006114e1838361115b878761138e565b9050806115005760405162461bcd60e51b8152600401610d86906140be565b6001600160a01b038085166000908152600c6020908152604080832093871683529290529081208054839290611537908490614748565b90915550506001600160a01b0384166000908152600b602052604081208054839290611564908490614748565b90915550611575905084848361321c565b836001600160a01b03167f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a84836040516115b0929190613ca2565b60405180910390a250505050565b600f546001600160a01b031681565b600d54604080516345193f5560e11b815290516000926001600160a01b031691638a327eaa916004808301926020929190829003018186803b158015610ef457600080fd5b600061161c610cbb565b90506001600160a01b0381166116445760405162461bcd60e51b8152600401610d86906145b1565b6001600160a01b0381166000908152601b602052604090205460ff161561167d5760405162461bcd60e51b8152600401610d8690614109565b6010546001600160a01b038281169116148015906116a957506011546001600160a01b03828116911614155b6116c55760405162461bcd60e51b8152600401610d8690614377565b600d546040516330cd31af60e11b81526000916001600160a01b03169063619a635e906116f6908590600401613c8e565b60206040518083038186803b15801561170e57600080fd5b505afa158015611722573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117469190613bfe565b9050600081116117685760405162461bcd60e51b8152600401610d86906145fc565b601954610100900460ff16156117ca57601754600090156117bc576117a3606461179d6017548561329f90919063ffffffff16565b906132e4565b6010549091506117bc906001600160a01b031682613326565b6117c6818361479f565b9150505b6011546117e1906001600160a01b03168383613375565b600d5460405163170a62c760e21b81526001600160a01b0390911690635c298b1c90611811908590600401613c8e565b602060405180830381600087803b15801561182b57600080fd5b505af115801561183f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118639190613bfe565b505050565b60145481565b611876610cbb565b6005546001600160a01b039081169116146118a35760405162461bcd60e51b8152600401610d8690614472565b601980549115156101000261ff0019909216919091179055565b6118c5610cbb565b6005546001600160a01b039081169116146118f25760405162461bcd60e51b8152600401610d8690614472565b600d54604051631df3773160e31b81526001600160a01b039091169063ef9bb98890611922908490600401614659565b600060405180830381600087803b15801561193c57600080fd5b505af1158015611950573d6000803e3d6000fd5b5050505050565b60606000611963610cbb565b6001600160a01b0316141561198a5760405162461bcd60e51b8152600401610d8690613f50565b600d546001600160a01b03166341ac82b06119a3610cbb565b6040518263ffffffff1660e01b81526004016119bf9190613c8e565b60206040518083038186803b1580156119d757600080fd5b505afa1580156119eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0f9190613ad5565b611a2b5760405162461bcd60e51b8152600401610d8690613df0565b600d546001600160a01b0316634a389fae61107b610cbb565b601a5481565b611a52610cbb565b6005546001600160a01b03908116911614611a7f5760405162461bcd60e51b8152600401610d8690614472565b600e546001600160a01b0382811691161415611aad5760405162461bcd60e51b8152600401610d8690614140565b600e546040516001600160a01b03918216918316907f8fc842bbd331dfa973645f4ed48b11683d501ebf1352708d77a5da2ab49a576e90600090a3600e80546001600160a01b0319166001600160a01b0383811691909117918290556040805163c45a015560e01b815290516000939092169163c45a015591600480820192602092909190829003018186803b158015611b4657600080fd5b505afa158015611b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7e91906139cd565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b158015611bdb57600080fd5b505afa158015611bef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1391906139cd565b6040518363ffffffff1660e01b8152600401611c30929190613cbb565b602060405180830381600087803b158015611c4a57600080fd5b505af1158015611c5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8291906139cd565b600f80546001600160a01b0319166001600160a01b03929092169190911790555050565b6000611cb0610cbb565b90506001600160a01b038116611cd85760405162461bcd60e51b8152600401610d8690613f0b565b6001600160a01b0381166000908152601b602052604090205460ff1615611d115760405162461bcd60e51b8152600401610d8690614109565b6010546001600160a01b03828116911614801590611d3d57506011546001600160a01b03828116911614155b611d595760405162461bcd60e51b8152600401610d8690613d50565b600d546040516329b8573160e21b81526000916001600160a01b03169063a6e15cc490611d8c9085908790600401613ca2565b60206040518083038186803b158015611da457600080fd5b505afa158015611db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddc9190613bfe565b905060008111611dfe5760405162461bcd60e51b8152600401610d869061402a565b601954610100900460ff1615611e5a5760175460009015611e4c57611e33606461179d6017548561329f90919063ffffffff16565b601054909150611e4c906001600160a01b031682613326565b611e56818361479f565b9150505b601154611e71906001600160a01b03168383613375565b600d5460405163376db80160e11b81526001600160a01b0390911690636edb700290611ea39085908790600401613ca2565b602060405180830381600087803b158015611ebd57600080fd5b505af1158015611ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef59190613bfe565b50505050565b611f03610cbb565b6005546001600160a01b03908116911614611f305760405162461bcd60e51b8152600401610d8690614472565b601a55565b611f3d610cbb565b6005546001600160a01b03908116911614611f6a5760405162461bcd60e51b8152600401610d8690614472565b601755565b600d546001600160a01b031681565b60175481565b6000806000611f91610cbb565b6005546001600160a01b03908116911614611fbe5760405162461bcd60e51b8152600401610d8690614472565b600d60009054906101000a90046001600160a01b03166001600160a01b03166388fe65536040518163ffffffff1660e01b8152600401606060405180830381600087803b15801561200e57600080fd5b505af1158015612022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120469190613c16565b925092509250909192565b6001600160a01b031660009081526020819052604090205490565b612074610cbb565b6005546001600160a01b039081169116146120a15760405162461bcd60e51b8152600401610d8690614472565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6120f3610cbb565b6005546001600160a01b039081169116146121205760405162461bcd60e51b8152600401610d8690614472565b600d546040516318df5db960e31b81526001600160a01b039091169063c6faedc890611922908490600401614659565b612158610cbb565b6005546001600160a01b039081169116146121855760405162461bcd60e51b8152600401610d8690614472565b600d5460405163cece91eb60e01b81526001600160a01b039091169063cece91eb90611922908490600401614659565b600d546040805163b8527aef60e01b815290516000926001600160a01b03169163b8527aef916004808301926020929190829003018186803b158015610ef457600080fd5b6012546001600160a01b031681565b600d60009054906101000a90046001600160a01b03166001600160a01b03166388fe65536040518163ffffffff1660e01b8152600401606060405180830381600087803b15801561225957600080fd5b505af115801561226d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118639190613c16565b612299610cbb565b6005546001600160a01b039081169116146122c65760405162461bcd60e51b8152600401610d8690614472565b6015819055601454601354610db0918391610daa91612f68565b6000600a828154811061230357634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031692915050565b612326610cbb565b6005546001600160a01b039081169116146123535760405162461bcd60e51b8152600401610d8690614472565b601855565b6005546001600160a01b031690565b60038151118015612379575060208151105b6123955760405162461bcd60e51b8152600401610d8690613e17565b600061239f610cbb565b90506001600160a01b0381166123c75760405162461bcd60e51b8152600401610d86906143d4565b6001600160a01b0381166000908152601b602052604090205460ff16156124005760405162461bcd60e51b8152600401610d8690614335565b6010546001600160a01b0382811691161480159061242c57506011546001600160a01b03828116911614155b6124485760405162461bcd60e51b8152600401610d86906142d8565b600d5460408051631e3fd85760e31b815290516000926001600160a01b03169163f1fec2b8916004808301926020929190829003018186803b15801561248d57600080fd5b505afa1580156124a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c59190613bfe565b9050806124d183612051565b10156124ef5760405162461bcd60e51b8152600401610d8690614188565b60006124fa30612051565b601a54909150811080159081906125185750601954610100900460ff165b8015612527575060195460ff16155b801561254c5750612536612358565b6001600160a01b0316846001600160a01b031614155b801561257157506001600160a01b0384166000908152601c602052604090205460ff16155b1561266f576019805460ff1916600117905560155460009061259b9060649061179d90869061329f565b6010549091506125b4906001600160a01b031682613326565b60006125d0606461179d6013548761329f90919063ffffffff16565b905060006125ee606461179d6018548561329f90919063ffffffff16565b601154909150612607906001600160a01b031682613326565b6011546126289030906001600160a01b0316612623858561348a565b613375565b6000612644606461179d6014548961329f90919063ffffffff16565b905061264f816134cc565b61266061265b30612051565b61354d565b50506019805460ff1916905550505b61267a843085613375565b600d546040516312b8603f60e01b81526001600160a01b03909116906312b8603f906126ac9087908990600401613cd5565b600060405180830381600087803b1580156126c657600080fd5b505af11580156126da573d6000803e3d6000fd5b505050505050505050565b6126ed610cbb565b6005546001600160a01b0390811691161461271a5760405162461bcd60e51b8152600401610d8690614472565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b606060048054610cce906147e2565b6001600160a01b031660009081526009602052604090205490565b61276e610cbb565b6005546001600160a01b0390811691161461279b5760405162461bcd60e51b8152600401610d8690614472565b600f546001600160a01b03838116911614156127c95760405162461bcd60e51b8152600401610d8690614268565b61128e82826136d2565b6127db610cbb565b6005546001600160a01b039081169116146128085760405162461bcd60e51b8152600401610d8690614472565b600d5460405163d1871a8960e01b81526001600160a01b039091169063d1871a8990611922908490600401614659565b6000610dca612845610cbb565b8461131f856040518060600160405280602581526020016148be602591396001600061286f610cbb565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906131e2565b600d5460408051631e3fd85760e31b815290516000926001600160a01b03169163f1fec2b8916004808301926020929190829003018186803b158015610ef457600080fd5b6010546001600160a01b031681565b6000610dca612901610cbb565b848461312d565b60155481565b601c6020526000908152604090205460ff1681565b600061292d610cbb565b6005546001600160a01b0390811691161461295a5760405162461bcd60e51b8152600401610d8690614472565b600d546040516330cd31af60e11b81526001600160a01b039091169063619a635e9061298a908590600401613c8e565b60206040518083038186803b1580156129a257600080fd5b505afa1580156129b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dce9190613bfe565b606060006129e6610cbb565b6001600160a01b03161415612a0d5760405162461bcd60e51b8152600401610d8690613f50565b600d546001600160a01b03166341ac82b0612a26610cbb565b6040518263ffffffff1660e01b8152600401612a429190613c8e565b60206040518083038186803b158015612a5a57600080fd5b505afa158015612a6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a929190613ad5565b612aae5760405162461bcd60e51b8152600401610d8690613df0565b600d546001600160a01b031663c92819ce61107b610cbb565b6011546001600160a01b031681565b6001600160a01b031660009081526008602052604090205490565b612af9610cbb565b6005546001600160a01b03908116911614612b265760405162461bcd60e51b8152600401610d8690614472565b600d54604051636d58441560e11b81526001600160a01b039091169063dab0882a90611922908490600401613d32565b6001600160a01b03166000908152600b602052604090205490565b612b79610cbb565b6005546001600160a01b03908116911614612ba65760405162461bcd60e51b8152600401610d8690614472565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b600d546040805163fb10d6fb60e01b815290516000926001600160a01b03169163fb10d6fb916004808301926020929190829003018186803b158015610ef457600080fd5b600d546040805163613ff46f60e01b815290516000926001600160a01b03169163613ff46f916004808301926020929190829003018186803b158015610ef457600080fd5b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60075490565b60606000612c98610cbb565b6001600160a01b03161415612cbf5760405162461bcd60e51b8152600401610d8690613f50565b600d546001600160a01b03166341ac82b0612cd8610cbb565b6040518263ffffffff1660e01b8152600401612cf49190613c8e565b60206040518083038186803b158015612d0c57600080fd5b505afa158015612d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d449190613ad5565b612d605760405162461bcd60e51b8152600401610d8690613df0565b600d546001600160a01b0316635759fb0261107b610cbb565b612d81610cbb565b6005546001600160a01b03908116911614612dae5760405162461bcd60e51b8152600401610d8690614472565b6001600160a01b038116612dd45760405162461bcd60e51b8152600401610d8690613e4c565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b600d54604080516327b3bf1160e01b815290516000926001600160a01b0316916327b3bf11916004808301926020929190829003018186803b158015610ef457600080fd5b600d5460405163112469f960e21b81526000916001600160a01b031690634491a7e49061298a908590600401613c8e565b600d5460408051636f60a39360e11b815290516000926001600160a01b03169163dec14726916004808301926020929190829003018186803b158015610ef457600080fd5b600d54604080516385c44d9d60e01b815290516000926001600160a01b0316916385c44d9d916004808301926020929190829003018186803b158015612f3057600080fd5b505afa158015612f44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2c9190613ad5565b600080612f758385614748565b9050838110156113285760405162461bcd60e51b8152600401610d8690613ed4565b6001600160a01b038316612fbd5760405162461bcd60e51b8152600401610d86906144ec565b6001600160a01b038216612fe35760405162461bcd60e51b8152600401610d8690613e92565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061303e908590614659565b60405180910390a3505050565b6006546001600160a01b038416600090815260086020526040812054909183916130759086614780565b61307f9190614760565b613089919061479f565b949350505050565b804710156130b15760405162461bcd60e51b8152600401610d8690614087565b6000826001600160a01b0316826040516130ca90613c8b565b60006040518083038185875af1925050503d8060008114613107576040519150601f19603f3d011682016040523d82523d6000602084013e61310c565b606091505b50509050806118635760405162461bcd60e51b8152600401610d8690613fcd565b6001600160a01b0383166131535760405162461bcd60e51b8152600401610d86906144a7565b6001600160a01b0382166131795760405162461bcd60e51b8152600401610d8690613dad565b6001600160a01b0383166000908152601b602052604090205460ff161580156131bb57506001600160a01b0382166000908152601b602052604090205460ff16155b6131d75760405162461bcd60e51b8152600401610d8690614231565b611863838383613375565b600081848411156132065760405162461bcd60e51b8152600401610d869190613d3d565b506000613213848661479f565b95945050505050565b6118638363a9059cbb60e01b848460405160240161323b929190613ca2565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613765565b6000826132ae57506000610dce565b60006132ba8385614780565b9050826132c78583614760565b146113285760405162461bcd60e51b8152600401610d8690614431565b600061132883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506137f4565b476133308261354d565b600061333c478361348a565b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015611950573d6000803e3d6000fd5b6001600160a01b03831661339b5760405162461bcd60e51b8152600401610d86906144a7565b6001600160a01b0382166133c15760405162461bcd60e51b8152600401610d8690613dad565b6133cc838383611863565b61340981604051806060016040528060268152602001614870602691396001600160a01b03861660009081526020819052604090205491906131e2565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546134389082612f68565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061303e908590614659565b600061132883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506131e2565b60006134d98260026132e4565b905060006134e7838361348a565b9050476134f38361354d565b60006134ff478361348a565b905061350b8382613822565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56184828560405161353e939291906146d2565b60405180910390a15050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061359057634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600e54604080516339d94ae160e11b8152905191909316926373b295c2926004808301939192829003018186803b1580156135e457600080fd5b505afa1580156135f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061361c91906139cd565b8160018151811061363d57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600e546136639130911684612f97565b600e54604051633b158ab160e11b81526001600160a01b039091169063762b15629061369c908590600090869030904290600401614662565b600060405180830381600087803b1580156136b657600080fd5b505af11580156136ca573d6000803e3d6000fd5b505050505050565b6001600160a01b0382166000908152601c602052604090205460ff16151581151514156137115760405162461bcd60e51b8152600401610d86906141d4565b6001600160a01b0382166000818152601c6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b60006137ba826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166138c99092919063ffffffff16565b80519091501561186357808060200190518101906137d89190613ad5565b6118635760405162461bcd60e51b8152600401610d8690614567565b600081836138155760405162461bcd60e51b8152600401610d869190613d3d565b5060006132138486614760565b600e5461383a9030906001600160a01b031684612f97565b600e54604051637c8d9fb960e11b81526001600160a01b039091169063f91b3f729083906138779030908790600090819081904290600401613cf7565b6060604051808303818588803b15801561389057600080fd5b505af11580156138a4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119509190613c16565b60606130898484600085856138dd85613972565b6138f95760405162461bcd60e51b8152600401610d8690614530565b600080866001600160a01b031685876040516139159190613c6f565b60006040518083038185875af1925050503d8060008114613952576040519150601f19603f3d011682016040523d82523d6000602084013e613957565b606091505b5091509150613967828286613978565b979650505050505050565b3b151590565b60608315613987575081611328565b8251156139975782518084602001fd5b8160405162461bcd60e51b8152600401610d869190613d3d565b6000602082840312156139c2578081fd5b813561132881614849565b6000602082840312156139de578081fd5b815161132881614849565b600080604083850312156139fb578081fd5b8235613a0681614849565b91506020830135613a1681614849565b809150509250929050565b600080600060608486031215613a35578081fd5b8335613a4081614849565b92506020840135613a5081614849565b929592945050506040919091013590565b60008060408385031215613a73578182fd5b8235613a7e81614849565b91506020830135613a1681614861565b60008060408385031215613aa0578182fd5b8235613aab81614849565b946020939093013593505050565b600060208284031215613aca578081fd5b813561132881614861565b600060208284031215613ae6578081fd5b815161132881614861565b600080604083850312156139fb578182fd5b600060208284031215613b14578081fd5b813567ffffffffffffffff811115613b2a578182fd5b8201601f81018413613b3a578182fd5b8035613b4d613b4882614720565b6146f6565b818152856020838501011115613b61578384fd5b81602084016020830137908101602001929092525092915050565b600060208284031215613b8d578081fd5b815167ffffffffffffffff811115613ba3578182fd5b8201601f81018413613bb3578182fd5b8051613bc1613b4882614720565b818152856020838501011115613bd5578384fd5b6132138260208301602086016147b6565b600060208284031215613bf7578081fd5b5035919050565b600060208284031215613c0f578081fd5b5051919050565b600080600060608486031215613c2a578081fd5b8351925060208401519150604084015190509250925092565b60008151808452613c5b8160208601602086016147b6565b601f01601f19169290920160200192915050565b60008251613c818184602087016147b6565b9190910192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b60006001600160a01b0384168252604060208301526130896040830184613c43565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602082526113286020830184613c43565b60208082526032908201527f435348543a20667574757220616e642072657761726473506f6f6c2063616e6e60408201527f6f7420636173686f757420726577617264730000000000000000000000000000606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252600d908201526c2727902727a2229027aba722a960991b604082015260600190565b6020808252818101527f4e4f4445204352454154494f4e3a204e414d452053495a4520494e56414c4944604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526025908201527f435348543a20206372656174696f6e2066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526014908201527f53454e4445522043414e2754204245205a45524f000000000000000000000000604082015260600190565b60208082526026908201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060408201526573686172657360d01b606082015260800190565b6020808252603a908201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260408201527f6563697069656e74206d61792068617665207265766572746564000000000000606082015260800190565b6020808252602e908201527f435348543a20596f7520646f6e2774206861766520656e6f756768207265776160408201527f726420746f2063617368206f7574000000000000000000000000000000000000606082015260800190565b6020808252601d908201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604082015260600190565b6020808252602b908201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060408201526a191d59481c185e5b595b9d60aa1b606082015260800190565b6020808252601f908201527f4d414e494120435348543a20426c61636b6c6973746564206164647265737300604082015260600190565b60208082526028908201527f544b4e3a2054686520726f7574657220616c7265616479206861732074686174604082015267206164647265737360c01b606082015260800190565b6020808252602c908201527f4e4f4445204352454154494f4e3a2042616c616e636520746f6f206c6f77206660408201526b37b91031b932b0ba34b7b71760a11b606082015260800190565b6020808252603d908201527f544b4e3a204175746f6d61746564206d61726b6574206d616b6572207061697260408201527f20697320616c72656164792073657420746f20746861742076616c7565000000606082015260800190565b60208082526013908201527f426c61636b6c6973746564206164647265737300000000000000000000000000604082015260600190565b6020808252604a908201527f544b4e3a205468652050616e63616b655377617020706169722063616e6e6f7460408201527f2062652072656d6f7665642066726f6d206175746f6d617465644d61726b65746060820152694d616b6572506169727360b01b608082015260a00190565b60208082526037908201527f4e4f4445204352454154494f4e3a20667574757220616e64207265776172647360408201527f506f6f6c2063616e6e6f7420637265617465206e6f6465000000000000000000606082015260800190565b60208082526022908201527f4e4f4445204352454154494f4e3a20426c61636b6c6973746564206164647265604082015261737360f01b606082015260800190565b60208082526038908201527f4d414e494120435348543a20667574757220616e642072657761726473506f6f60408201527f6c2063616e6e6f7420636173686f757420726577617264730000000000000000606082015260800190565b6020808252602e908201527f4e4f4445204352454154494f4e3a20206372656174696f6e2066726f6d20746860408201527f65207a65726f2061646472657373000000000000000000000000000000000000606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602b908201527f4d414e494120435348543a20206372656174696f6e2066726f6d20746865207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526034908201527f4d414e494120435348543a20596f7520646f6e2774206861766520656e6f756760408201527f682072657761726420746f2063617368206f7574000000000000000000000000606082015260800190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156146b15784516001600160a01b03168352938301939183019160010161468c565b50506001600160a01b03969096166060850152505050608001529392505050565b9283526020830191909152604082015260600190565b60ff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561471857614718614833565b604052919050565b600067ffffffffffffffff82111561473a5761473a614833565b50601f01601f191660200190565b6000821982111561475b5761475b61481d565b500190565b60008261477b57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561479a5761479a61481d565b500290565b6000828210156147b1576147b161481d565b500390565b60005b838110156147d15781810151838201526020016147b9565b83811115611ef55750506000910152565b6002810460018216806147f657607f821691505b6020821081141561481757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461485e57600080fd5b50565b801515811461485e57600080fdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122014c52c1c5da221a5eee615f8f3f6f186241d573f028e2a0dbc758467ea65dfa164736f6c634300080000330000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000026ac00000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000671901bdc98193640d60180c415da29ec397a6b000000000000000000000000000000000000000000000000000000000000000040000000000000000000000001d6f0cca41c0f23942309c21333d062dc9c0507c00000000000000000000000041b4b9d3206154f7fec8c742299ec76ccdbcf665000000000000000000000000e35581b4196d8c26a3c93eb6a566b4efcc254a70000000000000000000000000f1d60534eafce2ba715f5e8a6423aeb10be56a980000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000080000000000000000000000009743bcbaa9d595b969cd5664b3f7ad8e7982ddde000000000000000000000000ed1688f3ed1d8e243c8e0f0a25da45cfa6487d34000000000000000000000000be299df9c2f98428724dbffebfb6a63dc2c3b198000000000000000000000000397e5c7b33228561d799e4333fdc21b2296dc81e00000000000000000000000070cb5cf46394567d4a6d47e7e7005a1c96f62ceb000000000000000000000000bed35eb8936c6fefdf33ee52c9989e4663e53c5b0000000000000000000000009ee6d584c9216c90703c71c018fdc7fb262e59e8000000000000000000000000000000000000000000000000000000000000dead00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000035b600000000000000000000000000000000000000000000000000000000000035b600000000000000000000000000000000000000000000000000000000000035b600000000000000000000000000000000000000000000000000000000000035b60000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000186a00000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000128e2e700000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001e