ETH Price: $2,431.96 (-0.39%)

Token

Andiu Tzate (CHITOP)
 

Overview

Max Total Supply

1,000,000,000 CHITOP

Holders

35

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,200,000 CHITOP

Value
$0.00
0xaa67ee4a64ca4ffca3b1d873f784fb29c88dd50a
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:
CHITOP

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
https://www.chitop.xyz/

https://x.com/chitopcoin

https://t.me/Chitop
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
pragma experimental ABIEncoderV2;

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

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

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);
    }
}

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);
}


contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _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), "ERC20: 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 _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 {}
}

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    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);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    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;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);

    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    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 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;
}

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 per(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= 100, "Percentage must be between 0 and 100");
        return a * b / 100;
    }

    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;
        }
    }
}

contract CHITOP is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public immutable _uniswapV2Router;
    address public uniswapV2Pair;
    address private _devWallet;
    address private constant deadAddress = address(0xdead);

    uint8 private constant _decimals = 9;
    uint256 public initialTotalSupply = 1000000000 * 10**_decimals;

    // 1.2% max wallet
    uint256 public maxWallet = (initialTotalSupply * 12)/1000;
    uint256 public maxTransactionAmount = maxWallet;

    bool private swapping;
    
    uint256 public swapTokensAtAmount = (initialTotalSupply * 4)/1000;

    uint256 public buyFee = 15;
    uint256 public sellFee = 30;

    bool public tradingOpen = false;
    bool public swapEnabled = false;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private automatedMarketMakerPairs;

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    constructor() ERC20("Andiu Tzate", "CHITOP"){
        _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _devWallet = payable(_msgSender());

        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);
        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(0xdead), true);
        excludeFromMaxTransaction(address(_msgSender()), true);
        excludeFromMaxTransaction(_devWallet, true);
        excludeFromFees(address(_msgSender()), true);
        excludeFromFees(_devWallet, true);
        // mint
        _mint(_devWallet, initialTotalSupply);
    }

    receive() external payable {}

    function addLiquidityUniswap() external onlyOwner() {
        require(!tradingOpen,"Trading is already open");
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        _approve(address(this), address(_uniswapV2Router), initialTotalSupply);
        _uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            0x9E3BF8E3C85cC9fCE405DaBe8594F20325eD1D50,
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(_uniswapV2Router), type(uint).max);
    }

    function openTrading() external onlyOwner() {
        swapEnabled = true;
        tradingOpen = true;
    }
    function burn(uint256 amount) external {
        _burn(_msgSender(), amount);
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }


    function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

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

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

    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[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;
        }

        if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {
            if (!tradingOpen) {
                require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active.");
            }

            if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                require(amount + balanceOf(to) <= maxWallet, "Max wallet!");
                require(amount <= maxTransactionAmount, "Buy max transfer!");
            }
            else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                require(amount <= maxTransactionAmount, "Sell max transfer!");
            }
            else if (!_isExcludedMaxTransactionAmount[to]) {
                require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance > swapTokensAtAmount;
        if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            swapping = true;
            swapBack();
            swapping = false;
        }

        bool takeFee = !swapping && !_isExcludedFromFees[from] && !_isExcludedFromFees[to];

        uint256 fees = 0;
        if (takeFee) {
            if (automatedMarketMakerPairs[to]) {
                fees = amount.mul(sellFee).div(100);
            }
            else if(automatedMarketMakerPairs[from]) {
                fees = amount.mul(buyFee).div(100);
            }
            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }
            amount -= fees;
        }
        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        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,
            _devWallet,
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner {
        maxTransactionAmount = initialTotalSupply;
        maxWallet = initialTotalSupply;
    }

    function setBuySellFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        buyFee = _buyFee;
        sellFee = _sellFee;
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) {
            return;
        }
        uint256 tokensToSwap = contractBalance;

        if (tokensToSwap > swapTokensAtAmount) {
            tokensToSwap = swapTokensAtAmount;
        }
        swapTokensForEth(tokensToSwap);
    }

    function doManualSwap(uint256 percent) external {
        // check if tx.sender is dev wallet
        require(_msgSender() == _devWallet);
        uint256 contractBalance = balanceOf(address(this));
        uint256 swapAmount = contractBalance * percent / 100;
        swapTokensForEth(swapAmount);
    }

    function removeStuckEth() external {
        // check if tx.sender is dev wallet
        require(address(this).balance > 0, "Token: no ETH in the contract");
        require(_msgSender() == _devWallet);
        payable(msg.sender).transfer(address(this).balance);
    }
}

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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidityUniswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"doManualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"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":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":"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":"removeStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setBuySellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052620000126009600a6200051a565b6200002290633b9aca0062000531565b6008556103e8600854600c62000039919062000531565b6200004591906200054b565b600955600954600a556103e8600854600462000062919062000531565b6200006e91906200054b565b600c55600f600d819055601e600e55805461ffff1916905534801562000092575f80fd5b506040518060400160405280600b81526020016a416e64697520547a61746560a81b815250604051806040016040528060068152602001650434849544f560d41b8152508160039081620000e791906200060a565b506004620000f682826200060a565b505050620001136200010d620001f260201b60201c565b620001f6565b737a250d5630b4cf539739df2c5dacb4c659f2488d608052600780546001600160a01b031916331790556200014a30600162000247565b6200015961dead600162000247565b60805162000169906001620002af565b62000176306001620002af565b6200018561dead6001620002af565b62000192336001620002af565b600754620001ab906001600160a01b03166001620002af565b620001b833600162000247565b600754620001d1906001600160a01b0316600162000247565b600754600854620001ec916001600160a01b031690620002e3565b620006e8565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b62000251620003a8565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b620002b9620003a8565b6001600160a01b03919091165f908152601160205260409020805460ff1916911515919091179055565b6001600160a01b0382166200033f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b8060025f828254620003529190620006d2565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6005546001600160a01b03163314620004045760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000336565b565b505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200045f57815f19048211156200044357620004436200040b565b808516156200045157918102915b93841c939080029062000424565b509250929050565b5f82620004775750600162000514565b816200048557505f62000514565b81600181146200049e5760028114620004a957620004c9565b600191505062000514565b60ff841115620004bd57620004bd6200040b565b50506001821b62000514565b5060208310610133831016604e8410600b8410161715620004ee575081810a62000514565b620004fa83836200041f565b805f19048211156200051057620005106200040b565b0290505b92915050565b5f6200052a60ff84168362000467565b9392505050565b80820281158282048414176200051457620005146200040b565b5f826200056657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200059457607f821691505b602082108103620005b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000406575f81815260208120601f850160051c81016020861015620005e15750805b601f850160051c820191505b818110156200060257828155600101620005ed565b505050505050565b81516001600160401b038111156200062657620006266200056b565b6200063e816200063784546200057f565b84620005b9565b602080601f83116001811462000674575f84156200065c5750858301515b5f19600386901b1c1916600185901b17855562000602565b5f85815260208120601f198616915b82811015620006a45788860151825594840194600190910190840162000683565b5085821015620006c257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200051457620005146200040b565b608051611e69620007395f395f81816103d801528181610b3701528181610bc601528181610cf901528181610d2201528181610e10015281816117b90152818161187001526118af0152611e695ff3fe6080604052600436106101ff575f3560e01c8063751039fc11610113578063c9567bf91161009d578063e2f456051161006d578063e2f45605146105a6578063f2fde38b146105bb578063f8b45b05146105da578063fc849aaa146105ef578063ffb54a9914610603575f80fd5b8063c9567bf914610540578063dd62ed3e14610554578063dd96eca214610573578063de749dff14610592575f80fd5b80639a7a23d6116100e35780639a7a23d6146104af578063a457c2d7146104ce578063a9059cbb146104ed578063c02466681461050c578063c8c8ebe41461052b575f80fd5b8063751039fc1461044b5780637571336a1461045f5780638da5cb5b1461047e57806395d89b411461049b575f80fd5b806339509351116101945780634fbee193116101645780634fbee19314610390578063583e0568146103c75780636ddd1713146103fa57806370a0823114610418578063715018a614610437575f80fd5b8063395093511461030657806342966c6814610325578063470624021461034457806349bd5a5e14610359575f80fd5b806323b872dd116101cf57806323b872dd146102a25780632b14ca56146102c1578063311028af146102d6578063313ce567146102eb575f80fd5b806306fdde031461020a578063095ea7b3146102345780631710f2ca1461026357806318160ddd14610284575f80fd5b3661020657005b5f80fd5b348015610215575f80fd5b5061021e61061c565b60405161022b9190611a96565b60405180910390f35b34801561023f575f80fd5b5061025361024e366004611af5565b6106ac565b604051901515815260200161022b565b34801561026e575f80fd5b5061028261027d366004611b1f565b6106c5565b005b34801561028f575f80fd5b506002545b60405190815260200161022b565b3480156102ad575f80fd5b506102536102bc366004611b3f565b6106d8565b3480156102cc575f80fd5b50610294600e5481565b3480156102e1575f80fd5b5061029460085481565b3480156102f6575f80fd5b506040516009815260200161022b565b348015610311575f80fd5b50610253610320366004611af5565b6106fb565b348015610330575f80fd5b5061028261033f366004611b7d565b61071c565b34801561034f575f80fd5b50610294600d5481565b348015610364575f80fd5b50600654610378906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b34801561039b575f80fd5b506102536103aa366004611b94565b6001600160a01b03165f9081526010602052604090205460ff1690565b3480156103d2575f80fd5b506103787f000000000000000000000000000000000000000000000000000000000000000081565b348015610405575f80fd5b50600f5461025390610100900460ff1681565b348015610423575f80fd5b50610294610432366004611b94565b610729565b348015610442575f80fd5b50610282610743565b348015610456575f80fd5b50610282610756565b34801561046a575f80fd5b50610282610479366004611bbc565b61076b565b348015610489575f80fd5b506005546001600160a01b0316610378565b3480156104a6575f80fd5b5061021e61079d565b3480156104ba575f80fd5b506102826104c9366004611bbc565b6107ac565b3480156104d9575f80fd5b506102536104e8366004611af5565b61084b565b3480156104f8575f80fd5b50610253610507366004611af5565b6108c5565b348015610517575f80fd5b50610282610526366004611bbc565b6108d2565b348015610536575f80fd5b50610294600a5481565b34801561054b575f80fd5b50610282610938565b34801561055f575f80fd5b5061029461056e366004611bf3565b610951565b34801561057e575f80fd5b5061028261058d366004611b7d565b61097b565b34801561059d575f80fd5b506102826109cd565b3480156105b1575f80fd5b50610294600c5481565b3480156105c6575f80fd5b506102826105d5366004611b94565b610a64565b3480156105e5575f80fd5b5061029460095481565b3480156105fa575f80fd5b50610282610ada565b34801561060e575f80fd5b50600f546102539060ff1681565b60606003805461062b90611c1f565b80601f016020809104026020016040519081016040528092919081815260200182805461065790611c1f565b80156106a25780601f10610679576101008083540402835291602001916106a2565b820191905f5260205f20905b81548152906001019060200180831161068557829003601f168201915b5050505050905090565b5f336106b9818585610e8b565b60019150505b92915050565b6106cd610fae565b600d91909155600e55565b5f336106e5858285611008565b6106f0858585611080565b506001949350505050565b5f336106b981858561070d8383610951565b6107179190611c6b565b610e8b565b6107263382611590565b50565b6001600160a01b03165f9081526020819052604090205490565b61074b610fae565b6107545f6116c0565b565b61075e610fae565b600854600a819055600955565b610773610fae565b6001600160a01b03919091165f908152601160205260409020805460ff1916911515919091179055565b60606004805461062b90611c1f565b6107b4610fae565b6006546001600160a01b039081169083160361083d5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b6108478282611711565b5050565b5f33816108588286610951565b9050838110156108b85760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610834565b6106f08286868403610e8b565b5f336106b9818585611080565b6108da610fae565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b610940610fae565b600f805461ffff1916610101179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6007546001600160a01b0316336001600160a01b03161461099a575f80fd5b5f6109a430610729565b90505f60646109b38484611c7e565b6109bd9190611c95565b90506109c881611764565b505050565b5f4711610a1c5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a206e6f2045544820696e2074686520636f6e74726163740000006044820152606401610834565b6007546001600160a01b0316336001600160a01b031614610a3b575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610726573d5f803e3d5ffd5b610a6c610fae565b6001600160a01b038116610ad15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610834565b610726816116c0565b610ae2610fae565b600f5460ff1615610b355760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610834565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb59190611cb4565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190611cb4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610c8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb29190611cb4565b600680546001600160a01b0319166001600160a01b03929092169182179055610cdc90600161076b565b600654610cf3906001600160a01b03166001611711565b610d20307f0000000000000000000000000000000000000000000000000000000000000000600854610e8b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7194730610d5a30610729565b6040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201525f604482018190526064820152739e3bf8e3c85cc9fce405dabe8594f20325ed1d5060848201524260a482015260c40160606040518083038185885af1158015610dcf573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610df49190611ccf565b505060065460405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301525f196024830152909116915063095ea7b3906044016020604051808303815f875af1158015610e67573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107269190611cfa565b6001600160a01b038316610eed5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610834565b6001600160a01b038216610f4e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610834565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b031633146107545760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610834565b5f6110138484610951565b90505f19811461107a578181101561106d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610834565b61107a8484848403610e8b565b50505050565b6001600160a01b0383166110a65760405162461bcd60e51b815260040161083490611d15565b6001600160a01b0382166110cc5760405162461bcd60e51b815260040161083490611d5a565b805f036110de576109c883835f611921565b6005546001600160a01b0384811691161480159061110a57506005546001600160a01b03838116911614155b801561111e57506001600160a01b03821615155b801561113557506001600160a01b03821661dead14155b80156111445750600b5460ff16155b156113ba57600f5460ff166111d5576001600160a01b0383165f9081526010602052604090205460ff168061119057506001600160a01b0382165f9081526010602052604090205460ff165b6111d55760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610834565b6001600160a01b0383165f9081526012602052604090205460ff16801561121457506001600160a01b0382165f9081526011602052604090205460ff16155b156112b65760095461122583610729565b61122f9083611c6b565b111561126b5760405162461bcd60e51b815260206004820152600b60248201526a4d61782077616c6c65742160a81b6044820152606401610834565b600a548111156112b15760405162461bcd60e51b8152602060048201526011602482015270427579206d6178207472616e736665722160781b6044820152606401610834565b6113ba565b6001600160a01b0382165f9081526012602052604090205460ff1680156112f557506001600160a01b0383165f9081526011602052604090205460ff16155b1561134157600a548111156112b15760405162461bcd60e51b815260206004820152601260248201527153656c6c206d6178207472616e736665722160701b6044820152606401610834565b6001600160a01b0382165f9081526011602052604090205460ff166113ba5760095461136c83610729565b6113769083611c6b565b11156113ba5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610834565b5f6113c430610729565b600c5490915081118080156113e05750600f54610100900460ff165b80156113ef5750600b5460ff16155b801561141357506001600160a01b0385165f9081526012602052604090205460ff16155b801561143757506001600160a01b0385165f9081526010602052604090205460ff16155b801561145b57506001600160a01b0384165f9081526010602052604090205460ff16155b1561148057600b805460ff19166001179055611475611a49565b600b805460ff191690555b600b545f9060ff161580156114ad57506001600160a01b0386165f9081526010602052604090205460ff16155b80156114d157506001600160a01b0385165f9081526010602052604090205460ff16155b90505f811561157c576001600160a01b0386165f9081526012602052604090205460ff16156115215761151a6064611514600e5488611a7990919063ffffffff16565b90611a8b565b905061155e565b6001600160a01b0387165f9081526012602052604090205460ff161561155e5761155b6064611514600d5488611a7990919063ffffffff16565b90505b801561156f5761156f873083611921565b6115798186611d9d565b94505b611587878787611921565b50505050505050565b6001600160a01b0382166115f05760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610834565b6001600160a01b0382165f90815260208190526040902054818110156116635760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610834565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061179757611797611db0565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611813573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118379190611cb4565b8160018151811061184a5761184a611db0565b60200260200101906001600160a01b031690816001600160a01b031681525050611895307f000000000000000000000000000000000000000000000000000000000000000084610e8b565b60075460405163791ac94760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263791ac947926118f09287925f92889291909116904290600401611dc4565b5f604051808303815f87803b158015611907575f80fd5b505af1158015611919573d5f803e3d5ffd5b505050505050565b6001600160a01b0383166119475760405162461bcd60e51b815260040161083490611d15565b6001600160a01b03821661196d5760405162461bcd60e51b815260040161083490611d5a565b6001600160a01b0383165f90815260208190526040902054818110156119e45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610834565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361107a565b5f611a5330610729565b9050805f03611a5f5750565b600c548190811115611a705750600c545b61084781611764565b5f611a848284611c7e565b9392505050565b5f611a848284611c95565b5f6020808352835180828501525f5b81811015611ac157858101830151858201604001528201611aa5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610726575f80fd5b5f8060408385031215611b06575f80fd5b8235611b1181611ae1565b946020939093013593505050565b5f8060408385031215611b30575f80fd5b50508035926020909101359150565b5f805f60608486031215611b51575f80fd5b8335611b5c81611ae1565b92506020840135611b6c81611ae1565b929592945050506040919091013590565b5f60208284031215611b8d575f80fd5b5035919050565b5f60208284031215611ba4575f80fd5b8135611a8481611ae1565b8015158114610726575f80fd5b5f8060408385031215611bcd575f80fd5b8235611bd881611ae1565b91506020830135611be881611baf565b809150509250929050565b5f8060408385031215611c04575f80fd5b8235611c0f81611ae1565b91506020830135611be881611ae1565b600181811c90821680611c3357607f821691505b602082108103611c5157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106bf576106bf611c57565b80820281158282048414176106bf576106bf611c57565b5f82611caf57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611cc4575f80fd5b8151611a8481611ae1565b5f805f60608486031215611ce1575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611d0a575f80fd5b8151611a8481611baf565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156106bf576106bf611c57565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611e125784516001600160a01b031683529383019391830191600101611ded565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122035e20e3fa79ba348646590e48928f2f2da4578ea74dad360642f39eb2409741964736f6c63430008140033

Deployed Bytecode

0x6080604052600436106101ff575f3560e01c8063751039fc11610113578063c9567bf91161009d578063e2f456051161006d578063e2f45605146105a6578063f2fde38b146105bb578063f8b45b05146105da578063fc849aaa146105ef578063ffb54a9914610603575f80fd5b8063c9567bf914610540578063dd62ed3e14610554578063dd96eca214610573578063de749dff14610592575f80fd5b80639a7a23d6116100e35780639a7a23d6146104af578063a457c2d7146104ce578063a9059cbb146104ed578063c02466681461050c578063c8c8ebe41461052b575f80fd5b8063751039fc1461044b5780637571336a1461045f5780638da5cb5b1461047e57806395d89b411461049b575f80fd5b806339509351116101945780634fbee193116101645780634fbee19314610390578063583e0568146103c75780636ddd1713146103fa57806370a0823114610418578063715018a614610437575f80fd5b8063395093511461030657806342966c6814610325578063470624021461034457806349bd5a5e14610359575f80fd5b806323b872dd116101cf57806323b872dd146102a25780632b14ca56146102c1578063311028af146102d6578063313ce567146102eb575f80fd5b806306fdde031461020a578063095ea7b3146102345780631710f2ca1461026357806318160ddd14610284575f80fd5b3661020657005b5f80fd5b348015610215575f80fd5b5061021e61061c565b60405161022b9190611a96565b60405180910390f35b34801561023f575f80fd5b5061025361024e366004611af5565b6106ac565b604051901515815260200161022b565b34801561026e575f80fd5b5061028261027d366004611b1f565b6106c5565b005b34801561028f575f80fd5b506002545b60405190815260200161022b565b3480156102ad575f80fd5b506102536102bc366004611b3f565b6106d8565b3480156102cc575f80fd5b50610294600e5481565b3480156102e1575f80fd5b5061029460085481565b3480156102f6575f80fd5b506040516009815260200161022b565b348015610311575f80fd5b50610253610320366004611af5565b6106fb565b348015610330575f80fd5b5061028261033f366004611b7d565b61071c565b34801561034f575f80fd5b50610294600d5481565b348015610364575f80fd5b50600654610378906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b34801561039b575f80fd5b506102536103aa366004611b94565b6001600160a01b03165f9081526010602052604090205460ff1690565b3480156103d2575f80fd5b506103787f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b348015610405575f80fd5b50600f5461025390610100900460ff1681565b348015610423575f80fd5b50610294610432366004611b94565b610729565b348015610442575f80fd5b50610282610743565b348015610456575f80fd5b50610282610756565b34801561046a575f80fd5b50610282610479366004611bbc565b61076b565b348015610489575f80fd5b506005546001600160a01b0316610378565b3480156104a6575f80fd5b5061021e61079d565b3480156104ba575f80fd5b506102826104c9366004611bbc565b6107ac565b3480156104d9575f80fd5b506102536104e8366004611af5565b61084b565b3480156104f8575f80fd5b50610253610507366004611af5565b6108c5565b348015610517575f80fd5b50610282610526366004611bbc565b6108d2565b348015610536575f80fd5b50610294600a5481565b34801561054b575f80fd5b50610282610938565b34801561055f575f80fd5b5061029461056e366004611bf3565b610951565b34801561057e575f80fd5b5061028261058d366004611b7d565b61097b565b34801561059d575f80fd5b506102826109cd565b3480156105b1575f80fd5b50610294600c5481565b3480156105c6575f80fd5b506102826105d5366004611b94565b610a64565b3480156105e5575f80fd5b5061029460095481565b3480156105fa575f80fd5b50610282610ada565b34801561060e575f80fd5b50600f546102539060ff1681565b60606003805461062b90611c1f565b80601f016020809104026020016040519081016040528092919081815260200182805461065790611c1f565b80156106a25780601f10610679576101008083540402835291602001916106a2565b820191905f5260205f20905b81548152906001019060200180831161068557829003601f168201915b5050505050905090565b5f336106b9818585610e8b565b60019150505b92915050565b6106cd610fae565b600d91909155600e55565b5f336106e5858285611008565b6106f0858585611080565b506001949350505050565b5f336106b981858561070d8383610951565b6107179190611c6b565b610e8b565b6107263382611590565b50565b6001600160a01b03165f9081526020819052604090205490565b61074b610fae565b6107545f6116c0565b565b61075e610fae565b600854600a819055600955565b610773610fae565b6001600160a01b03919091165f908152601160205260409020805460ff1916911515919091179055565b60606004805461062b90611c1f565b6107b4610fae565b6006546001600160a01b039081169083160361083d5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b6108478282611711565b5050565b5f33816108588286610951565b9050838110156108b85760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610834565b6106f08286868403610e8b565b5f336106b9818585611080565b6108da610fae565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b610940610fae565b600f805461ffff1916610101179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6007546001600160a01b0316336001600160a01b03161461099a575f80fd5b5f6109a430610729565b90505f60646109b38484611c7e565b6109bd9190611c95565b90506109c881611764565b505050565b5f4711610a1c5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a206e6f2045544820696e2074686520636f6e74726163740000006044820152606401610834565b6007546001600160a01b0316336001600160a01b031614610a3b575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610726573d5f803e3d5ffd5b610a6c610fae565b6001600160a01b038116610ad15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610834565b610726816116c0565b610ae2610fae565b600f5460ff1615610b355760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610834565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb59190611cb4565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190611cb4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610c8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb29190611cb4565b600680546001600160a01b0319166001600160a01b03929092169182179055610cdc90600161076b565b600654610cf3906001600160a01b03166001611711565b610d20307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600854610e8b565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d7194730610d5a30610729565b6040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201525f604482018190526064820152739e3bf8e3c85cc9fce405dabe8594f20325ed1d5060848201524260a482015260c40160606040518083038185885af1158015610dcf573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610df49190611ccf565b505060065460405163095ea7b360e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d811660048301525f196024830152909116915063095ea7b3906044016020604051808303815f875af1158015610e67573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107269190611cfa565b6001600160a01b038316610eed5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610834565b6001600160a01b038216610f4e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610834565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b031633146107545760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610834565b5f6110138484610951565b90505f19811461107a578181101561106d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610834565b61107a8484848403610e8b565b50505050565b6001600160a01b0383166110a65760405162461bcd60e51b815260040161083490611d15565b6001600160a01b0382166110cc5760405162461bcd60e51b815260040161083490611d5a565b805f036110de576109c883835f611921565b6005546001600160a01b0384811691161480159061110a57506005546001600160a01b03838116911614155b801561111e57506001600160a01b03821615155b801561113557506001600160a01b03821661dead14155b80156111445750600b5460ff16155b156113ba57600f5460ff166111d5576001600160a01b0383165f9081526010602052604090205460ff168061119057506001600160a01b0382165f9081526010602052604090205460ff165b6111d55760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610834565b6001600160a01b0383165f9081526012602052604090205460ff16801561121457506001600160a01b0382165f9081526011602052604090205460ff16155b156112b65760095461122583610729565b61122f9083611c6b565b111561126b5760405162461bcd60e51b815260206004820152600b60248201526a4d61782077616c6c65742160a81b6044820152606401610834565b600a548111156112b15760405162461bcd60e51b8152602060048201526011602482015270427579206d6178207472616e736665722160781b6044820152606401610834565b6113ba565b6001600160a01b0382165f9081526012602052604090205460ff1680156112f557506001600160a01b0383165f9081526011602052604090205460ff16155b1561134157600a548111156112b15760405162461bcd60e51b815260206004820152601260248201527153656c6c206d6178207472616e736665722160701b6044820152606401610834565b6001600160a01b0382165f9081526011602052604090205460ff166113ba5760095461136c83610729565b6113769083611c6b565b11156113ba5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610834565b5f6113c430610729565b600c5490915081118080156113e05750600f54610100900460ff165b80156113ef5750600b5460ff16155b801561141357506001600160a01b0385165f9081526012602052604090205460ff16155b801561143757506001600160a01b0385165f9081526010602052604090205460ff16155b801561145b57506001600160a01b0384165f9081526010602052604090205460ff16155b1561148057600b805460ff19166001179055611475611a49565b600b805460ff191690555b600b545f9060ff161580156114ad57506001600160a01b0386165f9081526010602052604090205460ff16155b80156114d157506001600160a01b0385165f9081526010602052604090205460ff16155b90505f811561157c576001600160a01b0386165f9081526012602052604090205460ff16156115215761151a6064611514600e5488611a7990919063ffffffff16565b90611a8b565b905061155e565b6001600160a01b0387165f9081526012602052604090205460ff161561155e5761155b6064611514600d5488611a7990919063ffffffff16565b90505b801561156f5761156f873083611921565b6115798186611d9d565b94505b611587878787611921565b50505050505050565b6001600160a01b0382166115f05760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610834565b6001600160a01b0382165f90815260208190526040902054818110156116635760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610834565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061179757611797611db0565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611813573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118379190611cb4565b8160018151811061184a5761184a611db0565b60200260200101906001600160a01b031690816001600160a01b031681525050611895307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610e8b565b60075460405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81169263791ac947926118f09287925f92889291909116904290600401611dc4565b5f604051808303815f87803b158015611907575f80fd5b505af1158015611919573d5f803e3d5ffd5b505050505050565b6001600160a01b0383166119475760405162461bcd60e51b815260040161083490611d15565b6001600160a01b03821661196d5760405162461bcd60e51b815260040161083490611d5a565b6001600160a01b0383165f90815260208190526040902054818110156119e45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610834565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361107a565b5f611a5330610729565b9050805f03611a5f5750565b600c548190811115611a705750600c545b61084781611764565b5f611a848284611c7e565b9392505050565b5f611a848284611c95565b5f6020808352835180828501525f5b81811015611ac157858101830151858201604001528201611aa5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610726575f80fd5b5f8060408385031215611b06575f80fd5b8235611b1181611ae1565b946020939093013593505050565b5f8060408385031215611b30575f80fd5b50508035926020909101359150565b5f805f60608486031215611b51575f80fd5b8335611b5c81611ae1565b92506020840135611b6c81611ae1565b929592945050506040919091013590565b5f60208284031215611b8d575f80fd5b5035919050565b5f60208284031215611ba4575f80fd5b8135611a8481611ae1565b8015158114610726575f80fd5b5f8060408385031215611bcd575f80fd5b8235611bd881611ae1565b91506020830135611be881611baf565b809150509250929050565b5f8060408385031215611c04575f80fd5b8235611c0f81611ae1565b91506020830135611be881611ae1565b600181811c90821680611c3357607f821691505b602082108103611c5157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106bf576106bf611c57565b80820281158282048414176106bf576106bf611c57565b5f82611caf57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611cc4575f80fd5b8151611a8481611ae1565b5f805f60608486031215611ce1575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611d0a575f80fd5b8151611a8481611baf565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156106bf576106bf611c57565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611e125784516001600160a01b031683529383019391830191600101611ded565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122035e20e3fa79ba348646590e48928f2f2da4578ea74dad360642f39eb2409741964736f6c63430008140033

Deployed Bytecode Sourcemap

14540:7851:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2806:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3737:201;;;;;;;;;;-1:-1:-1;3737:201:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;3737:201:0;1023:187:1;21272:141:0;;;;;;;;;;-1:-1:-1;21272:141:0;;;;;:::i;:::-;;:::i;:::-;;3126:108;;;;;;;;;;-1:-1:-1;3214:12:0;;3126:108;;;1614:25:1;;;1602:2;1587:18;3126:108:0;1468:177:1;3946:261:0;;;;;;;;;;-1:-1:-1;3946:261:0;;;;;:::i;:::-;;:::i;15205:27::-;;;;;;;;;;;;;;;;14849:62;;;;;;;;;;;;;;;;3026:92;;;;;;;;;;-1:-1:-1;3026:92:0;;3109:1;2253:36:1;;2241:2;2226:18;3026:92:0;2111:184:1;4215:238:0;;;;;;;;;;-1:-1:-1;4215:238:0;;;;;:::i;:::-;;:::i;17404:85::-;;;;;;;;;;-1:-1:-1;17404:85:0;;;;;:::i;:::-;;:::i;15172:26::-;;;;;;;;;;;;;;;;14675:28;;;;;;;;;;-1:-1:-1;14675:28:0;;;;-1:-1:-1;;;;;14675:28:0;;;;;;-1:-1:-1;;;;;2649:32:1;;;2631:51;;2619:2;2604:18;14675:28:0;2485:203:1;18300:126:0;;;;;;;;;;-1:-1:-1;18300:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;18390:28:0;18366:4;18390:28;;;:19;:28;;;;;;;;;18300:126;14616:52;;;;;;;;;;;;;;;15279:31;;;;;;;;;;-1:-1:-1;15279:31:0;;;;;;;;;;;3242:127;;;;;;;;;;-1:-1:-1;3242:127:0;;;;;:::i;:::-;;:::i;978:103::-;;;;;;;;;;;;;:::i;21120:144::-;;;;;;;;;;;;;:::i;17689:::-;;;;;;;;;;-1:-1:-1;17689:144:0;;;;;:::i;:::-;;:::i;743:87::-;;;;;;;;;;-1:-1:-1;816:6:0;;-1:-1:-1;;;;;816:6:0;743:87;;2914:104;;;;;;;;;;;;;:::i;17841:257::-;;;;;;;;;;-1:-1:-1;17841:257:0;;;;;:::i;:::-;;:::i;4461:436::-;;;;;;;;;;-1:-1:-1;4461:436:0;;;;;:::i;:::-;;:::i;3377:193::-;;;;;;;;;;-1:-1:-1;3377:193:0;;;;;:::i;:::-;;:::i;17497:182::-;;;;;;;;;;-1:-1:-1;17497:182:0;;;;;:::i;:::-;;:::i;15008:47::-;;;;;;;;;;;;;;;;17288:110;;;;;;;;;;;;;:::i;3578:151::-;;;;;;;;;;-1:-1:-1;3578:151:0;;;;;:::i;:::-;;:::i;21796:310::-;;;;;;;;;;-1:-1:-1;21796:310:0;;;;;:::i;:::-;;:::i;22114:274::-;;;;;;;;;;;;;:::i;15098:65::-;;;;;;;;;;;;;;;;1089:201;;;;;;;;;;-1:-1:-1;1089:201:0;;;;;:::i;:::-;;:::i;14944:57::-;;;;;;;;;;;;;;;;16470:810;;;;;;;;;;;;;:::i;15241:31::-;;;;;;;;;;-1:-1:-1;15241:31:0;;;;;;;;2806:100;2860:13;2893:5;2886:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2806:100;:::o;3737:201::-;3820:4;296:10;3876:32;296:10;3892:7;3901:6;3876:8;:32::i;:::-;3926:4;3919:11;;;3737:201;;;;;:::o;21272:141::-;702:13;:11;:13::i;:::-;21360:6:::1;:16:::0;;;;21387:7:::1;:18:::0;21272:141::o;3946:261::-;4043:4;296:10;4101:38;4117:4;296:10;4132:6;4101:15;:38::i;:::-;4150:27;4160:4;4166:2;4170:6;4150:9;:27::i;:::-;-1:-1:-1;4195:4:0;;3946:261;-1:-1:-1;;;;3946:261:0:o;4215:238::-;4303:4;296:10;4359:64;296:10;4375:7;4412:10;4384:25;296:10;4375:7;4384:9;:25::i;:::-;:38;;;;:::i;:::-;4359:8;:64::i;17404:85::-;17454:27;296:10;17474:6;17454:5;:27::i;:::-;17404:85;:::o;3242:127::-;-1:-1:-1;;;;;3343:18:0;3316:7;3343:18;;;;;;;;;;;;3242:127::o;978:103::-;702:13;:11;:13::i;:::-;1043:30:::1;1070:1;1043:18;:30::i;:::-;978:103::o:0;21120:144::-;702:13;:11;:13::i;:::-;21197:18:::1;::::0;21174:20:::1;:41:::0;;;21226:9:::1;:30:::0;21120:144::o;17689:::-;702:13;:11;:13::i;:::-;-1:-1:-1;;;;;17779:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;17779:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17689:144::o;2914:104::-;2970:13;3003:7;2996:14;;;;;:::i;17841:257::-;702:13;:11;:13::i;:::-;17963::::1;::::0;-1:-1:-1;;;;;17963:13:0;;::::1;17955:21:::0;;::::1;::::0;17947:91:::1;;;::::0;-1:-1:-1;;;17947:91:0;;4932:2:1;17947:91:0::1;::::0;::::1;4914:21:1::0;4971:2;4951:18;;;4944:30;5010:34;4990:18;;;4983:62;5081:27;5061:18;;;5054:55;5126:19;;17947:91:0::1;;;;;;;;;18049:41;18078:4;18084:5;18049:28;:41::i;:::-;17841:257:::0;;:::o;4461:436::-;4554:4;296:10;4554:4;4637:25;296:10;4654:7;4637:9;:25::i;:::-;4610:52;;4701:15;4681:16;:35;;4673:85;;;;-1:-1:-1;;;4673:85:0;;5358:2:1;4673:85:0;;;5340:21:1;5397:2;5377:18;;;5370:30;5436:34;5416:18;;;5409:62;-1:-1:-1;;;5487:18:1;;;5480:35;5532:19;;4673:85:0;5156:401:1;4673:85:0;4794:60;4803:5;4810:7;4838:15;4819:16;:34;4794:8;:60::i;3377:193::-;3456:4;296:10;3512:28;296:10;3529:2;3533:6;3512:9;:28::i;17497:182::-;702:13;:11;:13::i;:::-;-1:-1:-1;;;;;17582:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;17582:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;17637:34;;1163:41:1;;;17637:34:0::1;::::0;1136:18:1;17637:34:0::1;;;;;;;17497:182:::0;;:::o;17288:110::-;702:13;:11;:13::i;:::-;17343:11:::1;:18:::0;;-1:-1:-1;;17372:18:0;;;;;17288:110::o;3578:151::-;-1:-1:-1;;;;;3694:18:0;;;3667:7;3694:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3578:151::o;21796:310::-;21924:10;;-1:-1:-1;;;;;21924:10:0;296;-1:-1:-1;;;;;21908:26:0;;21900:35;;;;;;21946:23;21972:24;21990:4;21972:9;:24::i;:::-;21946:50;-1:-1:-1;22007:18:0;22056:3;22028:25;22046:7;21946:50;22028:25;:::i;:::-;:31;;;;:::i;:::-;22007:52;;22070:28;22087:10;22070:16;:28::i;:::-;21844:262;;21796:310;:::o;22114:274::-;22237:1;22213:21;:25;22205:67;;;;-1:-1:-1;;;22205:67:0;;6159:2:1;22205:67:0;;;6141:21:1;6198:2;6178:18;;;6171:30;6237:31;6217:18;;;6210:59;6286:18;;22205:67:0;5957:353:1;22205:67:0;22307:10;;-1:-1:-1;;;;;22307:10:0;296;-1:-1:-1;;;;;22291:26:0;;22283:35;;;;;;22329:51;;22337:10;;22358:21;22329:51;;;;;;;;;22358:21;22337:10;22329:51;;;;;;;;;;;;;;;;;;;1089:201;702:13;:11;:13::i;:::-;-1:-1:-1;;;;;1178:22:0;::::1;1170:73;;;::::0;-1:-1:-1;;;1170:73:0;;6517:2:1;1170:73:0::1;::::0;::::1;6499:21:1::0;6556:2;6536:18;;;6529:30;6595:34;6575:18;;;6568:62;-1:-1:-1;;;6646:18:1;;;6639:36;6692:19;;1170:73:0::1;6315:402:1::0;1170:73:0::1;1254:28;1273:8;1254:18;:28::i;16470:810::-:0;702:13;:11;:13::i;:::-;16542:11:::1;::::0;::::1;;16541:12;16533:47;;;::::0;-1:-1:-1;;;16533:47:0;;6924:2:1;16533:47:0::1;::::0;::::1;6906:21:1::0;6963:2;6943:18;;;6936:30;7002:25;6982:18;;;6975:53;7045:18;;16533:47:0::1;6722:347:1::0;16533:47:0::1;16625:16;-1:-1:-1::0;;;;;16625:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16607:56:0::1;;16672:4;16679:16;-1:-1:-1::0;;;;;16679:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16607:96;::::0;-1:-1:-1;;;;;;16607:96:0::1;::::0;;;;;;-1:-1:-1;;;;;7560:15:1;;;16607:96:0::1;::::0;::::1;7542:34:1::0;7612:15;;7592:18;;;7585:43;7477:18;;16607:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16591:13;:112:::0;;-1:-1:-1;;;;;;16591:112:0::1;-1:-1:-1::0;;;;;16591:112:0;;;::::1;::::0;;::::1;::::0;;16714:55:::1;::::0;-1:-1:-1;16714:25:0::1;:55::i;:::-;16817:13;::::0;16780:58:::1;::::0;-1:-1:-1;;;;;16817:13:0::1;::::0;16780:28:::1;:58::i;:::-;16849:70;16866:4;16881:16;16900:18;;16849:8;:70::i;:::-;16930:16;-1:-1:-1::0;;;;;16930:32:0::1;;16970:21;17015:4;17035:24;17053:4;17035:9;:24::i;:::-;16930:259;::::0;-1:-1:-1;;;;;;16930:259:0::1;::::0;;;;;;-1:-1:-1;;;;;7998:15:1;;;16930:259:0::1;::::0;::::1;7980:34:1::0;8030:18;;;8023:34;17074:1:0::1;8073:18:1::0;;;8066:34;;;8116:18;;;8109:34;17106:42:0::1;8159:19:1::0;;;8152:44;17163:15:0::1;8212:19:1::0;;;8205:35;7914:19;;16930:259:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17207:13:0::1;::::0;17200:72:::1;::::0;-1:-1:-1;;;17200:72:0;;-1:-1:-1;;;;;17238:16:0::1;8754:32:1::0;;17200:72:0::1;::::0;::::1;8736:51:1::0;-1:-1:-1;;8803:18:1;;;8796:34;17207:13:0;;::::1;::::0;-1:-1:-1;17200:29:0::1;::::0;8709:18:1;;17200:72:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6600:346::-:0;-1:-1:-1;;;;;6702:19:0;;6694:68;;;;-1:-1:-1;;;6694:68:0;;9293:2:1;6694:68:0;;;9275:21:1;9332:2;9312:18;;;9305:30;9371:34;9351:18;;;9344:62;-1:-1:-1;;;9422:18:1;;;9415:34;9466:19;;6694:68:0;9091:400:1;6694:68:0;-1:-1:-1;;;;;6781:21:0;;6773:68;;;;-1:-1:-1;;;6773:68:0;;9698:2:1;6773:68:0;;;9680:21:1;9737:2;9717:18;;;9710:30;9776:34;9756:18;;;9749:62;-1:-1:-1;;;9827:18:1;;;9820:32;9869:19;;6773:68:0;9496:398:1;6773:68:0;-1:-1:-1;;;;;6854:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6906:32;;1614:25:1;;;6906:32:0;;1587:18:1;6906:32:0;;;;;;;6600:346;;;:::o;838:132::-;816:6;;-1:-1:-1;;;;;816:6:0;296:10;902:23;894:68;;;;-1:-1:-1;;;894:68:0;;10101:2:1;894:68:0;;;10083:21:1;;;10120:18;;;10113:30;10179:34;10159:18;;;10152:62;10231:18;;894:68:0;9899:356:1;6954:419:0;7055:24;7082:25;7092:5;7099:7;7082:9;:25::i;:::-;7055:52;;-1:-1:-1;;7122:16:0;:37;7118:248;;7204:6;7184:16;:26;;7176:68;;;;-1:-1:-1;;;7176:68:0;;10462:2:1;7176:68:0;;;10444:21:1;10501:2;10481:18;;;10474:30;10540:31;10520:18;;;10513:59;10589:18;;7176:68:0;10260:353:1;7176:68:0;7288:51;7297:5;7304:7;7332:6;7313:16;:25;7288:8;:51::i;:::-;7044:329;6954:419;;;:::o;18434:2199::-;-1:-1:-1;;;;;18532:18:0;;18524:68;;;;-1:-1:-1;;;18524:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18611:16:0;;18603:64;;;;-1:-1:-1;;;18603:64:0;;;;;;;:::i;:::-;18684:6;18694:1;18684:11;18680:93;;18712:28;18728:4;18734:2;18738:1;18712:15;:28::i;18680:93::-;816:6;;-1:-1:-1;;;;;18789:15:0;;;816:6;;18789:15;;;;:32;;-1:-1:-1;816:6:0;;-1:-1:-1;;;;;18808:13:0;;;816:6;;18808:13;;18789:32;:52;;;;-1:-1:-1;;;;;;18825:16:0;;;;18789:52;:77;;;;-1:-1:-1;;;;;;18845:21:0;;18859:6;18845:21;;18789:77;:90;;;;-1:-1:-1;18871:8:0;;;;18870:9;18789:90;18785:883;;;18901:11;;;;18896:140;;-1:-1:-1;;;;;18941:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;18970:23:0;;;;;;:19;:23;;;;;;;;18941:52;18933:87;;;;-1:-1:-1;;;18933:87:0;;11630:2:1;18933:87:0;;;11612:21:1;11669:2;11649:18;;;11642:30;-1:-1:-1;;;11688:18:1;;;11681:52;11750:18;;18933:87:0;11428:346:1;18933:87:0;-1:-1:-1;;;;;19056:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;19092:35:0;;;;;;:31;:35;;;;;;;;19091:36;19056:71;19052:605;;;19182:9;;19165:13;19175:2;19165:9;:13::i;:::-;19156:22;;:6;:22;:::i;:::-;:35;;19148:59;;;;-1:-1:-1;;;19148:59:0;;11981:2:1;19148:59:0;;;11963:21:1;12020:2;12000:18;;;11993:30;-1:-1:-1;;;12039:18:1;;;12032:41;12090:18;;19148:59:0;11779:335:1;19148:59:0;19244:20;;19234:6;:30;;19226:60;;;;-1:-1:-1;;;19226:60:0;;12321:2:1;19226:60:0;;;12303:21:1;12360:2;12340:18;;;12333:30;-1:-1:-1;;;12379:18:1;;;12372:47;12436:18;;19226:60:0;12119:341:1;19226:60:0;19052:605;;;-1:-1:-1;;;;;19325:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;19359:37:0;;;;;;:31;:37;;;;;;;;19358:38;19325:71;19321:336;;;19435:20;;19425:6;:30;;19417:61;;;;-1:-1:-1;;;19417:61:0;;12667:2:1;19417:61:0;;;12649:21:1;12706:2;12686:18;;;12679:30;-1:-1:-1;;;12725:18:1;;;12718:48;12783:18;;19417:61:0;12465:342:1;19321:336:0;-1:-1:-1;;;;;19518:35:0;;;;;;:31;:35;;;;;;;;19513:144;;19608:9;;19591:13;19601:2;19591:9;:13::i;:::-;19582:22;;:6;:22;:::i;:::-;:35;;19574:67;;;;-1:-1:-1;;;19574:67:0;;13014:2:1;19574:67:0;;;12996:21:1;13053:2;13033:18;;;13026:30;-1:-1:-1;;;13072:18:1;;;13065:49;13131:18;;19574:67:0;12812:343:1;19574:67:0;19680:28;19711:24;19729:4;19711:9;:24::i;:::-;19784:18;;19680:55;;-1:-1:-1;19761:41:0;;;19817:22;;;;-1:-1:-1;19828:11:0;;;;;;;19817:22;:35;;;;-1:-1:-1;19844:8:0;;;;19843:9;19817:35;:71;;;;-1:-1:-1;;;;;;19857:31:0;;;;;;:25;:31;;;;;;;;19856:32;19817:71;:101;;;;-1:-1:-1;;;;;;19893:25:0;;;;;;:19;:25;;;;;;;;19892:26;19817:101;:129;;;;-1:-1:-1;;;;;;19923:23:0;;;;;;:19;:23;;;;;;;;19922:24;19817:129;19813:233;;;19963:8;:15;;-1:-1:-1;;19963:15:0;19974:4;19963:15;;;19993:10;:8;:10::i;:::-;20018:8;:16;;-1:-1:-1;;20018:16:0;;;19813:233;20074:8;;20058:12;;20074:8;;20073:9;:39;;;;-1:-1:-1;;;;;;20087:25:0;;;;;;:19;:25;;;;;;;;20086:26;20073:39;:67;;;;-1:-1:-1;;;;;;20117:23:0;;;;;;:19;:23;;;;;;;;20116:24;20073:67;20058:82;;20153:12;20184:7;20180:402;;;-1:-1:-1;;;;;20212:29:0;;;;;;:25;:29;;;;;;;;20208:229;;;20269:28;20293:3;20269:19;20280:7;;20269:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;20262:35;;20208:229;;;-1:-1:-1;;;;;20335:31:0;;;;;;:25;:31;;;;;;;;20332:105;;;20394:27;20417:3;20394:18;20405:6;;20394;:10;;:18;;;;:::i;:27::-;20387:34;;20332:105;20455:8;;20451:91;;20484:42;20500:4;20514;20521;20484:15;:42::i;:::-;20556:14;20566:4;20556:14;;:::i;:::-;;;20180:402;20592:33;20608:4;20614:2;20618:6;20592:15;:33::i;:::-;18513:2120;;;;18434:2199;;;:::o;5997:595::-;-1:-1:-1;;;;;6081:21:0;;6073:67;;;;-1:-1:-1;;;6073:67:0;;13495:2:1;6073:67:0;;;13477:21:1;13534:2;13514:18;;;13507:30;13573:34;13553:18;;;13546:62;-1:-1:-1;;;13624:18:1;;;13617:31;13665:19;;6073:67:0;13293:397:1;6073:67:0;-1:-1:-1;;;;;6240:18:0;;6215:22;6240:18;;;;;;;;;;;6277:24;;;;6269:71;;;;-1:-1:-1;;;6269:71:0;;13897:2:1;6269:71:0;;;13879:21:1;13936:2;13916:18;;;13909:30;13975:34;13955:18;;;13948:62;-1:-1:-1;;;14026:18:1;;;14019:32;14068:19;;6269:71:0;13695:398:1;6269:71:0;-1:-1:-1;;;;;6376:18:0;;:9;:18;;;;;;;;;;;6397:23;;;6376:44;;6435:12;:22;;;;;;;6486:37;1614:25:1;;;6376:9:0;;:18;6486:37;;1587:18:1;6486:37:0;;;;;;;21844:262;;21796:310;:::o;1298:191::-;1391:6;;;-1:-1:-1;;;;;1408:17:0;;;-1:-1:-1;;;;;;1408:17:0;;;;;;;1441:40;;1391:6;;;1408:17;1391:6;;1441:40;;1372:16;;1441:40;1361:128;1298:191;:::o;18106:186::-;-1:-1:-1;;;;;18189:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;18189:39:0;;;;;;;;;;18244:40;;18189:39;;:31;18244:40;;;18106:186;;:::o;20641:471::-;20731:16;;;20745:1;20731:16;;;;;;;;20707:21;;20731:16;;;;;;;;;;-1:-1:-1;20731:16:0;20707:40;;20776:4;20758;20763:1;20758:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;20758:23:0;;;-1:-1:-1;;;;;20758:23:0;;;;;20802:16;-1:-1:-1;;;;;20802:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20792:4;20797:1;20792:7;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;20792:33:0;;;-1:-1:-1;;;;;20792:33:0;;;;;20836:63;20853:4;20868:16;20887:11;20836:8;:63::i;:::-;21053:10;;20910:194;;-1:-1:-1;;;20910:194:0;;-1:-1:-1;;;;;20910:16:0;:67;;;;;:194;;20992:11;;21018:1;;21034:4;;21053:10;;;;;21078:15;;20910:194;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20696:416;20641:471;:::o;4905:641::-;-1:-1:-1;;;;;5002:18:0;;4994:68;;;;-1:-1:-1;;;4994:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5081:16:0;;5073:64;;;;-1:-1:-1;;;5073:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5223:15:0;;5201:19;5223:15;;;;;;;;;;;5257:21;;;;5249:72;;;;-1:-1:-1;;;5249:72:0;;15549:2:1;5249:72:0;;;15531:21:1;15588:2;15568:18;;;15561:30;15627:34;15607:18;;;15600:62;-1:-1:-1;;;15678:18:1;;;15671:36;15724:19;;5249:72:0;15347:402:1;5249:72:0;-1:-1:-1;;;;;5357:15:0;;;:9;:15;;;;;;;;;;;5375:20;;;5357:38;;5410:13;;;;;;;;;;:23;;;;;;5462:26;;1614:25:1;;;5410:13:0;;5462:26;;1587:18:1;5462:26:0;;;;;;;5501:37;21796:310;21421:367;21460:23;21486:24;21504:4;21486:9;:24::i;:::-;21460:50;;21525:15;21544:1;21525:20;21521:59;;21562:7;21421:367::o;21521:59::-;21660:18;;21613:15;;21645:33;;21641:99;;;-1:-1:-1;21710:18:0;;21641:99;21750:30;21767:12;21750:16;:30::i;13403:98::-;13461:7;13488:5;13492:1;13488;:5;:::i;:::-;13481:12;13403:98;-1:-1:-1;;;13403:98:0:o;13509:::-;13567:7;13594:5;13598:1;13594;: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:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:248::-;1283:6;1291;1344:2;1332:9;1323:7;1319:23;1315:32;1312:52;;;1360:1;1357;1350:12;1312:52;-1:-1:-1;;1383:23:1;;;1453:2;1438:18;;;1425:32;;-1:-1:-1;1215:248:1:o;1650:456::-;1727:6;1735;1743;1796:2;1784:9;1775:7;1771:23;1767:32;1764:52;;;1812:1;1809;1802:12;1764:52;1851:9;1838:23;1870:31;1895:5;1870:31;:::i;:::-;1920:5;-1:-1:-1;1977:2:1;1962:18;;1949:32;1990:33;1949:32;1990:33;:::i;:::-;1650:456;;2042:7;;-1:-1:-1;;;2096:2:1;2081:18;;;;2068:32;;1650:456::o;2300:180::-;2359:6;2412:2;2400:9;2391:7;2387:23;2383:32;2380:52;;;2428:1;2425;2418:12;2380:52;-1:-1:-1;2451:23:1;;2300:180;-1:-1:-1;2300:180:1:o;2693:247::-;2752:6;2805:2;2793:9;2784:7;2780:23;2776:32;2773:52;;;2821:1;2818;2811:12;2773:52;2860:9;2847:23;2879:31;2904:5;2879:31;:::i;3180:118::-;3266:5;3259:13;3252:21;3245:5;3242:32;3232:60;;3288:1;3285;3278:12;3303:382;3368:6;3376;3429:2;3417:9;3408:7;3404:23;3400:32;3397:52;;;3445:1;3442;3435:12;3397:52;3484:9;3471:23;3503:31;3528:5;3503:31;:::i;:::-;3553:5;-1:-1:-1;3610:2:1;3595:18;;3582:32;3623:30;3582:32;3623:30;:::i;:::-;3672:7;3662:17;;;3303:382;;;;;:::o;3690:388::-;3758:6;3766;3819:2;3807:9;3798:7;3794:23;3790:32;3787:52;;;3835:1;3832;3825:12;3787:52;3874:9;3861:23;3893:31;3918:5;3893:31;:::i;:::-;3943:5;-1:-1:-1;4000:2:1;3985:18;;3972:32;4013:33;3972:32;4013:33;:::i;4083:380::-;4162:1;4158:12;;;;4205;;;4226:61;;4280:4;4272:6;4268:17;4258:27;;4226:61;4333:2;4325:6;4322:14;4302:18;4299:38;4296:161;;4379:10;4374:3;4370:20;4367:1;4360:31;4414:4;4411:1;4404:15;4442:4;4439:1;4432:15;4296:161;;4083:380;;;:::o;4468:127::-;4529:10;4524:3;4520:20;4517:1;4510:31;4560:4;4557:1;4550:15;4584:4;4581:1;4574:15;4600:125;4665:9;;;4686:10;;;4683:36;;;4699:18;;:::i;5562:168::-;5635:9;;;5666;;5683:15;;;5677:22;;5663:37;5653:71;;5704:18;;:::i;5735:217::-;5775:1;5801;5791:132;;5845:10;5840:3;5836:20;5833:1;5826:31;5880:4;5877:1;5870:15;5908:4;5905:1;5898:15;5791:132;-1:-1:-1;5937:9:1;;5735:217::o;7074:251::-;7144:6;7197:2;7185:9;7176:7;7172:23;7168:32;7165:52;;;7213:1;7210;7203:12;7165:52;7245:9;7239:16;7264:31;7289:5;7264:31;:::i;8251:306::-;8339:6;8347;8355;8408:2;8396:9;8387:7;8383:23;8379:32;8376:52;;;8424:1;8421;8414:12;8376:52;8453:9;8447:16;8437:26;;8503:2;8492:9;8488:18;8482:25;8472:35;;8547:2;8536:9;8532:18;8526:25;8516:35;;8251:306;;;;;:::o;8841:245::-;8908:6;8961:2;8949:9;8940:7;8936:23;8932:32;8929:52;;;8977:1;8974;8967:12;8929:52;9009:9;9003:16;9028:28;9050:5;9028:28;:::i;10618:401::-;10820:2;10802:21;;;10859:2;10839:18;;;10832:30;10898:34;10893:2;10878:18;;10871:62;-1:-1:-1;;;10964:2:1;10949:18;;10942:35;11009:3;10994:19;;10618:401::o;11024:399::-;11226:2;11208:21;;;11265:2;11245:18;;;11238:30;11304:34;11299:2;11284:18;;11277:62;-1:-1:-1;;;11370:2:1;11355:18;;11348:33;11413:3;11398:19;;11024:399::o;13160:128::-;13227:9;;;13248:11;;;13245:37;;;13262:18;;:::i;14230:127::-;14291:10;14286:3;14282:20;14279:1;14272:31;14322:4;14319:1;14312:15;14346:4;14343:1;14336:15;14362:980;14624:4;14672:3;14661:9;14657:19;14703:6;14692:9;14685:25;14729:2;14767:6;14762:2;14751:9;14747:18;14740:34;14810:3;14805:2;14794:9;14790:18;14783:31;14834:6;14869;14863:13;14900:6;14892;14885:22;14938:3;14927:9;14923:19;14916:26;;14977:2;14969:6;14965:15;14951:29;;14998:1;15008:195;15022:6;15019:1;15016:13;15008:195;;;15087:13;;-1:-1:-1;;;;;15083:39:1;15071:52;;15178:15;;;;15143:12;;;;15119:1;15037:9;15008:195;;;-1:-1:-1;;;;;;;15259:32:1;;;;15254:2;15239:18;;15232:60;-1:-1:-1;;;15323:3:1;15308:19;15301:35;15220:3;14362:980;-1:-1:-1;;;14362:980:1:o

Swarm Source

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