Overview ERC20
PRICE
$0.039258154573268325

ON-CHAIN MARKET CAP n/a

Total Supply:
100,000.00 KAGUYA

Holders:
2,286
Profile Summary
Blockchain:
Base (8453)


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

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Created At:
Thu, 09 May 2024 07:56:09 GMT
kaguya.sol
kaguya.sol
kaguya.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": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "isExcluded",
        "type": "bool"
      }
    ],
    "name": "ExcludeFromFees",
    "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": 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": "newWallet",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "oldWallet",
        "type": "address"
      }
    ],
    "name": "communityWalletUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "newWallet",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "oldWallet",
        "type": "address"
      }
    ],
    "name": "developerWalletUpdated",
    "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": "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": [],
    "name": "communityWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "deadAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "subtractedValue",
        "type": "uint256"
      }
    ],
    "name": "decreaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "developerWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "enableTrading",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "exchangeLink",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "addedValue",
        "type": "uint256"
      }
    ],
    "name": "increaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "marketingWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "reduceSellTax",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeRestrictions",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeTax",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "resetTax",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "restrictMaxTransaction",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "restrictMaxWallet",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "restrictions",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapTokenAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swappable",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "taxLopsided",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "taxation",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalBuyTax",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalLopsidedSellTax",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSellTax",
    "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": "tradable",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "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": "address",
        "name": "_communityWallet",
        "type": "address"
      }
    ],
    "name": "updateCommunityWallet",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "newLink",
        "type": "string"
      }
    ],
    "name": "updateExchangeLink",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_marketingWallet",
        "type": "address"
      }
    ],
    "name": "updateMarketingWallet",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newAmount",
        "type": "uint256"
      }
    ],
    "name": "updateSwapTokenAmount",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "newLink",
        "type": "string"
      }
    ],
    "name": "updateWebsiteLink",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "websiteLink",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "withdrawStuckETH",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "tkn",
        "type": "address"
      }
    ],
    "name": "withdrawStuckTokens",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
60e0604052601b60a09081527f68747470733a2f2f6170702e756e69737761702e6f722f73776170000000000060c05260079061003c9082610533565b5060408051808201909152601481527f68747470733a2f2f50534b41475559412e636f6d000000000000000000000000602082015260089061007e9082610533565b50600b805461ffff60a01b19169055600d805460ff191660011790556010805461ffff19166101011790553480156100b4575f80fd5b506040805180820182526006808252654b414755594160d01b60208084018290528451808601909552918452908301529060036100f18382610533565b5060046100fe8282610533565b50505061011761011261025d60201b60201c565b610261565b734752ba5dbc23f44d87826276bf6fd6b1c372ad24608081905261013e9030905f196102b2565b69152d02c7e14af68000006101556107d0826105f2565b600c556101636064826105f2565b600e556101716014826105f2565b600f55600160138190556014819055601581905561018f8180610611565b6101999190610611565b6011556015546014546013546101af9190610611565b6101b99190610611565b60125560066017819055601881905560046019819055906101da9080610611565b6101e49190610611565b601655600980546001600160a01b031990811673d1ffb232f8cf5b40ec2306a88e4c373306be1fc217909155600a805482167331684193b9419b93579417b8c762ef95e4e63558179055600b805490911673c6aa2f0ff6b8563ea418ec2558890d602741369917905561025730826103da565b50610636565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0383166103195760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b03821661037a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610310565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166104305760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610310565b8060025f8282546104419190610611565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806104c457607f821691505b6020821081036104e257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561049757805f5260205f20601f840160051c8101602085101561050d5750805b601f840160051c820191505b8181101561052c575f8155600101610519565b5050505050565b81516001600160401b0381111561054c5761054c61049c565b6105608161055a84546104b0565b846104e8565b602080601f831160018114610593575f841561057c5750858301515b5f19600386901b1c1916600185901b1785556105ea565b5f85815260208120601f198616915b828110156105c1578886015182559484019460019091019084016105a2565b50858210156105de57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8261060c57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561063057634e487b7160e01b5f52601160045260245ffd5b92915050565b608051612bd06106945f395f81816102f601528181610b1c01528181610bab01528181610cdd01528181610d990152818161174d0152818161192b01528181611a710152818161256901528181612620015261265c0152612bd05ff3fe60806040526004361061026d575f3560e01c806376a226231161014a578063aacebbe3116100be578063d8066a8611610078578063d8066a86146106f4578063dd62ed3e14610709578063eab15e4314610728578063f2fde38b1461073c578063f32383e91461075b578063f5648a4f1461076f575f80fd5b8063aacebbe314610658578063ab3f39a814610677578063c75748391461068c578063c95714e3146106ab578063cb963728146106c0578063d2dc0fd7146106df575f80fd5b806395d89b411161010f57806395d89b41146105b0578063a077b298146105c4578063a0b0e4b8146105dd578063a457c2d7146105fb578063a6ce120a1461061a578063a9059cbb14610639575f80fd5b806376a22623146105385780637b311a0d1461054c57806385356498146105605780638a8c523c1461057f5780638da5cb5b14610593575f80fd5b80632f5f2572116101e157806354840c6e116101a657806354840c6e146104795780636b195db3146104995780636c9b6761146104b257806370a08231146104d1578063715018a61461050557806375f0a87414610519575f80fd5b80632f5f2572146103f5578063313ce5671461040b578063395093511461042657806346469afb1461044557806349bd5a5e1461045a575f80fd5b80631857aeae116102325780631857aeae1461034e578063185870f91461036e5780631bff78981461038d57806323b872dd146103a257806327c8f835146103c15780632e8210ad146103d6575f80fd5b806306fdde0314610278578063079219d5146102a2578063095ea7b3146102b65780631694505e146102e557806318160ddd14610330575f80fd5b3661027457005b5f80fd5b348015610283575f80fd5b5061028c610783565b60405161029991906126ca565b60405180910390f35b3480156102ad575f80fd5b5061028c610813565b3480156102c1575f80fd5b506102d56102d0366004612713565b61089f565b6040519015158152602001610299565b3480156102f0575f80fd5b506103187f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610299565b34801561033b575f80fd5b506002545b604051908152602001610299565b348015610359575f80fd5b50600b546102d590600160a81b900460ff1681565b348015610379575f80fd5b50600b54610318906001600160a01b031681565b348015610398575f80fd5b5061034060125481565b3480156103ad575f80fd5b506102d56103bc36600461273d565b6108b8565b3480156103cc575f80fd5b5061031861dead81565b3480156103e1575f80fd5b506102d56103f036600461277b565b6108db565b348015610400575f80fd5b50610409610a1f565b005b348015610416575f80fd5b5060405160128152602001610299565b348015610431575f80fd5b506102d5610440366004612713565b610a33565b348015610450575f80fd5b5061034060115481565b348015610465575f80fd5b50600654610318906001600160a01b031681565b348015610484575f80fd5b50600b546102d590600160a01b900460ff1681565b3480156104a4575f80fd5b506010546102d59060ff1681565b3480156104bd575f80fd5b506104096104cc366004612792565b610a54565b3480156104dc575f80fd5b506103406104eb3660046127fe565b6001600160a01b03165f9081526020819052604090205490565b348015610510575f80fd5b50610409610a6e565b348015610524575f80fd5b50600a54610318906001600160a01b031681565b348015610543575f80fd5b5061028c610a81565b348015610557575f80fd5b50610409610a8e565b34801561056b575f80fd5b5061040961057a366004612792565b610aa3565b34801561058a575f80fd5b50610409610ab8565b34801561059e575f80fd5b506005546001600160a01b0316610318565b3480156105bb575f80fd5b5061028c610e84565b3480156105cf575f80fd5b50600d546102d59060ff1681565b3480156105e8575f80fd5b506010546102d590610100900460ff1681565b348015610606575f80fd5b506102d5610615366004612713565b610e93565b348015610625575f80fd5b506104096106343660046127fe565b610f0d565b348015610644575f80fd5b506102d5610653366004612713565b610fae565b348015610663575f80fd5b506104096106723660046127fe565b610fbb565b348015610682575f80fd5b5061034060165481565b348015610697575f80fd5b50600954610318906001600160a01b031681565b3480156106b6575f80fd5b50610340600c5481565b3480156106cb575f80fd5b506104096106da3660046127fe565b61105c565b3480156106ea575f80fd5b50610340600e5481565b3480156106ff575f80fd5b50610340600f5481565b348015610714575f80fd5b50610340610723366004612819565b6111de565b348015610733575f80fd5b50610409611208565b348015610747575f80fd5b506104096107563660046127fe565b61121c565b348015610766575f80fd5b50610409611295565b34801561077a575f80fd5b506104096112ae565b60606003805461079290612850565b80601f01602080910402602001604051908101604052809291908181526020018280546107be90612850565b80156108095780601f106107e057610100808354040283529160200191610809565b820191905f5260205f20905b8154815290600101906020018083116107ec57829003601f168201915b5050505050905090565b6008805461082090612850565b80601f016020809104026020016040519081016040528092919081815260200182805461084c90612850565b80156108975780601f1061086e57610100808354040283529160200191610897565b820191905f5260205f20905b81548152906001019060200180831161087a57829003601f168201915b505050505081565b5f336108ac818585611300565b60019150505b92915050565b5f336108c5858285611423565b6108d0858585611495565b506001949350505050565b5f6108e4612113565b620186a06108f160025490565b6108fc90600161289c565b61090691906128b3565b8210156109805760405162461bcd60e51b815260206004820152603c60248201527f45524332303a205377617020616d6f756e742063616e6e6f74206265206c6f7760448201527f6572207468616e20302e3030312520746f74616c20737570706c792e0000000060648201526084015b60405180910390fd5b6103e861098c60025490565b61099790600561289c565b6109a191906128b3565b821115610a165760405162461bcd60e51b815260206004820152603b60248201527f45524332303a205377617020616d6f756e742063616e6e6f742062652068696760448201527f686572207468616e20302e352520746f74616c20737570706c792e00000000006064820152608401610977565b50600c55600190565b610a27612113565b6010805460ff19169055565b5f336108ac818585610a4583836111de565b610a4f91906128d2565b611300565b610a5c612113565b6007610a69828483612944565b505050565b610a76612113565b610a7f5f61216d565b565b6007805461082090612850565b610a96612113565b6010805461ff0019169055565b610aab612113565b6008610a69828483612944565b610ac0612113565b600b54600160a01b900460ff1615610b1a5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642e00000000000000006044820152606401610977565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9a91906129fe565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2991906129fe565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610c73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9791906129fe565b600680546001600160a01b0319166001600160a01b03929092169182179055610cc39030905f19611300565b60065460405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301525f1960248301529091169063095ea7b3906044016020604051808303815f875af1158015610d33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d579190612a19565b50600654610d6f906001600160a01b031660016121be565b305f90815260208190526040812054906064610d8b838261289c565b610d9591906128b3565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7194730845f80610ddd6005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610e43573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e689190612a38565b5050600b805461ffff60a01b191661010160a01b179055505050565b60606004805461079290612850565b5f3381610ea082866111de565b905083811015610f005760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610977565b6108d08286868403611300565b610f15612113565b6001600160a01b038116610f5e5760405162461bcd60e51b815260206004820152601060248201526f045524332303a204164647265737320360841b6044820152606401610977565b600980546001600160a01b038381166001600160a01b03198316811790935560405191169182917f7e93f456cc9a7cd16cdd07852911879883f53eb9b4643c9df90615542d46e95d905f90a35050565b5f336108ac818585611495565b610fc3612113565b6001600160a01b03811661100c5760405162461bcd60e51b815260206004820152601060248201526f045524332303a204164647265737320360841b6044820152606401610977565b600a80546001600160a01b038381166001600160a01b03198316811790935560405191169182917fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b05674905f90a35050565b611064612113565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156110a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110cc9190612a63565b116111055760405162461bcd60e51b81526020600482015260096024820152684e6f20746f6b656e7360b81b6044820152606401610977565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015611149573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116d9190612a63565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb906044016020604051808303815f875af11580156111ba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a699190612a19565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b611210612113565b600d805460ff19169055565b611224612113565b6001600160a01b0381166112895760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610977565b6112928161216d565b50565b61129d612113565b6010805461ffff1916610101179055565b6112b6612113565b6040515f90339047908381818185875af1925050503d805f81146112f5576040519150601f19603f3d011682016040523d82523d5f602084013e6112fa565b606091505b50505050565b6001600160a01b0383166113625760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610977565b6001600160a01b0382166113c35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610977565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61142e84846111de565b90505f1981146112fa57818110156114885760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610977565b6112fa8484848403611300565b6001600160a01b0383166114bb5760405162461bcd60e51b815260040161097790612a7a565b6001600160a01b0382166114e15760405162461bcd60e51b815260040161097790612abf565b805f036114f357610a6983835f612211565b6005546001600160a01b0384811691161480159061151f57506005546001600160a01b03838116911614155b801561153357506001600160a01b03821615155b801561154a57506001600160a01b03821661dead14155b80156115605750600b54600160b01b900460ff16155b15611b9157600b54600160a01b900460ff166116e6576005546001600160a01b038481169116148061159a57506001600160a01b03831630145b806115af57506001600160a01b03831661dead145b806115c757506009546001600160a01b038481169116145b806115df5750600a546001600160a01b038481169116145b806115f75750600b546001600160a01b038481169116145b8061160f57506005546001600160a01b038381169116145b8061162257506001600160a01b03821630145b8061163757506001600160a01b03821661dead145b8061164f57506009546001600160a01b038381169116145b806116675750600a546001600160a01b038381169116145b8061167f5750600b546001600160a01b038381169116145b6116e65760405162461bcd60e51b815260206004820152603260248201527f45524332303a20546f6b656e2054726164696e67204e6f7420456e61626c656460448201527117102132902830ba34b2b73a1020b737b71760711b6064820152608401610977565b6001600160a01b0383165f908152601d602052604090205460ff16156118c4576005546001600160a01b0383811691161480159061172d57506001600160a01b0382163014155b801561174457506001600160a01b03821661dead14155b801561178257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b801561179c57506009546001600160a01b03838116911614155b80156117b65750600a546001600160a01b03838116911614155b80156117d05750600b546001600160a01b03838116911614155b80156117ea57506006546001600160a01b03838116911614155b156118bf57600d5460ff16156118bf57600e5481111561184c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a204d6178205472616e73616374696f6e204578636565646564006044820152606401610977565b600f546001600160a01b0383165f9081526020819052604090205461187190836128d2565b11156118bf5760405162461bcd60e51b815260206004820152601a60248201527f45524332303a204d61782057616c6c65742045786365656465640000000000006044820152606401610977565b611b91565b6001600160a01b0382165f908152601d602052604090205460ff1615611a2a576005546001600160a01b0384811691161480159061190b57506001600160a01b0383163014155b801561192257506001600160a01b03831661dead14155b801561196057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b801561197a57506009546001600160a01b03848116911614155b80156119945750600a546001600160a01b03848116911614155b80156119ae5750600b546001600160a01b03848116911614155b80156119c857506006546001600160a01b03848116911614155b156118bf57600d5460ff16156118bf57600e548111156118bf5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a204d6178205472616e73616374696f6e204578636565646564006044820152606401610977565b6005546001600160a01b03838116911614801590611a5157506001600160a01b0382163014155b8015611a6857506001600160a01b03821661dead14155b8015611aa657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b8015611ac057506009546001600160a01b03838116911614155b8015611ada5750600a546001600160a01b03838116911614155b8015611af45750600b546001600160a01b03838116911614155b8015611b0e57506006546001600160a01b03838116911614155b15611b9157600d5460ff1615611b9157600f546001600160a01b0383165f90815260208190526040902054611b4390836128d2565b1115611b915760405162461bcd60e51b815260206004820152601a60248201527f45524332303a204d61782057616c6c65742045786365656465640000000000006044820152606401610977565b305f90815260208190526040902054600c5481108015908190611bbd5750600b54600160a81b900460ff165b8015611bd35750600b54600160b01b900460ff16155b8015611bf757506001600160a01b0385165f908152601d602052604090205460ff16155b8015611c1157506005546001600160a01b03868116911614155b8015611c2657506001600160a01b0385163014155b8015611c3d57506001600160a01b03851661dead14155b8015611c5757506009546001600160a01b03868116911614155b8015611c715750600a546001600160a01b03868116911614155b8015611c8b5750600b546001600160a01b03868116911614155b8015611ca557506005546001600160a01b03858116911614155b8015611cba57506001600160a01b0384163014155b8015611cd157506001600160a01b03841661dead14155b8015611ceb57506009546001600160a01b03858116911614155b8015611d055750600a546001600160a01b03858116911614155b8015611d1f5750600b546001600160a01b03858116911614155b15611d4d57600b805460ff60b01b1916600160b01b179055611d3f612339565b600b805460ff60b01b191690555b600b5460ff600160b01b9091041615611d6e6005546001600160a01b031690565b6001600160a01b0316866001600160a01b03161480611d9557506001600160a01b03861630145b80611daa57506001600160a01b03861661dead145b80611dc257506009546001600160a01b038781169116145b80611dda5750600a546001600160a01b038781169116145b80611df25750600b546001600160a01b038781169116145b80611e0a57506005546001600160a01b038681169116145b80611e1d57506001600160a01b03851630145b80611e3257506001600160a01b03851661dead145b80611e4a57506009546001600160a01b038681169116145b80611e625750600a546001600160a01b038681169116145b80611e7a5750600b546001600160a01b038681169116145b15611e8257505f5b5f81156120ff576001600160a01b0386165f908152601d602052604090205460ff168015611eb2575060105460ff165b1561200857601054610100900460ff1615611f7d57611ee76064611ee1601654886124f790919063ffffffff16565b90612509565b905060165460175482611efa919061289c565b611f0491906128b3565b601a5f828254611f1491906128d2565b9091555050601654601854611f29908361289c565b611f3391906128b3565b601b5f828254611f4391906128d2565b9091555050601654601954611f58908361289c565b611f6291906128b3565b601c5f828254611f7291906128d2565b909155506120e19050565b611f976064611ee1601254886124f790919063ffffffff16565b905060125460135482611faa919061289c565b611fb491906128b3565b601a5f828254611fc491906128d2565b9091555050601254601454611fd9908361289c565b611fe391906128b3565b601b5f828254611ff391906128d2565b9091555050601254601554611f58908361289c565b6001600160a01b0387165f908152601d602052604090205460ff168015612031575060105460ff165b156120e1576120506064611ee1601154886124f790919063ffffffff16565b905060115460135482612063919061289c565b61206d91906128b3565b601a5f82825461207d91906128d2565b9091555050601154601454612092908361289c565b61209c91906128b3565b601b5f8282546120ac91906128d2565b90915550506011546015546120c1908361289c565b6120cb91906128b3565b601c5f8282546120db91906128d2565b90915550505b80156120f2576120f2873083612211565b6120fc8186612b02565b94505b61210a878787612211565b50505050505050565b6005546001600160a01b03163314610a7f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610977565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f818152601d6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166122375760405162461bcd60e51b815260040161097790612a7a565b6001600160a01b03821661225d5760405162461bcd60e51b815260040161097790612abf565b6001600160a01b0383165f90815260208190526040902054818110156122d45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610977565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36112fa565b305f9081526020819052604081205490505f601c54601b54601a5461235e91906128d2565b61236891906128d2565b90505f821580612376575081155b1561238057505050565b600c5461238e90601461289c565b8311156123a657600c546123a390601461289c565b92505b6123af83612514565b5f4790505f6123cd84611ee1601a54856124f790919063ffffffff16565b90505f6123e985611ee1601b54866124f790919063ffffffff16565b5f601a819055601b819055601c8190556009546040519293506001600160a01b031691849181818185875af1925050503d805f8114612443576040519150601f19603f3d011682016040523d82523d5f602084013e612448565b606091505b5050600a546040519195506001600160a01b03169082905f81818185875af1925050503d805f8114612495576040519150601f19603f3d011682016040523d82523d5f602084013e61249a565b606091505b5050600b546040519195506001600160a01b03169047905f81818185875af1925050503d805f81146124e7576040519150601f19603f3d011682016040523d82523d5f602084013e6124ec565b606091505b505050505050505050565b5f612502828461289c565b9392505050565b5f61250282846128b3565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061254757612547612b15565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125e791906129fe565b816001815181106125fa576125fa612b15565b60200260200101906001600160a01b031690816001600160a01b031681525050612645307f000000000000000000000000000000000000000000000000000000000000000084611300565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906126999085905f90869030904290600401612b29565b5f604051808303815f87803b1580156126b0575f80fd5b505af11580156126c2573d5f803e3d5ffd5b505050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611292575f80fd5b5f8060408385031215612724575f80fd5b823561272f816126ff565b946020939093013593505050565b5f805f6060848603121561274f575f80fd5b833561275a816126ff565b9250602084013561276a816126ff565b929592945050506040919091013590565b5f6020828403121561278b575f80fd5b5035919050565b5f80602083850312156127a3575f80fd5b823567ffffffffffffffff808211156127ba575f80fd5b818501915085601f8301126127cd575f80fd5b8135818111156127db575f80fd5b8660208285010111156127ec575f80fd5b60209290920196919550909350505050565b5f6020828403121561280e575f80fd5b8135612502816126ff565b5f806040838503121561282a575f80fd5b8235612835816126ff565b91506020830135612845816126ff565b809150509250929050565b600181811c9082168061286457607f821691505b60208210810361288257634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176108b2576108b2612888565b5f826128cd57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156108b2576108b2612888565b634e487b7160e01b5f52604160045260245ffd5b601f821115610a6957805f5260205f20601f840160051c8101602085101561291e5750805b601f840160051c820191505b8181101561293d575f815560010161292a565b5050505050565b67ffffffffffffffff83111561295c5761295c6128e5565b6129708361296a8354612850565b836128f9565b5f601f8411600181146129a1575f851561298a5750838201355b5f19600387901b1c1916600186901b17835561293d565b5f83815260208120601f198716915b828110156129d057868501358255602094850194600190920191016129b0565b50868210156129ec575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f60208284031215612a0e575f80fd5b8151612502816126ff565b5f60208284031215612a29575f80fd5b81518015158114612502575f80fd5b5f805f60608486031215612a4a575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215612a73575f80fd5b5051919050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156108b2576108b2612888565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015612b795784516001600160a01b031683529383019391830191600101612b54565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220d75cb393065733fa674e3060a95f6d00a2c6a8d1b49be9e3255e54e8f1eb4cca64736f6c63430008190033