ETH Price: $3,691.33 (+1.20%)
 

Overview

Max Total Supply

420,690,000,000,000 NAS

Holders

183

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,142,152,180,548.58060546875 NAS

Value
$0.00
0xcb7c9824d0739b9877a797eaeba4da7fe9f764fc
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:
NASToken

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

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

// Sources flattened with hardhat v2.7.0 https://hardhat.org

// File @openzeppelin/contracts/utils/[email protected]
// SPDX-License-Identifier: MIT

// OpenZeppelin Contracts v4.4.0 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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


// File @openzeppelin/contracts/access/[email protected]


// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
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 Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        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);
    }
}


// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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 `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, 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 `sender` to `recipient` 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 sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @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);
}


// File @openzeppelin/contracts/token/ERC20/extensions/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}


// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;



/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

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

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

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

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

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

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

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

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

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}


// File contracts/NASToken.sol



pragma solidity ^0.8.0;


contract NASToken is Ownable, ERC20 {
    bool public limited;
    uint256 public maxHoldingAmount;
    address public uniswapV2Pair;

    constructor(uint256 _totalSupply) ERC20("Not A Security", "NAS") {
        _mint(msg.sender, _totalSupply);
    }

    function setRule(bool _limited, address _uniswapV2Pair, uint256 _maxHoldingAmount) external onlyOwner {
        limited = _limited;
        uniswapV2Pair = _uniswapV2Pair;
        maxHoldingAmount = _maxHoldingAmount;
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) override internal virtual {
        if (uniswapV2Pair == address(0)) {
            require(from == owner() || to == owner(), "trading is not started");
            return;
        }

        if (limited && to != uniswapV2Pair) {
            require(super.balanceOf(to) + amount <= maxHoldingAmount, "Forbid");
        }
    }

    function burn(uint256 value) external {
        _burn(msg.sender, value);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_limited","type":"bool"},{"internalType":"address","name":"_uniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"}],"name":"setRule","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":[{"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"}]

60806040523480156200001157600080fd5b5060405162002bb438038062002bb4833981810160405281019062000037919062000603565b6040518060400160405280600e81526020017f4e6f7420412053656375726974790000000000000000000000000000000000008152506040518060400160405280600381526020017f4e41530000000000000000000000000000000000000000000000000000000000815250620000c3620000b76200010260201b60201c565b6200010a60201b60201c565b8160049081620000d49190620008a5565b508060059081620000e69190620008a5565b505050620000fb3382620001ce60201b60201c565b5062000b8b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000240576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200023790620009ed565b60405180910390fd5b62000254600083836200034760201b60201c565b806003600082825462000268919062000a3e565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002c0919062000a3e565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000327919062000a8a565b60405180910390a362000343600083836200054c60201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200046a57620003ae6200055160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620004225750620003f36200055160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b62000464576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200045b9062000af7565b60405180910390fd5b62000547565b600660009054906101000a900460ff168015620004d55750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15620005465760075481620004f5846200057a60201b6200065e1760201c565b62000501919062000a3e565b111562000545576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200053c9062000b69565b60405180910390fd5b5b5b505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080fd5b6000819050919050565b620005dd81620005c8565b8114620005e957600080fd5b50565b600081519050620005fd81620005d2565b92915050565b6000602082840312156200061c576200061b620005c3565b5b60006200062c84828501620005ec565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006b757607f821691505b602082108103620006cd57620006cc6200066f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006f8565b620007438683620006f8565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000786620007806200077a84620005c8565b6200075b565b620005c8565b9050919050565b6000819050919050565b620007a28362000765565b620007ba620007b1826200078d565b84845462000705565b825550505050565b600090565b620007d1620007c2565b620007de81848462000797565b505050565b5b818110156200080657620007fa600082620007c7565b600181019050620007e4565b5050565b601f82111562000855576200081f81620006d3565b6200082a84620006e8565b810160208510156200083a578190505b620008526200084985620006e8565b830182620007e3565b50505b505050565b600082821c905092915050565b60006200087a600019846008026200085a565b1980831691505092915050565b600062000895838362000867565b9150826002028217905092915050565b620008b08262000635565b67ffffffffffffffff811115620008cc57620008cb62000640565b5b620008d882546200069e565b620008e58282856200080a565b600060209050601f8311600181146200091d576000841562000908578287015190505b62000914858262000887565b86555062000984565b601f1984166200092d86620006d3565b60005b82811015620009575784890151825560018201915060208501945060208101905062000930565b8683101562000977578489015162000973601f89168262000867565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620009d5601f836200098c565b9150620009e2826200099d565b602082019050919050565b6000602082019050818103600083015262000a0881620009c6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000a4b82620005c8565b915062000a5883620005c8565b925082820190508082111562000a735762000a7262000a0f565b5b92915050565b62000a8481620005c8565b82525050565b600060208201905062000aa1600083018462000a79565b92915050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600062000adf6016836200098c565b915062000aec8262000aa7565b602082019050919050565b6000602082019050818103600083015262000b128162000ad0565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600062000b516006836200098c565b915062000b5e8262000b19565b602082019050919050565b6000602082019050818103600083015262000b848162000b42565b9050919050565b6120198062000b9b6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad57806395d89b411161007157806395d89b41146102fa578063a457c2d714610318578063a9059cbb14610348578063dd62ed3e14610378578063f2fde38b146103a857610121565b8063715018a61461027a5780637abf9d2614610284578063860a32ec146102a057806389f9a1d3146102be5780638da5cb5b146102dc57610121565b8063313ce567116100f4578063313ce567146101c257806339509351146101e057806342966c681461021057806349bd5a5e1461022c57806370a082311461024a57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e6103c4565b60405161013b91906114cc565b60405180910390f35b61015e60048036038101906101599190611587565b610456565b60405161016b91906115e2565b60405180910390f35b61017c610474565b604051610189919061160c565b60405180910390f35b6101ac60048036038101906101a79190611627565b61047e565b6040516101b991906115e2565b60405180910390f35b6101ca610576565b6040516101d79190611696565b60405180910390f35b6101fa60048036038101906101f59190611587565b61057f565b60405161020791906115e2565b60405180910390f35b61022a600480360381019061022591906116b1565b61062b565b005b610234610638565b60405161024191906116ed565b60405180910390f35b610264600480360381019061025f9190611708565b61065e565b604051610271919061160c565b60405180910390f35b6102826106a7565b005b61029e60048036038101906102999190611761565b61072f565b005b6102a8610812565b6040516102b591906115e2565b60405180910390f35b6102c6610825565b6040516102d3919061160c565b60405180910390f35b6102e461082b565b6040516102f191906116ed565b60405180910390f35b610302610854565b60405161030f91906114cc565b60405180910390f35b610332600480360381019061032d9190611587565b6108e6565b60405161033f91906115e2565b60405180910390f35b610362600480360381019061035d9190611587565b6109d1565b60405161036f91906115e2565b60405180910390f35b610392600480360381019061038d91906117b4565b6109ef565b60405161039f919061160c565b60405180910390f35b6103c260048036038101906103bd9190611708565b610a76565b005b6060600480546103d390611823565b80601f01602080910402602001604051908101604052809291908181526020018280546103ff90611823565b801561044c5780601f106104215761010080835404028352916020019161044c565b820191906000526020600020905b81548152906001019060200180831161042f57829003601f168201915b5050505050905090565b600061046a610463610b6d565b8484610b75565b6001905092915050565b6000600354905090565b600061048b848484610d3e565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d6610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054d906118c6565b60405180910390fd5b61056a85610562610b6d565b858403610b75565b60019150509392505050565b60006012905090565b600061062161058c610b6d565b84846002600061059a610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461061c9190611915565b610b75565b6001905092915050565b6106353382610fc0565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106af610b6d565b73ffffffffffffffffffffffffffffffffffffffff166106cd61082b565b73ffffffffffffffffffffffffffffffffffffffff1614610723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071a90611995565b60405180910390fd5b61072d6000611198565b565b610737610b6d565b73ffffffffffffffffffffffffffffffffffffffff1661075561082b565b73ffffffffffffffffffffffffffffffffffffffff16146107ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a290611995565b60405180910390fd5b82600660006101000a81548160ff02191690831515021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600781905550505050565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461086390611823565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90611823565b80156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b5050505050905090565b600080600260006108f5610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990611a27565b60405180910390fd5b6109c66109bd610b6d565b85858403610b75565b600191505092915050565b60006109e56109de610b6d565b8484610d3e565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a7e610b6d565b73ffffffffffffffffffffffffffffffffffffffff16610a9c61082b565b73ffffffffffffffffffffffffffffffffffffffff1614610af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae990611995565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5890611ab9565b60405180910390fd5b610b6a81611198565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb90611b4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611bdd565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d31919061160c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490611c6f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1390611d01565b60405180910390fd5b610e2783838361125c565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea590611d93565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f439190611915565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fa7919061160c565b60405180910390a3610fba848484611437565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690611e25565b60405180910390fd5b61103b8260008361125c565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b990611eb7565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461111a9190611ed7565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161117f919061160c565b60405180910390a361119383600084611437565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611369576112ba61082b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061132557506112f661082b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135b90611f57565b60405180910390fd5b611432565b600660009054906101000a900460ff1680156113d35750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561143157600754816113e58461065e565b6113ef9190611915565b1115611430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142790611fc3565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561147657808201518184015260208101905061145b565b60008484015250505050565b6000601f19601f8301169050919050565b600061149e8261143c565b6114a88185611447565b93506114b8818560208601611458565b6114c181611482565b840191505092915050565b600060208201905081810360008301526114e68184611493565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061151e826114f3565b9050919050565b61152e81611513565b811461153957600080fd5b50565b60008135905061154b81611525565b92915050565b6000819050919050565b61156481611551565b811461156f57600080fd5b50565b6000813590506115818161155b565b92915050565b6000806040838503121561159e5761159d6114ee565b5b60006115ac8582860161153c565b92505060206115bd85828601611572565b9150509250929050565b60008115159050919050565b6115dc816115c7565b82525050565b60006020820190506115f760008301846115d3565b92915050565b61160681611551565b82525050565b600060208201905061162160008301846115fd565b92915050565b6000806000606084860312156116405761163f6114ee565b5b600061164e8682870161153c565b935050602061165f8682870161153c565b925050604061167086828701611572565b9150509250925092565b600060ff82169050919050565b6116908161167a565b82525050565b60006020820190506116ab6000830184611687565b92915050565b6000602082840312156116c7576116c66114ee565b5b60006116d584828501611572565b91505092915050565b6116e781611513565b82525050565b600060208201905061170260008301846116de565b92915050565b60006020828403121561171e5761171d6114ee565b5b600061172c8482850161153c565b91505092915050565b61173e816115c7565b811461174957600080fd5b50565b60008135905061175b81611735565b92915050565b60008060006060848603121561177a576117796114ee565b5b60006117888682870161174c565b93505060206117998682870161153c565b92505060406117aa86828701611572565b9150509250925092565b600080604083850312156117cb576117ca6114ee565b5b60006117d98582860161153c565b92505060206117ea8582860161153c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061183b57607f821691505b60208210810361184e5761184d6117f4565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006118b0602883611447565b91506118bb82611854565b604082019050919050565b600060208201905081810360008301526118df816118a3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061192082611551565b915061192b83611551565b9250828201905080821115611943576119426118e6565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061197f602083611447565b915061198a82611949565b602082019050919050565b600060208201905081810360008301526119ae81611972565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611a11602583611447565b9150611a1c826119b5565b604082019050919050565b60006020820190508181036000830152611a4081611a04565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611aa3602683611447565b9150611aae82611a47565b604082019050919050565b60006020820190508181036000830152611ad281611a96565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611b35602483611447565b9150611b4082611ad9565b604082019050919050565b60006020820190508181036000830152611b6481611b28565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611bc7602283611447565b9150611bd282611b6b565b604082019050919050565b60006020820190508181036000830152611bf681611bba565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611c59602583611447565b9150611c6482611bfd565b604082019050919050565b60006020820190508181036000830152611c8881611c4c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611ceb602383611447565b9150611cf682611c8f565b604082019050919050565b60006020820190508181036000830152611d1a81611cde565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611d7d602683611447565b9150611d8882611d21565b604082019050919050565b60006020820190508181036000830152611dac81611d70565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e0f602183611447565b9150611e1a82611db3565b604082019050919050565b60006020820190508181036000830152611e3e81611e02565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ea1602283611447565b9150611eac82611e45565b604082019050919050565b60006020820190508181036000830152611ed081611e94565b9050919050565b6000611ee282611551565b9150611eed83611551565b9250828203905081811115611f0557611f046118e6565b5b92915050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b6000611f41601683611447565b9150611f4c82611f0b565b602082019050919050565b60006020820190508181036000830152611f7081611f34565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b6000611fad600683611447565b9150611fb882611f77565b602082019050919050565b60006020820190508181036000830152611fdc81611fa0565b905091905056fea26469706673582212205ddc3be6090ae1ad55d684fec6470bba7cc4d59c6360133423df571981b83e0f64736f6c6343000812003300000000000000000000000000000000000014bddab3e51a57cff87a50000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad57806395d89b411161007157806395d89b41146102fa578063a457c2d714610318578063a9059cbb14610348578063dd62ed3e14610378578063f2fde38b146103a857610121565b8063715018a61461027a5780637abf9d2614610284578063860a32ec146102a057806389f9a1d3146102be5780638da5cb5b146102dc57610121565b8063313ce567116100f4578063313ce567146101c257806339509351146101e057806342966c681461021057806349bd5a5e1461022c57806370a082311461024a57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e6103c4565b60405161013b91906114cc565b60405180910390f35b61015e60048036038101906101599190611587565b610456565b60405161016b91906115e2565b60405180910390f35b61017c610474565b604051610189919061160c565b60405180910390f35b6101ac60048036038101906101a79190611627565b61047e565b6040516101b991906115e2565b60405180910390f35b6101ca610576565b6040516101d79190611696565b60405180910390f35b6101fa60048036038101906101f59190611587565b61057f565b60405161020791906115e2565b60405180910390f35b61022a600480360381019061022591906116b1565b61062b565b005b610234610638565b60405161024191906116ed565b60405180910390f35b610264600480360381019061025f9190611708565b61065e565b604051610271919061160c565b60405180910390f35b6102826106a7565b005b61029e60048036038101906102999190611761565b61072f565b005b6102a8610812565b6040516102b591906115e2565b60405180910390f35b6102c6610825565b6040516102d3919061160c565b60405180910390f35b6102e461082b565b6040516102f191906116ed565b60405180910390f35b610302610854565b60405161030f91906114cc565b60405180910390f35b610332600480360381019061032d9190611587565b6108e6565b60405161033f91906115e2565b60405180910390f35b610362600480360381019061035d9190611587565b6109d1565b60405161036f91906115e2565b60405180910390f35b610392600480360381019061038d91906117b4565b6109ef565b60405161039f919061160c565b60405180910390f35b6103c260048036038101906103bd9190611708565b610a76565b005b6060600480546103d390611823565b80601f01602080910402602001604051908101604052809291908181526020018280546103ff90611823565b801561044c5780601f106104215761010080835404028352916020019161044c565b820191906000526020600020905b81548152906001019060200180831161042f57829003601f168201915b5050505050905090565b600061046a610463610b6d565b8484610b75565b6001905092915050565b6000600354905090565b600061048b848484610d3e565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d6610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054d906118c6565b60405180910390fd5b61056a85610562610b6d565b858403610b75565b60019150509392505050565b60006012905090565b600061062161058c610b6d565b84846002600061059a610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461061c9190611915565b610b75565b6001905092915050565b6106353382610fc0565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106af610b6d565b73ffffffffffffffffffffffffffffffffffffffff166106cd61082b565b73ffffffffffffffffffffffffffffffffffffffff1614610723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071a90611995565b60405180910390fd5b61072d6000611198565b565b610737610b6d565b73ffffffffffffffffffffffffffffffffffffffff1661075561082b565b73ffffffffffffffffffffffffffffffffffffffff16146107ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a290611995565b60405180910390fd5b82600660006101000a81548160ff02191690831515021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600781905550505050565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461086390611823565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90611823565b80156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b5050505050905090565b600080600260006108f5610b6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990611a27565b60405180910390fd5b6109c66109bd610b6d565b85858403610b75565b600191505092915050565b60006109e56109de610b6d565b8484610d3e565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a7e610b6d565b73ffffffffffffffffffffffffffffffffffffffff16610a9c61082b565b73ffffffffffffffffffffffffffffffffffffffff1614610af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae990611995565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5890611ab9565b60405180910390fd5b610b6a81611198565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb90611b4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611bdd565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d31919061160c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490611c6f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1390611d01565b60405180910390fd5b610e2783838361125c565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea590611d93565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f439190611915565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fa7919061160c565b60405180910390a3610fba848484611437565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690611e25565b60405180910390fd5b61103b8260008361125c565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b990611eb7565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461111a9190611ed7565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161117f919061160c565b60405180910390a361119383600084611437565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611369576112ba61082b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061132557506112f661082b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135b90611f57565b60405180910390fd5b611432565b600660009054906101000a900460ff1680156113d35750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561143157600754816113e58461065e565b6113ef9190611915565b1115611430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142790611fc3565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561147657808201518184015260208101905061145b565b60008484015250505050565b6000601f19601f8301169050919050565b600061149e8261143c565b6114a88185611447565b93506114b8818560208601611458565b6114c181611482565b840191505092915050565b600060208201905081810360008301526114e68184611493565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061151e826114f3565b9050919050565b61152e81611513565b811461153957600080fd5b50565b60008135905061154b81611525565b92915050565b6000819050919050565b61156481611551565b811461156f57600080fd5b50565b6000813590506115818161155b565b92915050565b6000806040838503121561159e5761159d6114ee565b5b60006115ac8582860161153c565b92505060206115bd85828601611572565b9150509250929050565b60008115159050919050565b6115dc816115c7565b82525050565b60006020820190506115f760008301846115d3565b92915050565b61160681611551565b82525050565b600060208201905061162160008301846115fd565b92915050565b6000806000606084860312156116405761163f6114ee565b5b600061164e8682870161153c565b935050602061165f8682870161153c565b925050604061167086828701611572565b9150509250925092565b600060ff82169050919050565b6116908161167a565b82525050565b60006020820190506116ab6000830184611687565b92915050565b6000602082840312156116c7576116c66114ee565b5b60006116d584828501611572565b91505092915050565b6116e781611513565b82525050565b600060208201905061170260008301846116de565b92915050565b60006020828403121561171e5761171d6114ee565b5b600061172c8482850161153c565b91505092915050565b61173e816115c7565b811461174957600080fd5b50565b60008135905061175b81611735565b92915050565b60008060006060848603121561177a576117796114ee565b5b60006117888682870161174c565b93505060206117998682870161153c565b92505060406117aa86828701611572565b9150509250925092565b600080604083850312156117cb576117ca6114ee565b5b60006117d98582860161153c565b92505060206117ea8582860161153c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061183b57607f821691505b60208210810361184e5761184d6117f4565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006118b0602883611447565b91506118bb82611854565b604082019050919050565b600060208201905081810360008301526118df816118a3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061192082611551565b915061192b83611551565b9250828201905080821115611943576119426118e6565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061197f602083611447565b915061198a82611949565b602082019050919050565b600060208201905081810360008301526119ae81611972565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611a11602583611447565b9150611a1c826119b5565b604082019050919050565b60006020820190508181036000830152611a4081611a04565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611aa3602683611447565b9150611aae82611a47565b604082019050919050565b60006020820190508181036000830152611ad281611a96565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611b35602483611447565b9150611b4082611ad9565b604082019050919050565b60006020820190508181036000830152611b6481611b28565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611bc7602283611447565b9150611bd282611b6b565b604082019050919050565b60006020820190508181036000830152611bf681611bba565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611c59602583611447565b9150611c6482611bfd565b604082019050919050565b60006020820190508181036000830152611c8881611c4c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611ceb602383611447565b9150611cf682611c8f565b604082019050919050565b60006020820190508181036000830152611d1a81611cde565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611d7d602683611447565b9150611d8882611d21565b604082019050919050565b60006020820190508181036000830152611dac81611d70565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e0f602183611447565b9150611e1a82611db3565b604082019050919050565b60006020820190508181036000830152611e3e81611e02565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ea1602283611447565b9150611eac82611e45565b604082019050919050565b60006020820190508181036000830152611ed081611e94565b9050919050565b6000611ee282611551565b9150611eed83611551565b9250828203905081811115611f0557611f046118e6565b5b92915050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b6000611f41601683611447565b9150611f4c82611f0b565b602082019050919050565b60006020820190508181036000830152611f7081611f34565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b6000611fad600683611447565b9150611fb882611f77565b602082019050919050565b60006020820190508181036000830152611fdc81611fa0565b905091905056fea26469706673582212205ddc3be6090ae1ad55d684fec6470bba7cc4d59c6360133423df571981b83e0f64736f6c63430008120033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000014bddab3e51a57cff87a50000000

-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 420690000000000000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000014bddab3e51a57cff87a50000000


Deployed Bytecode Sourcemap

19342:1034:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9312:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11479:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10432:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12130:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10274:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13031:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20292:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19449:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10603:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2713:103;;;:::i;:::-;;19609:227;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19385:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19411:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2062:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9531:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13749:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10943:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11181:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2971:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9312:100;9366:13;9399:5;9392:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9312:100;:::o;11479:169::-;11562:4;11579:39;11588:12;:10;:12::i;:::-;11602:7;11611:6;11579:8;:39::i;:::-;11636:4;11629:11;;11479:169;;;;:::o;10432:108::-;10493:7;10520:12;;10513:19;;10432:108;:::o;12130:492::-;12270:4;12287:36;12297:6;12305:9;12316:6;12287:9;:36::i;:::-;12336:24;12363:11;:19;12375:6;12363:19;;;;;;;;;;;;;;;:33;12383:12;:10;:12::i;:::-;12363:33;;;;;;;;;;;;;;;;12336:60;;12435:6;12415:16;:26;;12407:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12522:57;12531:6;12539:12;:10;:12::i;:::-;12572:6;12553:16;:25;12522:8;:57::i;:::-;12610:4;12603:11;;;12130:492;;;;;:::o;10274:93::-;10332:5;10357:2;10350:9;;10274:93;:::o;13031:215::-;13119:4;13136:80;13145:12;:10;:12::i;:::-;13159:7;13205:10;13168:11;:25;13180:12;:10;:12::i;:::-;13168:25;;;;;;;;;;;;;;;:34;13194:7;13168:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;13136:8;:80::i;:::-;13234:4;13227:11;;13031:215;;;;:::o;20292:81::-;20341:24;20347:10;20359:5;20341;:24::i;:::-;20292:81;:::o;19449:28::-;;;;;;;;;;;;;:::o;10603:127::-;10677:7;10704:9;:18;10714:7;10704:18;;;;;;;;;;;;;;;;10697:25;;10603:127;;;:::o;2713:103::-;2293:12;:10;:12::i;:::-;2282:23;;:7;:5;:7::i;:::-;:23;;;2274:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2778:30:::1;2805:1;2778:18;:30::i;:::-;2713:103::o:0;19609:227::-;2293:12;:10;:12::i;:::-;2282:23;;:7;:5;:7::i;:::-;:23;;;2274:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19732:8:::1;19722:7;;:18;;;;;;;;;;;;;;;;;;19767:14;19751:13;;:30;;;;;;;;;;;;;;;;;;19811:17;19792:16;:36;;;;19609:227:::0;;;:::o;19385:19::-;;;;;;;;;;;;;:::o;19411:31::-;;;;:::o;2062:87::-;2108:7;2135:6;;;;;;;;;;;2128:13;;2062:87;:::o;9531:104::-;9587:13;9620:7;9613:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9531:104;:::o;13749:413::-;13842:4;13859:24;13886:11;:25;13898:12;:10;:12::i;:::-;13886:25;;;;;;;;;;;;;;;:34;13912:7;13886:34;;;;;;;;;;;;;;;;13859:61;;13959:15;13939:16;:35;;13931:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14052:67;14061:12;:10;:12::i;:::-;14075:7;14103:15;14084:16;:34;14052:8;:67::i;:::-;14150:4;14143:11;;;13749:413;;;;:::o;10943:175::-;11029:4;11046:42;11056:12;:10;:12::i;:::-;11070:9;11081:6;11046:9;:42::i;:::-;11106:4;11099:11;;10943:175;;;;:::o;11181:151::-;11270:7;11297:11;:18;11309:5;11297:18;;;;;;;;;;;;;;;:27;11316:7;11297:27;;;;;;;;;;;;;;;;11290:34;;11181:151;;;;:::o;2971:201::-;2293:12;:10;:12::i;:::-;2282:23;;:7;:5;:7::i;:::-;:23;;;2274:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3080:1:::1;3060:22;;:8;:22;;::::0;3052:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3136:28;3155:8;3136:18;:28::i;:::-;2971:201:::0;:::o;780:98::-;833:7;860:10;853:17;;780:98;:::o;17433:380::-;17586:1;17569:19;;:5;:19;;;17561:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17667:1;17648:21;;:7;:21;;;17640:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17751:6;17721:11;:18;17733:5;17721:18;;;;;;;;;;;;;;;:27;17740:7;17721:27;;;;;;;;;;;;;;;:36;;;;17789:7;17773:32;;17782:5;17773:32;;;17798:6;17773:32;;;;;;:::i;:::-;;;;;;;;17433:380;;;:::o;14652:733::-;14810:1;14792:20;;:6;:20;;;14784:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14894:1;14873:23;;:9;:23;;;14865:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14949:47;14970:6;14978:9;14989:6;14949:20;:47::i;:::-;15009:21;15033:9;:17;15043:6;15033:17;;;;;;;;;;;;;;;;15009:41;;15086:6;15069:13;:23;;15061:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15207:6;15191:13;:22;15171:9;:17;15181:6;15171:17;;;;;;;;;;;;;;;:42;;;;15259:6;15235:9;:20;15245:9;15235:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15300:9;15283:35;;15292:6;15283:35;;;15311:6;15283:35;;;;;;:::i;:::-;;;;;;;;15331:46;15351:6;15359:9;15370:6;15331:19;:46::i;:::-;14773:612;14652:733;;;:::o;16404:591::-;16507:1;16488:21;;:7;:21;;;16480:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16560:49;16581:7;16598:1;16602:6;16560:20;:49::i;:::-;16622:22;16647:9;:18;16657:7;16647:18;;;;;;;;;;;;;;;;16622:43;;16702:6;16684:14;:24;;16676:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16821:6;16804:14;:23;16783:9;:18;16793:7;16783:18;;;;;;;;;;;;;;;:44;;;;16865:6;16849:12;;:22;;;;;;;:::i;:::-;;;;;;;;16915:1;16889:37;;16898:7;16889:37;;;16919:6;16889:37;;;;;;:::i;:::-;;;;;;;;16939:48;16959:7;16976:1;16980:6;16939:19;:48::i;:::-;16469:526;16404:591;;:::o;3332:191::-;3406:16;3425:6;;;;;;;;;;;3406:25;;3451:8;3442:6;;:17;;;;;;;;;;;;;;;;;;3506:8;3475:40;;3496:8;3475:40;;;;;;;;;;;;3395:128;3332:191;:::o;19844:440::-;20016:1;19991:27;;:13;;;;;;;;;;;:27;;;19987:148;;20051:7;:5;:7::i;:::-;20043:15;;:4;:15;;;:32;;;;20068:7;:5;:7::i;:::-;20062:13;;:2;:13;;;20043:32;20035:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20117:7;;19987:148;20151:7;;;;;;;;;;;:30;;;;;20168:13;;;;;;;;;;;20162:19;;:2;:19;;;;20151:30;20147:130;;;20238:16;;20228:6;20206:19;20222:2;20206:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;20198:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20147:130;19844:440;;;;:::o;19142:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:116::-;5945:21;5960:5;5945:21;:::i;:::-;5938:5;5935:32;5925:60;;5981:1;5978;5971:12;5925:60;5875:116;:::o;5997:133::-;6040:5;6078:6;6065:20;6056:29;;6094:30;6118:5;6094:30;:::i;:::-;5997:133;;;;:::o;6136:613::-;6210:6;6218;6226;6275:2;6263:9;6254:7;6250:23;6246:32;6243:119;;;6281:79;;:::i;:::-;6243:119;6401:1;6426:50;6468:7;6459:6;6448:9;6444:22;6426:50;:::i;:::-;6416:60;;6372:114;6525:2;6551:53;6596:7;6587:6;6576:9;6572:22;6551:53;:::i;:::-;6541:63;;6496:118;6653:2;6679:53;6724:7;6715:6;6704:9;6700:22;6679:53;:::i;:::-;6669:63;;6624:118;6136:613;;;;;:::o;6755:474::-;6823:6;6831;6880:2;6868:9;6859:7;6855:23;6851:32;6848:119;;;6886:79;;:::i;:::-;6848:119;7006:1;7031:53;7076:7;7067:6;7056:9;7052:22;7031:53;:::i;:::-;7021:63;;6977:117;7133:2;7159:53;7204:7;7195:6;7184:9;7180:22;7159:53;:::i;:::-;7149:63;;7104:118;6755:474;;;;;:::o;7235:180::-;7283:77;7280:1;7273:88;7380:4;7377:1;7370:15;7404:4;7401:1;7394:15;7421:320;7465:6;7502:1;7496:4;7492:12;7482:22;;7549:1;7543:4;7539:12;7570:18;7560:81;;7626:4;7618:6;7614:17;7604:27;;7560:81;7688:2;7680:6;7677:14;7657:18;7654:38;7651:84;;7707:18;;:::i;:::-;7651:84;7472:269;7421:320;;;:::o;7747:227::-;7887:34;7883:1;7875:6;7871:14;7864:58;7956:10;7951:2;7943:6;7939:15;7932:35;7747:227;:::o;7980:366::-;8122:3;8143:67;8207:2;8202:3;8143:67;:::i;:::-;8136:74;;8219:93;8308:3;8219:93;:::i;:::-;8337:2;8332:3;8328:12;8321:19;;7980:366;;;:::o;8352:419::-;8518:4;8556:2;8545:9;8541:18;8533:26;;8605:9;8599:4;8595:20;8591:1;8580:9;8576:17;8569:47;8633:131;8759:4;8633:131;:::i;:::-;8625:139;;8352:419;;;:::o;8777:180::-;8825:77;8822:1;8815:88;8922:4;8919:1;8912:15;8946:4;8943:1;8936:15;8963:191;9003:3;9022:20;9040:1;9022:20;:::i;:::-;9017:25;;9056:20;9074:1;9056:20;:::i;:::-;9051:25;;9099:1;9096;9092:9;9085:16;;9120:3;9117:1;9114:10;9111:36;;;9127:18;;:::i;:::-;9111:36;8963:191;;;;:::o;9160:182::-;9300:34;9296:1;9288:6;9284:14;9277:58;9160:182;:::o;9348:366::-;9490:3;9511:67;9575:2;9570:3;9511:67;:::i;:::-;9504:74;;9587:93;9676:3;9587:93;:::i;:::-;9705:2;9700:3;9696:12;9689:19;;9348:366;;;:::o;9720:419::-;9886:4;9924:2;9913:9;9909:18;9901:26;;9973:9;9967:4;9963:20;9959:1;9948:9;9944:17;9937:47;10001:131;10127:4;10001:131;:::i;:::-;9993:139;;9720:419;;;:::o;10145:224::-;10285:34;10281:1;10273:6;10269:14;10262:58;10354:7;10349:2;10341:6;10337:15;10330:32;10145:224;:::o;10375:366::-;10517:3;10538:67;10602:2;10597:3;10538:67;:::i;:::-;10531:74;;10614:93;10703:3;10614:93;:::i;:::-;10732:2;10727:3;10723:12;10716:19;;10375:366;;;:::o;10747:419::-;10913:4;10951:2;10940:9;10936:18;10928:26;;11000:9;10994:4;10990:20;10986:1;10975:9;10971:17;10964:47;11028:131;11154:4;11028:131;:::i;:::-;11020:139;;10747:419;;;:::o;11172:225::-;11312:34;11308:1;11300:6;11296:14;11289:58;11381:8;11376:2;11368:6;11364:15;11357:33;11172:225;:::o;11403:366::-;11545:3;11566:67;11630:2;11625:3;11566:67;:::i;:::-;11559:74;;11642:93;11731:3;11642:93;:::i;:::-;11760:2;11755:3;11751:12;11744:19;;11403:366;;;:::o;11775:419::-;11941:4;11979:2;11968:9;11964:18;11956:26;;12028:9;12022:4;12018:20;12014:1;12003:9;11999:17;11992:47;12056:131;12182:4;12056:131;:::i;:::-;12048:139;;11775:419;;;:::o;12200:223::-;12340:34;12336:1;12328:6;12324:14;12317:58;12409:6;12404:2;12396:6;12392:15;12385:31;12200:223;:::o;12429:366::-;12571:3;12592:67;12656:2;12651:3;12592:67;:::i;:::-;12585:74;;12668:93;12757:3;12668:93;:::i;:::-;12786:2;12781:3;12777:12;12770:19;;12429:366;;;:::o;12801:419::-;12967:4;13005:2;12994:9;12990:18;12982:26;;13054:9;13048:4;13044:20;13040:1;13029:9;13025:17;13018:47;13082:131;13208:4;13082:131;:::i;:::-;13074:139;;12801:419;;;:::o;13226:221::-;13366:34;13362:1;13354:6;13350:14;13343:58;13435:4;13430:2;13422:6;13418:15;13411:29;13226:221;:::o;13453:366::-;13595:3;13616:67;13680:2;13675:3;13616:67;:::i;:::-;13609:74;;13692:93;13781:3;13692:93;:::i;:::-;13810:2;13805:3;13801:12;13794:19;;13453:366;;;:::o;13825:419::-;13991:4;14029:2;14018:9;14014:18;14006:26;;14078:9;14072:4;14068:20;14064:1;14053:9;14049:17;14042:47;14106:131;14232:4;14106:131;:::i;:::-;14098:139;;13825:419;;;:::o;14250:224::-;14390:34;14386:1;14378:6;14374:14;14367:58;14459:7;14454:2;14446:6;14442:15;14435:32;14250:224;:::o;14480:366::-;14622:3;14643:67;14707:2;14702:3;14643:67;:::i;:::-;14636:74;;14719:93;14808:3;14719:93;:::i;:::-;14837:2;14832:3;14828:12;14821:19;;14480:366;;;:::o;14852:419::-;15018:4;15056:2;15045:9;15041:18;15033:26;;15105:9;15099:4;15095:20;15091:1;15080:9;15076:17;15069:47;15133:131;15259:4;15133:131;:::i;:::-;15125:139;;14852:419;;;:::o;15277:222::-;15417:34;15413:1;15405:6;15401:14;15394:58;15486:5;15481:2;15473:6;15469:15;15462:30;15277:222;:::o;15505:366::-;15647:3;15668:67;15732:2;15727:3;15668:67;:::i;:::-;15661:74;;15744:93;15833:3;15744:93;:::i;:::-;15862:2;15857:3;15853:12;15846:19;;15505:366;;;:::o;15877:419::-;16043:4;16081:2;16070:9;16066:18;16058:26;;16130:9;16124:4;16120:20;16116:1;16105:9;16101:17;16094:47;16158:131;16284:4;16158:131;:::i;:::-;16150:139;;15877:419;;;:::o;16302:225::-;16442:34;16438:1;16430:6;16426:14;16419:58;16511:8;16506:2;16498:6;16494:15;16487:33;16302:225;:::o;16533:366::-;16675:3;16696:67;16760:2;16755:3;16696:67;:::i;:::-;16689:74;;16772:93;16861:3;16772:93;:::i;:::-;16890:2;16885:3;16881:12;16874:19;;16533:366;;;:::o;16905:419::-;17071:4;17109:2;17098:9;17094:18;17086:26;;17158:9;17152:4;17148:20;17144:1;17133:9;17129:17;17122:47;17186:131;17312:4;17186:131;:::i;:::-;17178:139;;16905:419;;;:::o;17330:220::-;17470:34;17466:1;17458:6;17454:14;17447:58;17539:3;17534:2;17526:6;17522:15;17515:28;17330:220;:::o;17556:366::-;17698:3;17719:67;17783:2;17778:3;17719:67;:::i;:::-;17712:74;;17795:93;17884:3;17795:93;:::i;:::-;17913:2;17908:3;17904:12;17897:19;;17556:366;;;:::o;17928:419::-;18094:4;18132:2;18121:9;18117:18;18109:26;;18181:9;18175:4;18171:20;18167:1;18156:9;18152:17;18145:47;18209:131;18335:4;18209:131;:::i;:::-;18201:139;;17928:419;;;:::o;18353:221::-;18493:34;18489:1;18481:6;18477:14;18470:58;18562:4;18557:2;18549:6;18545:15;18538:29;18353:221;:::o;18580:366::-;18722:3;18743:67;18807:2;18802:3;18743:67;:::i;:::-;18736:74;;18819:93;18908:3;18819:93;:::i;:::-;18937:2;18932:3;18928:12;18921:19;;18580:366;;;:::o;18952:419::-;19118:4;19156:2;19145:9;19141:18;19133:26;;19205:9;19199:4;19195:20;19191:1;19180:9;19176:17;19169:47;19233:131;19359:4;19233:131;:::i;:::-;19225:139;;18952:419;;;:::o;19377:194::-;19417:4;19437:20;19455:1;19437:20;:::i;:::-;19432:25;;19471:20;19489:1;19471:20;:::i;:::-;19466:25;;19515:1;19512;19508:9;19500:17;;19539:1;19533:4;19530:11;19527:37;;;19544:18;;:::i;:::-;19527:37;19377:194;;;;:::o;19577:172::-;19717:24;19713:1;19705:6;19701:14;19694:48;19577:172;:::o;19755:366::-;19897:3;19918:67;19982:2;19977:3;19918:67;:::i;:::-;19911:74;;19994:93;20083:3;19994:93;:::i;:::-;20112:2;20107:3;20103:12;20096:19;;19755:366;;;:::o;20127:419::-;20293:4;20331:2;20320:9;20316:18;20308:26;;20380:9;20374:4;20370:20;20366:1;20355:9;20351:17;20344:47;20408:131;20534:4;20408:131;:::i;:::-;20400:139;;20127:419;;;:::o;20552:156::-;20692:8;20688:1;20680:6;20676:14;20669:32;20552:156;:::o;20714:365::-;20856:3;20877:66;20941:1;20936:3;20877:66;:::i;:::-;20870:73;;20952:93;21041:3;20952:93;:::i;:::-;21070:2;21065:3;21061:12;21054:19;;20714:365;;;:::o;21085:419::-;21251:4;21289:2;21278:9;21274:18;21266:26;;21338:9;21332:4;21328:20;21324:1;21313:9;21309:17;21302:47;21366:131;21492:4;21366:131;:::i;:::-;21358:139;;21085:419;;;:::o

Swarm Source

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