ERC-20
Overview
Max Total Supply
100,000,000,000 VISION
Holders
29
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
VisionOfStevoshiNakamoto
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-06 */ /** 🍎🍏🍎🍏🍎🍏🍎🍏🍎🍏🍎🍏🍎🍏🍎🍏🍎🍏 Further fulling the wishes of the great who have gone before while seeing the future! https://t.me/StevoshiNakamoto https://t.me/WatcherGuru/4672 Tax is Unchangeable at 1% MOONTIME! 🍎🍏🍎🍏🍎🍏🍎🍏🍎🍏🍎🍏🍎🍏🍎🍏🍎🍏 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) {return a + b;} function sub(uint256 a, uint256 b) internal pure returns (uint256) {return a - b;} function mul(uint256 a, uint256 b) internal pure returns (uint256) {return a * b;} function div(uint256 a, uint256 b) internal pure returns (uint256) {return a / b;} function mod(uint256 a, uint256 b) internal pure returns (uint256) {return a % b;} function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked {uint256 c = a + b; if(c < a) return(false, 0); return(true, c);}} function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked {if(b > a) return(false, 0); return(true, a - b);}} function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked {if (a == 0) return(true, 0); uint256 c = a * b; if(c / a != b) return(false, 0); return(true, c);}} function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked {if(b == 0) return(false, 0); return(true, a / b);}} function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked {if(b == 0) return(false, 0); return(true, a % b);}} function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked{require(b <= a, errorMessage); return a - b;}} function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked{require(b > 0, errorMessage); return a / b;}} function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked{require(b > 0, errorMessage); return a % b;}}} interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value);} abstract contract Ownable { address internal owner; constructor(address _owner) {owner = _owner;} modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;} function isOwner(address account) public view returns (bool) {return account == owner;} function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);} event OwnershipTransferred(address owner); } interface IFactory{ function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } contract VisionOfStevoshiNakamoto is IERC20, Ownable { using SafeMath for uint256; string private constant _name = 'Vision Of Stevoshi Nakamoto'; string private constant _symbol = 'VISION'; uint8 private constant _decimals = 9; uint256 private _totalSupply = 100 * 10**9 * (10 ** _decimals); uint256 public _maxTxAmount = ( _totalSupply * 200 ) / 10000; uint256 public _maxWalletToken = ( _totalSupply * 200 ) / 10000; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isFeeExempt; IRouter router; address public pair; bool tradingAllowed = false; uint256 liquidityFee = 0; uint256 marketingFee = 100; uint256 totalFee = 100; uint256 sellFee = 100; uint256 transferFee = 0; uint256 feeDenominator = 10000; bool swapEnabled = true; uint256 swapTimes; bool swapping; uint256 swapThreshold = ( _totalSupply * 150 ) / 100000; uint256 _minTokenAmount = ( _totalSupply * 10 ) / 100000; modifier lockTheSwap {swapping = true; _; swapping = false;} address public constant liquidity_receiver = 0xA18b877d3077C9c1AB10247096F1656774dF06A2; address public constant DEAD = 0x000000000000000000000000000000000000dEaD; address public constant marketing_receiver = 0xA18b877d3077C9c1AB10247096F1656774dF06A2; constructor() Ownable(msg.sender) { IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH()); router = _router; pair = _pair; isFeeExempt[address(this)] = true; isFeeExempt[liquidity_receiver] = true; isFeeExempt[marketing_receiver] = true; isFeeExempt[msg.sender] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function name() public pure returns (string memory) {return _name;} function symbol() public pure returns (string memory) {return _symbol;} function decimals() public pure returns (uint8) {return _decimals;} function totalSupply() public view override returns (uint256) {return _totalSupply;} function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) {return _balances[account];} function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;} function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];} function isCont(address addr) internal view returns (bool) {uint size; assembly { size := extcodesize(addr) } return size > 0; } function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;} function getCirculatingSupply() public view returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));} function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address sender, address recipient, uint256 amount) private { preTxCheck(sender, recipient, amount); checktradingAllowed(sender, recipient); checkMaxWallet(sender, recipient, amount); swapbackCounters(sender, recipient); checkTxLimit(sender, recipient, amount); swapBack(sender, recipient, amount); _balances[sender] = _balances[sender].sub(amount); uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); } function preTxCheck(address sender, address recipient, uint256 amount) internal view { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > uint256(0), "Transfer amount must be greater than zero"); require(amount <= balanceOf(sender),"You are trying to transfer more than your balance"); } function checktradingAllowed(address sender, address recipient) internal view { if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");} } function checkMaxWallet(address sender, address recipient, uint256 amount) internal view { if(isCont(recipient) && sender != pair && !isCont(sender)){require((_balances[recipient].add(amount)) <= _totalSupply);} if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){ require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");} } function swapbackCounters(address sender, address recipient) internal { if(recipient == pair && !isFeeExempt[sender]){swapTimes += uint256(1);} } function startTrading() external onlyOwner { tradingAllowed = true; } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !isFeeExempt[sender] && !isFeeExempt[recipient]; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.div(feeDenominator).mul(getTotalFee(sender, recipient)); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function getTotalFee(address sender, address recipient) internal view returns (uint256) { if(recipient == pair){return sellFee;} if(sender == pair){return totalFee;} return transferFee; } function checkTxLimit(address sender, address recipient, uint256 amount) internal view { require(amount <= _maxTxAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded"); } function shouldSwapBack(address sender, address recipient, uint256 amount) internal view returns (bool) { bool aboveMin = amount >= _minTokenAmount; bool aboveThreshold = balanceOf(address(this)) >= swapThreshold; return !swapping && swapEnabled && aboveMin && !isFeeExempt[sender] && recipient == pair && swapTimes >= uint256(2) && aboveThreshold; } function swapBack(address sender, address recipient, uint256 amount) internal { if(shouldSwapBack(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = 0;} } function swapAndLiquify(uint256 tokens) private lockTheSwap { uint256 denominator = (liquidityFee.add(marketingFee)) * 2; uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(denominator); uint256 toSwap = tokens.sub(tokensToAddLiquidityWith); uint256 initialBalance = address(this).balance; swapTokensForETH(toSwap); uint256 deltaBalance = address(this).balance.sub(initialBalance); uint256 unitBalance= deltaBalance.div(denominator.sub(liquidityFee)); uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee); if(ETHToAddLiquidityWith > uint256(0)){ addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); } uint256 remainingBalance = address(this).balance; if(remainingBalance > uint256(0)){ payable(marketing_receiver).transfer(remainingBalance); } } function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private { _approve(address(this), address(router), tokenAmount); router.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, liquidity_receiver, block.timestamp); } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":false,"internalType":"address","name":"owner","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"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidity_receiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketing_receiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a62000459565b620000239064174876e80062000471565b60015561271060015460c86200003a919062000471565b6200004691906200048b565b60025561271060015460c86200005d919062000471565b6200006991906200048b565b6003556008805460ff60a01b19169055600060098190556064600a819055600b819055600c55600d55612710600e55600f805460ff1916600190811790915554620186a090620000bb90609662000471565b620000c791906200048b565b601255620186a0600154600a620000df919062000471565b620000eb91906200048b565b601355348015620000fb57600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001899190620004ae565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fd9190620004ae565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200024b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002719190620004ae565b600780546001600160a01b038581166001600160a01b0319928316179092556008805492841692909116919091179055306000908152600660209081526040808320805460ff1990811660019081179092557fba0345e621f34635b3a14df5e04cc0dc050ca5846079a06a23365a2d29dd7b7a8054821683179055338086528386208054909216831790915590546004845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004d9565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200039b5781600019048211156200037f576200037f62000344565b808516156200038d57918102915b93841c93908002906200035f565b509250929050565b600082620003b45750600162000453565b81620003c35750600062000453565b8160018114620003dc5760028114620003e75762000407565b600191505062000453565b60ff841115620003fb57620003fb62000344565b50506001821b62000453565b5060208310610133831016604e8410600b84101617156200042c575081810a62000453565b6200043883836200035a565b80600019048211156200044f576200044f62000344565b0290505b92915050565b60006200046a60ff841683620003a3565b9392505050565b808202811582820484141762000453576200045362000344565b600082620004a957634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004c157600080fd5b81516001600160a01b03811681146200046a57600080fd5b61156d80620004e96000396000f3fe60806040526004361061012e5760003560e01c80635f7bcd70116100ab57806395d89b411161006f57806395d89b411461037a578063a8aa1b31146103a9578063a9059cbb146103c9578063dd62ed3e146103e9578063e87655cf146102d2578063f2fde38b1461042f57600080fd5b80635f7bcd70146102d257806370a08231146102fa57806378109e54146103305780637d1db4a514610346578063893d20e81461035c57600080fd5b8063293230b8116100f2578063293230b81461022b5780632b112e49146102425780632f54bf6e14610257578063313ce567146102865780633f4218e0146102a257600080fd5b806303fd2a451461013a57806306fdde031461016d578063095ea7b3146101bc57806318160ddd146101ec57806323b872dd1461020b57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015061dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017957600080fd5b5060408051808201909152601b81527f566973696f6e204f6620537465766f736869204e616b616d6f746f000000000060208201525b604051610164919061129f565b3480156101c857600080fd5b506101dc6101d7366004611305565b61044f565b6040519015158152602001610164565b3480156101f857600080fd5b506001545b604051908152602001610164565b34801561021757600080fd5b506101dc610226366004611331565b610466565b34801561023757600080fd5b506102406104cf565b005b34801561024e57600080fd5b506101fd61052c565b34801561026357600080fd5b506101dc610272366004611372565b6000546001600160a01b0391821691161490565b34801561029257600080fd5b5060405160098152602001610164565b3480156102ae57600080fd5b506101dc6102bd366004611372565b60066020526000908152604090205460ff1681565b3480156102de57600080fd5b5061015073a18b877d3077c9c1ab10247096f1656774df06a281565b34801561030657600080fd5b506101fd610315366004611372565b6001600160a01b031660009081526004602052604090205490565b34801561033c57600080fd5b506101fd60035481565b34801561035257600080fd5b506101fd60025481565b34801561036857600080fd5b506000546001600160a01b0316610150565b34801561038657600080fd5b506040805180820190915260068152652b24a9a4a7a760d11b60208201526101af565b3480156103b557600080fd5b50600854610150906001600160a01b031681565b3480156103d557600080fd5b506101dc6103e4366004611305565b61059d565b3480156103f557600080fd5b506101fd61040436600461138f565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561043b57600080fd5b5061024061044a366004611372565b6105aa565b600061045c338484610641565b5060015b92915050565b6000610473848484610765565b6104c584336104c085604051806060016040528060288152602001611510602891396001600160a01b038a166000908152600560209081526040808320338452909152902054919061088b565b610641565b5060019392505050565b6000546001600160a01b031633146105175760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b6008805460ff60a01b1916600160a01b179055565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54600154919261059892909161059291906108b7565b906108b7565b905090565b600061045c338484610765565b6000546001600160a01b031633146105ed5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015260640161050e565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166106a35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161050e565b6001600160a01b0382166107045760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161050e565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6107708383836108ca565b61077a8383610a79565b610785838383610b0e565b61078f8383610c59565b61079a838383610cb0565b6107a5838383610d3c565b6001600160a01b0383166000908152600460205260409020546107c890826108b7565b6001600160a01b0384166000908152600460205260408120919091556107ee8484610d61565b6107f85781610803565b610803848484610da7565b6001600160a01b0384166000908152600460205260409020549091506108299082610e54565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061087d9085815260200190565b60405180910390a350505050565b600081848411156108af5760405162461bcd60e51b815260040161050e919061129f565b505050900390565b60006108c382846113de565b9392505050565b6001600160a01b03831661092e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161050e565b6001600160a01b0382166109905760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161050e565b600081116109f25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161050e565b6001600160a01b038316600090815260046020526040902054811115610a745760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161050e565b505050565b6001600160a01b03821660009081526006602052604090205460ff16158015610abb57506001600160a01b03811660009081526006602052604090205460ff16155b15610b0a57600854600160a01b900460ff16610b0a5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b604482015260640161050e565b5050565b813b15158015610b2c57506008546001600160a01b03848116911614155b8015610b375750823b155b15610b6d576001546001600160a01b038316600090815260046020526040902054610b629083610e54565b1115610b6d57600080fd5b6001600160a01b03831660009081526006602052604090205460ff16158015610baf57506001600160a01b03821660009081526006602052604090205460ff16155b8015610bc957506008546001600160a01b03838116911614155b8015610be057506001600160a01b03821661dead14155b15610a74576003546001600160a01b038316600090815260046020526040902054610c0b9083610e54565b1115610a745760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161050e565b6008546001600160a01b038281169116148015610c8f57506001600160a01b03821660009081526006602052604090205460ff16155b15610b0a57600160106000828254610ca791906113f1565b90915550505050565b60025481111580610cd957506001600160a01b03831660009081526006602052604090205460ff165b80610cfc57506001600160a01b03821660009081526006602052604090205460ff165b610a745760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161050e565b610d47838383610e60565b15610a7457610d57601254610efd565b6000601055505050565b6001600160a01b03821660009081526006602052604081205460ff161580156108c35750506001600160a01b031660009081526006602052604090205460ff1615919050565b600080610dcb610db7868661101e565b600e54610dc5908690611069565b90611075565b30600090815260046020526040902054909150610de89082610e54565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e399085815260200190565b60405180910390a3610e4b83826108b7565b95945050505050565b60006108c382846113f1565b6013546012543060009081526004602052604081205460115491938510159211159060ff16158015610e945750600f5460ff165b8015610e9d5750815b8015610ec257506001600160a01b03861660009081526006602052604090205460ff16155b8015610edb57506008546001600160a01b038681169116145b8015610eea5750600260105410155b8015610ef35750805b9695505050505050565b6011805460ff19166001179055600a54600954600091610f1d9190610e54565b610f28906002611404565b90506000610f4b82610f456009548661107590919063ffffffff16565b90611069565b90506000610f5984836108b7565b905047610f6582611081565b6000610f7147836108b7565b90506000610f94610f8d600954886108b790919063ffffffff16565b8390611069565b90506000610fad6009548361107590919063ffffffff16565b90508015610fbf57610fbf86826111db565b4780156110095760405173a18b877d3077c9c1ab10247096f1656774df06a29082156108fc029083906000818181858888f19350505050158015611007573d6000803e3d6000fd5b505b50506011805460ff1916905550505050505050565b6008546000906001600160a01b03908116908316036110405750600c54610460565b6008546001600160a01b039081169084160361105f5750600b54610460565b50600d5492915050565b60006108c3828461141b565b60006108c38284611404565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110b6576110b661143d565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561110f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111339190611453565b816001815181106111465761114661143d565b6001600160a01b03928316602091820292909201015260075461116c9130911684610641565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac947906111a5908590600090869030904290600401611470565b600060405180830381600087803b1580156111bf57600080fd5b505af11580156111d3573d6000803e3d6000fd5b505050505050565b6007546111f39030906001600160a01b031684610641565b60075460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015273a18b877d3077c9c1ab10247096f1656774df06a260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611273573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061129891906114e1565b5050505050565b600060208083528351808285015260005b818110156112cc578581018301518582016040015282016112b0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461130257600080fd5b50565b6000806040838503121561131857600080fd5b8235611323816112ed565b946020939093013593505050565b60008060006060848603121561134657600080fd5b8335611351816112ed565b92506020840135611361816112ed565b929592945050506040919091013590565b60006020828403121561138457600080fd5b81356108c3816112ed565b600080604083850312156113a257600080fd5b82356113ad816112ed565b915060208301356113bd816112ed565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610460576104606113c8565b80820180821115610460576104606113c8565b8082028115828204841417610460576104606113c8565b60008261143857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561146557600080fd5b81516108c3816112ed565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114c05784516001600160a01b03168352938301939183019160010161149b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156114f657600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200cb5c1e9019b6b2d21659558eb66a29a947a80c0623e0f847a6bf67f20c498ac64736f6c63430008130033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c80635f7bcd70116100ab57806395d89b411161006f57806395d89b411461037a578063a8aa1b31146103a9578063a9059cbb146103c9578063dd62ed3e146103e9578063e87655cf146102d2578063f2fde38b1461042f57600080fd5b80635f7bcd70146102d257806370a08231146102fa57806378109e54146103305780637d1db4a514610346578063893d20e81461035c57600080fd5b8063293230b8116100f2578063293230b81461022b5780632b112e49146102425780632f54bf6e14610257578063313ce567146102865780633f4218e0146102a257600080fd5b806303fd2a451461013a57806306fdde031461016d578063095ea7b3146101bc57806318160ddd146101ec57806323b872dd1461020b57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015061dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017957600080fd5b5060408051808201909152601b81527f566973696f6e204f6620537465766f736869204e616b616d6f746f000000000060208201525b604051610164919061129f565b3480156101c857600080fd5b506101dc6101d7366004611305565b61044f565b6040519015158152602001610164565b3480156101f857600080fd5b506001545b604051908152602001610164565b34801561021757600080fd5b506101dc610226366004611331565b610466565b34801561023757600080fd5b506102406104cf565b005b34801561024e57600080fd5b506101fd61052c565b34801561026357600080fd5b506101dc610272366004611372565b6000546001600160a01b0391821691161490565b34801561029257600080fd5b5060405160098152602001610164565b3480156102ae57600080fd5b506101dc6102bd366004611372565b60066020526000908152604090205460ff1681565b3480156102de57600080fd5b5061015073a18b877d3077c9c1ab10247096f1656774df06a281565b34801561030657600080fd5b506101fd610315366004611372565b6001600160a01b031660009081526004602052604090205490565b34801561033c57600080fd5b506101fd60035481565b34801561035257600080fd5b506101fd60025481565b34801561036857600080fd5b506000546001600160a01b0316610150565b34801561038657600080fd5b506040805180820190915260068152652b24a9a4a7a760d11b60208201526101af565b3480156103b557600080fd5b50600854610150906001600160a01b031681565b3480156103d557600080fd5b506101dc6103e4366004611305565b61059d565b3480156103f557600080fd5b506101fd61040436600461138f565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561043b57600080fd5b5061024061044a366004611372565b6105aa565b600061045c338484610641565b5060015b92915050565b6000610473848484610765565b6104c584336104c085604051806060016040528060288152602001611510602891396001600160a01b038a166000908152600560209081526040808320338452909152902054919061088b565b610641565b5060019392505050565b6000546001600160a01b031633146105175760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b6008805460ff60a01b1916600160a01b179055565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54600154919261059892909161059291906108b7565b906108b7565b905090565b600061045c338484610765565b6000546001600160a01b031633146105ed5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015260640161050e565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166106a35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161050e565b6001600160a01b0382166107045760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161050e565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6107708383836108ca565b61077a8383610a79565b610785838383610b0e565b61078f8383610c59565b61079a838383610cb0565b6107a5838383610d3c565b6001600160a01b0383166000908152600460205260409020546107c890826108b7565b6001600160a01b0384166000908152600460205260408120919091556107ee8484610d61565b6107f85781610803565b610803848484610da7565b6001600160a01b0384166000908152600460205260409020549091506108299082610e54565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061087d9085815260200190565b60405180910390a350505050565b600081848411156108af5760405162461bcd60e51b815260040161050e919061129f565b505050900390565b60006108c382846113de565b9392505050565b6001600160a01b03831661092e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161050e565b6001600160a01b0382166109905760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161050e565b600081116109f25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161050e565b6001600160a01b038316600090815260046020526040902054811115610a745760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161050e565b505050565b6001600160a01b03821660009081526006602052604090205460ff16158015610abb57506001600160a01b03811660009081526006602052604090205460ff16155b15610b0a57600854600160a01b900460ff16610b0a5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b604482015260640161050e565b5050565b813b15158015610b2c57506008546001600160a01b03848116911614155b8015610b375750823b155b15610b6d576001546001600160a01b038316600090815260046020526040902054610b629083610e54565b1115610b6d57600080fd5b6001600160a01b03831660009081526006602052604090205460ff16158015610baf57506001600160a01b03821660009081526006602052604090205460ff16155b8015610bc957506008546001600160a01b03838116911614155b8015610be057506001600160a01b03821661dead14155b15610a74576003546001600160a01b038316600090815260046020526040902054610c0b9083610e54565b1115610a745760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161050e565b6008546001600160a01b038281169116148015610c8f57506001600160a01b03821660009081526006602052604090205460ff16155b15610b0a57600160106000828254610ca791906113f1565b90915550505050565b60025481111580610cd957506001600160a01b03831660009081526006602052604090205460ff165b80610cfc57506001600160a01b03821660009081526006602052604090205460ff165b610a745760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161050e565b610d47838383610e60565b15610a7457610d57601254610efd565b6000601055505050565b6001600160a01b03821660009081526006602052604081205460ff161580156108c35750506001600160a01b031660009081526006602052604090205460ff1615919050565b600080610dcb610db7868661101e565b600e54610dc5908690611069565b90611075565b30600090815260046020526040902054909150610de89082610e54565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e399085815260200190565b60405180910390a3610e4b83826108b7565b95945050505050565b60006108c382846113f1565b6013546012543060009081526004602052604081205460115491938510159211159060ff16158015610e945750600f5460ff165b8015610e9d5750815b8015610ec257506001600160a01b03861660009081526006602052604090205460ff16155b8015610edb57506008546001600160a01b038681169116145b8015610eea5750600260105410155b8015610ef35750805b9695505050505050565b6011805460ff19166001179055600a54600954600091610f1d9190610e54565b610f28906002611404565b90506000610f4b82610f456009548661107590919063ffffffff16565b90611069565b90506000610f5984836108b7565b905047610f6582611081565b6000610f7147836108b7565b90506000610f94610f8d600954886108b790919063ffffffff16565b8390611069565b90506000610fad6009548361107590919063ffffffff16565b90508015610fbf57610fbf86826111db565b4780156110095760405173a18b877d3077c9c1ab10247096f1656774df06a29082156108fc029083906000818181858888f19350505050158015611007573d6000803e3d6000fd5b505b50506011805460ff1916905550505050505050565b6008546000906001600160a01b03908116908316036110405750600c54610460565b6008546001600160a01b039081169084160361105f5750600b54610460565b50600d5492915050565b60006108c3828461141b565b60006108c38284611404565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110b6576110b661143d565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561110f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111339190611453565b816001815181106111465761114661143d565b6001600160a01b03928316602091820292909201015260075461116c9130911684610641565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac947906111a5908590600090869030904290600401611470565b600060405180830381600087803b1580156111bf57600080fd5b505af11580156111d3573d6000803e3d6000fd5b505050505050565b6007546111f39030906001600160a01b031684610641565b60075460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015273a18b877d3077c9c1ab10247096f1656774df06a260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611273573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061129891906114e1565b5050505050565b600060208083528351808285015260005b818110156112cc578581018301518582016040015282016112b0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461130257600080fd5b50565b6000806040838503121561131857600080fd5b8235611323816112ed565b946020939093013593505050565b60008060006060848603121561134657600080fd5b8335611351816112ed565b92506020840135611361816112ed565b929592945050506040919091013590565b60006020828403121561138457600080fd5b81356108c3816112ed565b600080604083850312156113a257600080fd5b82356113ad816112ed565b915060208301356113bd816112ed565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610460576104606113c8565b80820180821115610460576104606113c8565b8082028115828204841417610460576104606113c8565b60008261143857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561146557600080fd5b81516108c3816112ed565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114c05784516001600160a01b03168352938301939183019160010161149b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156114f657600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200cb5c1e9019b6b2d21659558eb66a29a947a80c0623e0f847a6bf67f20c498ac64736f6c63430008130033
Deployed Bytecode Sourcemap
4968:9251:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6231:73;;;;;;;;;;;;6262:42;6231:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;6231:73:0;;;;;;;;7012:67;;;;;;;;;;-1:-1:-1;7072:5:0;;;;;;;;;;;;;;;;;7012:67;;;;;;;:::i;7930:133::-;;;;;;;;;;-1:-1:-1;7930:133:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;7930:133:0;1231:187:1;7235:84:0;;;;;;;;;;-1:-1:-1;7305:12:0;;7235:84;;;1569:25:1;;;1557:2;1542:18;7235:84:0;1423:177:1;8209:309:0;;;;;;;;;;-1:-1:-1;8209:309:0;;;;;:::i;:::-;;:::i;10849:84::-;;;;;;;;;;;;;:::i;:::-;;8069:132;;;;;;;;;;;;;:::i;3348:87::-;;;;;;;;;;-1:-1:-1;3348:87:0;;;;;:::i;:::-;3403:4;3428:5;-1:-1:-1;;;;;3417:16:0;;;3428:5;;3417:16;;3348:87;7162:67;;;;;;;;;;-1:-1:-1;7162:67:0;;5213:1;2460:36:1;;2448:2;2433:18;7162:67:0;2318:184:1;5548:44:0;;;;;;;;;;-1:-1:-1;5548:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6311:87;;;;;;;;;;;;6356:42;6311:87;;7409:103;;;;;;;;;;-1:-1:-1;7409:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7492:18:0;7475:7;7492:18;;;:9;:18;;;;;;;7409:103;5357:63;;;;;;;;;;;;;;;;5290:60;;;;;;;;;;;;;;;;7325:78;;;;;;;;;;-1:-1:-1;7377:7:0;7395:5;-1:-1:-1;;;;;7395:5:0;7325:78;;7085:71;;;;;;;;;;-1:-1:-1;7147:7:0;;;;;;;;;;;;-1:-1:-1;;;7147:7:0;;;;7085:71;;5620:19;;;;;;;;;;-1:-1:-1;5620:19:0;;;;-1:-1:-1;;;;;5620:19:0;;;7518:139;;;;;;;;;;-1:-1:-1;7518:139:0;;;;;:::i;:::-;;:::i;7663:127::-;;;;;;;;;;-1:-1:-1;7663:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7761:18:0;;;7744:7;7761:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7663:127;3441:111;;;;;;;;;;-1:-1:-1;3441:111:0;;;;;:::i;:::-;;:::i;7930:133::-;8005:4;8012:37;8021:10;8033:7;8042:6;8012:8;:37::i;:::-;-1:-1:-1;8057:4:0;7930:133;;;;;:::o;8209:309::-;8307:4;8324:36;8334:6;8342:9;8353:6;8324:9;:36::i;:::-;8371:117;8380:6;8388:10;8400:87;8436:6;8400:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8400:19:0;;;;;;:11;:19;;;;;;;;8420:10;8400:31;;;;;;;;;:87;:35;:87::i;:::-;8371:8;:117::i;:::-;-1:-1:-1;8506:4:0;8209:309;;;;;:::o;10849:84::-;3403:4;3428:5;-1:-1:-1;;;;;3428:5:0;3315:10;3417:16;3299:38;;;;-1:-1:-1;;;3299:38:0;;3362:2:1;3299:38:0;;;3344:21:1;3401:1;3381:18;;;3374:29;-1:-1:-1;;;3419:18:1;;;3412:36;3465:18;;3299:38:0;;;;;;;;;10903:14:::1;:21:::0;;-1:-1:-1;;;;10903:21:0::1;-1:-1:-1::0;;;10903:21:0::1;::::0;;10849:84::o;8069:132::-;7492:9;:18;;;;6262:42;8122:7;7492:18;;;;;8139:12;;8122:7;;8139:60;;7492:18;;8139:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8132:67;;8069:132;:::o;7518:139::-;7596:4;7603:40;7613:10;7625:9;7636:6;7603:9;:40::i;3441:111::-;3403:4;3428:5;-1:-1:-1;;;;;3428:5:0;3315:10;3417:16;3299:38;;;;-1:-1:-1;;;3299:38:0;;3362:2:1;3299:38:0;;;3344:21:1;3401:1;3381:18;;;3374:29;-1:-1:-1;;;3419:18:1;;;3412:36;3465:18;;3299:38:0;3160:329:1;3299:38:0;3507:5:::1;:11:::0;;-1:-1:-1;;;;;;3507:11:0::1;-1:-1:-1::0;;;;;3507:11:0;::::1;::::0;;::::1;::::0;;;3525:25:::1;::::0;160:51:1;;;3525:25:0::1;::::0;148:2:1;133:18;3525:25:0::1;;;;;;;3441:111:::0;:::o;8526:335::-;-1:-1:-1;;;;;8619:19:0;;8611:68;;;;-1:-1:-1;;;8611:68:0;;3912:2:1;8611:68:0;;;3894:21:1;3951:2;3931:18;;;3924:30;3990:34;3970:18;;;3963:62;-1:-1:-1;;;4041:18:1;;;4034:34;4085:19;;8611:68:0;3710:400:1;8611:68:0;-1:-1:-1;;;;;8698:21:0;;8690:68;;;;-1:-1:-1;;;8690:68:0;;4317:2:1;8690:68:0;;;4299:21:1;4356:2;4336:18;;;4329:30;4395:34;4375:18;;;4368:62;-1:-1:-1;;;4446:18:1;;;4439:32;4488:19;;8690:68:0;4115:398:1;8690:68:0;-1:-1:-1;;;;;8769:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8821:32;;1569:25:1;;;8821:32:0;;1542:18:1;8821:32:0;;;;;;;8526:335;;;:::o;8869:686::-;8958:37;8969:6;8977:9;8988:6;8958:10;:37::i;:::-;9006:38;9026:6;9034:9;9006:19;:38::i;:::-;9055:41;9070:6;9078:9;9089:6;9055:14;:41::i;:::-;9108:35;9125:6;9133:9;9108:16;:35::i;:::-;9154:39;9167:6;9175:9;9186:6;9154:12;:39::i;:::-;9205:35;9214:6;9222:9;9233:6;9205:8;:35::i;:::-;-1:-1:-1;;;;;9271:17:0;;;;;;:9;:17;;;;;;:29;;9293:6;9271:21;:29::i;:::-;-1:-1:-1;;;;;9251:17:0;;;;;;:9;:17;;;;;:49;;;;9336:32;9261:6;9358:9;9336:13;:32::i;:::-;:78;;9408:6;9336:78;;;9371:34;9379:6;9387:9;9398:6;9371:7;:34::i;:::-;-1:-1:-1;;;;;9448:20:0;;;;;;:9;:20;;;;;;9311:103;;-1:-1:-1;9448:40:0;;9311:103;9448:24;:40::i;:::-;-1:-1:-1;;;;;9425:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9504:43;;;;;;;;;;9532:14;1569:25:1;;1557:2;1542:18;;1423:177;9504:43:0;;;;;;;;8947:608;8869:686;;;:::o;1747:162::-;1833:7;1879:12;1871:6;;;;1863:29;;;;-1:-1:-1;;;1863:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1901:5:0;;;1747:162::o;534:82::-;592:7;609:5;613:1;609;:5;:::i;:::-;602:12;534:82;-1:-1:-1;;;534:82:0:o;9563:439::-;-1:-1:-1;;;;;9667:20:0;;9659:70;;;;-1:-1:-1;;;9659:70:0;;4985:2:1;9659:70:0;;;4967:21:1;5024:2;5004:18;;;4997:30;5063:34;5043:18;;;5036:62;-1:-1:-1;;;5114:18:1;;;5107:35;5159:19;;9659:70:0;4783:401:1;9659:70:0;-1:-1:-1;;;;;9748:23:0;;9740:71;;;;-1:-1:-1;;;9740:71:0;;5391:2:1;9740:71:0;;;5373:21:1;5430:2;5410:18;;;5403:30;5469:34;5449:18;;;5442:62;-1:-1:-1;;;5520:18:1;;;5513:33;5563:19;;9740:71:0;5189:399:1;9740:71:0;9847:1;9830:6;:19;9822:73;;;;-1:-1:-1;;;9822:73:0;;5795:2:1;9822:73:0;;;5777:21:1;5834:2;5814:18;;;5807:30;5873:34;5853:18;;;5846:62;-1:-1:-1;;;5924:18:1;;;5917:39;5973:19;;9822:73:0;5593:405:1;9822:73:0;-1:-1:-1;;;;;7492:18:0;;7475:7;7492:18;;;:9;:18;;;;;;9914:6;:27;;9906:88;;;;-1:-1:-1;;;9906:88:0;;6205:2:1;9906:88:0;;;6187:21:1;6244:2;6224:18;;;6217:30;6283:34;6263:18;;;6256:62;-1:-1:-1;;;6334:18:1;;;6327:47;6391:19;;9906:88:0;6003:413:1;9906:88:0;9563:439;;;:::o;10010:191::-;-1:-1:-1;;;;;10103:19:0;;;;;;:11;:19;;;;;;;;10102:20;:47;;;;-1:-1:-1;;;;;;10127:22:0;;;;;;:11;:22;;;;;;;;10126:23;10102:47;10099:95;;;10159:14;;-1:-1:-1;;;10159:14:0;;;;10151:41;;;;-1:-1:-1;;;10151:41:0;;6623:2:1;10151:41:0;;;6605:21:1;6662:2;6642:18;;;6635:30;-1:-1:-1;;;6681:18:1;;;6674:44;6735:18;;10151:41:0;6421:338:1;10151:41:0;10010:191;;:::o;10213:461::-;7886:17;;7913:8;;10316:35;;;;-1:-1:-1;10347:4:0;;-1:-1:-1;;;;;10337:14:0;;;10347:4;;10337:14;;10316:35;:54;;;;-1:-1:-1;7886:17:0;;7913:8;10316:54;10313:120;;;10418:12;;-1:-1:-1;;;;;10381:20:0;;;;;;:9;:20;;;;;;:32;;10406:6;10381:24;:32::i;:::-;10380:50;;10372:59;;;;;;-1:-1:-1;;;;;10447:19:0;;;;;;:11;:19;;;;;;;;10446:20;:47;;;;-1:-1:-1;;;;;;10471:22:0;;;;;;:11;:22;;;;;;;;10470:23;10446:47;:77;;;;-1:-1:-1;10518:4:0;;-1:-1:-1;;;;;10497:26:0;;;10518:4;;10497:26;;10446:77;:107;;;;-1:-1:-1;;;;;;10527:26:0;;6262:42;10527:26;;10446:107;10443:224;;;10615:15;;-1:-1:-1;;;;;10578:20:0;;;;;;:9;:20;;;;;;:32;;10603:6;10578:24;:32::i;:::-;10577:53;;10569:96;;;;-1:-1:-1;;;10569:96:0;;6966:2:1;10569:96:0;;;6948:21:1;7005:2;6985:18;;;6978:30;7044:32;7024:18;;;7017:60;7094:18;;10569:96:0;6764:354:1;10682:159:0;10779:4;;-1:-1:-1;;;;;10766:17:0;;;10779:4;;10766:17;:41;;;;-1:-1:-1;;;;;;10788:19:0;;;;;;:11;:19;;;;;;;;10787:20;10766:41;10763:71;;;10830:1;10809:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;10682:159:0;;:::o;11715:207::-;11831:12;;11821:6;:22;;:45;;;-1:-1:-1;;;;;;11847:19:0;;;;;;:11;:19;;;;;;;;11821:45;:71;;;-1:-1:-1;;;;;;11870:22:0;;;;;;:11;:22;;;;;;;;11821:71;11813:101;;;;-1:-1:-1;;;11813:101:0;;7455:2:1;11813:101:0;;;7437:21:1;7494:2;7474:18;;;7467:30;-1:-1:-1;;;7513:18:1;;;7506:47;7570:18;;11813:101:0;7253:341:1;12320:188:0;12412:41;12427:6;12435:9;12446:6;12412:14;:41::i;:::-;12409:92;;;12455:29;12470:13;;12455:14;:29::i;:::-;12498:1;12486:9;:13;12320:188;;;:::o;10941:160::-;-1:-1:-1;;;;;11047:19:0;;11022:4;11047:19;;;:11;:19;;;;;;;;11046:20;:47;;;;-1:-1:-1;;;;;;;11071:22:0;;;;;:11;:22;;;;;;;;11070:23;;10941:160;-1:-1:-1;10941:160:0:o;11109:371::-;11195:7;11215:17;11235:62;11266:30;11278:6;11286:9;11266:11;:30::i;:::-;11246:14;;11235:26;;:6;;:10;:26::i;:::-;:30;;:62::i;:::-;11353:4;11335:24;;;;:9;:24;;;;;;11215:82;;-1:-1:-1;11335:39:0;;11215:82;11335:28;:39::i;:::-;11326:4;11308:24;;;;:9;:24;;;;;;;:66;;;;11390:42;;-1:-1:-1;;;;;11390:42:0;;;;;;;11422:9;1569:25:1;;1557:2;1542:18;;1423:177;11390:42:0;;;;;;;;11451:21;:6;11462:9;11451:10;:21::i;:::-;11444:28;11109:371;-1:-1:-1;;;;;11109:371:0:o;446:82::-;504:7;521:5;525:1;521;:5;:::i;11930:382::-;12071:15;;12147:13;;12137:4;12028;7492:18;;;:9;:18;;;;;;12179:8;;12028:4;;12061:25;;;;-1:-1:-1;12119:41:0;;12179:8;;12178:9;:24;;;;-1:-1:-1;12191:11:0;;;;12178:24;:36;;;;;12206:8;12178:36;:60;;;;-1:-1:-1;;;;;;12219:19:0;;;;;;:11;:19;;;;;;;;12218:20;12178:60;:81;;;;-1:-1:-1;12255:4:0;;-1:-1:-1;;;;;12242:17:0;;;12255:4;;12242:17;12178:81;:108;;;;;12284:1;12263:9;;:23;;12178:108;:126;;;;;12290:14;12178:126;12171:133;11930:382;-1:-1:-1;;;;;;11930:382:0:o;12516:905::-;6090:8;:15;;-1:-1:-1;;6090:15:0;6101:4;6090:15;;;12627:12:::1;::::0;12610::::1;::::0;6090:8;;12610:30:::1;::::0;:12;:16:::1;:30::i;:::-;12609:36;::::0;12644:1:::1;12609:36;:::i;:::-;12587:58;;12656:32;12691:41;12720:11;12691:24;12702:12;;12691:6;:10;;:24;;;;:::i;:::-;:28:::0;::::1;:41::i;:::-;12656:76:::0;-1:-1:-1;12743:14:0::1;12760:36;:6:::0;12656:76;12760:10:::1;:36::i;:::-;12743:53:::0;-1:-1:-1;12832:21:0::1;12864:24;12743:53:::0;12864:16:::1;:24::i;:::-;12899:20;12922:41;:21;12948:14:::0;12922:25:::1;:41::i;:::-;12899:64;;12974:19;12995:47;13012:29;13028:12;;13012:11;:15;;:29;;;;:::i;:::-;12995:12:::0;;:16:::1;:47::i;:::-;12974:68;;13053:29;13085;13101:12;;13085:11;:15;;:29;;;;:::i;:::-;13053:61:::0;-1:-1:-1;13128:34:0;;13125:117:::1;;13178:61;13191:24;13217:21;13178:12;:61::i;:::-;13279:21;13314:29:::0;;13311:103:::1;;13357:54;::::0;6356:42:::1;::::0;13357:54;::::1;;;::::0;13394:16;;13357:54:::1;::::0;;;13394:16;6356:42;13357:54;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13311:103;-1:-1:-1::0;;6110:8:0;:16;;-1:-1:-1;;6110:16:0;;;-1:-1:-1;;;;;;;12516:905:0:o;11488:219::-;11603:4;;11567:7;;-1:-1:-1;;;;;11603:4:0;;;11590:17;;;;11587:38;;-1:-1:-1;11616:7:0;;11609:14;;11587:38;11648:4;;-1:-1:-1;;;;;11648:4:0;;;11638:14;;;;11635:36;;-1:-1:-1;11661:8:0;;11654:15;;11635:36;-1:-1:-1;11688:11:0;;11488:219;;;;:::o;710:82::-;768:7;785:5;789:1;785;:5;:::i;622:82::-;680:7;697:5;701:1;697;:5;:::i;13780:434::-;13870:16;;;13884:1;13870:16;;;;;;;;13846:21;;13870:16;;;;;;;;;;-1:-1:-1;13870:16:0;13846:40;;13915:4;13897;13902:1;13897:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13897:23:0;;;:7;;;;;;;;;;:23;;;;13941:6;;:13;;;-1:-1:-1;;;13941:13:0;;;;:6;;;;;:11;;:13;;;;;13897:7;;13941:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13931:4;13936:1;13931:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13931:23:0;;;:7;;;;;;;;;:23;13997:6;;13965:53;;13982:4;;13997:6;14006:11;13965:8;:53::i;:::-;14029:6;;:177;;-1:-1:-1;;;14029:177:0;;-1:-1:-1;;;;;14029:6:0;;;;:57;;:177;;14101:11;;14029:6;;14143:4;;14170;;14190:15;;14029:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13835:379;13780:434;:::o;13429:343::-;13542:6;;13510:53;;13527:4;;-1:-1:-1;;;;;13542:6:0;13551:11;13510:8;:53::i;:::-;13574:6;;:190;;-1:-1:-1;;;13574:190:0;;13637:4;13574:190;;;9840:34:1;9890:18;;;9883:34;;;13574:6:0;9933:18:1;;;9926:34;;;9976:18;;;9969:34;6181:42:0;10019:19:1;;;10012:44;13748:15:0;10072:19:1;;;10065:35;-1:-1:-1;;;;;13574:6:0;;;;:22;;13604:9;;9774:19:1;;13574:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13429:343;;:::o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;830:70;775:131;:::o;911:315::-;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2066:247::-;2125:6;2178:2;2166:9;2157:7;2153:23;2149:32;2146:52;;;2194:1;2191;2184:12;2146:52;2233:9;2220:23;2252:31;2277:5;2252:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;4518:127::-;4579:10;4574:3;4570:20;4567:1;4560:31;4610:4;4607:1;4600:15;4634:4;4631:1;4624:15;4650:128;4717:9;;;4738:11;;;4735:37;;;4752:18;;:::i;7123:125::-;7188:9;;;7209:10;;;7206:36;;;7222:18;;:::i;7599:168::-;7672:9;;;7703;;7720:15;;;7714:22;;7700:37;7690:71;;7741:18;;:::i;7772:217::-;7812:1;7838;7828:132;;7882:10;7877:3;7873:20;7870:1;7863:31;7917:4;7914:1;7907:15;7945:4;7942:1;7935:15;7828:132;-1:-1:-1;7974:9:1;;7772:217::o;8126:127::-;8187:10;8182:3;8178:20;8175:1;8168:31;8218:4;8215:1;8208:15;8242:4;8239:1;8232:15;8258:251;8328:6;8381:2;8369:9;8360:7;8356:23;8352:32;8349:52;;;8397:1;8394;8387:12;8349:52;8429:9;8423:16;8448:31;8473:5;8448:31;:::i;8514:980::-;8776:4;8824:3;8813:9;8809:19;8855:6;8844:9;8837:25;8881:2;8919:6;8914:2;8903:9;8899:18;8892:34;8962:3;8957:2;8946:9;8942:18;8935:31;8986:6;9021;9015:13;9052:6;9044;9037:22;9090:3;9079:9;9075:19;9068:26;;9129:2;9121:6;9117:15;9103:29;;9150:1;9160:195;9174:6;9171:1;9168:13;9160:195;;;9239:13;;-1:-1:-1;;;;;9235:39:1;9223:52;;9330:15;;;;9295:12;;;;9271:1;9189:9;9160:195;;;-1:-1:-1;;;;;;;9411:32:1;;;;9406:2;9391:18;;9384:60;-1:-1:-1;;;9475:3:1;9460:19;9453:35;9372:3;8514:980;-1:-1:-1;;;8514:980:1:o;10111:306::-;10199:6;10207;10215;10268:2;10256:9;10247:7;10243:23;10239:32;10236:52;;;10284:1;10281;10274:12;10236:52;10313:9;10307:16;10297:26;;10363:2;10352:9;10348:18;10342:25;10332:35;;10407:2;10396:9;10392:18;10386:25;10376:35;;10111:306;;;;;:::o
Swarm Source
ipfs://0cb5c1e9019b6b2d21659558eb66a29a947a80c0623e0f847a6bf67f20c498ac
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.