[ { "inputs": [ { "internalType": "address[]", "name": "payees", "type": "address[]" }, { "internalType": "uint256[]", "name": "shares", "type": "uint256[]" }, { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "uint256", "name": "swapAmount", "type": "uint256" } ], "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": "cashoutPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "blocktime", "type": "uint256" } ], "name": "cashoutReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "cashoutSpecificReward", "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": "uint256", "name": "amount", "type": "uint256" } ], "name": "compound", "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": "expenseFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "expensePool", "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": "marketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": [ { "internalType": "string", "name": "oldName", "type": "string" }, { "internalType": "string", "name": "newName", "type": "string" } ], "name": "renameNode", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardsFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellFee", "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" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setExcludedFromFee", "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": "to", "type": "address" }, { "internalType": "string", "name": "nodeName", "type": "string" } ], "name": "transferNode", "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": "treasuryPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IJoeRouter02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "wall", "type": "address" } ], "name": "updateCashoutWall", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "wall", "type": "address" } ], "name": "updateExpenseWall", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "updateFuturFee", "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": "updateMarketingFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "wall", "type": "address" } ], "name": "updateMarketingWall", "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": "value", "type": "uint256" } ], "name": "updateSellFee", "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" } ]
6080604052601580546001600160a01b03191661dead179055601d805461ffff19166101001790553480156200003457600080fd5b5060405162005e5438038062005e54833981016040819052620000579162000ad7565b838360405180604001604052806004815260200163135a5b9960e21b815250604051806040016040528060048152602001631352539160e21b8152508160039080519060200190620000ab92919062000938565b508051620000c190600490602084019062000938565b5050506000620000d6620005e060201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508051825114620001965760405162461bcd60e51b815260206004820152603260248201527f5061796d656e7453706c69747465723a2070617965657320616e6420736861726044820152710cae640d8cadccee8d040dad2e6dac2e8c6d60731b60648201526084015b60405180910390fd5b6000825111620001e95760405162461bcd60e51b815260206004820152601a60248201527f5061796d656e7453706c69747465723a206e6f2070617965657300000000000060448201526064016200018d565b60005b82518110156200025557620002408382815181106200020f576200020f62000bca565b60200260200101518383815181106200022c576200022c62000bca565b6020026020010151620005e460201b60201c565b806200024c8162000bf6565b915050620001ec565b5050508151600514620002ab5760405162461bcd60e51b815260206004820152601c60248201527f436f756e74206f6620416464726573736573206d75737420626520350000000060448201526064016200018d565b81600081518110620002c157620002c162000bca565b6020026020010151601360006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160018151811062000305576200030562000bca565b6020026020010151601160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160028151811062000349576200034962000bca565b6020026020010151601260006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816003815181106200038d576200038d62000bca565b6020026020010151601060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081600481518110620003d157620003d162000bca565b6020026020010151601460006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060005b60058110156200046e5760016021600085848151811062000427576200042762000bca565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620004658162000bf6565b91505062000402565b506010546001600160a01b0316158015906200049457506011546001600160a01b031615155b620004f05760405162461bcd60e51b815260206004820152602560248201527f465554555220262052455741524420414444524553532043414e4e4f54204245604482015264205a45524f60d81b60648201526084016200018d565b603c6016819055601e60178190556005601b8190556018819055601c8290556200054692909162000532918391839190620007d2602090811b6200391a17901c565b620007d260201b6200391a1790919060201c565b6019556013546200056c906001600160a01b03166acecb8f27f4200f3a0000006200083c565b60008111620005be5760405162461bcd60e51b815260206004820152601d60248201527f434f4e5354523a205377617020616d6f756e7420696e636f727265637400000060448201526064016200018d565b620005d281670de0b6b3a764000062000c14565b601e555062000c8e92505050565b3390565b6001600160a01b038216620006515760405162461bcd60e51b815260206004820152602c60248201527f5061796d656e7453706c69747465723a206163636f756e74206973207468652060448201526b7a65726f206164647265737360a01b60648201526084016200018d565b60008111620006a35760405162461bcd60e51b815260206004820152601d60248201527f5061796d656e7453706c69747465723a2073686172657320617265203000000060448201526064016200018d565b6001600160a01b038216600090815260086020526040902054156200071f5760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960448201526a206861732073686172657360a81b60648201526084016200018d565b600a8054600181019091557fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319166001600160a01b03841690811790915560009081526008602052604090208190556006546200078990829062000c36565b600655604080516001600160a01b0384168152602081018390527f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac910160405180910390a15050565b600080620007e1838562000c36565b905083811015620008355760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200018d565b9392505050565b6001600160a01b038216620008945760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200018d565b620008b081600254620007d260201b6200391a1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620008e39183906200391a620007d2821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b828054620009469062000c51565b90600052602060002090601f0160209004810192826200096a5760008555620009b5565b82601f106200098557805160ff1916838001178555620009b5565b82800160010185558215620009b5579182015b82811115620009b557825182559160200191906001019062000998565b50620009c3929150620009c7565b5090565b5b80821115620009c35760008155600101620009c8565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000a1f5762000a1f620009de565b604052919050565b60006001600160401b0382111562000a435762000a43620009de565b5060051b60200190565b600082601f83011262000a5f57600080fd5b8151602062000a7862000a728362000a27565b620009f4565b82815260059290921b8401810191818101908684111562000a9857600080fd5b8286015b8481101562000acc5780516001600160a01b038116811462000abe5760008081fd5b835291830191830162000a9c565b509695505050505050565b6000806000806080858703121562000aee57600080fd5b84516001600160401b038082111562000b0657600080fd5b62000b148883890162000a4d565b955060209150818701518181111562000b2c57600080fd5b8701601f8101891362000b3e57600080fd5b805162000b4f62000a728262000a27565b81815260059190911b8201840190848101908b83111562000b6f57600080fd5b928501925b8284101562000b8f5783518252928501929085019062000b74565b60408b015190985094505050508082111562000baa57600080fd5b5062000bb98782880162000a4d565b606096909601519497939650505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562000c0d5762000c0d62000be0565b5060010190565b600081600019048311821515161562000c315762000c3162000be0565b500290565b6000821982111562000c4c5762000c4c62000be0565b500190565b600181811c9082168062000c6657607f821691505b6020821081141562000c8857634e487b7160e01b600052602260045260246000fd5b50919050565b6151b68062000c9e6000396000f3fe6080604052600436106104cf5760003560e01c80637e8100c011610276578063b96392c11161014f578063da41b333116100c1578063f2fde38b11610085578063f2fde38b14610f6c578063f5a0725614610f8c578063f74c993414610fa1578063f7b9f94314610fc1578063f9afc76314610fd6578063fb0a749414610feb57600080fd5b8063da41b33314610ed2578063db3ad6b514610ee7578063dd62ed3e14610efc578063e33b7de314610f42578063ee1afdbf14610f5757600080fd5b8063ce7c2ac211610113578063ce7c2ac214610de6578063cf38287714610e1c578063d0c298b314610e3c578063d0f7747414610e5c578063d79779b214610e7c578063d892934214610eb257600080fd5b8063b96392c114610d51578063bbc7d0b914610d71578063bdf24a5314610d91578063c04b463714610da6578063c5ca7d6d14610dc657600080fd5b806395d89b41116101e8578063a0a8fe65116101ac578063a0a8fe6514610c98578063a457c2d714610cad578063a5021a1714610ccd578063a9059cbb14610ce2578063aa5f7e2614610d02578063b62496f514610d2257600080fd5b806395d89b4114610bed5780639852595c14610c025780639a7a23d614610c385780639b87682a14610c585780639c82751c14610c7857600080fd5b80638b83209b1161023a5780638b83209b14610b2f5780638bc9c7b014610b4f5780638da5cb5b14610b6f5780638f0ba4ca14610b8d5780639349c47d14610bad578063938bc81114610bcd57600080fd5b80637e8100c014610aa45780638013858b14610aba57806385141a7714610ada5780638743ef6d14610afa57806388c41d7c14610b0f57600080fd5b806342bc9fca116103a85780635f1c31821161031a5780636b67c4df116102de5780636b67c4df146109d35780636f4a2cd0146109e957806370a0823114610a19578063715018a614610a4f5780637628b3d714610a645780637b77039214610a8457600080fd5b80635f1c31821461093d57806365b8dbc01461095357806365bfe430146109735780636612e66f146109935780636770474b146109b357600080fd5b8063545579731161036c578063545579731461089d57806354f12f1f146108b2578063583bd7a6146108c857806359640ed9146108e85780635a63ddbb146109085780635b0d46741461092857600080fd5b806342bc9fca1461080857806348b750441461082857806348df58291461084857806348e5642b1461086857806349bd5a5e1461087d57600080fd5b80631cdd3be311610441578063313ce56711610405578063313ce567146107315780633655af8c1461074d578063395093511461076d5780633a98ef391461078d578063406072a9146107a25780634195fbf3146107e857600080fd5b80631cdd3be3146106955780631d933a4a146106c557806323b872dd146106e55780632b14ca56146107055780632bb14e1d1461071b57600080fd5b80630ab38aa3116104935780630ab38aa3146105dd57806313114a9d146105fd578063138a634a146106135780631694505e1461062857806318160ddd14610660578063191655871461067557600080fd5b8063016cffb21461051d57806306fdde031461053f578063084a6bff1461056a578063095ea7b31461058a57806309a69f57146105ba57600080fd5b36610518577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77033604080516001600160a01b0390921682523460208301520160405180910390a1005b600080fd5b34801561052957600080fd5b5061053d61053836600461476c565b61100b565b005b34801561054b57600080fd5b50610554611060565b60405161056191906147e1565b60405180910390f35b34801561057657600080fd5b5061053d6105853660046147f4565b6110f2565b34801561059657600080fd5b506105aa6105a536600461480d565b611148565b6040519015158152602001610561565b3480156105c657600080fd5b506105cf61115f565b604051908152602001610561565b3480156105e957600080fd5b5061053d6105f836600461476c565b611293565b34801561060957600080fd5b506105cf60195481565b34801561061f57600080fd5b506105546112df565b34801561063457600080fd5b50600e54610648906001600160a01b031681565b6040516001600160a01b039091168152602001610561565b34801561066c57600080fd5b506002546105cf565b34801561068157600080fd5b5061053d61069036600461476c565b611413565b3480156106a157600080fd5b506105aa6106b036600461476c565b601f6020526000908152604090205460ff1681565b3480156106d157600080fd5b5061053d6106e03660046147f4565b611541565b3480156106f157600080fd5b506105aa610700366004614839565b611570565b34801561071157600080fd5b506105cf601a5481565b34801561072757600080fd5b506105cf60165481565b34801561073d57600080fd5b5060405160128152602001610561565b34801561075957600080fd5b5061053d6107683660046147f4565b6115c0565b34801561077957600080fd5b506105aa61078836600461480d565b6117bf565b34801561079957600080fd5b506006546105cf565b3480156107ae57600080fd5b506105cf6107bd36600461487a565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b3480156107f457600080fd5b5061053d6108033660046147f4565b6117f5565b34801561081457600080fd5b5061053d6108233660046147f4565b611868565b34801561083457600080fd5b5061053d61084336600461487a565b6118b1565b34801561085457600080fd5b50601354610648906001600160a01b031681565b34801561087457600080fd5b506105cf611a8a565b34801561088957600080fd5b50600f54610648906001600160a01b031681565b3480156108a957600080fd5b5061053d611ad4565b3480156108be57600080fd5b506105cf60175481565b3480156108d457600080fd5b5061053d6108e33660046148c1565b611cdd565b3480156108f457600080fd5b5061053d6109033660046147f4565b611d21565b34801561091457600080fd5b50601054610648906001600160a01b031681565b34801561093457600080fd5b50610554611dad565b34801561094957600080fd5b506105cf601e5481565b34801561095f57600080fd5b5061053d61096e36600461476c565b611e79565b34801561097f57600080fd5b5061053d61098e3660046147f4565b6120e8565b34801561099f57600080fd5b5061053d6109ae3660046148de565b61233c565b3480156109bf57600080fd5b5061053d6109ce3660046147f4565b612391565b3480156109df57600080fd5b506105cf601b5481565b3480156109f557600080fd5b506109fe6123c0565b60408051938452602084019290925290820152606001610561565b348015610a2557600080fd5b506105cf610a3436600461476c565b6001600160a01b031660009081526020819052604090205490565b348015610a5b57600080fd5b5061053d612475565b348015610a7057600080fd5b50600d54610648906001600160a01b031681565b348015610a9057600080fd5b5061053d610a9f3660046147f4565b6124e9565b348015610ab057600080fd5b506105cf60185481565b348015610ac657600080fd5b5061053d610ad53660046147f4565b612544565b348015610ae657600080fd5b50601554610648906001600160a01b031681565b348015610b0657600080fd5b5061053d61259f565b348015610b1b57600080fd5b5061053d610b2a3660046147f4565b612618565b348015610b3b57600080fd5b50610648610b4a3660046147f4565b61266c565b348015610b5b57600080fd5b5061053d610b6a3660046147f4565b61269c565b348015610b7b57600080fd5b506005546001600160a01b0316610648565b348015610b9957600080fd5b5061053d610ba83660046149d1565b6126cb565b348015610bb957600080fd5b5061053d610bc836600461476c565b612bc3565b348015610bd957600080fd5b506105aa610be8366004614a06565b612c0f565b348015610bf957600080fd5b50610554612c87565b348015610c0e57600080fd5b506105cf610c1d36600461476c565b6001600160a01b031660009081526009602052604090205490565b348015610c4457600080fd5b5061053d610c533660046148de565b612c96565b348015610c6457600080fd5b5061053d610c73366004614a56565b612d61565b348015610c8457600080fd5b5061053d610c933660046147f4565b612ebd565b348015610ca457600080fd5b506105cf612f18565b348015610cb957600080fd5b506105aa610cc836600461480d565b612f62565b348015610cd957600080fd5b506105cf612fb1565b348015610cee57600080fd5b506105aa610cfd36600461480d565b612ffb565b348015610d0e57600080fd5b5061053d610d1d3660046147f4565b613008565b348015610d2e57600080fd5b506105aa610d3d36600461476c565b602080526000908152604090205460ff1681565b348015610d5d57600080fd5b506105cf610d6c36600461476c565b6132a0565b348015610d7d57600080fd5b50601254610648906001600160a01b031681565b348015610d9d57600080fd5b5061055461333c565b348015610db257600080fd5b50601454610648906001600160a01b031681565b348015610dd257600080fd5b50601154610648906001600160a01b031681565b348015610df257600080fd5b506105cf610e0136600461476c565b6001600160a01b031660009081526008602052604090205490565b348015610e2857600080fd5b5061053d610e373660046147f4565b613408565b348015610e4857600080fd5b5061053d610e5736600461476c565b613451565b348015610e6857600080fd5b5061053d610e773660046148c1565b61349d565b348015610e8857600080fd5b506105cf610e9736600461476c565b6001600160a01b03166000908152600b602052604090205490565b348015610ebe57600080fd5b5061053d610ecd3660046148de565b6134f9565b348015610ede57600080fd5b506105cf61354e565b348015610ef357600080fd5b506105cf613598565b348015610f0857600080fd5b506105cf610f1736600461487a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610f4e57600080fd5b506007546105cf565b348015610f6357600080fd5b506105546135e2565b348015610f7857600080fd5b5061053d610f8736600461476c565b6136ae565b348015610f9857600080fd5b506105cf613799565b348015610fad57600080fd5b506105cf610fbc36600461476c565b6137e3565b348015610fcd57600080fd5b506105cf613816565b348015610fe257600080fd5b506105aa613860565b348015610ff757600080fd5b5061053d61100636600461476c565b6138ce565b6005546001600160a01b0316331461103e5760405162461bcd60e51b815260040161103590614ab0565b60405180910390fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60606003805461106f90614ae5565b80601f016020809104026020016040519081016040528092919081815260200182805461109b90614ae5565b80156110e85780601f106110bd576101008083540402835291602001916110e8565b820191906000526020600020905b8154815290600101906020018083116110cb57829003601f168201915b5050505050905090565b6005546001600160a01b0316331461111c5760405162461bcd60e51b815260040161103590614ab0565b6016819055601b54601854601754611142929161113c918290869061391a565b9061391a565b60195550565b6000611155338484613979565b5060015b92915050565b60003361117e5760405162461bcd60e51b815260040161103590614b20565b600d546001600160a01b03166341ac82b0336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156111d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f89190614b4e565b6112145760405162461bcd60e51b815260040161103590614b6b565b600d546001600160a01b031663619a635e336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561126a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128e9190614b92565b905090565b6005546001600160a01b031633146112bd5760405162461bcd60e51b815260040161103590614ab0565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6060336112fe5760405162461bcd60e51b815260040161103590614b20565b600d546001600160a01b03166341ac82b0336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113789190614b4e565b6113945760405162461bcd60e51b815260040161103590614b6b565b600d546001600160a01b031663334de3a2335b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381865afa1580156113eb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261128e9190810190614bab565b6001600160a01b0381166000908152600860205260409020546114485760405162461bcd60e51b815260040161103590614c19565b600061145360075490565b61145d9047614c75565b9050600061148a8383611485866001600160a01b031660009081526009602052604090205490565b613a9e565b9050806114a95760405162461bcd60e51b815260040161103590614c8d565b6001600160a01b038316600090815260096020526040812080548392906114d1908490614c75565b9250508190555080600760008282546114ea9190614c75565b909155506114fa90508382613ae4565b604080516001600160a01b0385168152602081018390527fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056910160405180910390a1505050565b6005546001600160a01b0316331461156b5760405162461bcd60e51b815260040161103590614ab0565b601a55565b600061157d848484613bfd565b6115b584336115b085604051806060016040528060288152602001615134602891396115a98a33610f17565b9190613e28565b613979565b5060015b9392505050565b33816116055760405162461bcd60e51b8152602060048201526014602482015273416d6f756e742063616e2774206265207a65726f60601b6044820152606401611035565b6001600160a01b03811661162b5760405162461bcd60e51b815260040161103590614cd8565b6001600160a01b0381166000908152601f602052604090205460ff16156116645760405162461bcd60e51b815260040161103590614d23565b6010546001600160a01b0382811691161480159061169057506011546001600160a01b03828116911614155b6116ac5760405162461bcd60e51b815260040161103590614d5a565b600d546040516330cd31af60e11b81526001600160a01b038381166004830152600092169063619a635e90602401602060405180830381865afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b9190614b92565b90508281101561173d5760405162461bcd60e51b815260040161103590614db7565b601154611754906001600160a01b03168385613e62565b600d54604051636a8968a760e01b81526001600160a01b0384811660048301526024820186905290911690636a8968a790604401600060405180830381600087803b1580156117a257600080fd5b505af11580156117b6573d6000803e3d6000fd5b50505050505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916111559185906115b0908661391a565b6005546001600160a01b0316331461181f5760405162461bcd60e51b815260040161103590614ab0565b4781111561182a5750475b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611864573d6000803e3d6000fd5b5050565b6005546001600160a01b031633146118925760405162461bcd60e51b815260040161103590614ab0565b6017819055601b54601854601654611142929161113c9182908661391a565b6001600160a01b0381166000908152600860205260409020546118e65760405162461bcd60e51b815260040161103590614c19565b6001600160a01b0382166000908152600b60205260408120546040516370a0823160e01b81523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa158015611943573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119679190614b92565b6119719190614c75565b905060006119aa838361148587876001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b9050806119c95760405162461bcd60e51b815260040161103590614c8d565b6001600160a01b038085166000908152600c6020908152604080832093871683529290529081208054839290611a00908490614c75565b90915550506001600160a01b0384166000908152600b602052604081208054839290611a2d908490614c75565b90915550611a3e9050848483613f6b565b604080516001600160a01b038581168252602082018490528616917f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a910160405180910390a250505050565b600d54604080516345193f5560e11b815290516000926001600160a01b031691638a327eaa9160048083019260209291908290030181865afa15801561126a573d6000803e3d6000fd5b3380611af25760405162461bcd60e51b815260040161103590614cd8565b6001600160a01b0381166000908152601f602052604090205460ff1615611b2b5760405162461bcd60e51b815260040161103590614d23565b6010546001600160a01b03828116911614801590611b5757506011546001600160a01b03828116911614155b611b735760405162461bcd60e51b815260040161103590614d5a565b600d546040516330cd31af60e11b81526001600160a01b038381166004830152600092169063619a635e90602401602060405180830381865afa158015611bbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be29190614b92565b905060008111611c515760405162461bcd60e51b815260206004820152603460248201527f4d414e494120435348543a20596f7520646f6e2774206861766520656e6f75676044820152731a081c995dd85c99081d1bc818d85cda081bdd5d60621b6064820152608401611035565b601154611c68906001600160a01b03168383613e62565b600d5460405163170a62c760e21b81526001600160a01b03848116600483015290911690635c298b1c906024016020604051808303816000875af1158015611cb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd89190614b92565b505050565b6005546001600160a01b03163314611d075760405162461bcd60e51b815260040161103590614ab0565b601d80549115156101000261ff0019909216919091179055565b6005546001600160a01b03163314611d4b5760405162461bcd60e51b815260040161103590614ab0565b600d54604051631df3773160e31b8152600481018390526001600160a01b039091169063ef9bb988906024015b600060405180830381600087803b158015611d9257600080fd5b505af1158015611da6573d6000803e3d6000fd5b5050505050565b606033611dcc5760405162461bcd60e51b815260040161103590614b20565b600d546001600160a01b03166341ac82b0336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e469190614b4e565b611e625760405162461bcd60e51b815260040161103590614b6b565b600d546001600160a01b0316634a389fae336113a7565b6005546001600160a01b03163314611ea35760405162461bcd60e51b815260040161103590614ab0565b600e546001600160a01b0382811691161415611f125760405162461bcd60e51b815260206004820152602860248201527f544b4e3a2054686520726f7574657220616c7265616479206861732074686174604482015267206164647265737360c01b6064820152608401611035565b600e546040516001600160a01b03918216918316907f8fc842bbd331dfa973645f4ed48b11683d501ebf1352708d77a5da2ab49a576e90600090a3600e80546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa158015611fa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fcd9190614e05565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561202f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120539190614e05565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156120a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c49190614e05565b600f80546001600160a01b0319166001600160a01b03929092169190911790555050565b33806121445760405162461bcd60e51b815260206004820152602560248201527f435348543a20206372656174696f6e2066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401611035565b6001600160a01b0381166000908152601f602052604090205460ff161561217d5760405162461bcd60e51b815260040161103590614d23565b6010546001600160a01b038281169116148015906121a957506011546001600160a01b03828116911614155b6122105760405162461bcd60e51b815260206004820152603260248201527f435348543a20667574757220616e642072657761726473506f6f6c2063616e6e6044820152716f7420636173686f7574207265776172647360701b6064820152608401611035565b600d546040516329b8573160e21b81526001600160a01b03838116600483015260248201859052600092169063a6e15cc490604401602060405180830381865afa158015612262573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122869190614b92565b9050600081116122a85760405162461bcd60e51b815260040161103590614db7565b6011546122bf906001600160a01b03168383613e62565b600d5460405163376db80160e11b81526001600160a01b0384811660048301526024820186905290911690636edb7002906044016020604051808303816000875af1158015612312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123369190614b92565b50505050565b6005546001600160a01b031633146123665760405162461bcd60e51b815260040161103590614ab0565b6001600160a01b03919091166000908152602160205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146123bb5760405162461bcd60e51b815260040161103590614ab0565b601e55565b600554600090819081906001600160a01b031633146123f15760405162461bcd60e51b815260040161103590614ab0565b600d60009054906101000a90046001600160a01b03166001600160a01b03166388fe65536040518163ffffffff1660e01b81526004016060604051808303816000875af1158015612446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246a9190614e22565b925092509250909192565b6005546001600160a01b0316331461249f5760405162461bcd60e51b815260040161103590614ab0565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146125135760405162461bcd60e51b815260040161103590614ab0565b600d546040516318df5db960e31b8152600481018390526001600160a01b039091169063c6faedc890602401611d78565b6005546001600160a01b0316331461256e5760405162461bcd60e51b815260040161103590614ab0565b600d5460405163cece91eb60e01b8152600481018390526001600160a01b039091169063cece91eb90602401611d78565b600d60009054906101000a90046001600160a01b03166001600160a01b03166388fe65536040518163ffffffff1660e01b81526004016060604051808303816000875af11580156125f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd89190614e22565b6005546001600160a01b031633146126425760405162461bcd60e51b815260040161103590614ab0565b80601881905550611142601b5461113c60185461113c60175460165461391a90919063ffffffff16565b6000600a828154811061268157612681614e50565b6000918252602090912001546001600160a01b031692915050565b6005546001600160a01b031633146126c65760405162461bcd60e51b815260040161103590614ab0565b601c55565b600381511180156126dd575060208151105b6127295760405162461bcd60e51b815260206004820181905260248201527f4e4f4445204352454154494f4e3a204e414d452053495a4520494e56414c49446044820152606401611035565b338061278e5760405162461bcd60e51b815260206004820152602e60248201527f4e4f4445204352454154494f4e3a20206372656174696f6e2066726f6d20746860448201526d65207a65726f206164647265737360901b6064820152608401611035565b6001600160a01b0381166000908152601f602052604090205460ff16156128025760405162461bcd60e51b815260206004820152602260248201527f4e4f4445204352454154494f4e3a20426c61636b6c6973746564206164647265604482015261737360f01b6064820152608401611035565b6010546001600160a01b0382811691161480159061282e57506011546001600160a01b03828116911614155b6128a05760405162461bcd60e51b815260206004820152603760248201527f4e4f4445204352454154494f4e3a20667574757220616e64207265776172647360448201527f506f6f6c2063616e6e6f7420637265617465206e6f64650000000000000000006064820152608401611035565b600d5460408051631e3fd85760e31b815290516000926001600160a01b03169163f1fec2b89160048083019260209291908290030181865afa1580156128ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061290e9190614b92565b905080612930836001600160a01b031660009081526020819052604090205490565b10156129935760405162461bcd60e51b815260206004820152602c60248201527f4e4f4445204352454154494f4e3a2042616c616e636520746f6f206c6f77206660448201526b37b91031b932b0ba34b7b71760a11b6064820152608401611035565b30600090815260208190526040902054601e54811080159081906129be5750601d54610100900460ff165b80156129cd5750601d5460ff16155b80156129e757506005546001600160a01b03858116911614155b8015612a0b57506001600160a01b038416600090815260208052604090205460ff16155b15612b4d57601d805460ff19166001179055601854600090612a3b90606490612a35908690613fbd565b9061403c565b601054909150612a54906001600160a01b03168261407e565b6000612a706064612a3560165487613fbd90919063ffffffff16565b90506000612a8e6064612a35601c5485613fbd90919063ffffffff16565b601154909150612aa7906001600160a01b03168261407e565b601154612ac89030906001600160a01b0316612ac385856140cd565b613e62565b6000612ae46064612a3560175489613fbd90919063ffffffff16565b9050612aef8161410f565b6000612b0b6064612a35601b548a613fbd90919063ffffffff16565b601254909150612b24906001600160a01b03168261407e565b30600090815260208190526040902054612b3d90614196565b5050601d805460ff191690555050505b612b58843085613e62565b600d546040516312b8603f60e01b81526001600160a01b03909116906312b8603f90612b8a9087908990600401614e66565b600060405180830381600087803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b505050505050505050565b6005546001600160a01b03163314612bed5760405162461bcd60e51b815260040161103590614ab0565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b600d5460405163fe58340b60e01b81526000916001600160a01b03169063fe58340b90612c4490339087908790600401614e8a565b6020604051808303816000875af1158015612c63573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b99190614b4e565b60606004805461106f90614ae5565b6005546001600160a01b03163314612cc05760405162461bcd60e51b815260040161103590614ab0565b600f546001600160a01b0383811691161415612d575760405162461bcd60e51b815260206004820152604a60248201527f544b4e3a205468652050616e63616b655377617020706169722063616e6e6f7460448201527f2062652072656d6f7665642066726f6d206175746f6d617465644d61726b65746064820152694d616b6572506169727360b01b608482015260a401611035565b61186482826142ba565b600d546001600160a01b03166341ac82b0336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015612db7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ddb9190614b4e565b612df75760405162461bcd60e51b815260040161103590614b6b565b60038151118015612e09575060208151105b612e555760405162461bcd60e51b815260206004820152601e60248201527f4e4f44452052454e414d453a204e414d452053495a4520494e56414c494400006044820152606401611035565b600d546001600160a01b0316635f3dc7043384846040518463ffffffff1660e01b8152600401612e8793929190614eb6565b600060405180830381600087803b158015612ea157600080fd5b505af1158015612eb5573d6000803e3d6000fd5b505050505050565b6005546001600160a01b03163314612ee75760405162461bcd60e51b815260040161103590614ab0565b600d5460405163d1871a8960e01b8152600481018390526001600160a01b039091169063d1871a8990602401611d78565b600d546040805163b8527aef60e01b815290516000926001600160a01b03169163b8527aef9160048083019260209291908290030181865afa15801561126a573d6000803e3d6000fd5b600061115533846115b08560405180606001604052806025815260200161515c602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190613e28565b600d5460408051631e3fd85760e31b815290516000926001600160a01b03169163f1fec2b89160048083019260209291908290030181865afa15801561126a573d6000803e3d6000fd5b6000611155338484613bfd565b600081116130585760405162461bcd60e51b815260206004820152601a60248201527f434d50443a20416d6f756e742063616e2774206265207a65726f0000000000006044820152606401611035565b600d5460408051631e3fd85760e31b815290516000926001600160a01b03169163f1fec2b89160048083019260209291908290030181865afa1580156130a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130c69190614b92565b90506130d28183614f0c565b156131395760405162461bcd60e51b815260206004820152603160248201527f434d50443a20416d6f756e74206d7573742062652061206d756c7469706c65206044820152706f6620746865206e6f646520707269636560781b6064820152608401611035565b60006131458284614f20565b9050600060608033613155611ad4565b8661315f33610a34565b10156131ad5760405162461bcd60e51b815260206004820152601b60248201527f434d50443a2042616c616e6365206973206e6f7420656e6f75676800000000006044820152606401611035565b6131b6426143a1565b600d5460405163112469f960e21b81526001600160a01b03848116600483015261322b921690634491a7e490602401602060405180830381865afa158015613202573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132269190614b92565b6143a1565b60405160200161323c929190614f34565b6040516020818303038152906040529150600193505b8484116117b65781613263856143a1565b604051602001613274929190614f78565b604051602081830303815290604052925061328e836126cb565b8361329881614fa7565b945050613252565b6005546000906001600160a01b031633146132cd5760405162461bcd60e51b815260040161103590614ab0565b600d546040516330cd31af60e11b81526001600160a01b0384811660048301529091169063619a635e906024015b602060405180830381865afa158015613318573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111599190614b92565b60603361335b5760405162461bcd60e51b815260040161103590614b20565b600d546001600160a01b03166341ac82b0336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156133b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133d59190614b4e565b6133f15760405162461bcd60e51b815260040161103590614b6b565b600d546001600160a01b031663c92819ce336113a7565b6005546001600160a01b031633146134325760405162461bcd60e51b815260040161103590614ab0565b601b81905560185460175460165461114292849261113c92839161391a565b6005546001600160a01b0316331461347b5760405162461bcd60e51b815260040161103590614ab0565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146134c75760405162461bcd60e51b815260040161103590614ab0565b600d54604051636d58441560e11b815282151560048201526001600160a01b039091169063dab0882a90602401611d78565b6005546001600160a01b031633146135235760405162461bcd60e51b815260040161103590614ab0565b6001600160a01b03919091166000908152601f60205260409020805460ff1916911515919091179055565b600d546040805163fb10d6fb60e01b815290516000926001600160a01b03169163fb10d6fb9160048083019260209291908290030181865afa15801561126a573d6000803e3d6000fd5b600d546040805163613ff46f60e01b815290516000926001600160a01b03169163613ff46f9160048083019260209291908290030181865afa15801561126a573d6000803e3d6000fd5b6060336136015760405162461bcd60e51b815260040161103590614b20565b600d546001600160a01b03166341ac82b0336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015613657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367b9190614b4e565b6136975760405162461bcd60e51b815260040161103590614b6b565b600d546001600160a01b0316635759fb02336113a7565b6005546001600160a01b031633146136d85760405162461bcd60e51b815260040161103590614ab0565b6001600160a01b03811661373d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611035565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b600d54604080516327b3bf1160e01b815290516000926001600160a01b0316916327b3bf119160048083019260209291908290030181865afa15801561126a573d6000803e3d6000fd5b600d5460405163112469f960e21b81526001600160a01b0383811660048301526000921690634491a7e4906024016132fb565b600d5460408051636f60a39360e11b815290516000926001600160a01b03169163dec147269160048083019260209291908290030181865afa15801561126a573d6000803e3d6000fd5b600d54604080516385c44d9d60e01b815290516000926001600160a01b0316916385c44d9d9160048083019260209291908290030181865afa1580156138aa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128e9190614b4e565b6005546001600160a01b031633146138f85760405162461bcd60e51b815260040161103590614ab0565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806139278385614c75565b9050838110156115b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401611035565b6001600160a01b0383166139db5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401611035565b6001600160a01b038216613a3c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401611035565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6006546001600160a01b03841660009081526008602052604081205490918391613ac89086614fc2565b613ad29190614f20565b613adc9190614fe1565b949350505050565b80471015613b345760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401611035565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613b81576040519150601f19603f3d011682016040523d82523d6000602084013e613b86565b606091505b5050905080611cd85760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401611035565b6001600160a01b038316613c235760405162461bcd60e51b815260040161103590614ff8565b6001600160a01b038216613c495760405162461bcd60e51b81526004016110359061503d565b6001600160a01b0383166000908152601f602052604090205460ff16158015613c8b57506001600160a01b0382166000908152601f602052604090205460ff16155b613ccd5760405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b6044820152606401611035565b6001600160a01b038316600090815260216020526040812054819060ff16158015613d1c5750600e546001600160a01b0385811691161480613d1c5750600f546001600160a01b038581169116145b15613df857600d5460405163041ac82b60e41b81526001600160a01b038781166004830152909116906341ac82b090602401602060405180830381865afa158015613d6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d8f9190614b4e565b613ddb5760405162461bcd60e51b815260206004820152601a60248201527f437265617465206174206c65617374206f6e6520427261696e210000000000006044820152606401611035565b613df56064612a35601a5486613fbd90919063ffffffff16565b91505b613e0283836140cd565b601454909150613e1d9086906001600160a01b031684613e62565b611da6858583613e62565b60008184841115613e4c5760405162461bcd60e51b815260040161103591906147e1565b506000613e598486614fe1565b95945050505050565b6001600160a01b038316613e885760405162461bcd60e51b815260040161103590614ff8565b6001600160a01b038216613eae5760405162461bcd60e51b81526004016110359061503d565b613eeb8160405180606001604052806026815260200161510e602691396001600160a01b0386166000908152602081905260409020549190613e28565b6001600160a01b038085166000908152602081905260408082209390935590841681522054613f1a908261391a565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101613a91565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611cd890849061449f565b600082613fcc57506000611159565b6000613fd88385614fc2565b905082613fe58583614f20565b146115b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401611035565b60006115b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614571565b4761408882614196565b600061409447836140cd565b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015611da6573d6000803e3d6000fd5b60006115b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613e28565b600061411c82600261403c565b9050600061412a83836140cd565b90504761413683614196565b600061414247836140cd565b905061414e838261459f565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106141cb576141cb614e50565b6001600160a01b03928316602091820292909201810191909152600e54604080516339d94ae160e11b8152905191909316926373b295c29260048083019391928290030181865afa158015614224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142489190614e05565b8160018151811061425b5761425b614e50565b6001600160a01b039283166020918202929092010152600e546142819130911684613979565b600e54604051633b158ab160e11b81526001600160a01b039091169063762b156290612e87908590600090869030904290600401615080565b6001600160a01b038216600090815260208052604090205460ff161515811515141561434e5760405162461bcd60e51b815260206004820152603d60248201527f544b4e3a204175746f6d61746564206d61726b6574206d616b6572207061697260448201527f20697320616c72656164792073657420746f20746861742076616c75650000006064820152608401611035565b6001600160a01b0382166000818152602080526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6060816143c55750506040805180820190915260018152600360fc1b602082015290565b8160005b81156143ef57806143d981614fa7565b91506143e89050600a83614f20565b91506143c9565b60008167ffffffffffffffff81111561440a5761440a61490c565b6040519080825280601f01601f191660200182016040528015614434576020820181803683370190505b5090505b8415613adc57614449600183614fe1565b9150614456600a86614f0c565b614461906030614c75565b60f81b81838151811061447657614476614e50565b60200101906001600160f81b031916908160001a905350614498600a86614f20565b9450614438565b60006144f4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166146499092919063ffffffff16565b805190915015611cd857808060200190518101906145129190614b4e565b611cd85760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611035565b600081836145925760405162461bcd60e51b815260040161103591906147e1565b506000613e598486614f20565b600e546145b79030906001600160a01b031684613979565b600e54604051637c8d9fb960e11b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f91b3f7290839060c40160606040518083038185885af1158015614624573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611da69190614e22565b6060613adc848460008585843b6146a25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611035565b600080866001600160a01b031685876040516146be91906150f1565b60006040518083038185875af1925050503d80600081146146fb576040519150601f19603f3d011682016040523d82523d6000602084013e614700565b606091505b509150915061471082828661471b565b979650505050505050565b6060831561472a5750816115b9565b82511561473a5782518084602001fd5b8160405162461bcd60e51b815260040161103591906147e1565b6001600160a01b038116811461476957600080fd5b50565b60006020828403121561477e57600080fd5b81356115b981614754565b60005b838110156147a457818101518382015260200161478c565b838111156123365750506000910152565b600081518084526147cd816020860160208601614789565b601f01601f19169290920160200192915050565b6020815260006115b960208301846147b5565b60006020828403121561480657600080fd5b5035919050565b6000806040838503121561482057600080fd5b823561482b81614754565b946020939093013593505050565b60008060006060848603121561484e57600080fd5b833561485981614754565b9250602084013561486981614754565b929592945050506040919091013590565b6000806040838503121561488d57600080fd5b823561489881614754565b915060208301356148a881614754565b809150509250929050565b801515811461476957600080fd5b6000602082840312156148d357600080fd5b81356115b9816148b3565b600080604083850312156148f157600080fd5b82356148fc81614754565b915060208301356148a8816148b3565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561494b5761494b61490c565b604052919050565b600067ffffffffffffffff82111561496d5761496d61490c565b50601f01601f191660200190565b600082601f83011261498c57600080fd5b813561499f61499a82614953565b614922565b8181528460208386010111156149b457600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156149e357600080fd5b813567ffffffffffffffff8111156149fa57600080fd5b613adc8482850161497b565b60008060408385031215614a1957600080fd5b8235614a2481614754565b9150602083013567ffffffffffffffff811115614a4057600080fd5b614a4c8582860161497b565b9150509250929050565b60008060408385031215614a6957600080fd5b823567ffffffffffffffff80821115614a8157600080fd5b614a8d8683870161497b565b93506020850135915080821115614aa357600080fd5b50614a4c8582860161497b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680614af957607f821691505b60208210811415614b1a57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526014908201527353454e4445522043414e2754204245205a45524f60601b604082015260600190565b600060208284031215614b6057600080fd5b81516115b9816148b3565b6020808252600d908201526c2727902727a2229027aba722a960991b604082015260600190565b600060208284031215614ba457600080fd5b5051919050565b600060208284031215614bbd57600080fd5b815167ffffffffffffffff811115614bd457600080fd5b8201601f81018413614be557600080fd5b8051614bf361499a82614953565b818152856020838501011115614c0857600080fd5b613e59826020830160208601614789565b60208082526026908201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060408201526573686172657360d01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008219821115614c8857614c88614c5f565b500190565b6020808252602b908201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060408201526a191d59481c185e5b595b9d60aa1b606082015260800190565b6020808252602b908201527f4d414e494120435348543a20206372656174696f6e2066726f6d20746865207a60408201526a65726f206164647265737360a81b606082015260800190565b6020808252601f908201527f4d414e494120435348543a20426c61636b6c6973746564206164647265737300604082015260600190565b60208082526038908201527f4d414e494120435348543a20667574757220616e642072657761726473506f6f60408201527f6c2063616e6e6f7420636173686f757420726577617264730000000000000000606082015260800190565b6020808252602e908201527f435348543a20596f7520646f6e2774206861766520656e6f756768207265776160408201526d1c99081d1bc818d85cda081bdd5d60921b606082015260800190565b600060208284031215614e1757600080fd5b81516115b981614754565b600080600060608486031215614e3757600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0383168152604060208201819052600090613adc908301846147b5565b6001600160a01b03848116825283166020820152606060408201819052600090613e59908301846147b5565b6001600160a01b0384168152606060208201819052600090614eda908301856147b5565b8281036040840152614eec81856147b5565b9695505050505050565b634e487b7160e01b600052601260045260246000fd5b600082614f1b57614f1b614ef6565b500690565b600082614f2f57614f2f614ef6565b500490565b65425241494e2d60d01b815260008351614f55816006850160208801614789565b835190830190614f6c816006840160208801614789565b01600601949350505050565b60008351614f8a818460208801614789565b835190830190614f9e818360208801614789565b01949350505050565b6000600019821415614fbb57614fbb614c5f565b5060010190565b6000816000190483118215151615614fdc57614fdc614c5f565b500290565b600082821015614ff357614ff3614c5f565b500390565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156150d05784516001600160a01b0316835293830193918301916001016150ab565b50506001600160a01b03969096166060850152505050608001529392505050565b60008251615103818460208701614789565b919091019291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e26ed7ac11c41273680d9ea1e1f54c32ec46dd14350f4aa6c3be366ccc4a4a0364736f6c634300080b0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000008e8a7178d7cddcbc2e38ddc52fe78e38dab8f5310000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000050000000000000000000000006ac565e9eb6390303e71f517d5aac715a2cc70e900000000000000000000000071840aae9db76ab03e838993e459cb29388c16d0000000000000000000000000b29edf43c6750c9e254812fc9f259f97ca9cbbef000000000000000000000000435a72c36633e4ee9666e1904f9f2931423c32bd00000000000000000000000073d11f70da466d7aed73ee77ccd5b7f7d526657a