Overview ERC20
PRICE
$0.031150

ON-CHAIN MARKET CAP n/a

Total Supply:
100,000,000.00 SEED

Holders:
184
Profile Summary
Blockchain:
Base (8453)


Decimals:
18
Contract Source Code Verified (Partial Match)
Contract Name:
BaseVille

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Created At:
Tue, 21 May 2024 23:15:21 GMT
BaseVille.sol
BaseVille.sol
BaseVille.sol


Contract ABI
[
  {
    "inputs": [],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "Staking__NeedsMoreThanZero",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "Staking__TransferFailed",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_maxTxAmount",
        "type": "uint256"
      }
    ],
    "name": "MaxTxAmountUpdated",
    "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": "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": "account",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "isWhitelisted",
        "type": "bool"
      }
    ],
    "name": "Whitelisted",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "_maxTaxSwap",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_maxTxAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_maxWalletSize",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_taxSwapThreshold",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "allowance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_account",
        "type": "address"
      }
    ],
    "name": "banPlayer",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "bankBalance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "banned",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "blockTime",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "buySeeds",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "claimDate",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "claimEnable",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "claimHarvestRewards",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "claimStakeRewards",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "claimTime",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "controller",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "earned",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "gamePlayer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "getStaked",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "a",
        "type": "address"
      }
    ],
    "name": "isBot",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "manualSwap",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      },
      {
        "internalType": "address[]",
        "name": "_receivers",
        "type": "address[]"
      }
    ],
    "name": "massAirdrop",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxClaim",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "minBalance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_Amount",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "_receiver",
        "type": "address"
      }
    ],
    "name": "mintToAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "openTrading",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeLimits",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "rewardsTimer",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "s_balances",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "s_rewards",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_state",
        "type": "bool"
      }
    ],
    "name": "setClaimState",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_time",
        "type": "uint256"
      }
    ],
    "name": "setClaimTime",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_account",
        "type": "address"
      }
    ],
    "name": "setController",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "setMaxClaim",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "setMinBalance",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_rewardsTimer",
        "type": "uint256"
      }
    ],
    "name": "setRewardsTimer",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "stake",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "stakedAt",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "pure",
    "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": [],
    "name": "unstake",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "isWhitelisted",
        "type": "bool"
      }
    ],
    "name": "updateWhitelist",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "whitelisted",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "withdraw",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "withdrawStuckBank",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
60806040526008805460ff19169055601e60098190556028600a9081556003600b819055600c55600d829055600e829055600f919091555f601055620000489060129062000355565b6200005790620f42406200036c565b601155620000686012600a62000355565b6200007790620f42406200036c565b6012556012600a6200008a919062000355565b62000096905f6200036c565b601355620000a76012600a62000355565b620000b690620c35006200036c565b60145562278d006015556016805460ff1916600117905561070860175561c35060185569d3c21bcecceda10000006019556022805461ffff60a81b1916905534801562000101575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001805560088054610100600160a81b03191661010033021790556200016b6012600a62000355565b6200017b906305f5e1006200036c565b335f8181526002602090815260408083209490945581546001600160a01b039081168352600482528483208054600160ff1991821681179092553085528685208054821683179055600854610100900490921684528584208054831682179055848452601b909252938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200021f6012600a62000355565b6200022f906305f5e1006200036c565b60405190815260200160405180910390a362000386565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200029a57815f19048211156200027e576200027e62000246565b808516156200028c57918102915b93841c93908002906200025f565b509250929050565b5f82620002b2575060016200034f565b81620002c057505f6200034f565b8160018114620002d95760028114620002e45762000304565b60019150506200034f565b60ff841115620002f857620002f862000246565b50506001821b6200034f565b5060208310610133831016604e8410600b841016171562000329575081810a6200034f565b6200033583836200025a565b805f19048211156200034b576200034b62000246565b0290505b92915050565b5f6200036560ff841683620002a2565b9392505050565b80820281158282048414176200034f576200034f62000246565b612b3b80620003945f395ff3fe608060405260043610610329575f3560e01c80637d1db4a5116101a3578063bea08151116100f2578063c9567bf911610092578063db2a43d81161006d578063db2a43d81461094e578063dd62ed3e1461097c578063ef36bbde1461099b578063f223a360146109c5575f80fd5b8063c9567bf9146108f7578063d4938db31461090b578063d936547e14610920575f80fd5b8063c285c0b0116100cd578063c285c0b01461088b578063c5bb8758146108aa578063c876d0b9146108bf578063c91d956c146108d8575f80fd5b8063bea081511461081d578063bf474bed14610848578063c13aa7b51461085d575f80fd5b806395d89b411161015d578063a694fc3a11610138578063a694fc3a146107a0578063a9059cbb146107bf578063ab32eb69146107de578063b46d32a314610809575f80fd5b806395d89b41146107275780639c8d83bb14610753578063a0be815414610781575f80fd5b80637d1db4a51461067a57806380e28e081461068f5780638ba216b4146106ae5780638da5cb5b146106cd5780638f9a55c0146106f357806392eefe9b14610708575f80fd5b8063399080ec11610279578063512b658d1161021957806362b1709f116101f457806362b1709f1461061457806370a0823114610633578063715018a614610652578063751039fc14610666575f80fd5b8063512b658d146105c857806351bc3c85146105e7578063533687af146105fb575f80fd5b8063421cc33711610254578063421cc33714610559578063467493781461057857806348b15166146105975780634b014e28146105a9575f80fd5b8063399080ec146104da5780633bbac5791461050e5780633ccfd60b14610545575f80fd5b80630faee56f116102e457806327b3bf11116102bf57806327b3bf111461048257806328657aa5146104975780632def6620146104ab578063313ce567146104bf575f80fd5b80630faee56f1461043a57806318160ddd1461044f57806323b872dd14610463575f80fd5b80628cc2621461033457806306fdde0314610366578063095ea7b3146103a05780630a3e86b1146103cf5780630aa8d76d146103fa5780630d392cd91461041b575f80fd5b3661033057005b5f80fd5b34801561033f575f80fd5b5061035361034e3660046125d4565b6109da565b6040519081526020015b60405180910390f35b348015610371575f80fd5b506040805180820190915260098152684261736556696c6c6560b81b60208201525b60405161035d91906125ef565b3480156103ab575f80fd5b506103bf6103ba36600461263b565b610a53565b604051901515815260200161035d565b3480156103da575f80fd5b506103536103e93660046125d4565b601d6020525f908152604090205481565b348015610405575f80fd5b506104196104143660046125d4565b610a69565b005b348015610426575f80fd5b50610419610435366004612672565b610ac8565b348015610445575f80fd5b5061035360145481565b34801561045a575f80fd5b50610353610b54565b34801561046e575f80fd5b506103bf61047d3660046126a9565b610b74565b34801561048d575f80fd5b5061035360175481565b3480156104a2575f80fd5b50610353610bdb565b3480156104b6575f80fd5b50610419610be5565b3480156104ca575f80fd5b506040516012815260200161035d565b3480156104e5575f80fd5b506103536104f43660046125d4565b6001600160a01b03165f908152601e602052604090205490565b348015610519575f80fd5b506103bf6105283660046125d4565b6001600160a01b03165f9081526005602052604090205460ff1690565b348015610550575f80fd5b50610419610c84565b348015610564575f80fd5b506104196105733660046126e7565b610d61565b348015610583575f80fd5b506104196105923660046126e7565b610d94565b3480156105a2575f80fd5b5042610353565b3480156105b4575f80fd5b506104196105c33660046126fe565b610dc7565b3480156105d3575f80fd5b506104196105e2366004612719565b610e08565b3480156105f2575f80fd5b50610419610e8a565b348015610606575f80fd5b506016546103bf9060ff1681565b34801561061f575f80fd5b5061041961062e3660046126e7565b610ed9565b34801561063e575f80fd5b5061035361064d3660046125d4565b610f5a565b34801561065d575f80fd5b50610419610f74565b348015610671575f80fd5b50610419610fe5565b348015610685575f80fd5b5061035360115481565b34801561069a575f80fd5b506104196106a936600461263b565b6110a2565b3480156106b9575f80fd5b506104196106c836600461273c565b6112d2565b3480156106d8575f80fd5b505f546040516001600160a01b03909116815260200161035d565b3480156106fe575f80fd5b5061035360125481565b348015610713575f80fd5b506104196107223660046125d4565b6113bf565b348015610732575f80fd5b5060408051808201909152600481526314d1515160e21b6020820152610393565b34801561075e575f80fd5b506103bf61076d3660046125d4565b601a6020525f908152604090205460ff1681565b34801561078c575f80fd5b5061041961079b3660046126e7565b611415565b3480156107ab575f80fd5b506104196107ba3660046126e7565b611498565b3480156107ca575f80fd5b506103bf6107d936600461263b565b611641565b3480156107e9575f80fd5b506103536107f83660046125d4565b601e6020525f908152604090205481565b348015610814575f80fd5b5061041961164d565b348015610828575f80fd5b506103536108373660046125d4565b601f6020525f908152604090205481565b348015610853575f80fd5b5061035360135481565b348015610868575f80fd5b506103bf6108773660046125d4565b601b6020525f908152604090205460ff1681565b348015610896575f80fd5b506104196108a53660046126e7565b6116a9565b3480156108b5575f80fd5b5061035360195481565b3480156108ca575f80fd5b506008546103bf9060ff1681565b3480156108e3575f80fd5b506104196108f23660046126e7565b6116dc565b348015610902575f80fd5b5061041961170f565b348015610916575f80fd5b5061035360185481565b34801561092b575f80fd5b506103bf61093a3660046125d4565b60066020525f908152604090205460ff1681565b348015610959575f80fd5b506103bf6109683660046125d4565b601c6020525f908152604090205460ff1681565b348015610987575f80fd5b506103536109963660046127b4565b611aa1565b3480156109a6575f80fd5b506103536109b53660046125d4565b602080525f908152604090205481565b3480156109d0575f80fd5b5061035360155481565b6001600160a01b0381165f908152601e60209081526040808320543384529180528220546015548390610a0d83426127f4565b610a179085612807565b610a21919061281e565b335f908152601f602052604081205491925090610a3f60648461281e565b610a49919061283d565b9695505050505050565b5f610a5f338484611acb565b5060015b92915050565b335f908152601b602052604090205460ff16610aa05760405162461bcd60e51b8152600401610a9790612850565b60405180910390fd5b6001600160a01b03165f908152601a60205260409020805460ff19811660ff90911615179055565b335f908152601b602052604090205460ff16610af65760405162461bcd60e51b8152600401610a9790612850565b6001600160a01b0382165f81815260066020908152604091829020805460ff191685151590811790915591519182527fa54714518c5d275fdcd3d2a461e4858e4e8cb04fb93cd0bca9d6d34115f26440910160405180910390a25050565b5f610b616012600a61295b565b610b6f906305f5e100612807565b905090565b5f610b80848484611bee565b610bd18433610bcc85604051806060016040528060288152602001612ade602891396001600160a01b038a165f908152600360209081526040808320338452909152902054919061221f565b611acb565b5060019392505050565b5f610b6f30610f5a565b5f610bef336109da565b335f908152601e6020526040902054909150610c0a30610f5a565b610c14828461283d565b1115610c325760405162461bcd60e51b8152600401610a9790612969565b610c463033610c41858561283d565b611bee565b335f908152601e60205260408120805491610c6183806127f4565b9091555050335f90815260208080526040808320429055601f9091528120555050565b600260015403610cd65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a97565b6002600155335f908152601b602052604090205460ff16610d095760405162461bcd60e51b8152600401610a9790612850565b6040515f90339047908381818185875af1925050503d805f8114610d48576040519150601f19603f3d011682016040523d82523d5f602084013e610d4d565b606091505b5050905080610d5a575f80fd5b5060018055565b335f908152601b602052604090205460ff16610d8f5760405162461bcd60e51b8152600401610a9790612850565b601755565b335f908152601b602052604090205460ff16610dc25760405162461bcd60e51b8152600401610a9790612850565b601555565b335f908152601b602052604090205460ff16610df55760405162461bcd60e51b8152600401610a9790612850565b6016805460ff1916911515919091179055565b335f908152601b602052604090205460ff16610e365760405162461bcd60e51b8152600401610a9790612850565b610e3f30610f5a565b610e5183670de0b6b3a7640000612807565b1115610e6f5760405162461bcd60e51b8152600401610a9790612969565b610e863082610c4185670de0b6b3a7640000612807565b5050565b60085461010090046001600160a01b0316336001600160a01b031614610eae575f80fd5b5f610eb830610f5a565b90508015610ec957610ec981612257565b478015610e8657610e86816123e0565b335f908152601b602052604090205460ff16610f075760405162461bcd60e51b8152600401610a9790612850565b610f1030610f5a565b610f2282670de0b6b3a7640000612807565b1115610f405760405162461bcd60e51b8152600401610a9790612969565b610f573033610c4184670de0b6b3a7640000612807565b50565b6001600160a01b03165f9081526002602052604090205490565b5f546001600160a01b03163314610f9d5760405162461bcd60e51b8152600401610a97906129aa565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461100e5760405162461bcd60e51b8152600401610a97906129aa565b61101a6012600a61295b565b611028906305f5e100612807565b6011556110376012600a61295b565b611045906305f5e100612807565b60129081556008805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9061108190600a61295b565b61108f906305f5e100612807565b60405190815260200160405180910390a1565b335f908152601c602052604090205460ff166110f85760405162461bcd60e51b81526020600482015260156024820152742737ba1030903a393ab9ba32b210383630bcb2b91760591b6044820152606401610a97565b335f908152601a602052604090205460ff16156111575760405162461bcd60e51b815260206004820152601760248201527f5573657220616464726573732069732062616e6e6564210000000000000000006044820152606401610a97565b61116030610f5a565b61117282670de0b6b3a7640000612807565b11156111905760405162461bcd60e51b8152600401610a9790612969565b5f81116111d75760405162461bcd60e51b8152602060048201526015602482015274416d6f756e742063616e2774206265207a65726f2160581b6044820152606401610a97565b6018548111156112295760405162461bcd60e51b815260206004820152601960248201527f416d6f756e742065786365656473206d617820636c61696d21000000000000006044820152606401610a97565b601754335f908152601d602052604090205461124590426127f4565b10156112a65760405162461bcd60e51b815260206004820152602a60248201527f4e65656420746f20776169742061206c6974746c65206d6f726520746f20636c60448201526930b4b69030b3b0b4b71760b11b6064820152608401610a97565b6112bd3083610c4184670de0b6b3a7640000612807565b5050335f908152601d60205260409020429055565b335f908152601b602052604090205460ff166113005760405162461bcd60e51b8152600401610a9790612850565b5f5b818110156113b9578161131d85670de0b6b3a7640000612807565b6113279190612807565b61133033610f5a565b10156113745760405162461bcd60e51b81526020600482015260136024820152724e6f7420656e6f7567682062616c616e63652160681b6044820152606401610a97565b6113b13384848481811061138a5761138a6129df565b905060200201602081019061139f91906125d4565b610c4187670de0b6b3a7640000612807565b600101611302565b50505050565b335f908152601b602052604090205460ff166113ed5760405162461bcd60e51b8152600401610a9790612850565b6001600160a01b03165f908152601b60205260409020805460ff19811660ff90911615179055565b61142781670de0b6b3a7640000612807565b6114313333611aa1565b101561144e5761144c336a52b7d2dcc80cd2e4000000610a53565b505b611465333061047d84670de0b6b3a7640000612807565b50335f908152601c602052604090205460ff16610f5757335f908152601c60205260409020805460ff1916600117905550565b336114a2816109da565b6001600160a01b0382165f908152601f6020526040812080549091906114c990849061283d565b9250508190555081805f036114f1576040516304db3bfd60e51b815260040160405180910390fd5b61150383670de0b6b3a7640000612807565b61150c33610f5a565b101561155a5760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e74206578636565647320757365722062616c616e636521000000006044820152606401610a97565b61156c83670de0b6b3a7640000612807565b6115763333611aa1565b101561159357611591336a52b7d2dcc80cd2e4000000610a53565b505b6115a583670de0b6b3a7640000612807565b335f908152601e6020526040812080549091906115c390849061283d565b9091555050335f8181526020805260408120429055906115f0903061047d87670de0b6b3a7640000612807565b335f908152601c602052604090205490915060ff1661162357335f908152601c60205260409020805460ff191660011790555b806113b95760405163eb4c684760e01b815260040160405180910390fd5b5f610a5f338484611bee565b5f611657336109da565b905061166230610f5a565b8111156116815760405162461bcd60e51b8152600401610a9790612969565b61168c303383611bee565b50335f90815260208080526040808320429055601f909152812055565b335f908152601b602052604090205460ff166116d75760405162461bcd60e51b8152600401610a9790612850565b601855565b335f908152601b602052604090205460ff1661170a5760405162461bcd60e51b8152600401610a9790612850565b601955565b5f546001600160a01b031633146117385760405162461bcd60e51b8152600401610a97906129aa565b602254600160a01b900460ff16156117925760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610a97565b602180546001600160a01b031916734752ba5dbc23f44d87826276bf6fd6b1c372ad249081179091556117db9030906117cd6012600a61295b565b610bcc906305f5e100612807565b60215f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561182b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184f91906129f3565b6001600160a01b031663c9c653963060215f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118d291906129f3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561191c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061194091906129f3565b602280546001600160a01b0319166001600160a01b039283161790556021541663f305d719473061197081610f5a565b5f806119835f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156119e9573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a0e9190612a0e565b505060225460215460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015611a63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a879190612a39565b506022805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b6001600160a01b038316611b2d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a97565b6001600160a01b038216611b8e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a97565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611c525760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a97565b6001600160a01b038216611cb45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a97565b5f8111611d155760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610a97565b5f80546001600160a01b03858116911614801590611d4057505f546001600160a01b03848116911614155b156120e2576001600160a01b0384165f9081526005602052604090205460ff16158015611d8557506001600160a01b0383165f9081526005602052604090205460ff16155b611d8d575f80fd5b60085460ff1615611e44576021546001600160a01b03848116911614801590611dc457506022546001600160a01b03848116911614155b15611e4457325f908152600760205260409020544311611e325760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610a97565b325f9081526007602052604090204390555b6022546001600160a01b038581169116148015611e6f57506021546001600160a01b03848116911614155b8015611e9357506001600160a01b0383165f9081526004602052604090205460ff16155b15611f7757601154821115611ee65760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610a97565b60125482611ef385610f5a565b611efd919061283d565b1115611f4b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610a97565b600f546010541015611f6257823b15611f62575f80fd5b60108054905f611f7183612a54565b91905055505b611fa36064611f9d600d5460105411611f9257600954611f96565b600b545b859061241b565b906124a0565b6022549091506001600160a01b038481169116148015611fcc57506001600160a01b0384163014155b156120475760115482111561201f5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610a97565b6120446064611f9d600e546010541161203a57600a54611f96565b600c54859061241b565b90505b5f61205130610f5a565b602254909150600160a81b900460ff1615801561207b57506022546001600160a01b038581169116145b80156120905750602254600160b01b900460ff165b801561209d575060135481115b80156120ac5750600f54601054115b156120e0576120ce6120c9846120c4846014546124e1565b6124e1565b612257565b4780156120de576120de476123e0565b505b505b801561215a57305f9081526002602052604090205461210190826124f5565b305f81815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121519085815260200190565b60405180910390a35b6001600160a01b0384165f9081526002602052604090205461217c9083612553565b6001600160a01b0385165f908152600260205260409020556121bf6121a18383612553565b6001600160a01b0385165f90815260026020526040902054906124f5565b6001600160a01b038085165f8181526002602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6122088585612553565b60405190815260200160405180910390a350505050565b5f81848411156122425760405162461bcd60e51b8152600401610a9791906125ef565b505f61224e84866127f4565b95945050505050565b6022805460ff60a81b1916600160a81b17905580156123d057602254600160a01b900460ff16156123d0576040805160028082526060820183525f9260208301908036833701905050905030815f815181106122b5576122b56129df565b6001600160a01b03928316602091820292909201810191909152602154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561230c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061233091906129f3565b81600181518110612343576123436129df565b6001600160a01b0392831660209182029290920101526021546123699130911684611acb565b60215460405163791ac94760e01b81526001600160a01b039091169063791ac947906123a19085905f90869030904290600401612a6c565b5f604051808303815f87803b1580156123b8575f80fd5b505af11580156123ca573d5f803e3d5ffd5b50505050505b506022805460ff60a81b19169055565b6008546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610e86573d5f803e3d5ffd5b5f825f0361242a57505f610a63565b5f6124358385612807565b905082612442858361281e565b146124995760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a97565b9392505050565b5f61249983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612594565b5f8183116124ef5782612499565b50919050565b5f80612501838561283d565b9050838110156124995760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a97565b5f61249983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061221f565b5f81836125b45760405162461bcd60e51b8152600401610a9791906125ef565b505f61224e848661281e565b6001600160a01b0381168114610f57575f80fd5b5f602082840312156125e4575f80fd5b8135612499816125c0565b5f602080835283518060208501525f5b8181101561261b578581018301518582016040015282016125ff565b505f604082860101526040601f19601f8301168501019250505092915050565b5f806040838503121561264c575f80fd5b8235612657816125c0565b946020939093013593505050565b8015158114610f57575f80fd5b5f8060408385031215612683575f80fd5b823561268e816125c0565b9150602083013561269e81612665565b809150509250929050565b5f805f606084860312156126bb575f80fd5b83356126c6816125c0565b925060208401356126d6816125c0565b929592945050506040919091013590565b5f602082840312156126f7575f80fd5b5035919050565b5f6020828403121561270e575f80fd5b813561249981612665565b5f806040838503121561272a575f80fd5b82359150602083013561269e816125c0565b5f805f6040848603121561274e575f80fd5b83359250602084013567ffffffffffffffff8082111561276c575f80fd5b818601915086601f83011261277f575f80fd5b81358181111561278d575f80fd5b8760208260051b85010111156127a1575f80fd5b6020830194508093505050509250925092565b5f80604083850312156127c5575f80fd5b82356127d0816125c0565b9150602083013561269e816125c0565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610a6357610a636127e0565b8082028115828204841417610a6357610a636127e0565b5f8261283857634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610a6357610a636127e0565b6020808252601190820152702737ba10309031b7b73a3937b63632b91760791b604082015260600190565b600181815b808511156128b557815f190482111561289b5761289b6127e0565b808516156128a857918102915b93841c9390800290612880565b509250929050565b5f826128cb57506001610a63565b816128d757505f610a63565b81600181146128ed57600281146128f757612913565b6001915050610a63565b60ff841115612908576129086127e0565b50506001821b610a63565b5060208310610133831016604e8410600b8410161715612936575081810a610a63565b612940838361287b565b805f1904821115612953576129536127e0565b029392505050565b5f61249960ff8416836128bd565b60208082526021908201527f416d6f756e7420657863656564732062616e6b20746f74616c20737570706c796040820152602160f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215612a03575f80fd5b8151612499816125c0565b5f805f60608486031215612a20575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215612a49575f80fd5b815161249981612665565b5f60018201612a6557612a656127e0565b5060010190565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015612abc5784516001600160a01b031683529383019391830191600101612a97565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220695a76e01b2a5f11a2c1b7c6e6b10f647d5c983273877e33ea0c41da0d0c6f5f64736f6c63430008180033