ETH Price: $3,465.48 (+0.41%)

Token

gnome child (gnome)
 

Overview

Max Total Supply

420,696,969 gnome

Holders

194

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 gnome

Value
$0.00
0x18a0a25a8c1aad394f70bccf1bf8be107236eebb
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:
gnomechild

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-10
*/

/**

gnome child

Gnoming the world, Wilderness to Grand Exchange!

https://t.me/gnomechildETH
https://www.gnomechildeth.com
https://twitter.com/gnomechildeth

Final 1/1 Tax

*/

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

contract gnomechild is IERC20, Ownable {
    string private constant _name = "gnome child";
    string private constant _symbol = "gnome";
    uint8 private constant _decimals = 9;

    uint256 private constant _totalSupply = 420696969 * 10 ** 9;
    uint256 private constant _maxFee = 70; //Highest Tax can be set

    uint256 public _maxTxAmount = 420696 * 10 ** 9;
    uint256 public _maxWalletSize = 420696 * 10 ** 9;
    uint256 public _swapTokensAtAmount = 420696 * 10 ** 9;
    uint256 private _taxFeeOnBuy = 30; //Launch Tax - Final Buy Tax is 1
    uint256 private _taxFeeOnSell = 40; //Launch Tax - Final Sell Tax is 1

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;

    address payable private constant _developmentAddress =
        payable(0xe4FDf6abC8E0D0c7DFdE861e333d866Dd2f76107);
    address payable private constant _marketingAddress =
        payable(0xe4FDf6abC8E0D0c7DFdE861e333d866Dd2f76107);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private inSwap = false;

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

    constructor() {
        _balances[_msgSender()] = _totalSupply;

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

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

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

    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
        _transfer(sender, recipient, amount);
        return true;
    }

    // private

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {
            if (
                to != _marketingAddress &&
                from != _marketingAddress &&
                to != _developmentAddress &&
                from != _developmentAddress
            ) {
                require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            }

            if (
                to != uniswapV2Pair &&
                to != _marketingAddress &&
                from != _marketingAddress &&
                to != _developmentAddress &&
                from != _developmentAddress
            ) {
                require(
                    balanceOf(to) + amount < _maxWalletSize,
                    "TOKEN: Balance exceeds wallet size!"
                );
            }
            uint256 contractTokenBalance = balanceOf(address(this));

            if (contractTokenBalance >= _maxTxAmount) {
                contractTokenBalance = _maxTxAmount;
            }

            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if (
                canSwap &&
                !inSwap &&
                from != uniswapV2Pair &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                swapTokensForEth(contractTokenBalance);

                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    _marketingAddress.transfer(address(this).balance);
                }
            }
        }

        //Transfer Tokens
        uint256 _taxFee = 0;
        if (
            (_isExcludedFromFee[from] || _isExcludedFromFee[to]) ||
            (from != uniswapV2Pair && to != uniswapV2Pair)
        ) {
            _taxFee = 0;
        } else {
            //Set Fee for Buys
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnSell;
            }
        }

        _tokenTransfer(from, to, amount, _taxFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        uint256 tax
    ) private {
        uint256 tTeam = (amount * tax) / 100;
        uint256 tTransferAmount = amount - tTeam;
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + tTransferAmount;
        if (tTeam > 0) {
            _balances[address(this)] = _balances[address(this)] + tTeam;
            emit Transfer(sender, address(this), tTeam);
        }
        emit Transfer(sender, recipient, tTransferAmount);
    }

    // onlyOwner external

    function setFee(
        uint256 taxFeeOnBuy,
        uint256 taxFeeOnSell
    ) external onlyOwner {
        require(taxFeeOnBuy <= _maxFee, "Fee is too high");
        require(taxFeeOnSell <= _maxFee, "Fee is too high");

        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Remove all TX and Wallet Limits
    function removeLimits() external onlyOwner {
        _maxTxAmount = _totalSupply;
        _maxWalletSize = _totalSupply;
    }

    //1% TX and Wallet Limits
    function increaseLimits1() external onlyOwner {
        _maxTxAmount = 4206960 * 10 ** 9;
        _maxWalletSize = 4206960 * 10 ** 9;
    }

    //2% TX and Wallet Limits
    function increaseLimits2() external onlyOwner {
        _maxTxAmount = 8413920 * 10 ** 9;
        _maxWalletSize = 8413920 * 10 ** 9;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(
        uint256 swapTokensAtAmount
    ) external onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

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

    // Send the current ETH balance to the marketing address
    function cleanContractETH() external {
        uint256 contractETHBalance = address(this).balance;
        if (contractETHBalance > 0) {
            _marketingAddress.transfer(contractETHBalance);
        }
    }

    // Send the current token balance to the marketing address
    function cleanContractTokens() external {
        uint256 contractTokenBalance = balanceOf(address(this));
        if (contractTokenBalance > 0) {
            _tokenTransfer(
                address(this),
                _marketingAddress,
                contractTokenBalance,
                0
            );
        }
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cleanContractETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cleanContractTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"increaseLimits1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"increaseLimits2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405266017e9eeba3700060018190556002819055600355601e6004556028600555600a805460ff60a01b191690553480156200003d57600080fd5b506200004933620002ec565b336000908152600660209081526040918290206705d69daa13541a009055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a0155926004808301939192829003018186803b158015620000c357600080fd5b505afa158015620000d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000fe91906200033c565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200015c57600080fd5b505afa15801562000171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019791906200033c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620001e057600080fd5b505af1158015620001f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021b91906200033c565b600a80546001600160a01b0319166001600160a01b03928316179055600080549091168152600860209081526040808320805460ff199081166001908117909255308552828520805482168317905573e4fdf6abc8e0d0c7dfde861e333d866dd2f7610785527f4bfaff37278116e4aac956803c3fefc117ee061d29bfc69de4edf04b9201b3f280549091169091179055516705d69daa13541a0081523392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200036e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200034f57600080fd5b81516001600160a01b03811681146200036757600080fd5b9392505050565b6115d2806200037e6000396000f3fe60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063bbb7af891161008a578063d5a7d49e11610064578063d5a7d49e1461043f578063dd62ed3e14610454578063ed7e38aa1461049a578063f2fde38b146104af57600080fd5b8063bbb7af89146103f5578063c492f0461461040a578063cf950f4a1461042a57600080fd5b80637d1db4a51461033d5780638da5cb5b146103535780638f9a55c01461037157806395d89b411461038757806398a5c315146103b5578063a9059cbb146103d557600080fd5b8063313ce56711610123578063313ce5671461027f57806349bd5a5e1461029b57806352f7c988146102bb57806370a08231146102dd578063715018a614610313578063751039fc1461032857600080fd5b806306fdde0314610176578063095ea7b3146101bc5780631694505e146101ec57806318160ddd1461022457806323b872dd146102495780632fd689e31461026957600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600b81526a19db9bdb594818da1a5b1960aa1b60208201525b6040516101b3919061125d565b60405180910390f35b3480156101c857600080fd5b506101dc6101d73660046112c7565b6104cf565b60405190151581526020016101b3565b3480156101f857600080fd5b5060095461020c906001600160a01b031681565b6040516001600160a01b0390911681526020016101b3565b34801561023057600080fd5b506705d69daa13541a005b6040519081526020016101b3565b34801561025557600080fd5b506101dc6102643660046112f3565b6104e5565b34801561027557600080fd5b5061023b60035481565b34801561028b57600080fd5b50604051600981526020016101b3565b3480156102a757600080fd5b50600a5461020c906001600160a01b031681565b3480156102c757600080fd5b506102db6102d6366004611334565b610592565b005b3480156102e957600080fd5b5061023b6102f8366004611356565b6001600160a01b031660009081526006602052604090205490565b34801561031f57600080fd5b506102db61062b565b34801561033457600080fd5b506102db61063f565b34801561034957600080fd5b5061023b60015481565b34801561035f57600080fd5b506000546001600160a01b031661020c565b34801561037d57600080fd5b5061023b60025481565b34801561039357600080fd5b50604080518082019091526005815264676e6f6d6560d81b60208201526101a6565b3480156103c157600080fd5b506102db6103d036600461137a565b61065a565b3480156103e157600080fd5b506101dc6103f03660046112c7565b610667565b34801561040157600080fd5b506102db610674565b34801561041657600080fd5b506102db610425366004611393565b61068e565b34801561043657600080fd5b506102db61070d565b34801561044b57600080fd5b506102db610727565b34801561046057600080fd5b5061023b61046f36600461141e565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156104a657600080fd5b506102db610761565b3480156104bb57600080fd5b506102db6104ca366004611356565b6107ad565b60006104dc338484610823565b50600192915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120548281101561056f5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61057c8533858403610823565b610587858585610947565b506001949350505050565b61059a610ec4565b60468211156105dd5760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610566565b60468111156106205760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610566565b600491909155600555565b610633610ec4565b61063d6000610f1e565b565b610647610ec4565b6705d69daa13541a006001819055600255565b610662610ec4565b600355565b60006104dc338484610947565b61067c610ec4565b660ef235346260006001819055600255565b610696610ec4565b60005b828110156107075781600860008686858181106106b8576106b8611457565b90506020020160208101906106cd9190611356565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106ff81611483565b915050610699565b50505050565b610715610ec4565b661de46a68c4c0006001819055600255565b30600090815260066020526040902054801561075e5761075e3073e4fdf6abc8e0d0c7dfde861e333d866dd2f76107836000610f6e565b50565b47801561075e5760405173e4fdf6abc8e0d0c7dfde861e333d866dd2f761079082156108fc029083906000818181858888f193505050501580156107a9573d6000803e3d6000fd5b5050565b6107b5610ec4565b6001600160a01b03811661081a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610566565b61075e81610f1e565b6001600160a01b0383166108855760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610566565b6001600160a01b0382166108e65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610566565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109ab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610566565b6001600160a01b038216610a0d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610566565b60008111610a6f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610566565b6000546001600160a01b03848116911614801590610a9b57506000546001600160a01b03838116911614155b15610dd0576001600160a01b03821673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714801590610aea57506001600160a01b03831673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b8015610b1357506001600160a01b03821673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b8015610b3c57506001600160a01b03831673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b15610b9357600154811115610b935760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610566565b600a546001600160a01b03838116911614801590610bce57506001600160a01b03821673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b8015610bf757506001600160a01b03831673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b8015610c2057506001600160a01b03821673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b8015610c4957506001600160a01b03831673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b15610cd45760025481610c71846001600160a01b031660009081526006602052604090205490565b610c7b919061149e565b10610cd45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610566565b306000908152600660205260409020546001548110610cf257506001545b60035481108015908190610d105750600a54600160a01b900460ff16155b8015610d2a5750600a546001600160a01b03868116911614155b8015610d4f57506001600160a01b03851660009081526008602052604090205460ff16155b8015610d7457506001600160a01b03841660009081526008602052604090205460ff16155b15610dcd57610d82826110d4565b478015610dcb5760405173e4fdf6abc8e0d0c7dfde861e333d866dd2f76107904780156108fc02916000818181858888f19350505050158015610dc9573d6000803e3d6000fd5b505b505b50505b6001600160a01b03831660009081526008602052604081205460ff1680610e0f57506001600160a01b03831660009081526008602052604090205460ff165b80610e415750600a546001600160a01b03858116911614801590610e415750600a546001600160a01b03848116911614155b15610e4e57506000610eb8565b600a546001600160a01b038581169116148015610e7957506009546001600160a01b03848116911614155b15610e8357506004545b600a546001600160a01b038481169116148015610eae57506009546001600160a01b03858116911614155b15610eb857506005545b61070784848484610f6e565b6000546001600160a01b0316331461063d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610566565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006064610f7c83856114b6565b610f8691906114d5565b90506000610f9482856114f7565b6001600160a01b038716600090815260066020526040902054909150610fbb9085906114f7565b6001600160a01b038088166000908152600660205260408082209390935590871681522054610feb90829061149e565b6001600160a01b038616600090815260066020526040902055811561107f573060009081526006602052604090205461102590839061149e565b30600081815260066020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110769086815260200190565b60405180910390a35b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110c491815260200190565b60405180910390a3505050505050565b600a805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061111c5761111c611457565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561117057600080fd5b505afa158015611184573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a8919061150e565b816001815181106111bb576111bb611457565b6001600160a01b0392831660209182029290920101526009546111e19130911684610823565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061121a90859060009086903090429060040161152b565b600060405180830381600087803b15801561123457600080fd5b505af1158015611248573d6000803e3d6000fd5b5050600a805460ff60a01b1916905550505050565b600060208083528351808285015260005b8181101561128a5785810183015185820160400152820161126e565b8181111561129c576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461075e57600080fd5b600080604083850312156112da57600080fd5b82356112e5816112b2565b946020939093013593505050565b60008060006060848603121561130857600080fd5b8335611313816112b2565b92506020840135611323816112b2565b929592945050506040919091013590565b6000806040838503121561134757600080fd5b50508035926020909101359150565b60006020828403121561136857600080fd5b8135611373816112b2565b9392505050565b60006020828403121561138c57600080fd5b5035919050565b6000806000604084860312156113a857600080fd5b833567ffffffffffffffff808211156113c057600080fd5b818601915086601f8301126113d457600080fd5b8135818111156113e357600080fd5b8760208260051b85010111156113f857600080fd5b60209283019550935050840135801515811461141357600080fd5b809150509250925092565b6000806040838503121561143157600080fd5b823561143c816112b2565b9150602083013561144c816112b2565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156114975761149761146d565b5060010190565b600082198211156114b1576114b161146d565b500190565b60008160001904831182151516156114d0576114d061146d565b500290565b6000826114f257634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156115095761150961146d565b500390565b60006020828403121561152057600080fd5b8151611373816112b2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561157b5784516001600160a01b031683529383019391830191600101611556565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122005dc5d5f1492bb8e30dd32b81c93acc3d187f77078ccefd6fe86805fa3f19b4064736f6c63430008090033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063bbb7af891161008a578063d5a7d49e11610064578063d5a7d49e1461043f578063dd62ed3e14610454578063ed7e38aa1461049a578063f2fde38b146104af57600080fd5b8063bbb7af89146103f5578063c492f0461461040a578063cf950f4a1461042a57600080fd5b80637d1db4a51461033d5780638da5cb5b146103535780638f9a55c01461037157806395d89b411461038757806398a5c315146103b5578063a9059cbb146103d557600080fd5b8063313ce56711610123578063313ce5671461027f57806349bd5a5e1461029b57806352f7c988146102bb57806370a08231146102dd578063715018a614610313578063751039fc1461032857600080fd5b806306fdde0314610176578063095ea7b3146101bc5780631694505e146101ec57806318160ddd1461022457806323b872dd146102495780632fd689e31461026957600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600b81526a19db9bdb594818da1a5b1960aa1b60208201525b6040516101b3919061125d565b60405180910390f35b3480156101c857600080fd5b506101dc6101d73660046112c7565b6104cf565b60405190151581526020016101b3565b3480156101f857600080fd5b5060095461020c906001600160a01b031681565b6040516001600160a01b0390911681526020016101b3565b34801561023057600080fd5b506705d69daa13541a005b6040519081526020016101b3565b34801561025557600080fd5b506101dc6102643660046112f3565b6104e5565b34801561027557600080fd5b5061023b60035481565b34801561028b57600080fd5b50604051600981526020016101b3565b3480156102a757600080fd5b50600a5461020c906001600160a01b031681565b3480156102c757600080fd5b506102db6102d6366004611334565b610592565b005b3480156102e957600080fd5b5061023b6102f8366004611356565b6001600160a01b031660009081526006602052604090205490565b34801561031f57600080fd5b506102db61062b565b34801561033457600080fd5b506102db61063f565b34801561034957600080fd5b5061023b60015481565b34801561035f57600080fd5b506000546001600160a01b031661020c565b34801561037d57600080fd5b5061023b60025481565b34801561039357600080fd5b50604080518082019091526005815264676e6f6d6560d81b60208201526101a6565b3480156103c157600080fd5b506102db6103d036600461137a565b61065a565b3480156103e157600080fd5b506101dc6103f03660046112c7565b610667565b34801561040157600080fd5b506102db610674565b34801561041657600080fd5b506102db610425366004611393565b61068e565b34801561043657600080fd5b506102db61070d565b34801561044b57600080fd5b506102db610727565b34801561046057600080fd5b5061023b61046f36600461141e565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156104a657600080fd5b506102db610761565b3480156104bb57600080fd5b506102db6104ca366004611356565b6107ad565b60006104dc338484610823565b50600192915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120548281101561056f5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61057c8533858403610823565b610587858585610947565b506001949350505050565b61059a610ec4565b60468211156105dd5760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610566565b60468111156106205760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610566565b600491909155600555565b610633610ec4565b61063d6000610f1e565b565b610647610ec4565b6705d69daa13541a006001819055600255565b610662610ec4565b600355565b60006104dc338484610947565b61067c610ec4565b660ef235346260006001819055600255565b610696610ec4565b60005b828110156107075781600860008686858181106106b8576106b8611457565b90506020020160208101906106cd9190611356565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106ff81611483565b915050610699565b50505050565b610715610ec4565b661de46a68c4c0006001819055600255565b30600090815260066020526040902054801561075e5761075e3073e4fdf6abc8e0d0c7dfde861e333d866dd2f76107836000610f6e565b50565b47801561075e5760405173e4fdf6abc8e0d0c7dfde861e333d866dd2f761079082156108fc029083906000818181858888f193505050501580156107a9573d6000803e3d6000fd5b5050565b6107b5610ec4565b6001600160a01b03811661081a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610566565b61075e81610f1e565b6001600160a01b0383166108855760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610566565b6001600160a01b0382166108e65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610566565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109ab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610566565b6001600160a01b038216610a0d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610566565b60008111610a6f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610566565b6000546001600160a01b03848116911614801590610a9b57506000546001600160a01b03838116911614155b15610dd0576001600160a01b03821673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714801590610aea57506001600160a01b03831673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b8015610b1357506001600160a01b03821673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b8015610b3c57506001600160a01b03831673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b15610b9357600154811115610b935760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610566565b600a546001600160a01b03838116911614801590610bce57506001600160a01b03821673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b8015610bf757506001600160a01b03831673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b8015610c2057506001600160a01b03821673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b8015610c4957506001600160a01b03831673e4fdf6abc8e0d0c7dfde861e333d866dd2f7610714155b15610cd45760025481610c71846001600160a01b031660009081526006602052604090205490565b610c7b919061149e565b10610cd45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610566565b306000908152600660205260409020546001548110610cf257506001545b60035481108015908190610d105750600a54600160a01b900460ff16155b8015610d2a5750600a546001600160a01b03868116911614155b8015610d4f57506001600160a01b03851660009081526008602052604090205460ff16155b8015610d7457506001600160a01b03841660009081526008602052604090205460ff16155b15610dcd57610d82826110d4565b478015610dcb5760405173e4fdf6abc8e0d0c7dfde861e333d866dd2f76107904780156108fc02916000818181858888f19350505050158015610dc9573d6000803e3d6000fd5b505b505b50505b6001600160a01b03831660009081526008602052604081205460ff1680610e0f57506001600160a01b03831660009081526008602052604090205460ff165b80610e415750600a546001600160a01b03858116911614801590610e415750600a546001600160a01b03848116911614155b15610e4e57506000610eb8565b600a546001600160a01b038581169116148015610e7957506009546001600160a01b03848116911614155b15610e8357506004545b600a546001600160a01b038481169116148015610eae57506009546001600160a01b03858116911614155b15610eb857506005545b61070784848484610f6e565b6000546001600160a01b0316331461063d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610566565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006064610f7c83856114b6565b610f8691906114d5565b90506000610f9482856114f7565b6001600160a01b038716600090815260066020526040902054909150610fbb9085906114f7565b6001600160a01b038088166000908152600660205260408082209390935590871681522054610feb90829061149e565b6001600160a01b038616600090815260066020526040902055811561107f573060009081526006602052604090205461102590839061149e565b30600081815260066020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110769086815260200190565b60405180910390a35b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110c491815260200190565b60405180910390a3505050505050565b600a805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061111c5761111c611457565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561117057600080fd5b505afa158015611184573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a8919061150e565b816001815181106111bb576111bb611457565b6001600160a01b0392831660209182029290920101526009546111e19130911684610823565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061121a90859060009086903090429060040161152b565b600060405180830381600087803b15801561123457600080fd5b505af1158015611248573d6000803e3d6000fd5b5050600a805460ff60a01b1916905550505050565b600060208083528351808285015260005b8181101561128a5785810183015185820160400152820161126e565b8181111561129c576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461075e57600080fd5b600080604083850312156112da57600080fd5b82356112e5816112b2565b946020939093013593505050565b60008060006060848603121561130857600080fd5b8335611313816112b2565b92506020840135611323816112b2565b929592945050506040919091013590565b6000806040838503121561134757600080fd5b50508035926020909101359150565b60006020828403121561136857600080fd5b8135611373816112b2565b9392505050565b60006020828403121561138c57600080fd5b5035919050565b6000806000604084860312156113a857600080fd5b833567ffffffffffffffff808211156113c057600080fd5b818601915086601f8301126113d457600080fd5b8135818111156113e357600080fd5b8760208260051b85010111156113f857600080fd5b60209283019550935050840135801515811461141357600080fd5b809150509250925092565b6000806040838503121561143157600080fd5b823561143c816112b2565b9150602083013561144c816112b2565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156114975761149761146d565b5060010190565b600082198211156114b1576114b161146d565b500190565b60008160001904831182151516156114d0576114d061146d565b500290565b6000826114f257634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156115095761150961146d565b500390565b60006020828403121561152057600080fd5b8151611373816112b2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561157b5784516001600160a01b031683529383019391830191600101611556565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122005dc5d5f1492bb8e30dd32b81c93acc3d187f77078ccefd6fe86805fa3f19b4064736f6c63430008090033

Deployed Bytecode Sourcemap

5794:9654:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7723:83;;;;;;;;;;-1:-1:-1;7793:5:0;;;;;;;;;;;;-1:-1:-1;;;7793:5:0;;;;7723:83;;;;;;;:::i;:::-;;;;;;;;8611:186;;;;;;;;;;-1:-1:-1;8611:186:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;8611:186:0;1072:187:1;6872:41:0;;;;;;;;;;-1:-1:-1;6872:41:0;;;;-1:-1:-1;;;;;6872:41:0;;;;;;-1:-1:-1;;;;;1453:32:1;;;1435:51;;1423:2;1408:18;6872:41:0;1264:228:1;8000:100:0;;;;;;;;;;-1:-1:-1;6025:19:0;8000:100;;;1643:25:1;;;1631:2;1616:18;8000:100:0;1497:177:1;8805:517:0;;;;;;;;;;-1:-1:-1;8805:517:0;;;;;:::i;:::-;;:::i;6230:53::-;;;;;;;;;;;;;;;;7909:83;;;;;;;;;;-1:-1:-1;7909:83:0;;5975:1;2282:36:1;;2270:2;2255:18;7909:83:0;2140:184:1;6920:28:0;;;;;;;;;;-1:-1:-1;6920:28:0;;;;-1:-1:-1;;;;;6920:28:0;;;13383:312;;;;;;;;;;-1:-1:-1;13383:312:0;;;;;:::i;:::-;;:::i;:::-;;8108:119;;;;;;;;;;-1:-1:-1;8108:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8201:18:0;8174:7;8201:18;;;:9;:18;;;;;;;8108:119;2166:103;;;;;;;;;;;;;:::i;13742:129::-;;;;;;;;;;;;;:::i;6122:46::-;;;;;;;;;;;;;;;;1518:87;;;;;;;;;;-1:-1:-1;1564:7:0;1591:6;-1:-1:-1;;;;;1591:6:0;1518:87;;6175:48;;;;;;;;;;;;;;;;7814:87;;;;;;;;;;-1:-1:-1;7886:7:0;;;;;;;;;;;;-1:-1:-1;;;7886:7:0;;;;7814:87;;14285:157;;;;;;;;;;-1:-1:-1;14285:157:0;;;;;:::i;:::-;;:::i;8235:192::-;;;;;;;;;;-1:-1:-1;8235:192:0;;;;;:::i;:::-;;:::i;13910:142::-;;;;;;;;;;;;;:::i;14450:262::-;;;;;;;;;;-1:-1:-1;14450:262:0;;;;;:::i;:::-;;:::i;14091:142::-;;;;;;;;;;;;;:::i;15071:337::-;;;;;;;;;;;;;:::i;8435:168::-;;;;;;;;;;-1:-1:-1;8435:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;8568:18:0;;;8541:7;8568:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8435:168;14782:217;;;;;;;;;;;;;:::i;2424:238::-;;;;;;;;;;-1:-1:-1;2424:238:0;;;;;:::i;:::-;;:::i;8611:186::-;8711:4;8728:39;898:10;8751:7;8760:6;8728:8;:39::i;:::-;-1:-1:-1;8785:4:0;8611:186;;;;:::o;8805:517::-;-1:-1:-1;;;;;8981:19:0;;8937:4;8981:19;;;:11;:19;;;;;;;;898:10;8981:33;;;;;;;;9047:26;;;;9025:116;;;;-1:-1:-1;;;9025:116:0;;4609:2:1;9025:116:0;;;4591:21:1;4648:2;4628:18;;;4621:30;4687:34;4667:18;;;4660:62;-1:-1:-1;;;4738:18:1;;;4731:38;4786:19;;9025:116:0;;;;;;;;;9177:57;9186:6;898:10;9227:6;9208:16;:25;9177:8;:57::i;:::-;9256:36;9266:6;9274:9;9285:6;9256:9;:36::i;:::-;-1:-1:-1;9310:4:0;;8805:517;-1:-1:-1;;;;8805:517:0:o;13383:312::-;1404:13;:11;:13::i;:::-;6086:2:::1;13505:11;:22;;13497:50;;;::::0;-1:-1:-1;;;13497:50:0;;5018:2:1;13497:50:0::1;::::0;::::1;5000:21:1::0;5057:2;5037:18;;;5030:30;-1:-1:-1;;;5076:18:1;;;5069:45;5131:18;;13497:50:0::1;4816:339:1::0;13497:50:0::1;6086:2;13566:12;:23;;13558:51;;;::::0;-1:-1:-1;;;13558:51:0;;5018:2:1;13558:51:0::1;::::0;::::1;5000:21:1::0;5057:2;5037:18;;;5030:30;-1:-1:-1;;;5076:18:1;;;5069:45;5131:18;;13558:51:0::1;4816:339:1::0;13558:51:0::1;13622:12;:26:::0;;;;13659:13:::1;:28:::0;13383:312::o;2166:103::-;1404:13;:11;:13::i;:::-;2231:30:::1;2258:1;2231:18;:30::i;:::-;2166:103::o:0;13742:129::-;1404:13;:11;:13::i;:::-;6025:19:::1;13796:12;:27:::0;;;13834:14:::1;:29:::0;13742:129::o;14285:157::-;1404:13;:11;:13::i;:::-;14394:19:::1;:40:::0;14285:157::o;8235:192::-;8338:4;8355:42;898:10;8379:9;8390:6;8355:9;:42::i;13910:142::-;1404:13;:11;:13::i;:::-;13982:17:::1;13967:12;:32:::0;;;14010:14:::1;:34:::0;13910:142::o;14450:262::-;1404:13;:11;:13::i;:::-;14595:9:::1;14590:115;14610:19:::0;;::::1;14590:115;;;14685:8;14651:18;:31;14670:8;;14679:1;14670:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14651:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14651:31:0;:42;;-1:-1:-1;;14651:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14631:3;::::1;::::0;::::1;:::i;:::-;;;;14590:115;;;;14450:262:::0;;;:::o;14091:142::-;1404:13;:11;:13::i;:::-;14163:17:::1;14148:12;:32:::0;;;14191:14:::1;:34:::0;14091:142::o;15071:337::-;15171:4;15122:28;8201:18;;;:9;:18;;;;;;15192:24;;15188:213;;15233:156;15274:4;6820:42;15334:20;15373:1;15233:14;:156::i;:::-;15111:297;15071:337::o;14782:217::-;14859:21;14895:22;;14891:101;;14934:46;;6820:42;;14934:46;;;;;14961:18;;14934:46;;;;14961:18;6820:42;14934:46;;;;;;;;;;;;;;;;;;;;;14819:180;14782:217::o;2424:238::-;1404:13;:11;:13::i;:::-;-1:-1:-1;;;;;2527:22:0;::::1;2505:110;;;::::0;-1:-1:-1;;;2505:110:0;;5766:2:1;2505:110:0::1;::::0;::::1;5748:21:1::0;5805:2;5785:18;;;5778:30;5844:34;5824:18;;;5817:62;-1:-1:-1;;;5895:18:1;;;5888:36;5941:19;;2505:110:0::1;5564:402:1::0;2505:110:0::1;2626:28;2645:8;2626:18;:28::i;9348:335::-:0;-1:-1:-1;;;;;9441:19:0;;9433:68;;;;-1:-1:-1;;;9433:68:0;;6173:2:1;9433:68:0;;;6155:21:1;6212:2;6192:18;;;6185:30;6251:34;6231:18;;;6224:62;-1:-1:-1;;;6302:18:1;;;6295:34;6346:19;;9433:68:0;5971:400:1;9433:68:0;-1:-1:-1;;;;;9520:21:0;;9512:68;;;;-1:-1:-1;;;9512:68:0;;6578:2:1;9512:68:0;;;6560:21:1;6617:2;6597:18;;;6590:30;6656:34;6636:18;;;6629:62;-1:-1:-1;;;6707:18:1;;;6700:32;6749:19;;9512:68:0;6376:398:1;9512:68:0;-1:-1:-1;;;;;9591:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9643:32;;1643:25:1;;;9643:32:0;;1616:18:1;9643:32:0;;;;;;;9348:335;;;:::o;9691:2553::-;-1:-1:-1;;;;;9779:18:0;;9771:68;;;;-1:-1:-1;;;9771:68:0;;6981:2:1;9771:68:0;;;6963:21:1;7020:2;7000:18;;;6993:30;7059:34;7039:18;;;7032:62;-1:-1:-1;;;7110:18:1;;;7103:35;7155:19;;9771:68:0;6779:401:1;9771:68:0;-1:-1:-1;;;;;9858:16:0;;9850:64;;;;-1:-1:-1;;;9850:64:0;;7387:2:1;9850:64:0;;;7369:21:1;7426:2;7406:18;;;7399:30;7465:34;7445:18;;;7438:62;-1:-1:-1;;;7516:18:1;;;7509:33;7559:19;;9850:64:0;7185:399:1;9850:64:0;9942:1;9933:6;:10;9925:64;;;;-1:-1:-1;;;9925:64:0;;7791:2:1;9925:64:0;;;7773:21:1;7830:2;7810:18;;;7803:30;7869:34;7849:18;;;7842:62;-1:-1:-1;;;7920:18:1;;;7913:39;7969:19;;9925:64:0;7589:405:1;9925:64:0;1564:7;1591:6;-1:-1:-1;;;;;10006:15:0;;;1591:6;;10006:15;;;;:32;;-1:-1:-1;1564:7:0;1591:6;-1:-1:-1;;;;;10025:13:0;;;1591:6;;10025:13;;10006:32;10002:1579;;;-1:-1:-1;;;;;10077:23:0;;6820:42;10077:23;;;;:69;;-1:-1:-1;;;;;;10121:25:0;;6820:42;10121:25;;10077:69;:115;;;;-1:-1:-1;;;;;;10167:25:0;;6700:42;10167:25;;10077:115;:163;;;;-1:-1:-1;;;;;;10213:27:0;;6700:42;10213:27;;10077:163;10055:299;;;10293:12;;10283:6;:22;;10275:63;;;;-1:-1:-1;;;10275:63:0;;8201:2:1;10275:63:0;;;8183:21:1;8240:2;8220:18;;;8213:30;8279;8259:18;;;8252:58;8327:18;;10275:63:0;7999:352:1;10275:63:0;10398:13;;-1:-1:-1;;;;;10392:19:0;;;10398:13;;10392:19;;;;:63;;-1:-1:-1;;;;;;10432:23:0;;6820:42;10432:23;;10392:63;:109;;;;-1:-1:-1;;;;;;10476:25:0;;6820:42;10476:25;;10392:109;:155;;;;-1:-1:-1;;;;;;10522:25:0;;6700:42;10522:25;;10392:155;:203;;;;-1:-1:-1;;;;;;10568:27:0;;6700:42;10568:27;;10392:203;10370:424;;;10685:14;;10676:6;10660:13;10670:2;-1:-1:-1;;;;;8201:18:0;8174:7;8201:18;;;:9;:18;;;;;;;8108:119;10660:13;:22;;;;:::i;:::-;:39;10630:148;;;;-1:-1:-1;;;10630:148:0;;8691:2:1;10630:148:0;;;8673:21:1;8730:2;8710:18;;;8703:30;8769:34;8749:18;;;8742:62;-1:-1:-1;;;8820:18:1;;;8813:33;8863:19;;10630:148:0;8489:399:1;10630:148:0;10857:4;10808:28;8201:18;;;:9;:18;;;;;;10908:12;;10884:36;;10880:112;;-1:-1:-1;10964:12:0;;10880:112;11047:19;;11023:43;;;;;;;11105:35;;-1:-1:-1;11134:6:0;;-1:-1:-1;;;11134:6:0;;;;11133:7;11105:35;:77;;;;-1:-1:-1;11169:13:0;;-1:-1:-1;;;;;11161:21:0;;;11169:13;;11161:21;;11105:77;:123;;;;-1:-1:-1;;;;;;11204:24:0;;;;;;:18;:24;;;;;;;;11203:25;11105:123;:167;;;;-1:-1:-1;;;;;;11250:22:0;;;;;;:18;:22;;;;;;;;11249:23;11105:167;11083:487;;;11307:38;11324:20;11307:16;:38::i;:::-;11395:21;11439:22;;11435:120;;11486:49;;6820:42;;11513:21;11486:49;;;;;;;;;11513:21;6820:42;11486:49;;;;;;;;;;;;;;;;;;;;;11435:120;11288:282;11083:487;10040:1541;;10002:1579;-1:-1:-1;;;;;11669:24:0;;11620:15;11669:24;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;11697:22:0;;;;;;:18;:22;;;;;;;;11669:50;11668:115;;;-1:-1:-1;11746:13:0;;-1:-1:-1;;;;;11738:21:0;;;11746:13;;11738:21;;;;:44;;-1:-1:-1;11769:13:0;;-1:-1:-1;;;;;11763:19:0;;;11769:13;;11763:19;;11738:44;11650:533;;;-1:-1:-1;11820:1:0;11650:533;;;11898:13;;-1:-1:-1;;;;;11890:21:0;;;11898:13;;11890:21;:55;;;;-1:-1:-1;11929:15:0;;-1:-1:-1;;;;;11915:30:0;;;11929:15;;11915:30;;11890:55;11886:118;;;-1:-1:-1;11976:12:0;;11886:118;12063:13;;-1:-1:-1;;;;;12057:19:0;;;12063:13;;12057:19;:55;;;;-1:-1:-1;12096:15:0;;-1:-1:-1;;;;;12080:32:0;;;12096:15;;12080:32;;12057:55;12053:119;;;-1:-1:-1;12143:13:0;;12053:119;12195:41;12210:4;12216:2;12220:6;12228:7;12195:14;:41::i;1683:132::-;1564:7;1591:6;-1:-1:-1;;;;;1591:6:0;898:10;1747:23;1739:68;;;;-1:-1:-1;;;1739:68:0;;9095:2:1;1739:68:0;;;9077:21:1;;;9114:18;;;9107:30;9173:34;9153:18;;;9146:62;9225:18;;1739:68:0;8893:356:1;2822:191:0;2896:16;2915:6;;-1:-1:-1;;;;;2932:17:0;;;-1:-1:-1;;;;;;2932:17:0;;;;;;2965:40;;2915:6;;;;;;;2965:40;;2896:16;2965:40;2885:128;2822:191;:::o;12743:603::-;12893:13;12926:3;12910:12;12919:3;12910:6;:12;:::i;:::-;12909:20;;;;:::i;:::-;12893:36;-1:-1:-1;12940:23:0;12966:14;12893:36;12966:6;:14;:::i;:::-;-1:-1:-1;;;;;13011:17:0;;;;;;:9;:17;;;;;;12940:40;;-1:-1:-1;13011:26:0;;13031:6;;13011:26;:::i;:::-;-1:-1:-1;;;;;12991:17:0;;;;;;;:9;:17;;;;;;:46;;;;13071:20;;;;;;;:38;;13094:15;;13071:38;:::i;:::-;-1:-1:-1;;;;;13048:20:0;;;;;;:9;:20;;;;;:61;13124:9;;13120:159;;13195:4;13177:24;;;;:9;:24;;;;;;:32;;13204:5;;13177:32;:::i;:::-;13168:4;13150:24;;;;:9;:24;;;;;;;:59;;;;13229:38;;-1:-1:-1;;;;;13229:38:0;;;;;;;13261:5;1643:25:1;;1631:2;1616:18;;1497:177;13229:38:0;;;;;;;;13120:159;13311:9;-1:-1:-1;;;;;13294:44:0;13303:6;-1:-1:-1;;;;;13294:44:0;;13322:15;13294:44;;;;1643:25:1;;1631:2;1616:18;;1497:177;13294:44:0;;;;;;;;12882:464;;12743:603;;;;:::o;12252:483::-;7027:6;:13;;-1:-1:-1;;;;7027:13:0;-1:-1:-1;;;7027:13:0;;;12354:16:::1;::::0;;12368:1:::1;12354:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12354:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12354:16:0::1;12330:40;;12399:4;12381;12386:1;12381:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12381:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12425:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12425:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12381:7;;12425:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12415:4;12420:1;12415:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12415:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12490:15:::1;::::0;12458:62:::1;::::0;12475:4:::1;::::0;12490:15:::1;12508:11:::0;12458:8:::1;:62::i;:::-;12531:15;::::0;:196:::1;::::0;-1:-1:-1;;;12531:196:0;;-1:-1:-1;;;;;12531:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12612:11;;12531:15:::1;::::0;12654:4;;12681::::1;::::0;12701:15:::1;::::0;12531:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7063:6:0;:14;;-1:-1:-1;;;;7063:14:0;;;-1:-1:-1;;;;12252:483:0:o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1679:456::-;1756:6;1764;1772;1825:2;1813:9;1804:7;1800:23;1796:32;1793:52;;;1841:1;1838;1831:12;1793:52;1880:9;1867:23;1899:31;1924:5;1899:31;:::i;:::-;1949:5;-1:-1:-1;2006:2:1;1991:18;;1978:32;2019:33;1978:32;2019:33;:::i;:::-;1679:456;;2071:7;;-1:-1:-1;;;2125:2:1;2110:18;;;;2097:32;;1679:456::o;2537:248::-;2605:6;2613;2666:2;2654:9;2645:7;2641:23;2637:32;2634:52;;;2682:1;2679;2672:12;2634:52;-1:-1:-1;;2705:23:1;;;2775:2;2760:18;;;2747:32;;-1:-1:-1;2537:248:1:o;2790:247::-;2849:6;2902:2;2890:9;2881:7;2877:23;2873:32;2870:52;;;2918:1;2915;2908:12;2870:52;2957:9;2944:23;2976:31;3001:5;2976:31;:::i;:::-;3026:5;2790:247;-1:-1:-1;;;2790:247:1:o;3042:180::-;3101:6;3154:2;3142:9;3133:7;3129:23;3125:32;3122:52;;;3170:1;3167;3160:12;3122:52;-1:-1:-1;3193:23:1;;3042:180;-1:-1:-1;3042:180:1:o;3227:782::-;3319:6;3327;3335;3388:2;3376:9;3367:7;3363:23;3359:32;3356:52;;;3404:1;3401;3394:12;3356:52;3444:9;3431:23;3473:18;3514:2;3506:6;3503:14;3500:34;;;3530:1;3527;3520:12;3500:34;3568:6;3557:9;3553:22;3543:32;;3613:7;3606:4;3602:2;3598:13;3594:27;3584:55;;3635:1;3632;3625:12;3584:55;3675:2;3662:16;3701:2;3693:6;3690:14;3687:34;;;3717:1;3714;3707:12;3687:34;3772:7;3765:4;3755:6;3752:1;3748:14;3744:2;3740:23;3736:34;3733:47;3730:67;;;3793:1;3790;3783:12;3730:67;3824:4;3816:13;;;;-1:-1:-1;3848:6:1;-1:-1:-1;;3889:20:1;;3876:34;3946:13;;3939:21;3929:32;;3919:60;;3975:1;3972;3965:12;3919:60;3998:5;3988:15;;;3227:782;;;;;:::o;4014:388::-;4082:6;4090;4143:2;4131:9;4122:7;4118:23;4114:32;4111:52;;;4159:1;4156;4149:12;4111:52;4198:9;4185:23;4217:31;4242:5;4217:31;:::i;:::-;4267:5;-1:-1:-1;4324:2:1;4309:18;;4296:32;4337:33;4296:32;4337:33;:::i;:::-;4389:7;4379:17;;;4014:388;;;;;:::o;5160:127::-;5221:10;5216:3;5212:20;5209:1;5202:31;5252:4;5249:1;5242:15;5276:4;5273:1;5266:15;5292:127;5353:10;5348:3;5344:20;5341:1;5334:31;5384:4;5381:1;5374:15;5408:4;5405:1;5398:15;5424:135;5463:3;-1:-1:-1;;5484:17:1;;5481:43;;;5504:18;;:::i;:::-;-1:-1:-1;5551:1:1;5540:13;;5424:135::o;8356:128::-;8396:3;8427:1;8423:6;8420:1;8417:13;8414:39;;;8433:18;;:::i;:::-;-1:-1:-1;8469:9:1;;8356:128::o;9254:168::-;9294:7;9360:1;9356;9352:6;9348:14;9345:1;9342:21;9337:1;9330:9;9323:17;9319:45;9316:71;;;9367:18;;:::i;:::-;-1:-1:-1;9407:9:1;;9254:168::o;9427:217::-;9467:1;9493;9483:132;;9537:10;9532:3;9528:20;9525:1;9518:31;9572:4;9569:1;9562:15;9600:4;9597:1;9590:15;9483:132;-1:-1:-1;9629:9:1;;9427:217::o;9649:125::-;9689:4;9717:1;9714;9711:8;9708:34;;;9722:18;;:::i;:::-;-1:-1:-1;9759:9:1;;9649:125::o;9911:251::-;9981:6;10034:2;10022:9;10013:7;10009:23;10005:32;10002:52;;;10050:1;10047;10040:12;10002:52;10082:9;10076:16;10101:31;10126:5;10101:31;:::i;10167:980::-;10429:4;10477:3;10466:9;10462:19;10508:6;10497:9;10490:25;10534:2;10572:6;10567:2;10556:9;10552:18;10545:34;10615:3;10610:2;10599:9;10595:18;10588:31;10639:6;10674;10668:13;10705:6;10697;10690:22;10743:3;10732:9;10728:19;10721:26;;10782:2;10774:6;10770:15;10756:29;;10803:1;10813:195;10827:6;10824:1;10821:13;10813:195;;;10892:13;;-1:-1:-1;;;;;10888:39:1;10876:52;;10983:15;;;;10948:12;;;;10924:1;10842:9;10813:195;;;-1:-1:-1;;;;;;;11064:32:1;;;;11059:2;11044:18;;11037:60;-1:-1:-1;;;11128:3:1;11113:19;11106:35;11025:3;10167:980;-1:-1:-1;;;10167:980:1:o

Swarm Source

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