Overview ERC20
PRICE
$0.043945

ON-CHAIN MARKET CAP n/a

Total Supply:
100,000,000.00 NORMC

Holders:
58
Profile Summary
Blockchain:
Base (8453)


Decimals:
18
Contract Source Code Verified (Exact Match)
Contract Name:
NORMC

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No

Created At:
Sun, 26 May 2024 07:22:25 GMT
NORMC.sol
NORMC.sol
NORMC.sol


Contract ABI
[
  {
    "inputs": [],
    "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": [],
    "name": "AutoNukeLP",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "sniper",
        "type": "address"
      }
    ],
    "name": "BoughtEarly",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "isExcluded",
        "type": "bool"
      }
    ],
    "name": "ExcludeFromFees",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [],
    "name": "ManualNukeLP",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "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": "tokensIntoLiquidity",
        "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"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "newWallet",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "oldWallet",
        "type": "address"
      }
    ],
    "name": "devWalletUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "newWallet",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "oldWallet",
        "type": "address"
      }
    ],
    "name": "marketingWalletUpdated",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "_isExcludedMaxTransactionAmount",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "temp",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "time",
        "type": "uint256"
      }
    ],
    "name": "addToLaunchedAtTime",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "allowance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "automatedMarketMakerPairs",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyDevFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyLiquidityFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyMarketingFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyTotalFees",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "checkBlacklist",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "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": "devWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "disableTransferDelay",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "earlySellLiquidityFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "earlySellMarketingFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "enableEarlySellTax",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "enableTrading",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "excluded",
        "type": "bool"
      }
    ],
    "name": "excludeFromFees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "updAds",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "isEx",
        "type": "bool"
      }
    ],
    "name": "excludeFromMaxTransaction",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getBuyLiquidityFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getEarlySellMarketingFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "holder",
        "type": "address"
      }
    ],
    "name": "getFirstBuyTimestamp",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getIsLimitInEffect",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getTransferDelayEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "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": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "isExcludedFromFees",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "launchedAtCoefficient",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "limitsInEffect",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "marketingWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxTransactionAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxWallet",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxWalletCheckStatus",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeLimits",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sellDevFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sellLiquidityFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sellMarketingFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sellTotalFees",
    "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": "bool",
        "name": "_checkBlacklist",
        "type": "bool"
      }
    ],
    "name": "setCheckBlacklist",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "onoff",
        "type": "bool"
      }
    ],
    "name": "setEarlySellTax",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "isSponsor",
        "type": "bool"
      }
    ],
    "name": "setIsLiqudiitySponsor",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapTokensAtAmount",
    "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": "tokensForDev",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "tokensForLiquidity",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "tokensForMarketing",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "tradingActive",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "transferDelayEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "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 IUniswapV2Router02",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_marketingFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_liquidityFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_devFee",
        "type": "uint256"
      }
    ],
    "name": "updateBuyFees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newWallet",
        "type": "address"
      }
    ],
    "name": "updateDevWallet",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newNum",
        "type": "uint256"
      }
    ],
    "name": "updateFeeCalculationData",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newNum",
        "type": "uint256"
      }
    ],
    "name": "updateLaunchedAtCoefficient",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newMarketingWallet",
        "type": "address"
      }
    ],
    "name": "updateMarketingWallet",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newNum",
        "type": "uint256"
      }
    ],
    "name": "updateMaxTxnAmount",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newNum",
        "type": "uint256"
      }
    ],
    "name": "updateMaxWalletAmount",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_status",
        "type": "bool"
      }
    ],
    "name": "updateMaxWalletCheckStatus",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_marketingFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_liquidityFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_devFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_earlySellLiquidityFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_earlySellMarketingFee",
        "type": "uint256"
      }
    ],
    "name": "updateSellFees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "enabled",
        "type": "bool"
      }
    ],
    "name": "updateSwapEnabled",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newAmount",
        "type": "uint256"
      }
    ],
    "name": "updateSwapTokensAtAmount",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
60c06040526001600c60006101000a81548160ff0219169083151502179055506000600c60016101000a81548160ff0219169083151502179055506000600c60026101000a81548160ff0219169083151502179055506001600c60036101000a81548160ff0219169083151502179055506001601260006101000a81548160ff0219169083151502179055503480156200009857600080fd5b506040518060400160405280600e81526020017f4e6f726d696520636c61737369630000000000000000000000000000000000008152506040518060400160405280600581526020017f4e4f524d43000000000000000000000000000000000000000000000000000000815250816003908162000116919062000e66565b50806004908162000128919062000e66565b50505060006200013d620006c360201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000734752ba5dbc23f44d87826276bf6fd6b1c372ad24905062000208816001620006cb60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000288573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ae919062000fb7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000316573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033c919062000fb7565b6040518363ffffffff1660e01b81526004016200035b92919062000ffa565b6020604051808303816000875af11580156200037b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a1919062000fb7565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050620003e960a0516001620006cb60201b60201c565b620003fe60a0516001620007c860201b60201c565b600060149050600080600590506000600b819055506001601260026101000a81548160ff0219169083151502179055506000601490506000806005905060008060006a52b7d2dcc80cd2e400000090506000601b819055506103e860148262000468919062001056565b620004749190620010d0565b6008819055506103e86014826200048c919062001056565b620004989190620010d0565b600a81905550612710600582620004b0919062001056565b620004bc9190620010d0565b600981905550886014819055508760158190555086601681905550601654601554601454620004ec919062001108565b620004f8919062001108565b601381905550856018819055508460198190555083601a81905550601a5460195460185462000528919062001108565b62000534919062001108565b60178190555082601c8190555081601d8190555073ad71671cd886543c9a6ce6d8f957ef01009e2fc7600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d309d8dd2e7660b1c2cbbf593f45fee3fe4c80b9600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601260016101000a81548160ff0219169083151502179055506200062f620006216200086960201b60201c565b60016200089360201b60201c565b620006423060016200089360201b60201c565b6200065761dead60016200089360201b60201c565b620006796200066b6200086960201b60201c565b6001620006cb60201b60201c565b6200068c306001620006cb60201b60201c565b620006a161dead6001620006cb60201b60201c565b620006b33382620009e060201b60201c565b5050505050505050505062001312565b600033905090565b620006db620006c360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200076d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200076490620011a4565b60405180910390fd5b80602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b80602460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620008a3620006c360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200092c90620011a4565b60405180910390fd5b80602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620009d49190620011e3565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000a52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a499062001250565b60405180910390fd5b62000a666000838362000b8460201b60201c565b62000a7d8160025462000b8960201b90919060201c565b60028190555062000ad6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000b8960201b90919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000b78919062001283565b60405180910390a35050565b505050565b600080828462000b9a919062001108565b90508381101562000be2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bd990620012f0565b60405180910390fd5b8091505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c6e57607f821691505b60208210810362000c845762000c8362000c26565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000cee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000caf565b62000cfa868362000caf565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000d4762000d4162000d3b8462000d12565b62000d1c565b62000d12565b9050919050565b6000819050919050565b62000d638362000d26565b62000d7b62000d728262000d4e565b84845462000cbc565b825550505050565b600090565b62000d9262000d83565b62000d9f81848462000d58565b505050565b5b8181101562000dc75762000dbb60008262000d88565b60018101905062000da5565b5050565b601f82111562000e165762000de08162000c8a565b62000deb8462000c9f565b8101602085101562000dfb578190505b62000e1362000e0a8562000c9f565b83018262000da4565b50505b505050565b600082821c905092915050565b600062000e3b6000198460080262000e1b565b1980831691505092915050565b600062000e56838362000e28565b9150826002028217905092915050565b62000e718262000bec565b67ffffffffffffffff81111562000e8d5762000e8c62000bf7565b5b62000e99825462000c55565b62000ea682828562000dcb565b600060209050601f83116001811462000ede576000841562000ec9578287015190505b62000ed5858262000e48565b86555062000f45565b601f19841662000eee8662000c8a565b60005b8281101562000f185784890151825560018201915060208501945060208101905062000ef1565b8683101562000f38578489015162000f34601f89168262000e28565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f7f8262000f52565b9050919050565b62000f918162000f72565b811462000f9d57600080fd5b50565b60008151905062000fb18162000f86565b92915050565b60006020828403121562000fd05762000fcf62000f4d565b5b600062000fe08482850162000fa0565b91505092915050565b62000ff48162000f72565b82525050565b600060408201905062001011600083018562000fe9565b62001020602083018462000fe9565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620010638262000d12565b9150620010708362000d12565b9250828202620010808162000d12565b915082820484148315176200109a576200109962001027565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620010dd8262000d12565b9150620010ea8362000d12565b925082620010fd57620010fc620010a1565b5b828204905092915050565b6000620011158262000d12565b9150620011228362000d12565b92508282019050808211156200113d576200113c62001027565b5b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006200118c60208362001143565b9150620011998262001154565b602082019050919050565b60006020820190508181036000830152620011bf816200117d565b9050919050565b60008115159050919050565b620011dd81620011c6565b82525050565b6000602082019050620011fa6000830184620011d2565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001238601f8362001143565b9150620012458262001200565b602082019050919050565b600060208201905081810360008301526200126b8162001229565b9050919050565b6200127d8162000d12565b82525050565b60006020820190506200129a600083018462001272565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000620012d8601b8362001143565b9150620012e582620012a0565b602082019050919050565b600060208201905081810360008301526200130b81620012c9565b9050919050565b60805160a051615ecc6200136960003960008181611711015281816120230152818161361a0152613a3a015260008181611191015281816135c2015281816147fa015281816148db01526149020152615ecc6000f3fe6080604052600436106104145760003560e01c806390498eaa1161021e578063c024666811610123578063e2f45605116100ab578063f2fde38b1161007a578063f2fde38b14610fc6578063f63696bd14610fef578063f63743421461101a578063f8b45b0514611045578063ff935af6146110705761041b565b8063e2f4560514610f1c578063e4e513c414610f47578063e884f26014610f70578063f11a24d314610f9b5761041b565b8063cab323d5116100f2578063cab323d514610e23578063d257b34f14610e4c578063d85ba06314610e89578063db913f8914610eb4578063dd62ed3e14610edf5761041b565b8063c024666814610d7b578063c18bc19514610da4578063c876d0b914610dcd578063c8c8ebe414610df85761041b565b8063a457c2d7116101a6578063aacebbe311610175578063aacebbe314610c98578063b14607ea14610cc1578063b181e4cf14610cea578063b62496f514610d13578063bbc0c74214610d505761041b565b8063a457c2d714610bb6578063a4d15b6414610bf3578063a7fc00ec14610c1e578063a9059cbb14610c5b5761041b565b80639a7a23d6116101ed5780639a7a23d614610ae35780639c3b4fdc14610b0c5780639fccce3214610b37578063a0d82dc514610b62578063a265777814610b8d5761041b565b806390498eaa14610a395780639213691314610a64578063924de9b714610a8f57806395d89b4114610ab85761041b565b80633950935111610324578063751039fc116102ac5780638095d5641161027b5780638095d5641461097a5780638a8c523c146109a35780638ad30c91146109ba5780638da5cb5b146109e35780638ea5220f14610a0e5761041b565b8063751039fc146108d05780637571336a146108fb57806375f0a874146109245780637bce5a041461094f5761041b565b8063541a43cf116102f3578063541a43cf146107fb5780636a486a8e146108265780636ddd17131461085157806370a082311461087c578063715018a6146108b95761041b565b8063395093511461072b57806349bd5a5e146107685780634a62bb65146107935780634fbee193146107be5761041b565b80631a8145bb116103a75780632a4fad7b116103765780632a4fad7b146106565780632bf3d42d1461067f5780632f7a21bf146106aa578063313ce567146106d5578063354c446c146107005761041b565b80631a8145bb1461059a5780631f3fed8f146105c5578063203e727e146105f057806323b872dd146106195761041b565b80631633328d116103e35780631633328d146104f05780631694505e1461051b57806318160ddd146105465780631816467f146105715761041b565b8063021dddc71461042057806306fdde031461044b578063095ea7b31461047657806310d5de53146104b35761041b565b3661041b57005b600080fd5b34801561042c57600080fd5b50610435611099565b6040516104429190614a16565b60405180910390f35b34801561045757600080fd5b506104606110ac565b60405161046d9190614ac1565b60405180910390f35b34801561048257600080fd5b5061049d60048036038101906104989190614b7c565b61113e565b6040516104aa9190614a16565b60405180910390f35b3480156104bf57600080fd5b506104da60048036038101906104d59190614bbc565b61115c565b6040516104e79190614a16565b60405180910390f35b3480156104fc57600080fd5b5061050561117c565b6040516105129190614a16565b60405180910390f35b34801561052757600080fd5b5061053061118f565b60405161053d9190614c48565b60405180910390f35b34801561055257600080fd5b5061055b6111b3565b6040516105689190614c72565b60405180910390f35b34801561057d57600080fd5b5061059860048036038101906105939190614bbc565b6111bd565b005b3480156105a657600080fd5b506105af611314565b6040516105bc9190614c72565b60405180910390f35b3480156105d157600080fd5b506105da61131a565b6040516105e79190614c72565b60405180910390f35b3480156105fc57600080fd5b5061061760048036038101906106129190614c8d565b611320565b005b34801561062557600080fd5b50610640600480360381019061063b9190614cba565b61144a565b60405161064d9190614a16565b60405180910390f35b34801561066257600080fd5b5061067d60048036038101906106789190614d39565b611523565b005b34801561068b57600080fd5b50610694611615565b6040516106a19190614c72565b60405180910390f35b3480156106b657600080fd5b506106bf61161b565b6040516106cc9190614a16565b60405180910390f35b3480156106e157600080fd5b506106ea611637565b6040516106f79190614d95565b60405180910390f35b34801561070c57600080fd5b50610715611640565b6040516107229190614a16565b60405180910390f35b34801561073757600080fd5b50610752600480360381019061074d9190614b7c565b61165c565b60405161075f9190614a16565b60405180910390f35b34801561077457600080fd5b5061077d61170f565b60405161078a9190614dbf565b60405180910390f35b34801561079f57600080fd5b506107a8611733565b6040516107b59190614a16565b60405180910390f35b3480156107ca57600080fd5b506107e560048036038101906107e09190614bbc565b611746565b6040516107f29190614a16565b60405180910390f35b34801561080757600080fd5b5061081061179c565b60405161081d9190614c72565b60405180910390f35b34801561083257600080fd5b5061083b6117a2565b6040516108489190614c72565b60405180910390f35b34801561085d57600080fd5b506108666117a8565b6040516108739190614a16565b60405180910390f35b34801561088857600080fd5b506108a3600480360381019061089e9190614bbc565b6117bb565b6040516108b09190614c72565b60405180910390f35b3480156108c557600080fd5b506108ce611803565b005b3480156108dc57600080fd5b506108e561195b565b6040516108f29190614a16565b60405180910390f35b34801561090757600080fd5b50610922600480360381019061091d9190614d39565b611a16565b005b34801561093057600080fd5b50610939611b08565b6040516109469190614dbf565b60405180910390f35b34801561095b57600080fd5b50610964611b2e565b6040516109719190614c72565b60405180910390f35b34801561098657600080fd5b506109a1600480360381019061099c9190614dda565b611b34565b005b3480156109af57600080fd5b506109b8611c4e565b005b3480156109c657600080fd5b506109e160048036038101906109dc9190614c8d565b611d24565b005b3480156109ef57600080fd5b506109f8611de8565b604051610a059190614dbf565b60405180910390f35b348015610a1a57600080fd5b50610a23611e12565b604051610a309190614dbf565b60405180910390f35b348015610a4557600080fd5b50610a4e611e38565b604051610a5b9190614c72565b60405180910390f35b348015610a7057600080fd5b50610a79611e3e565b604051610a869190614c72565b60405180910390f35b348015610a9b57600080fd5b50610ab66004803603810190610ab19190614e2d565b611e44565b005b348015610ac457600080fd5b50610acd611ef8565b604051610ada9190614ac1565b60405180910390f35b348015610aef57600080fd5b50610b0a6004803603810190610b059190614d39565b611f8a565b005b348015610b1857600080fd5b50610b216120bd565b604051610b2e9190614c72565b60405180910390f35b348015610b4357600080fd5b50610b4c6120c3565b604051610b599190614c72565b60405180910390f35b348015610b6e57600080fd5b50610b776120c9565b604051610b849190614c72565b60405180910390f35b348015610b9957600080fd5b50610bb46004803603810190610baf9190614e2d565b6120cf565b005b348015610bc257600080fd5b50610bdd6004803603810190610bd89190614b7c565b612183565b604051610bea9190614a16565b60405180910390f35b348015610bff57600080fd5b50610c08612250565b604051610c159190614a16565b60405180910390f35b348015610c2a57600080fd5b50610c456004803603810190610c409190614bbc565b612263565b604051610c529190614c72565b60405180910390f35b348015610c6757600080fd5b50610c826004803603810190610c7d9190614b7c565b6122b1565b604051610c8f9190614a16565b60405180910390f35b348015610ca457600080fd5b50610cbf6004803603810190610cba9190614bbc565b6122cf565b005b348015610ccd57600080fd5b50610ce86004803603810190610ce39190614e2d565b612426565b005b348015610cf657600080fd5b50610d116004803603810190610d0c9190614e2d565b6124da565b005b348015610d1f57600080fd5b50610d3a6004803603810190610d359190614bbc565b61258e565b604051610d479190614a16565b60405180910390f35b348015610d5c57600080fd5b50610d656125ae565b604051610d729190614a16565b60405180910390f35b348015610d8757600080fd5b50610da26004803603810190610d9d9190614d39565b6125c1565b005b348015610db057600080fd5b50610dcb6004803603810190610dc69190614c8d565b612701565b005b348015610dd957600080fd5b50610de261282b565b604051610def9190614a16565b60405180910390f35b348015610e0457600080fd5b50610e0d61283e565b604051610e1a9190614c72565b60405180910390f35b348015610e2f57600080fd5b50610e4a6004803603810190610e459190614b7c565b612844565b005b348015610e5857600080fd5b50610e736004803603810190610e6e9190614c8d565b612923565b604051610e809190614a16565b60405180910390f35b348015610e9557600080fd5b50610e9e612a93565b604051610eab9190614c72565b60405180910390f35b348015610ec057600080fd5b50610ec9612a99565b604051610ed69190614c72565b60405180910390f35b348015610eeb57600080fd5b50610f066004803603810190610f019190614e5a565b612aa3565b604051610f139190614c72565b60405180910390f35b348015610f2857600080fd5b50610f31612b2a565b604051610f3e9190614c72565b60405180910390f35b348015610f5357600080fd5b50610f6e6004803603810190610f699190614c8d565b612b30565b005b348015610f7c57600080fd5b50610f85612bea565b604051610f929190614a16565b60405180910390f35b348015610fa757600080fd5b50610fb0612ca5565b604051610fbd9190614c72565b60405180910390f35b348015610fd257600080fd5b50610fed6004803603810190610fe89190614bbc565b612cab565b005b348015610ffb57600080fd5b50611004612e71565b6040516110119190614c72565b60405180910390f35b34801561102657600080fd5b5061102f612e7b565b60405161103c9190614c72565b60405180910390f35b34801561105157600080fd5b5061105a612e81565b6040516110679190614c72565b60405180910390f35b34801561107c57600080fd5b5061109760048036038101906110929190614e9a565b612e87565b005b601260019054906101000a900460ff1681565b6060600380546110bb90614f44565b80601f01602080910402602001604051908101604052809291908181526020018280546110e790614f44565b80156111345780601f1061110957610100808354040283529160200191611134565b820191906000526020600020905b81548152906001019060200180831161111757829003601f168201915b5050505050905090565b600061115261114b612fb1565b8484612fb9565b6001905092915050565b60236020528060005260406000206000915054906101000a900460ff1681565b601260029054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b6111c5612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124b90614fc1565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601f5481565b601e5481565b611328612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ae90614fc1565b60405180910390fd5b670de0b6b3a76400006103e860056113cd6111b3565b6113d79190615010565b6113e19190615081565b6113eb9190615081565b81101561142d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142490615124565b60405180910390fd5b670de0b6b3a7640000816114419190615010565b60088190555050565b6000611457848484613182565b61151884611463612fb1565b61151385604051806060016040528060288152602001615e4a60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006114c9612fb1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546140109092919063ffffffff16565b612fb9565b600190509392505050565b61152b612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b190614fc1565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601d5481565b600080600c60009054906101000a900460ff1690508091505090565b60006012905090565b600080601260009054906101000a900460ff1690508091505090565b6000611705611669612fb1565b84611700856001600061167a612fb1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461407490919063ffffffff16565b612fb9565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600c60009054906101000a900460ff1681565b6000602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601c5481565b60175481565b600c60029054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61180b612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461189a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189190614fc1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000611965612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119eb90614fc1565b60405180910390fd5b6000600c60006101000a81548160ff0219169083151502179055506001905090565b611a1e612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa490614fc1565b60405180910390fd5b80602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145481565b611b3c612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc290614fc1565b60405180910390fd5b826014819055508160158190555080601681905550601654601554601454611bf39190615144565b611bfd9190615144565b60138190555060326013541115611c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c40906151c4565b60405180910390fd5b505050565b611c56612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdc90614fc1565b60405180910390fd5b6001600c60016101000a81548160ff0219169083151502179055506001600c60026101000a81548160ff02191690831515021790555043602181905550565b611d2c612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db290614fc1565b60405180910390fd5b600c60009054906101000a900460ff1615611ddc5780601b81905550611de5565b6000601b819055505b50565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60185481565b611e4c612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611edb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed290614fc1565b60405180910390fd5b80600c60026101000a81548160ff02191690831515021790555050565b606060048054611f0790614f44565b80601f0160208091040260200160405190810160405280929190818152602001828054611f3390614f44565b8015611f805780601f10611f5557610100808354040283529160200191611f80565b820191906000526020600020905b815481529060010190602001808311611f6357829003601f168201915b5050505050905090565b611f92612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201890614fc1565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a690615256565b60405180910390fd5b6120b982826140d2565b5050565b60165481565b60205481565b601a5481565b6120d7612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215d90614fc1565b60405180910390fd5b80600c60036101000a81548160ff02191690831515021790555050565b6000612246612190612fb1565b8461224185604051806060016040528060258152602001615e7260259139600160006121ba612fb1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546140109092919063ffffffff16565b612fb9565b6001905092915050565b600c60039054906101000a900460ff1681565b600080600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080915050919050565b60006122c56122be612fb1565b8484613182565b6001905092915050565b6122d7612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235d90614fc1565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61242e612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b490614fc1565b60405180910390fd5b80601260016101000a81548160ff02191690831515021790555050565b6124e2612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256890614fc1565b60405180910390fd5b80601260026101000a81548160ff02191690831515021790555050565b60246020528060005260406000206000915054906101000a900460ff1681565b600c60019054906101000a900460ff1681565b6125c9612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612658576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264f90614fc1565b60405180910390fd5b80602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516126f59190614a16565b60405180910390a25050565b612709612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278f90614fc1565b60405180910390fd5b670de0b6b3a76400006103e8600f6127ae6111b3565b6127b89190615010565b6127c29190615081565b6127cc9190615081565b81101561280e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612805906152e8565b60405180910390fd5b670de0b6b3a7640000816128229190615010565b600a8190555050565b601260009054906101000a900460ff1681565b60085481565b61284c612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146128db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128d290614fc1565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600061292d612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b390614fc1565b60405180910390fd5b620186a060016129ca6111b3565b6129d49190615010565b6129de9190615081565b821015612a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a179061537a565b60405180910390fd5b6103e86005612a2d6111b3565b612a379190615010565b612a419190615081565b821115612a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7a9061540c565b60405180910390fd5b8160098190555060019050919050565b60135481565b6000601d54905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b612b38612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bbe90614fc1565b60405180910390fd5b6000670de0b6b3a764000082612bdd9190615010565b905080600b819055505050565b6000612bf4612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612c83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7a90614fc1565b60405180910390fd5b6000601260006101000a81548160ff0219169083151502179055506001905090565b60155481565b612cb3612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3990614fc1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612db1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da89061549e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601554905090565b60195481565b600a5481565b612e8f612fb1565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f1590614fc1565b60405180910390fd5b846018819055508360198190555082601a8190555081601c8190555080601d81905550601a54601954601854612f549190615144565b612f5e9190615144565b60178190555060636017541115612faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fa19061550a565b60405180910390fd5b5050505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161301f9061559c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161308e9061562e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516131759190614c72565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036131f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131e8906156c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325790615752565b60405180910390fd5b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156133045750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b613343576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161333a906157e4565b60405180910390fd5b6000810361335c5761335783836000614173565b61400b565b600c60009054906101000a900460ff1615613a1f57613379611de8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156133e757506133b7611de8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156134205750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561345a575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156134735750600560149054906101000a900460ff16155b15613a1e57600c60019054906101000a900460ff1661356d57602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061352d5750602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61356c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161356390615850565b60405180910390fd5b5b601260009054906101000a900460ff16156137355761358a611de8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561361157507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561366957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156137345743600d60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106136ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136e690615908565b60405180910390fd5b43600d60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b602460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156137d85750602360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561387f57600854811115613822576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138199061599a565b60405180910390fd5b600a5461382e836117bb565b826138399190615144565b111561387a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161387190615a06565b60405180910390fd5b613a1d565b602460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156139225750602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156139715760085481111561396c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161396390615a98565b60405180910390fd5b613a1c565b602360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16613a1b57600a546139ce836117bb565b826139d99190615144565b1115613a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a1190615a06565b60405180910390fd5b5b5b5b5b5b6000602154613a2e9190615144565b4311158015613a8957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015613ad55750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15613b33576000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6000613b3e306117bb565b905060006009548210159050808015613b635750600c60029054906101000a900460ff165b8015613b7c5750600560149054906101000a900460ff16155b8015613bd25750602460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015613c285750602260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015613c7e5750602260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613cc2576001600560146101000a81548160ff021916908315150217905550613ca6614406565b6000600560146101000a81548160ff0219169083151502179055505b6000600560149054906101000a900460ff16159050602260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680613d785750602260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15613d8257600090505b60008115613ffb57602460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015613de557506000601754115b15613eb257613e126064613e046017548861464890919063ffffffff16565b6146c290919063ffffffff16565b905060175460195482613e259190615010565b613e2f9190615081565b601f6000828254613e409190615144565b92505081905550601754601a5482613e589190615010565b613e629190615081565b60206000828254613e739190615144565b9250508190555060175460185482613e8b9190615010565b613e959190615081565b601e6000828254613ea69190615144565b92505081905550613fd7565b602460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015613f0d57506000601354115b15613fd657613f3a6064613f2c6013548861464890919063ffffffff16565b6146c290919063ffffffff16565b905060135460155482613f4d9190615010565b613f579190615081565b601f6000828254613f689190615144565b9250508190555060135460165482613f809190615010565b613f8a9190615081565b60206000828254613f9b9190615144565b9250508190555060135460145482613fb39190615010565b613fbd9190615081565b601e6000828254613fce9190615144565b925050819055505b5b6000811115613fec57613feb873083614173565b5b8085613ff89190615ab8565b94505b614006878787614173565b505050505b505050565b6000838311158290614058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161404f9190614ac1565b60405180910390fd5b50600083856140679190615ab8565b9050809150509392505050565b60008082846140839190615144565b9050838110156140c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016140bf90615b38565b60405180910390fd5b8091505092915050565b80602460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036141e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016141d9906156c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603614251576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161424890615752565b60405180910390fd5b61425c83838361470c565b6142c781604051806060016040528060268152602001615e24602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546140109092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061435a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461407490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516143f99190614c72565b60405180910390a3505050565b6000614411306117bb565b90506000602054601e54601f546144289190615144565b6144329190615144565b90506000808314806144445750600082145b1561445157505050614646565b60146009546144609190615010565b8311156144795760146009546144769190615010565b92505b6000600283601f548661448c9190615010565b6144969190615081565b6144a09190615081565b905060006144b7828661471190919063ffffffff16565b905060004790506144c78261475b565b60006144dc824761471190919063ffffffff16565b90506000614507876144f96020548561464890919063ffffffff16565b6146c290919063ffffffff16565b90506000601f819055506000601e819055506000602081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405161456790615b89565b60006040518083038185875af1925050503d80600081146145a4576040519150601f19603f3d011682016040523d82523d6000602084013e6145a9565b606091505b505080965050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516145f590615b89565b60006040518083038185875af1925050503d8060008114614632576040519150601f19603f3d011682016040523d82523d6000602084013e614637565b606091505b50508096505050505050505050505b565b600080830361465a57600090506146bc565b600082846146689190615010565b90508284826146779190615081565b146146b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016146ae90615c10565b60405180910390fd5b809150505b92915050565b600061470483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614998565b905092915050565b505050565b600061475383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614010565b905092915050565b6000600267ffffffffffffffff81111561477857614777615c30565b5b6040519080825280602002602001820160405280156147a65781602001602082028036833780820191505090505b50905030816000815181106147be576147bd615c5f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015614863573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148879190615ca3565b8160018151811061489b5761489a615c5f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050614900307f000000000000000000000000000000000000000000000000000000000000000084612fb9565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401614962959493929190615dc9565b600060405180830381600087803b15801561497c57600080fd5b505af1158015614990573d6000803e3d6000fd5b505050505050565b600080831182906149df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016149d69190614ac1565b60405180910390fd5b50600083856149ee9190615081565b9050809150509392505050565b60008115159050919050565b614a10816149fb565b82525050565b6000602082019050614a2b6000830184614a07565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614a6b578082015181840152602081019050614a50565b60008484015250505050565b6000601f19601f8301169050919050565b6000614a9382614a31565b614a9d8185614a3c565b9350614aad818560208601614a4d565b614ab681614a77565b840191505092915050565b60006020820190508181036000830152614adb8184614a88565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614b1382614ae8565b9050919050565b614b2381614b08565b8114614b2e57600080fd5b50565b600081359050614b4081614b1a565b92915050565b6000819050919050565b614b5981614b46565b8114614b6457600080fd5b50565b600081359050614b7681614b50565b92915050565b60008060408385031215614b9357614b92614ae3565b5b6000614ba185828601614b31565b9250506020614bb285828601614b67565b9150509250929050565b600060208284031215614bd257614bd1614ae3565b5b6000614be084828501614b31565b91505092915050565b6000819050919050565b6000614c0e614c09614c0484614ae8565b614be9565b614ae8565b9050919050565b6000614c2082614bf3565b9050919050565b6000614c3282614c15565b9050919050565b614c4281614c27565b82525050565b6000602082019050614c5d6000830184614c39565b92915050565b614c6c81614b46565b82525050565b6000602082019050614c876000830184614c63565b92915050565b600060208284031215614ca357614ca2614ae3565b5b6000614cb184828501614b67565b91505092915050565b600080600060608486031215614cd357614cd2614ae3565b5b6000614ce186828701614b31565b9350506020614cf286828701614b31565b9250506040614d0386828701614b67565b9150509250925092565b614d16816149fb565b8114614d2157600080fd5b50565b600081359050614d3381614d0d565b92915050565b60008060408385031215614d5057614d4f614ae3565b5b6000614d5e85828601614b31565b9250506020614d6f85828601614d24565b9150509250929050565b600060ff82169050919050565b614d8f81614d79565b82525050565b6000602082019050614daa6000830184614d86565b92915050565b614db981614b08565b82525050565b6000602082019050614dd46000830184614db0565b92915050565b600080600060608486031215614df357614df2614ae3565b5b6000614e0186828701614b67565b9350506020614e1286828701614b67565b9250506040614e2386828701614b67565b9150509250925092565b600060208284031215614e4357614e42614ae3565b5b6000614e5184828501614d24565b91505092915050565b60008060408385031215614e7157614e70614ae3565b5b6000614e7f85828601614b31565b9250506020614e9085828601614b31565b9150509250929050565b600080600080600060a08688031215614eb657614eb5614ae3565b5b6000614ec488828901614b67565b9550506020614ed588828901614b67565b9450506040614ee688828901614b67565b9350506060614ef788828901614b67565b9250506080614f0888828901614b67565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680614f5c57607f821691505b602082108103614f6f57614f6e614f15565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614fab602083614a3c565b9150614fb682614f75565b602082019050919050565b60006020820190508181036000830152614fda81614f9e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061501b82614b46565b915061502683614b46565b925082820261503481614b46565b9150828204841483151761504b5761504a614fe1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061508c82614b46565b915061509783614b46565b9250826150a7576150a6615052565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e35250000000000000000000000000000000000602082015250565b600061510e602f83614a3c565b9150615119826150b2565b604082019050919050565b6000602082019050818103600083015261513d81615101565b9050919050565b600061514f82614b46565b915061515a83614b46565b925082820190508082111561517257615171614fe1565b5b92915050565b7f4d757374206b656570206665657320617420353025206f72206c657373000000600082015250565b60006151ae601d83614a3c565b91506151b982615178565b602082019050919050565b600060208201905081810360008301526151dd816151a1565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000615240603983614a3c565b915061524b826151e4565b604082019050919050565b6000602082019050818103600083015261526f81615233565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f312e352500000000000000000000000000000000000000000000000000000000602082015250565b60006152d2602483614a3c565b91506152dd82615276565b604082019050919050565b60006020820190508181036000830152615301816152c5565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000615364603583614a3c565b915061536f82615308565b604082019050919050565b6000602082019050818103600083015261539381615357565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b60006153f6603483614a3c565b91506154018261539a565b604082019050919050565b60006020820190508181036000830152615425816153e9565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000615488602683614a3c565b91506154938261542c565b604082019050919050565b600060208201905081810360008301526154b78161547b565b9050919050565b7f4d757374206b656570206665657320617420393925206f72206c657373000000600082015250565b60006154f4601d83614a3c565b91506154ff826154be565b602082019050919050565b60006020820190508181036000830152615523816154e7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000615586602483614a3c565b91506155918261552a565b604082019050919050565b600060208201905081810360008301526155b581615579565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000615618602283614a3c565b9150615623826155bc565b604082019050919050565b600060208201905081810360008301526156478161560b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006156aa602583614a3c565b91506156b58261564e565b604082019050919050565b600060208201905081810360008301526156d98161569d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061573c602383614a3c565b9150615747826156e0565b604082019050919050565b6000602082019050818103600083015261576b8161572f565b9050919050565b7f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460008201527f72616e73666572696e6720746f6b656e73000000000000000000000000000000602082015250565b60006157ce603183614a3c565b91506157d982615772565b604082019050919050565b600060208201905081810360008301526157fd816157c1565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b600061583a601683614a3c565b915061584582615804565b602082019050919050565b600060208201905081810360008301526158698161582d565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006158f2604983614a3c565b91506158fd82615870565b606082019050919050565b60006020820190508181036000830152615921816158e5565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000615984603583614a3c565b915061598f82615928565b604082019050919050565b600060208201905081810360008301526159b381615977565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006159f0601383614a3c565b91506159fb826159ba565b602082019050919050565b60006020820190508181036000830152615a1f816159e3565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000615a82603683614a3c565b9150615a8d82615a26565b604082019050919050565b60006020820190508181036000830152615ab181615a75565b9050919050565b6000615ac382614b46565b9150615ace83614b46565b9250828203905081811115615ae657615ae5614fe1565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000615b22601b83614a3c565b9150615b2d82615aec565b602082019050919050565b60006020820190508181036000830152615b5181615b15565b9050919050565b600081905092915050565b50565b6000615b73600083615b58565b9150615b7e82615b63565b600082019050919050565b6000615b9482615b66565b9150819050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000615bfa602183614a3c565b9150615c0582615b9e565b604082019050919050565b60006020820190508181036000830152615c2981615bed565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050615c9d81614b1a565b92915050565b600060208284031215615cb957615cb8614ae3565b5b6000615cc784828501615c8e565b91505092915050565b6000819050919050565b6000615cf5615cf0615ceb84615cd0565b614be9565b614b46565b9050919050565b615d0581615cda565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b615d4081614b08565b82525050565b6000615d528383615d37565b60208301905092915050565b6000602082019050919050565b6000615d7682615d0b565b615d808185615d16565b9350615d8b83615d27565b8060005b83811015615dbc578151615da38882615d46565b9750615dae83615d5e565b925050600181019050615d8f565b5085935050505092915050565b600060a082019050615dde6000830188614c63565b615deb6020830187615cfc565b8181036040830152615dfd8186615d6b565b9050615e0c6060830185614db0565b615e196080830184614c63565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e83de8fecafbbe9144f4a13971d73f29e7158ff5d8552692cc3988912404c17f64736f6c63430008130033