Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
6,666,666,666,000,000,000,000,000,000 VSN
Holders
117
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Balance
29,247,984,094,848,906,942,627,516 VSNValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Vision
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-03-24 */ //SPDX-License-Identifier: UNLICENSED /* * -- Welcome to Vision -- * Website: https://vision-scanner.com/ * White paper: https://vision-scanner.com/docs/ * Twitter: https://twitter.com/Track_Vision_ * Telegram: https://t.me/VisionPublic => Join our TG to have access to the bot :) * Scam stat: https://vision-scanner.com/app/ * * VISION IS THE ULTIMATE SMART CONTRACT SCAM FILTER ! * * The only Telegram Bot that notifies you with safe & secure contracts on the ETH blockchain ! * More than 90% of scams are filtered out ! * Our team manually analyze new scams everyday and keep VISION up to date in order to protect your investements. * With unique features like our own backtesting algorithm, embrace security ! * Stop losing money to rugpull and scams, use VISION bot now ! */ pragma solidity ^0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); 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); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; 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); } contract Vision is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _initialBuyTax=10; uint256 private _initialSellTax=10; uint256 private _finalBuyTax=4; uint256 private _finalSellTax=4; uint256 private _reduceBuyTaxAt=20; uint256 private _reduceSellTaxAt=25; uint256 private _preventSwapBefore=25; uint256 private _buyCount=0; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 6666666666 * 10**_decimals; string private constant _name = unicode"Vision scanner"; string private constant _symbol = unicode"VSN"; uint256 public _maxTxAmount = 2 * (_tTotal/100); uint256 public _maxWalletSize = 2 * (_tTotal/100); uint256 public _taxSwapThreshold= 2 * (_tTotal/1000); uint256 public _maxTaxSwap= 5 * (_tTotal/1000); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } 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 pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].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 from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 50000000000000000) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"Trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function manualSend() external { uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526005805460ff19166001179055600a6006819055600781905560046008819055600955601481556019600b819055600c555f600d5560649061004890601290610378565b6100579064018d5d42aa61038d565b61006191906103a4565b61006c90600261038d565b600e55606461007d6012600a610378565b61008c9064018d5d42aa61038d565b61009691906103a4565b6100a190600261038d565b600f556103e86100b36012600a610378565b6100c29064018d5d42aa61038d565b6100cc91906103a4565b6100d790600261038d565b6010556103e86100e96012600a610378565b6100f89064018d5d42aa61038d565b61010291906103a4565b61010d90600561038d565b6011556013805461ffff60a81b19169055348015610129575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b031916610100330217905561018d6012600a610378565b61019c9064018d5d42aa61038d565b335f9081526001602081905260408220929092556003906101c45f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560055461010090049091168352912080549092161790556102263390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61025d6012600a610378565b61026c9064018d5d42aa61038d565b60405190815260200160405180910390a36103c3565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156102d057815f19048211156102b6576102b6610282565b808516156102c357918102915b93841c939080029061029b565b509250929050565b5f826102e657506001610372565b816102f257505f610372565b816001811461030857600281146103125761032e565b6001915050610372565b60ff84111561032357610323610282565b50506001821b610372565b5060208310610133831016604e8410600b8410161715610351575081810a610372565b61035b8383610296565b805f190482111561036e5761036e610282565b0290505b92915050565b5f61038660ff8416836102d8565b9392505050565b808202811582820484141761037257610372610282565b5f826103be57634e487b7160e01b5f52601260045260245ffd5b500490565b611820806103d05f395ff3fe60806040526004361061011e575f3560e01c80637d1db4a51161009d578063bf474bed11610062578063bf474bed1461031d578063c876d0b914610332578063c9567bf91461034b578063dd62ed3e1461035f578063f4293890146103a3575f80fd5b80637d1db4a5146102835780638da5cb5b146102985780638f9a55c0146102be57806395d89b41146102d3578063a9059cbb146102fe575f80fd5b8063313ce567116100e3578063313ce567146101f657806351bc3c851461021157806370a0823114610227578063715018a61461025b578063751039fc1461026f575f80fd5b806306fdde0314610129578063095ea7b3146101715780630faee56f146101a057806318160ddd146101c357806323b872dd146101d7575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600e81526d2b34b9b4b7b71039b1b0b73732b960911b60208201525b604051610168919061142a565b60405180910390f35b34801561017c575f80fd5b5061019061018b366004611473565b6103b7565b6040519015158152602001610168565b3480156101ab575f80fd5b506101b560115481565b604051908152602001610168565b3480156101ce575f80fd5b506101b56103cd565b3480156101e2575f80fd5b506101906101f136600461149d565b6103ee565b348015610201575f80fd5b5060405160128152602001610168565b34801561021c575f80fd5b50610225610455565b005b348015610232575f80fd5b506101b56102413660046114db565b6001600160a01b03165f9081526001602052604090205490565b348015610266575f80fd5b506102256104ab565b34801561027a575f80fd5b50610225610525565b34801561028e575f80fd5b506101b5600e5481565b3480156102a3575f80fd5b505f546040516001600160a01b039091168152602001610168565b3480156102c9575f80fd5b506101b5600f5481565b3480156102de575f80fd5b506040805180820190915260038152622b29a760e91b602082015261015b565b348015610309575f80fd5b50610190610318366004611473565b6105e3565b348015610328575f80fd5b506101b560105481565b34801561033d575f80fd5b506005546101909060ff1681565b348015610356575f80fd5b506102256105ef565b34801561036a575f80fd5b506101b56103793660046114f6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103ae575f80fd5b50610225610998565b5f6103c33384846109ab565b5060015b92915050565b5f6103da6012600a611621565b6103e99064018d5d42aa61162f565b905090565b5f6103fa848484610ace565b61044b8433610446856040518060600160405280602881526020016117c3602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110a2565b6109ab565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b031614610479575f80fd5b305f90815260016020526040902054801561049757610497816110da565b4780156104a7576104a78161124a565b5050565b5f546001600160a01b031633146104dd5760405162461bcd60e51b81526004016104d490611646565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461054e5760405162461bcd60e51b81526004016104d490611646565b61055a6012600a611621565b6105699064018d5d42aa61162f565b600e556105786012600a611621565b6105879064018d5d42aa61162f565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105c16012600a611621565b6105d09064018d5d42aa61162f565b60405190815260200160405180910390a1565b5f6103c3338484610ace565b5f546001600160a01b031633146106185760405162461bcd60e51b81526004016104d490611646565b601354600160a01b900460ff16156106725760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d4565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556106bb913091906106ac90600a611621565b6104469064018d5d42aa61162f565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072f919061167b565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b2919061167b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107fc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610820919061167b565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610867816001600160a01b03165f9081526001602052604090205490565b5f8061087a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108e0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109059190611696565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561095a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097e91906116c1565b506013805462ff00ff60a01b19166201000160a01b179055565b4780156109a8576109a88161124a565b50565b6001600160a01b038316610a0d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d4565b6001600160a01b038216610a6e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d4565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b325760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d4565b6001600160a01b038216610b945760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d4565b5f8111610bf55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d4565b5f80546001600160a01b03858116911614801590610c2057505f546001600160a01b03848116911614155b15610f6557610c516064610c4b600a54600d5411610c4057600654610c44565b6008545b8590611285565b9061130a565b60055490915060ff1615610d37576012546001600160a01b03848116911614801590610c8b57506013546001600160a01b03848116911614155b15610d3757325f908152600460205260409020544311610d255760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104d4565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610d6257506012546001600160a01b03848116911614155b8015610d8657506001600160a01b0383165f9081526003602052604090205460ff16155b15610e6c57600e54821115610ddd5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d4565b600f5482610dff856001600160a01b03165f9081526001602052604090205490565b610e0991906116e0565b1115610e575760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d4565b600d8054905f610e66836116f3565b91905055505b6013546001600160a01b038481169116148015610e9257506001600160a01b0384163014155b15610ebf57610ebc6064610c4b600b54600d5411610eb257600754610c44565b6009548590611285565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ef557506013546001600160a01b038581169116145b8015610f0a5750601354600160b01b900460ff165b8015610f17575060105481115b8015610f265750600c54600d54115b15610f6357610f48610f4384610f3e8460115461134b565b61134b565b6110da565b4766b1a2bc2ec50000811115610f6157610f614761124a565b505b505b8015610fdd57305f90815260016020526040902054610f84908261135f565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fd49085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fff90836113bd565b6001600160a01b0385165f9081526001602052604090205561104261102483836113bd565b6001600160a01b0385165f908152600160205260409020549061135f565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61108b85856113bd565b60405190815260200160405180910390a350505050565b5f81848411156110c55760405162461bcd60e51b81526004016104d4919061142a565b505f6110d1848661170b565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111205761112061171e565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611177573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119b919061167b565b816001815181106111ae576111ae61171e565b6001600160a01b0392831660209182029290920101526012546111d491309116846109ab565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120c9085905f90869030904290600401611732565b5f604051808303815f87803b158015611223575f80fd5b505af1158015611235573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156104a7573d5f803e3d5ffd5b5f825f0361129457505f6103c7565b5f61129f838561162f565b9050826112ac85836117a3565b146113035760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d4565b9392505050565b5f61130383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113fe565b5f8183116113595782611303565b50919050565b5f8061136b83856116e0565b9050838110156113035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d4565b5f61130383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110a2565b5f818361141e5760405162461bcd60e51b81526004016104d4919061142a565b505f6110d184866117a3565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146109a8575f80fd5b5f8060408385031215611484575f80fd5b823561148f8161145f565b946020939093013593505050565b5f805f606084860312156114af575f80fd5b83356114ba8161145f565b925060208401356114ca8161145f565b929592945050506040919091013590565b5f602082840312156114eb575f80fd5b81356113038161145f565b5f8060408385031215611507575f80fd5b82356115128161145f565b915060208301356115228161145f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561157b57815f19048211156115615761156161152d565b8085161561156e57918102915b93841c9390800290611546565b509250929050565b5f82611591575060016103c7565b8161159d57505f6103c7565b81600181146115b357600281146115bd576115d9565b60019150506103c7565b60ff8411156115ce576115ce61152d565b50506001821b6103c7565b5060208310610133831016604e8410600b84101617156115fc575081810a6103c7565b6116068383611541565b805f19048211156116195761161961152d565b029392505050565b5f61130360ff841683611583565b80820281158282048414176103c7576103c761152d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561168b575f80fd5b81516113038161145f565b5f805f606084860312156116a8575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116d1575f80fd5b81518015158114611303575f80fd5b808201808211156103c7576103c761152d565b5f600182016117045761170461152d565b5060010190565b818103818111156103c7576103c761152d565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117825784516001600160a01b03168352938301939183019160010161175d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826117bd57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203b261f56bcbff546462478be7d3a70b5403672d026a3f6ea64484773265f820764736f6c63430008190033
Deployed Bytecode
0x60806040526004361061011e575f3560e01c80637d1db4a51161009d578063bf474bed11610062578063bf474bed1461031d578063c876d0b914610332578063c9567bf91461034b578063dd62ed3e1461035f578063f4293890146103a3575f80fd5b80637d1db4a5146102835780638da5cb5b146102985780638f9a55c0146102be57806395d89b41146102d3578063a9059cbb146102fe575f80fd5b8063313ce567116100e3578063313ce567146101f657806351bc3c851461021157806370a0823114610227578063715018a61461025b578063751039fc1461026f575f80fd5b806306fdde0314610129578063095ea7b3146101715780630faee56f146101a057806318160ddd146101c357806323b872dd146101d7575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600e81526d2b34b9b4b7b71039b1b0b73732b960911b60208201525b604051610168919061142a565b60405180910390f35b34801561017c575f80fd5b5061019061018b366004611473565b6103b7565b6040519015158152602001610168565b3480156101ab575f80fd5b506101b560115481565b604051908152602001610168565b3480156101ce575f80fd5b506101b56103cd565b3480156101e2575f80fd5b506101906101f136600461149d565b6103ee565b348015610201575f80fd5b5060405160128152602001610168565b34801561021c575f80fd5b50610225610455565b005b348015610232575f80fd5b506101b56102413660046114db565b6001600160a01b03165f9081526001602052604090205490565b348015610266575f80fd5b506102256104ab565b34801561027a575f80fd5b50610225610525565b34801561028e575f80fd5b506101b5600e5481565b3480156102a3575f80fd5b505f546040516001600160a01b039091168152602001610168565b3480156102c9575f80fd5b506101b5600f5481565b3480156102de575f80fd5b506040805180820190915260038152622b29a760e91b602082015261015b565b348015610309575f80fd5b50610190610318366004611473565b6105e3565b348015610328575f80fd5b506101b560105481565b34801561033d575f80fd5b506005546101909060ff1681565b348015610356575f80fd5b506102256105ef565b34801561036a575f80fd5b506101b56103793660046114f6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103ae575f80fd5b50610225610998565b5f6103c33384846109ab565b5060015b92915050565b5f6103da6012600a611621565b6103e99064018d5d42aa61162f565b905090565b5f6103fa848484610ace565b61044b8433610446856040518060600160405280602881526020016117c3602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110a2565b6109ab565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b031614610479575f80fd5b305f90815260016020526040902054801561049757610497816110da565b4780156104a7576104a78161124a565b5050565b5f546001600160a01b031633146104dd5760405162461bcd60e51b81526004016104d490611646565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461054e5760405162461bcd60e51b81526004016104d490611646565b61055a6012600a611621565b6105699064018d5d42aa61162f565b600e556105786012600a611621565b6105879064018d5d42aa61162f565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105c16012600a611621565b6105d09064018d5d42aa61162f565b60405190815260200160405180910390a1565b5f6103c3338484610ace565b5f546001600160a01b031633146106185760405162461bcd60e51b81526004016104d490611646565b601354600160a01b900460ff16156106725760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d4565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556106bb913091906106ac90600a611621565b6104469064018d5d42aa61162f565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072f919061167b565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b2919061167b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107fc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610820919061167b565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610867816001600160a01b03165f9081526001602052604090205490565b5f8061087a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108e0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109059190611696565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561095a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097e91906116c1565b506013805462ff00ff60a01b19166201000160a01b179055565b4780156109a8576109a88161124a565b50565b6001600160a01b038316610a0d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d4565b6001600160a01b038216610a6e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d4565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b325760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d4565b6001600160a01b038216610b945760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d4565b5f8111610bf55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d4565b5f80546001600160a01b03858116911614801590610c2057505f546001600160a01b03848116911614155b15610f6557610c516064610c4b600a54600d5411610c4057600654610c44565b6008545b8590611285565b9061130a565b60055490915060ff1615610d37576012546001600160a01b03848116911614801590610c8b57506013546001600160a01b03848116911614155b15610d3757325f908152600460205260409020544311610d255760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104d4565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610d6257506012546001600160a01b03848116911614155b8015610d8657506001600160a01b0383165f9081526003602052604090205460ff16155b15610e6c57600e54821115610ddd5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d4565b600f5482610dff856001600160a01b03165f9081526001602052604090205490565b610e0991906116e0565b1115610e575760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d4565b600d8054905f610e66836116f3565b91905055505b6013546001600160a01b038481169116148015610e9257506001600160a01b0384163014155b15610ebf57610ebc6064610c4b600b54600d5411610eb257600754610c44565b6009548590611285565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ef557506013546001600160a01b038581169116145b8015610f0a5750601354600160b01b900460ff165b8015610f17575060105481115b8015610f265750600c54600d54115b15610f6357610f48610f4384610f3e8460115461134b565b61134b565b6110da565b4766b1a2bc2ec50000811115610f6157610f614761124a565b505b505b8015610fdd57305f90815260016020526040902054610f84908261135f565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fd49085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fff90836113bd565b6001600160a01b0385165f9081526001602052604090205561104261102483836113bd565b6001600160a01b0385165f908152600160205260409020549061135f565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61108b85856113bd565b60405190815260200160405180910390a350505050565b5f81848411156110c55760405162461bcd60e51b81526004016104d4919061142a565b505f6110d1848661170b565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111205761112061171e565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611177573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119b919061167b565b816001815181106111ae576111ae61171e565b6001600160a01b0392831660209182029290920101526012546111d491309116846109ab565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120c9085905f90869030904290600401611732565b5f604051808303815f87803b158015611223575f80fd5b505af1158015611235573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156104a7573d5f803e3d5ffd5b5f825f0361129457505f6103c7565b5f61129f838561162f565b9050826112ac85836117a3565b146113035760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d4565b9392505050565b5f61130383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113fe565b5f8183116113595782611303565b50919050565b5f8061136b83856116e0565b9050838110156113035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d4565b5f61130383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110a2565b5f818361141e5760405162461bcd60e51b81526004016104d4919061142a565b505f6110d184866117a3565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146109a8575f80fd5b5f8060408385031215611484575f80fd5b823561148f8161145f565b946020939093013593505050565b5f805f606084860312156114af575f80fd5b83356114ba8161145f565b925060208401356114ca8161145f565b929592945050506040919091013590565b5f602082840312156114eb575f80fd5b81356113038161145f565b5f8060408385031215611507575f80fd5b82356115128161145f565b915060208301356115228161145f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561157b57815f19048211156115615761156161152d565b8085161561156e57918102915b93841c9390800290611546565b509250929050565b5f82611591575060016103c7565b8161159d57505f6103c7565b81600181146115b357600281146115bd576115d9565b60019150506103c7565b60ff8411156115ce576115ce61152d565b50506001821b6103c7565b5060208310610133831016604e8410600b84101617156115fc575081810a6103c7565b6116068383611541565b805f19048211156116195761161961152d565b029392505050565b5f61130360ff841683611583565b80820281158282048414176103c7576103c761152d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561168b575f80fd5b81516113038161145f565b5f805f606084860312156116a8575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116d1575f80fd5b81518015158114611303575f80fd5b808201808211156103c7576103c761152d565b5f600182016117045761170461152d565b5060010190565b818103818111156103c7576103c761152d565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117825784516001600160a01b03168352938301939183019160010161175d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826117bd57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203b261f56bcbff546462478be7d3a70b5403672d026a3f6ea64484773265f820764736f6c63430008190033
Deployed Bytecode Sourcemap
4259:8070:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6127:83;;;;;;;;;;-1:-1:-1;6197:5:0;;;;;;;;;;;;-1:-1:-1;;;6197:5:0;;;;6127:83;;;;;;;:::i;:::-;;;;;;;;6960:161;;;;;;;;;;-1:-1:-1;6960:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6960:161:0;893:187:1;5407:46:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;5407:46:0;1085:177:1;6404:95:0;;;;;;;;;;;;;:::i;7129:313::-;;;;;;;;;;-1:-1:-1;7129:313:0;;;;;:::i;:::-;;:::i;6313:83::-;;;;;;;;;;-1:-1:-1;6313:83:0;;5046:2;1870:36:1;;1858:2;1843:18;6313:83:0;1728:184:1;11830:348:0;;;;;;;;;;;;;:::i;:::-;;6507:119;;;;;;;;;;-1:-1:-1;6507:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6600:18:0;6573:7;6600:18;;;:9;:18;;;;;;;6507:119;3340:148;;;;;;;;;;;;;:::i;10810:196::-;;;;;;;;;;;;;:::i;5238:47::-;;;;;;;;;;;;;;;;3126:79;;;;;;;;;;-1:-1:-1;3164:7:0;3191:6;3126:79;;-1:-1:-1;;;;;3191:6:0;;;2315:51:1;;2303:2;2288:18;3126:79:0;2169:203:1;5292:49:0;;;;;;;;;;;;;;;;6218:87;;;;;;;;;;-1:-1:-1;6290:7:0;;;;;;;;;;;;-1:-1:-1;;;6290:7:0;;;;6218:87;;6634:167;;;;;;;;;;-1:-1:-1;6634:167:0;;;;;:::i;:::-;;:::i;5348:52::-;;;;;;;;;;;;;;;;4602:39;;;;;;;;;;-1:-1:-1;4602:39:0;;;;;;;;11114:671;;;;;;;;;;;;;:::i;6809:143::-;;;;;;;;;;-1:-1:-1;6809:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6917:18:0;;;6890:7;6917:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6809:143;12184:142;;;;;;;;;;;;;:::i;6960:161::-;7035:4;7052:39;961:10;7075:7;7084:6;7052:8;:39::i;:::-;-1:-1:-1;7109:4:0;6960:161;;;;;:::o;6404:95::-;6457:7;5103:13;5046:2;5103;:13;:::i;:::-;5090:26;;:10;:26;:::i;:::-;6477:14;;6404:95;:::o;7129:313::-;7227:4;7244:36;7254:6;7262:9;7273:6;7244:9;:36::i;:::-;7291:121;7300:6;961:10;7322:89;7360:6;7322:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7322:19:0;;;;;;:11;:19;;;;;;;;961:10;7322:33;;;;;;;;;;:37;:89::i;:::-;7291:8;:121::i;:::-;-1:-1:-1;7430:4:0;7129:313;;;;;:::o;11830:348::-;11894:10;;;;;-1:-1:-1;;;;;11894:10:0;961;-1:-1:-1;;;;;11880:24:0;;11872:33;;;;;;11955:4;11916:20;6600:18;;;:9;:18;;;;;;11975:14;;11972:73;;12003:30;12020:12;12003:16;:30::i;:::-;12074:21;12109:12;;12106:65;;12135:24;12148:10;12135:12;:24::i;:::-;11861:317;;11830:348::o;3340:148::-;3253:6;;-1:-1:-1;;;;;3253:6:0;961:10;3253:22;3245:67;;;;-1:-1:-1;;;3245:67:0;;;;;;;:::i;:::-;;;;;;;;;3447:1:::1;3431:6:::0;;3410:40:::1;::::0;-1:-1:-1;;;;;3431:6:0;;::::1;::::0;3410:40:::1;::::0;3447:1;;3410:40:::1;3478:1;3461:19:::0;;-1:-1:-1;;;;;;3461:19:0::1;::::0;;3340:148::o;10810:196::-;3253:6;;-1:-1:-1;;;;;3253:6:0;961:10;3253:22;3245:67;;;;-1:-1:-1;;;3245:67:0;;;;;;;:::i;:::-;5103:13:::1;5046:2;5103;:13;:::i;:::-;5090:26;::::0;:10:::1;:26;:::i;:::-;10863:12;:22:::0;5103:13:::1;5046:2;5103;:13;:::i;:::-;5090:26;::::0;:10:::1;:26;:::i;:::-;10896:14;:22:::0;10929:20:::1;:26:::0;;-1:-1:-1;;10929:26:0::1;::::0;;10971:27:::1;5103:13;5046:2;-1:-1:-1::0;5103:13:0::1;:::i;:::-;5090:26;::::0;:10:::1;:26;:::i;:::-;10971:27;::::0;1231:25:1;;;1219:2;1204:18;10971:27:0::1;;;;;;;10810:196::o:0;6634:167::-;6712:4;6729:42;961:10;6753:9;6764:6;6729:9;:42::i;11114:671::-;3253:6;;-1:-1:-1;;;;;3253:6:0;961:10;3253:22;3245:67;;;;-1:-1:-1;;;3245:67:0;;;;;;;:::i;:::-;11178:11:::1;::::0;-1:-1:-1;;;11178:11:0;::::1;;;11177:12;11169:47;;;::::0;-1:-1:-1;;;11169:47:0;;5015:2:1;11169:47:0::1;::::0;::::1;4997:21:1::0;5054:2;5034:18;;;5027:30;5093:25;5073:18;;;5066:53;5136:18;;11169:47:0::1;4813:347:1::0;11169:47:0::1;11227:15;:80:::0;;-1:-1:-1;;;;;;11227:80:0::1;11264:42;11227:80:::0;;::::1;::::0;;11318:58:::1;::::0;11335:4:::1;::::0;11264:42;5103:13:::1;::::0;:2:::1;:13;:::i;:::-;5090:26;::::0;:10:::1;:26;:::i;11318:58::-;11421:15;;;;;;;;;-1:-1:-1::0;;;;;11421:15:0::1;-1:-1:-1::0;;;;;11421:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11403:55:0::1;;11467:4;11474:15;;;;;;;;;-1:-1:-1::0;;;;;11474:15:0::1;-1:-1:-1::0;;;;;11474:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11403:94;::::0;-1:-1:-1;;;;;;11403:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5651:15:1;;;11403:94:0::1;::::0;::::1;5633:34:1::0;5703:15;;5683:18;;;5676:43;5568:18;;11403:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11387:13;:110:::0;;-1:-1:-1;;;;;11387:110:0;;::::1;-1:-1:-1::0;;;;;;11387:110:0;;::::1;;::::0;;11508:15:::1;::::0;::::1;:31;11547:21;11578:4;11584:24;11578:4:::0;-1:-1:-1;;;;;6600:18:0;6573:7;6600:18;;;:9;:18;;;;;;;6507:119;11584:24:::1;11609:1;11611::::0;11613:7:::1;3164::::0;3191:6;-1:-1:-1;;;;;3191:6:0;;3126:79;11613:7:::1;11508:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11508:129:0;;;-1:-1:-1;;;;;6089:15:1;;;11508:129:0::1;::::0;::::1;6071:34:1::0;6121:18;;;6114:34;;;;6164:18;;;6157:34;;;;6207:18;;;6200:34;6271:15;;;6250:19;;;6243:44;11621:15:0::1;6303:19:1::0;;;6296:35;6005:19;;11508:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11655:13:0::1;::::0;11686:15:::1;::::0;11648:71:::1;::::0;-1:-1:-1;;;11648:71:0;;-1:-1:-1;;;;;11686:15:0;;::::1;11648:71;::::0;::::1;6827:51:1::0;-1:-1:-1;;6894:18:1;;;6887:34;11655:13:0;::::1;::::0;-1:-1:-1;11648:29:0::1;::::0;6800:18:1;;11648:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11730:11:0::1;:18:::0;;-1:-1:-1;;;;11759:18:0;-1:-1:-1;;;11759:18:0;;;11114:671::o;12184:142::-;12240:21;12270:12;;12267:55;;12289:24;12302:10;12289:12;:24::i;:::-;12215:111;12184:142::o;7450:335::-;-1:-1:-1;;;;;7543:19:0;;7535:68;;;;-1:-1:-1;;;7535:68:0;;7416:2:1;7535:68:0;;;7398:21:1;7455:2;7435:18;;;7428:30;7494:34;7474:18;;;7467:62;-1:-1:-1;;;7545:18:1;;;7538:34;7589:19;;7535:68:0;7214:400:1;7535:68:0;-1:-1:-1;;;;;7622:21:0;;7614:68;;;;-1:-1:-1;;;7614:68:0;;7821:2:1;7614:68:0;;;7803:21:1;7860:2;7840:18;;;7833:30;7899:34;7879:18;;;7872:62;-1:-1:-1;;;7950:18:1;;;7943:32;7992:19;;7614:68:0;7619:398:1;7614:68:0;-1:-1:-1;;;;;7693:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7745:32;;1231:25:1;;;7745:32:0;;1204:18:1;7745:32:0;;;;;;;7450:335;;;:::o;7793:2412::-;-1:-1:-1;;;;;7881:18:0;;7873:68;;;;-1:-1:-1;;;7873:68:0;;8224:2:1;7873:68:0;;;8206:21:1;8263:2;8243:18;;;8236:30;8302:34;8282:18;;;8275:62;-1:-1:-1;;;8353:18:1;;;8346:35;8398:19;;7873:68:0;8022:401:1;7873:68:0;-1:-1:-1;;;;;7960:16:0;;7952:64;;;;-1:-1:-1;;;7952:64:0;;8630:2:1;7952:64:0;;;8612:21:1;8669:2;8649:18;;;8642:30;8708:34;8688:18;;;8681:62;-1:-1:-1;;;8759:18:1;;;8752:33;8802:19;;7952:64:0;8428:399:1;7952:64:0;8044:1;8035:6;:10;8027:64;;;;-1:-1:-1;;;8027:64:0;;9034:2:1;8027:64:0;;;9016:21:1;9073:2;9053:18;;;9046:30;9112:34;9092:18;;;9085:62;-1:-1:-1;;;9163:18:1;;;9156:39;9212:19;;8027:64:0;8832:405:1;8027:64:0;8102:17;3191:6;;-1:-1:-1;;;;;8136:15:0;;;3191:6;;8136:15;;;;:32;;-1:-1:-1;3164:7:0;3191:6;-1:-1:-1;;;;;8155:13:0;;;3191:6;;8155:13;;8136:32;8132:1717;;;8197:76;8269:3;8197:67;8219:15;;8209:9;;:25;8208:55;;8249:14;;8208:55;;;8236:12;;8208:55;8197:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8294:20;;8185:88;;-1:-1:-1;8294:20:0;;8290:508;;;8355:15;;-1:-1:-1;;;;;8341:30:0;;;8355:15;;8341:30;;;;:62;;-1:-1:-1;8389:13:0;;-1:-1:-1;;;;;8375:28:0;;;8389:13;;8375:28;;8341:62;8337:444;;;8495:9;8466:39;;;;:28;:39;;;;;;8539:12;-1:-1:-1;8430:250:0;;;;-1:-1:-1;;;8430:250:0;;9444:2:1;8430:250:0;;;9426:21:1;9483:2;9463:18;;;9456:30;9522:34;9502:18;;;9495:62;9593:34;9573:18;;;9566:62;-1:-1:-1;;;9644:19:1;;;9637:40;9694:19;;8430:250:0;9242:477:1;8430:250:0;8734:9;8705:39;;;;:28;:39;;;;;8747:12;8705:54;;8337:444;8826:13;;-1:-1:-1;;;;;8818:21:0;;;8826:13;;8818:21;:55;;;;-1:-1:-1;8857:15:0;;-1:-1:-1;;;;;8843:30:0;;;8857:15;;8843:30;;8818:55;:83;;;;-1:-1:-1;;;;;;8879:22:0;;;;;;:18;:22;;;;;;;;8877:24;8818:83;8814:313;;;8941:12;;8931:6;:22;;8923:60;;;;-1:-1:-1;;;8923:60:0;;9926:2:1;8923:60:0;;;9908:21:1;9965:2;9945:18;;;9938:30;10004:27;9984:18;;;9977:55;10049:18;;8923:60:0;9724:349:1;8923:60:0;9036:14;;9026:6;9010:13;9020:2;-1:-1:-1;;;;;6600:18:0;6573:7;6600:18;;;:9;:18;;;;;;;6507:119;9010:13;:22;;;;:::i;:::-;:40;;9002:79;;;;-1:-1:-1;;;9002:79:0;;10410:2:1;9002:79:0;;;10392:21:1;10449:2;10429:18;;;10422:30;10488:28;10468:18;;;10461:56;10534:18;;9002:79:0;10208:350:1;9002:79:0;9100:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8814:313;9152:13;;-1:-1:-1;;;;;9146:19:0;;;9152:13;;9146:19;:43;;;;-1:-1:-1;;;;;;9169:20:0;;9184:4;9169:20;;9146:43;9143:174;;;9222:79;9297:3;9222:70;9244:16;;9234:9;;:26;9233:58;;9276:15;;9233:58;;;9262:13;;9222:6;;:10;:70::i;:79::-;9210:91;;9143:174;9382:4;9333:28;6600:18;;;:9;:18;;;;;;9408:6;;-1:-1:-1;;;9408:6:0;;;;9407:7;:30;;;;-1:-1:-1;9424:13:0;;-1:-1:-1;;;;;9418:19:0;;;9424:13;;9418:19;9407:30;:45;;;;-1:-1:-1;9441:11:0;;-1:-1:-1;;;9441:11:0;;;;9407:45;:87;;;;;9477:17;;9456:20;:38;9407:87;:119;;;;;9508:18;;9498:9;;:28;9407:119;9403:435;;;9547:67;9564:49;9568:6;9575:37;9579:20;9600:11;;9575:3;:37::i;:::-;9564:3;:49::i;:::-;9547:16;:67::i;:::-;9662:21;9726:17;9705:38;;9702:121;;;9768:35;9781:21;9768:12;:35::i;:::-;9528:310;9403:435;8170:1679;8132:1717;9864:11;;9861:161;;9932:4;9914:24;;;;:9;:24;;;;;;:39;;9943:9;9914:28;:39::i;:::-;9907:4;9889:24;;;;:9;:24;;;;;;;:64;;;;9971:39;;-1:-1:-1;;;;;9971:39:0;;;;;;;10000:9;1231:25:1;;1219:2;1204:18;;1085:177;9971:39:0;;;;;;;;9861:161;-1:-1:-1;;;;;10048:15:0;;;;;;:9;:15;;;;;;:27;;10068:6;10048:19;:27::i;:::-;-1:-1:-1;;;;;10032:15:0;;;;;;:9;:15;;;;;:43;10100:40;10118:21;:6;10129:9;10118:10;:21::i;:::-;-1:-1:-1;;;;;10100:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10086:13:0;;;;;;;:9;:13;;;;;:54;;;;10156:41;;;10175:21;:6;10186:9;10175:10;:21::i;:::-;10156:41;;1231:25:1;;;1219:2;1204:18;10156:41:0;;;;;;;7862:2343;7793:2412;;;:::o;2018:190::-;2104:7;2140:12;2132:6;;;;2124:29;;;;-1:-1:-1;;;2124:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2164:9:0;2176:5;2180:1;2176;:5;:::i;:::-;2164:17;2018:190;-1:-1:-1;;;;;2018:190:0:o;10319:483::-;5736:6;:13;;-1:-1:-1;;;;5736:13:0;-1:-1:-1;;;5736:13:0;;;10421:16:::1;::::0;;10435:1:::1;10421:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10421:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10421:16:0::1;10397:40;;10466:4;10448;10453:1;10448:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10448:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10492:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10492:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10448:7;;10492:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10482:4;10487:1;10482:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10482:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10557:15:::1;::::0;10525:62:::1;::::0;10542:4:::1;::::0;10557:15:::1;10575:11:::0;10525:8:::1;:62::i;:::-;10598:15;::::0;:196:::1;::::0;-1:-1:-1;;;10598:196:0;;-1:-1:-1;;;;;10598:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10679:11;;10598:15:::1;::::0;10721:4;;10748::::1;::::0;10768:15:::1;::::0;10598:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5772:6:0;:14;;-1:-1:-1;;;;5772:14:0;;;-1:-1:-1;;;;10319:483:0:o;11014:92::-;11071:10;;:27;;:10;;;;-1:-1:-1;;;;;11071:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;2216:246;2274:7;2298:1;2303;2298:6;2294:47;;-1:-1:-1;2328:1:0;2321:8;;2294:47;2351:9;2363:5;2367:1;2363;:5;:::i;:::-;2351:17;-1:-1:-1;2396:1:0;2387:5;2391:1;2351:17;2387:5;:::i;:::-;:10;2379:56;;;;-1:-1:-1;;;2379:56:0;;12509:2:1;2379:56:0;;;12491:21:1;12548:2;12528:18;;;12521:30;12587:34;12567:18;;;12560:62;-1:-1:-1;;;12638:18:1;;;12631:31;12679:19;;2379:56:0;12307:397:1;2379:56:0;2453:1;2216:246;-1:-1:-1;;;2216:246:0:o;2470:132::-;2528:7;2555:39;2559:1;2562;2555:39;;;;;;;;;;;;;;;;;:3;:39::i;10213:98::-;10270:7;10297:1;10295;:3;10294:9;;10302:1;10294:9;;;-1:-1:-1;10300:1:0;10213:98;-1:-1:-1;10213:98:0:o;1687:179::-;1745:7;;1777:5;1781:1;1777;:5;:::i;:::-;1765:17;;1806:1;1801;:6;;1793:46;;;;-1:-1:-1;;;1793:46:0;;12911:2:1;1793:46:0;;;12893:21:1;12950:2;12930:18;;;12923:30;12989:29;12969:18;;;12962:57;13036:18;;1793:46:0;12709:351:1;1874:136:0;1932:7;1959:43;1963:1;1966;1959:43;;;;;;;;;;;;;;;;;:3;:43::i;2610:189::-;2696:7;2731:12;2724:5;2716:28;;;;-1:-1:-1;;;2716:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2755:9:0;2767:5;2771:1;2767;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:315;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:127::-;2831:10;2826:3;2822:20;2819:1;2812:31;2862:4;2859:1;2852:15;2886:4;2883:1;2876:15;2902:416;2991:1;3028:5;2991:1;3042:270;3063:7;3053:8;3050:21;3042:270;;;3122:4;3118:1;3114:6;3110:17;3104:4;3101:27;3098:53;;;3131:18;;:::i;:::-;3181:7;3171:8;3167:22;3164:55;;;3201:16;;;;3164:55;3280:22;;;;3240:15;;;;3042:270;;;3046:3;2902:416;;;;;:::o;3323:806::-;3372:5;3402:8;3392:80;;-1:-1:-1;3443:1:1;3457:5;;3392:80;3491:4;3481:76;;-1:-1:-1;3528:1:1;3542:5;;3481:76;3573:4;3591:1;3586:59;;;;3659:1;3654:130;;;;3566:218;;3586:59;3616:1;3607:10;;3630:5;;;3654:130;3691:3;3681:8;3678:17;3675:43;;;3698:18;;:::i;:::-;-1:-1:-1;;3754:1:1;3740:16;;3769:5;;3566:218;;3868:2;3858:8;3855:16;3849:3;3843:4;3840:13;3836:36;3830:2;3820:8;3817:16;3812:2;3806:4;3803:12;3799:35;3796:77;3793:159;;;-1:-1:-1;3905:19:1;;;3937:5;;3793:159;3984:34;4009:8;4003:4;3984:34;:::i;:::-;4054:6;4050:1;4046:6;4042:19;4033:7;4030:32;4027:58;;;4065:18;;:::i;:::-;4103:20;;3323:806;-1:-1:-1;;;3323:806:1:o;4134:140::-;4192:5;4221:47;4262:4;4252:8;4248:19;4242:4;4221:47;:::i;4279:168::-;4352:9;;;4383;;4400:15;;;4394:22;;4380:37;4370:71;;4421:18;;:::i;4452:356::-;4654:2;4636:21;;;4673:18;;;4666:30;4732:34;4727:2;4712:18;;4705:62;4799:2;4784:18;;4452:356::o;5165:251::-;5235:6;5288:2;5276:9;5267:7;5263:23;5259:32;5256:52;;;5304:1;5301;5294:12;5256:52;5336:9;5330:16;5355:31;5380:5;5355:31;:::i;6342:306::-;6430:6;6438;6446;6499:2;6487:9;6478:7;6474:23;6470:32;6467:52;;;6515:1;6512;6505:12;6467:52;6544:9;6538:16;6528:26;;6594:2;6583:9;6579:18;6573:25;6563:35;;6638:2;6627:9;6623:18;6617:25;6607:35;;6342:306;;;;;:::o;6932:277::-;6999:6;7052:2;7040:9;7031:7;7027:23;7023:32;7020:52;;;7068:1;7065;7058:12;7020:52;7100:9;7094:16;7153:5;7146:13;7139:21;7132:5;7129:32;7119:60;;7175:1;7172;7165:12;10078:125;10143:9;;;10164:10;;;10161:36;;;10177:18;;:::i;10563:135::-;10602:3;10623:17;;;10620:43;;10643:18;;:::i;:::-;-1:-1:-1;10690:1:1;10679:13;;10563:135::o;10703:128::-;10770:9;;;10791:11;;;10788:37;;;10805:18;;:::i;10968:127::-;11029:10;11024:3;11020:20;11017:1;11010:31;11060:4;11057:1;11050:15;11084:4;11081:1;11074:15;11100:980;11362:4;11410:3;11399:9;11395:19;11441:6;11430:9;11423:25;11467:2;11505:6;11500:2;11489:9;11485:18;11478:34;11548:3;11543:2;11532:9;11528:18;11521:31;11572:6;11607;11601:13;11638:6;11630;11623:22;11676:3;11665:9;11661:19;11654:26;;11715:2;11707:6;11703:15;11689:29;;11736:1;11746:195;11760:6;11757:1;11754:13;11746:195;;;11825:13;;-1:-1:-1;;;;;11821:39:1;11809:52;;11916:15;;;;11881:12;;;;11857:1;11775:9;11746:195;;;-1:-1:-1;;;;;;;11997:32:1;;;;11992:2;11977:18;;11970:60;-1:-1:-1;;;12061:3:1;12046:19;12039:35;11958:3;11100:980;-1:-1:-1;;;11100:980:1:o;12085:217::-;12125:1;12151;12141:132;;12195:10;12190:3;12186:20;12183:1;12176:31;12230:4;12227:1;12220:15;12258:4;12255:1;12248:15;12141:132;-1:-1:-1;12287:9:1;;12085:217::o
Swarm Source
ipfs://3b261f56bcbff546462478be7d3a70b5403672d026a3f6ea64484773265f8207
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.