ETH Price: $2,368.08 (-3.55%)

Token

The Musk Token (MUSK)
 

Overview

Max Total Supply

2,000,000,000 MUSK

Holders

141

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.332810874923836913 MUSK

Value
$0.00
0x8993dc8951313d9d6dcbf570e367140938612f44
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:
Token

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-02-10
*/

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/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: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/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 GSN 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) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/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 guidelines: functions revert instead
 * of 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 {
    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 defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All three 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 returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual 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
     * overloaded;
     *
     * 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 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);

        require(_allowances[sender][_msgSender()] >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - 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) {
        require(_allowances[_msgSender()][spender] >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);

        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is 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);

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

        emit Transfer(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:
     *
     * - `to` 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);
    }

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

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

        emit Transfer(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 to 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 { }
}

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20Burnable.sol



pragma solidity ^0.8.0;



/**
 * @dev Extension of {ERC20} that allows token holders to destroy both their own
 * tokens and those that they have an allowance for, in a way that can be
 * recognized off-chain (via event analysis).
 */
abstract contract ERC20Burnable is Context, ERC20 {
    /**
     * @dev Destroys `amount` tokens from the caller.
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, deducting from the caller's
     * allowance.
     *
     * See {ERC20-_burn} and {ERC20-allowance}.
     *
     * Requirements:
     *
     * - the caller must have allowance for ``accounts``'s tokens of at least
     * `amount`.
     */
    function burnFrom(address account, uint256 amount) public virtual {
        require(allowance(account, _msgSender()) >= amount, "ERC20: burn amount exceeds allowance");
        _approve(account, _msgSender(), allowance(account, _msgSender()) - amount);
        _burn(account, amount);
    }
}

// File: browser/MuskToken.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;


contract Token is ERC20 {
    constructor () public ERC20("The Musk Token", "MUSK") {
        _mint(msg.sender, 2000000000 * (10 ** uint256(decimals())));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]

60806040523480156200001157600080fd5b506040518060400160405280600e81526020017f546865204d75736b20546f6b656e0000000000000000000000000000000000008152506040518060400160405280600481526020017f4d55534b000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000969291906200026e565b508060049080519060200190620000af9291906200026e565b505050620000f533620000c7620000fb60201b60201c565b60ff16600a620000d891906200045e565b6377359400620000e991906200059b565b6200010460201b60201c565b620006d0565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000177576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200016e9062000356565b60405180910390fd5b6200018b600083836200026960201b60201c565b80600260008282546200019f9190620003a6565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001f69190620003a6565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200025d919062000378565b60405180910390a35050565b505050565b8280546200027c9062000606565b90600052602060002090601f016020900481019282620002a05760008555620002ec565b82601f10620002bb57805160ff1916838001178555620002ec565b82800160010185558215620002ec579182015b82811115620002eb578251825591602001919060010190620002ce565b5b509050620002fb9190620002ff565b5090565b5b808211156200031a57600081600090555060010162000300565b5090565b60006200032d601f8362000395565b91506200033a82620006a7565b602082019050919050565b6200035081620005fc565b82525050565b6000602082019050818103600083015262000371816200031e565b9050919050565b60006020820190506200038f600083018462000345565b92915050565b600082825260208201905092915050565b6000620003b382620005fc565b9150620003c083620005fc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620003f857620003f76200063c565b5b828201905092915050565b6000808291508390505b600185111562000455578086048111156200042d576200042c6200063c565b5b60018516156200043d5780820291505b80810290506200044d856200069a565b94506200040d565b94509492505050565b60006200046b82620005fc565b91506200047883620005fc565b9250620004a77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004af565b905092915050565b600082620004c1576001905062000594565b81620004d1576000905062000594565b8160018114620004ea5760028114620004f5576200052b565b600191505062000594565b60ff8411156200050a57620005096200063c565b5b8360020a9150848211156200052457620005236200063c565b5b5062000594565b5060208310610133831016604e8410600b8410161715620005655782820a9050838111156200055f576200055e6200063c565b5b62000594565b62000574848484600162000403565b925090508184048111156200058e576200058d6200063c565b5b81810290505b9392505050565b6000620005a882620005fc565b9150620005b583620005fc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620005f157620005f06200063c565b5b828202905092915050565b6000819050919050565b600060028204905060018216806200061f57607f821691505b602082108114156200063657620006356200066b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6114d080620006e06000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610f3c565b60405180910390f35b6100e660048036038101906100e19190610d8a565b610308565b6040516100f39190610f21565b60405180910390f35b610104610326565b604051610111919061103e565b60405180910390f35b610134600480360381019061012f9190610d3b565b610330565b6040516101419190610f21565b60405180910390f35b6101526104ae565b60405161015f9190611059565b60405180910390f35b610182600480360381019061017d9190610d8a565b6104b7565b60405161018f9190610f21565b60405180910390f35b6101b260048036038101906101ad9190610cd6565b610563565b6040516101bf919061103e565b60405180910390f35b6101d06105ab565b6040516101dd9190610f3c565b60405180910390f35b61020060048036038101906101fb9190610d8a565b61063d565b60405161020d9190610f21565b60405180910390f35b610230600480360381019061022b9190610d8a565b6107af565b60405161023d9190610f21565b60405180910390f35b610260600480360381019061025b9190610cff565b6107cd565b60405161026d919061103e565b60405180910390f35b606060038054610285906111a2565b80601f01602080910402602001604051908101604052809291908181526020018280546102b1906111a2565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600061031c610315610854565b848461085c565b6001905092915050565b6000600254905090565b600061033d848484610a27565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610387610854565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610403576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103fa90610fbe565b60405180910390fd5b6104a38461040f610854565b84600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610459610854565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461049e91906110e6565b61085c565b600190509392505050565b60006012905090565b60006105596104c4610854565b8484600160006104d2610854565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105549190611090565b61085c565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546105ba906111a2565b80601f01602080910402602001604051908101604052809291908181526020018280546105e6906111a2565b80156106335780601f1061060857610100808354040283529160200191610633565b820191906000526020600020905b81548152906001019060200180831161061657829003601f168201915b5050505050905090565b6000816001600061064c610854565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610705576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fc9061101e565b60405180910390fd5b6107a5610710610854565b84846001600061071e610854565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107a091906110e6565b61085c565b6001905092915050565b60006107c36107bc610854565b8484610a27565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c390610ffe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561093c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093390610f7e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a1a919061103e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e90610fde565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afe90610f5e565b60405180910390fd5b610b12838383610ca7565b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8a90610f9e565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610be191906110e6565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c369190611090565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9a919061103e565b60405180910390a3505050565b505050565b600081359050610cbb8161146c565b92915050565b600081359050610cd081611483565b92915050565b600060208284031215610ce857600080fd5b6000610cf684828501610cac565b91505092915050565b60008060408385031215610d1257600080fd5b6000610d2085828601610cac565b9250506020610d3185828601610cac565b9150509250929050565b600080600060608486031215610d5057600080fd5b6000610d5e86828701610cac565b9350506020610d6f86828701610cac565b9250506040610d8086828701610cc1565b9150509250925092565b60008060408385031215610d9d57600080fd5b6000610dab85828601610cac565b9250506020610dbc85828601610cc1565b9150509250929050565b610dcf8161112c565b82525050565b6000610de082611074565b610dea818561107f565b9350610dfa81856020860161116f565b610e0381611232565b840191505092915050565b6000610e1b60238361107f565b9150610e2682611243565b604082019050919050565b6000610e3e60228361107f565b9150610e4982611292565b604082019050919050565b6000610e6160268361107f565b9150610e6c826112e1565b604082019050919050565b6000610e8460288361107f565b9150610e8f82611330565b604082019050919050565b6000610ea760258361107f565b9150610eb28261137f565b604082019050919050565b6000610eca60248361107f565b9150610ed5826113ce565b604082019050919050565b6000610eed60258361107f565b9150610ef88261141d565b604082019050919050565b610f0c81611158565b82525050565b610f1b81611162565b82525050565b6000602082019050610f366000830184610dc6565b92915050565b60006020820190508181036000830152610f568184610dd5565b905092915050565b60006020820190508181036000830152610f7781610e0e565b9050919050565b60006020820190508181036000830152610f9781610e31565b9050919050565b60006020820190508181036000830152610fb781610e54565b9050919050565b60006020820190508181036000830152610fd781610e77565b9050919050565b60006020820190508181036000830152610ff781610e9a565b9050919050565b6000602082019050818103600083015261101781610ebd565b9050919050565b6000602082019050818103600083015261103781610ee0565b9050919050565b60006020820190506110536000830184610f03565b92915050565b600060208201905061106e6000830184610f12565b92915050565b600081519050919050565b600082825260208201905092915050565b600061109b82611158565b91506110a683611158565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156110db576110da6111d4565b5b828201905092915050565b60006110f182611158565b91506110fc83611158565b92508282101561110f5761110e6111d4565b5b828203905092915050565b600061112582611138565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561118d578082015181840152602081019050611172565b8381111561119c576000848401525b50505050565b600060028204905060018216806111ba57607f821691505b602082108114156111ce576111cd611203565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6114758161111a565b811461148057600080fd5b50565b61148c81611158565b811461149757600080fd5b5056fea26469706673582212209bb29aa21133a830d0adb0211d2c3bf64e5e97895da4689cf7ede36a8883f9f264736f6c63430008010033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610f3c565b60405180910390f35b6100e660048036038101906100e19190610d8a565b610308565b6040516100f39190610f21565b60405180910390f35b610104610326565b604051610111919061103e565b60405180910390f35b610134600480360381019061012f9190610d3b565b610330565b6040516101419190610f21565b60405180910390f35b6101526104ae565b60405161015f9190611059565b60405180910390f35b610182600480360381019061017d9190610d8a565b6104b7565b60405161018f9190610f21565b60405180910390f35b6101b260048036038101906101ad9190610cd6565b610563565b6040516101bf919061103e565b60405180910390f35b6101d06105ab565b6040516101dd9190610f3c565b60405180910390f35b61020060048036038101906101fb9190610d8a565b61063d565b60405161020d9190610f21565b60405180910390f35b610230600480360381019061022b9190610d8a565b6107af565b60405161023d9190610f21565b60405180910390f35b610260600480360381019061025b9190610cff565b6107cd565b60405161026d919061103e565b60405180910390f35b606060038054610285906111a2565b80601f01602080910402602001604051908101604052809291908181526020018280546102b1906111a2565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600061031c610315610854565b848461085c565b6001905092915050565b6000600254905090565b600061033d848484610a27565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610387610854565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610403576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103fa90610fbe565b60405180910390fd5b6104a38461040f610854565b84600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610459610854565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461049e91906110e6565b61085c565b600190509392505050565b60006012905090565b60006105596104c4610854565b8484600160006104d2610854565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105549190611090565b61085c565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546105ba906111a2565b80601f01602080910402602001604051908101604052809291908181526020018280546105e6906111a2565b80156106335780601f1061060857610100808354040283529160200191610633565b820191906000526020600020905b81548152906001019060200180831161061657829003601f168201915b5050505050905090565b6000816001600061064c610854565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610705576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fc9061101e565b60405180910390fd5b6107a5610710610854565b84846001600061071e610854565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107a091906110e6565b61085c565b6001905092915050565b60006107c36107bc610854565b8484610a27565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c390610ffe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561093c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093390610f7e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a1a919061103e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e90610fde565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afe90610f5e565b60405180910390fd5b610b12838383610ca7565b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8a90610f9e565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610be191906110e6565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c369190611090565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9a919061103e565b60405180910390a3505050565b505050565b600081359050610cbb8161146c565b92915050565b600081359050610cd081611483565b92915050565b600060208284031215610ce857600080fd5b6000610cf684828501610cac565b91505092915050565b60008060408385031215610d1257600080fd5b6000610d2085828601610cac565b9250506020610d3185828601610cac565b9150509250929050565b600080600060608486031215610d5057600080fd5b6000610d5e86828701610cac565b9350506020610d6f86828701610cac565b9250506040610d8086828701610cc1565b9150509250925092565b60008060408385031215610d9d57600080fd5b6000610dab85828601610cac565b9250506020610dbc85828601610cc1565b9150509250929050565b610dcf8161112c565b82525050565b6000610de082611074565b610dea818561107f565b9350610dfa81856020860161116f565b610e0381611232565b840191505092915050565b6000610e1b60238361107f565b9150610e2682611243565b604082019050919050565b6000610e3e60228361107f565b9150610e4982611292565b604082019050919050565b6000610e6160268361107f565b9150610e6c826112e1565b604082019050919050565b6000610e8460288361107f565b9150610e8f82611330565b604082019050919050565b6000610ea760258361107f565b9150610eb28261137f565b604082019050919050565b6000610eca60248361107f565b9150610ed5826113ce565b604082019050919050565b6000610eed60258361107f565b9150610ef88261141d565b604082019050919050565b610f0c81611158565b82525050565b610f1b81611162565b82525050565b6000602082019050610f366000830184610dc6565b92915050565b60006020820190508181036000830152610f568184610dd5565b905092915050565b60006020820190508181036000830152610f7781610e0e565b9050919050565b60006020820190508181036000830152610f9781610e31565b9050919050565b60006020820190508181036000830152610fb781610e54565b9050919050565b60006020820190508181036000830152610fd781610e77565b9050919050565b60006020820190508181036000830152610ff781610e9a565b9050919050565b6000602082019050818103600083015261101781610ebd565b9050919050565b6000602082019050818103600083015261103781610ee0565b9050919050565b60006020820190506110536000830184610f03565b92915050565b600060208201905061106e6000830184610f12565b92915050565b600081519050919050565b600082825260208201905092915050565b600061109b82611158565b91506110a683611158565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156110db576110da6111d4565b5b828201905092915050565b60006110f182611158565b91506110fc83611158565b92508282101561110f5761110e6111d4565b5b828203905092915050565b600061112582611138565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561118d578082015181840152602081019050611172565b8381111561119c576000848401525b50505050565b600060028204905060018216806111ba57607f821691505b602082108114156111ce576111cd611203565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6114758161111a565b811461148057600080fd5b50565b61148c81611158565b811461149757600080fd5b5056fea26469706673582212209bb29aa21133a830d0adb0211d2c3bf64e5e97895da4689cf7ede36a8883f9f264736f6c63430008010033

Deployed Bytecode Sourcemap

15871:166:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5989:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8129:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7082:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8780:385;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6933:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9574:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7253:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6199:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10292:341;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7593:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7831:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5989:91;6034:13;6067:5;6060:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5989:91;:::o;8129:169::-;8212:4;8229:39;8238:12;:10;:12::i;:::-;8252:7;8261:6;8229:8;:39::i;:::-;8286:4;8279:11;;8129:169;;;;:::o;7082:108::-;7143:7;7170:12;;7163:19;;7082:108;:::o;8780:385::-;8886:4;8903:36;8913:6;8921:9;8932:6;8903:9;:36::i;:::-;8997:6;8960:11;:19;8972:6;8960:19;;;;;;;;;;;;;;;:33;8980:12;:10;:12::i;:::-;8960:33;;;;;;;;;;;;;;;;:43;;8952:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;9059:74;9068:6;9076:12;:10;:12::i;:::-;9126:6;9090:11;:19;9102:6;9090:19;;;;;;;;;;;;;;;:33;9110:12;:10;:12::i;:::-;9090:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;9059:8;:74::i;:::-;9153:4;9146:11;;8780:385;;;;;:::o;6933:84::-;6982:5;7007:2;7000:9;;6933:84;:::o;9574:215::-;9662:4;9679:80;9688:12;:10;:12::i;:::-;9702:7;9748:10;9711:11;:25;9723:12;:10;:12::i;:::-;9711:25;;;;;;;;;;;;;;;:34;9737:7;9711:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;9679:8;:80::i;:::-;9777:4;9770:11;;9574:215;;;;:::o;7253:127::-;7327:7;7354:9;:18;7364:7;7354:18;;;;;;;;;;;;;;;;7347:25;;7253:127;;;:::o;6199:95::-;6246:13;6279:7;6272:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6199:95;:::o;10292:341::-;10385:4;10448:15;10410:11;:25;10422:12;:10;:12::i;:::-;10410:25;;;;;;;;;;;;;;;:34;10436:7;10410:34;;;;;;;;;;;;;;;;:53;;10402:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;10516:85;10525:12;:10;:12::i;:::-;10539:7;10585:15;10548:11;:25;10560:12;:10;:12::i;:::-;10548:25;;;;;;;;;;;;;;;:34;10574:7;10548:34;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;10516:8;:85::i;:::-;10621:4;10614:11;;10292:341;;;;:::o;7593:175::-;7679:4;7696:42;7706:12;:10;:12::i;:::-;7720:9;7731:6;7696:9;:42::i;:::-;7756:4;7749:11;;7593:175;;;;:::o;7831:151::-;7920:7;7947:11;:18;7959:5;7947:18;;;;;;;;;;;;;;;:27;7966:7;7947:27;;;;;;;;;;;;;;;;7940:34;;7831:151;;;;:::o;3537:98::-;3590:7;3617:10;3610:17;;3537:98;:::o;13483:346::-;13602:1;13585:19;;:5;:19;;;;13577:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13683:1;13664:21;;:7;:21;;;;13656:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13767:6;13737:11;:18;13749:5;13737:18;;;;;;;;;;;;;;;:27;13756:7;13737:27;;;;;;;;;;;;;;;:36;;;;13805:7;13789:32;;13798:5;13789:32;;;13814:6;13789:32;;;;;;:::i;:::-;;;;;;;;13483:346;;;:::o;11123:541::-;11247:1;11229:20;;:6;:20;;;;11221:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11331:1;11310:23;;:9;:23;;;;11302:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11386:47;11407:6;11415:9;11426:6;11386:20;:47::i;:::-;11475:6;11454:9;:17;11464:6;11454:17;;;;;;;;;;;;;;;;:27;;11446:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;11556:6;11535:9;:17;11545:6;11535:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;11597:6;11573:9;:20;11583:9;11573:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;11638:9;11621:35;;11630:6;11621:35;;;11649:6;11621:35;;;;;;:::i;:::-;;;;;;;;11123:541;;;:::o;14432:92::-;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;;;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;;;;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:109::-;2030:21;2045:5;2030:21;:::i;:::-;2025:3;2018:34;2008:50;;:::o;2064:364::-;;2180:39;2213:5;2180:39;:::i;:::-;2235:71;2299:6;2294:3;2235:71;:::i;:::-;2228:78;;2315:52;2360:6;2355:3;2348:4;2341:5;2337:16;2315:52;:::i;:::-;2392:29;2414:6;2392:29;:::i;:::-;2387:3;2383:39;2376:46;;2156:272;;;;;:::o;2434:366::-;;2597:67;2661:2;2656:3;2597:67;:::i;:::-;2590:74;;2673:93;2762:3;2673:93;:::i;:::-;2791:2;2786:3;2782:12;2775:19;;2580:220;;;:::o;2806:366::-;;2969:67;3033:2;3028:3;2969:67;:::i;:::-;2962:74;;3045:93;3134:3;3045:93;:::i;:::-;3163:2;3158:3;3154:12;3147:19;;2952:220;;;:::o;3178:366::-;;3341:67;3405:2;3400:3;3341:67;:::i;:::-;3334:74;;3417:93;3506:3;3417:93;:::i;:::-;3535:2;3530:3;3526:12;3519:19;;3324:220;;;:::o;3550:366::-;;3713:67;3777:2;3772:3;3713:67;:::i;:::-;3706:74;;3789:93;3878:3;3789:93;:::i;:::-;3907:2;3902:3;3898:12;3891:19;;3696:220;;;:::o;3922:366::-;;4085:67;4149:2;4144:3;4085:67;:::i;:::-;4078:74;;4161:93;4250:3;4161:93;:::i;:::-;4279:2;4274:3;4270:12;4263:19;;4068:220;;;:::o;4294:366::-;;4457:67;4521:2;4516:3;4457:67;:::i;:::-;4450:74;;4533:93;4622:3;4533:93;:::i;:::-;4651:2;4646:3;4642:12;4635:19;;4440:220;;;:::o;4666:366::-;;4829:67;4893:2;4888:3;4829:67;:::i;:::-;4822:74;;4905:93;4994:3;4905:93;:::i;:::-;5023:2;5018:3;5014:12;5007:19;;4812:220;;;:::o;5038:118::-;5125:24;5143:5;5125:24;:::i;:::-;5120:3;5113:37;5103:53;;:::o;5162:112::-;5245:22;5261:5;5245:22;:::i;:::-;5240:3;5233:35;5223:51;;:::o;5280:210::-;;5405:2;5394:9;5390:18;5382:26;;5418:65;5480:1;5469:9;5465:17;5456:6;5418:65;:::i;:::-;5372:118;;;;:::o;5496:313::-;;5647:2;5636:9;5632:18;5624:26;;5696:9;5690:4;5686:20;5682:1;5671:9;5667:17;5660:47;5724:78;5797:4;5788:6;5724:78;:::i;:::-;5716:86;;5614:195;;;;:::o;5815:419::-;;6019:2;6008:9;6004:18;5996:26;;6068:9;6062:4;6058:20;6054:1;6043:9;6039:17;6032:47;6096:131;6222:4;6096:131;:::i;:::-;6088:139;;5986:248;;;:::o;6240:419::-;;6444:2;6433:9;6429:18;6421:26;;6493:9;6487:4;6483:20;6479:1;6468:9;6464:17;6457:47;6521:131;6647:4;6521:131;:::i;:::-;6513:139;;6411:248;;;:::o;6665:419::-;;6869:2;6858:9;6854:18;6846:26;;6918:9;6912:4;6908:20;6904:1;6893:9;6889:17;6882:47;6946:131;7072:4;6946:131;:::i;:::-;6938:139;;6836:248;;;:::o;7090:419::-;;7294:2;7283:9;7279:18;7271:26;;7343:9;7337:4;7333:20;7329:1;7318:9;7314:17;7307:47;7371:131;7497:4;7371:131;:::i;:::-;7363:139;;7261:248;;;:::o;7515:419::-;;7719:2;7708:9;7704:18;7696:26;;7768:9;7762:4;7758:20;7754:1;7743:9;7739:17;7732:47;7796:131;7922:4;7796:131;:::i;:::-;7788:139;;7686:248;;;:::o;7940:419::-;;8144:2;8133:9;8129:18;8121:26;;8193:9;8187:4;8183:20;8179:1;8168:9;8164:17;8157:47;8221:131;8347:4;8221:131;:::i;:::-;8213:139;;8111:248;;;:::o;8365:419::-;;8569:2;8558:9;8554:18;8546:26;;8618:9;8612:4;8608:20;8604:1;8593:9;8589:17;8582:47;8646:131;8772:4;8646:131;:::i;:::-;8638:139;;8536:248;;;:::o;8790:222::-;;8921:2;8910:9;8906:18;8898:26;;8934:71;9002:1;8991:9;8987:17;8978:6;8934:71;:::i;:::-;8888:124;;;;:::o;9018:214::-;;9145:2;9134:9;9130:18;9122:26;;9158:67;9222:1;9211:9;9207:17;9198:6;9158:67;:::i;:::-;9112:120;;;;:::o;9238:99::-;;9324:5;9318:12;9308:22;;9297:40;;;:::o;9343:169::-;;9461:6;9456:3;9449:19;9501:4;9496:3;9492:14;9477:29;;9439:73;;;;:::o;9518:305::-;;9577:20;9595:1;9577:20;:::i;:::-;9572:25;;9611:20;9629:1;9611:20;:::i;:::-;9606:25;;9765:1;9697:66;9693:74;9690:1;9687:81;9684:2;;;9771:18;;:::i;:::-;9684:2;9815:1;9812;9808:9;9801:16;;9562:261;;;;:::o;9829:191::-;;9889:20;9907:1;9889:20;:::i;:::-;9884:25;;9923:20;9941:1;9923:20;:::i;:::-;9918:25;;9962:1;9959;9956:8;9953:2;;;9967:18;;:::i;:::-;9953:2;10012:1;10009;10005:9;9997:17;;9874:146;;;;:::o;10026:96::-;;10092:24;10110:5;10092:24;:::i;:::-;10081:35;;10071:51;;;:::o;10128:90::-;;10205:5;10198:13;10191:21;10180:32;;10170:48;;;:::o;10224:126::-;;10301:42;10294:5;10290:54;10279:65;;10269:81;;;:::o;10356:77::-;;10422:5;10411:16;;10401:32;;;:::o;10439:86::-;;10514:4;10507:5;10503:16;10492:27;;10482:43;;;:::o;10531:307::-;10599:1;10609:113;10623:6;10620:1;10617:13;10609:113;;;10708:1;10703:3;10699:11;10693:18;10689:1;10684:3;10680:11;10673:39;10645:2;10642:1;10638:10;10633:15;;10609:113;;;10740:6;10737:1;10734:13;10731:2;;;10820:1;10811:6;10806:3;10802:16;10795:27;10731:2;10580:258;;;;:::o;10844:320::-;;10925:1;10919:4;10915:12;10905:22;;10972:1;10966:4;10962:12;10993:18;10983:2;;11049:4;11041:6;11037:17;11027:27;;10983:2;11111;11103:6;11100:14;11080:18;11077:38;11074:2;;;11130:18;;:::i;:::-;11074:2;10895:269;;;;:::o;11170:180::-;11218:77;11215:1;11208:88;11315:4;11312:1;11305:15;11339:4;11336:1;11329:15;11356:180;11404:77;11401:1;11394:88;11501:4;11498:1;11491:15;11525:4;11522:1;11515:15;11542:102;;11634:2;11630:7;11625:2;11618:5;11614:14;11610:28;11600:38;;11590:54;;;:::o;11650:222::-;11790:34;11786:1;11778:6;11774:14;11767:58;11859:5;11854:2;11846:6;11842:15;11835:30;11756:116;:::o;11878:221::-;12018:34;12014:1;12006:6;12002:14;11995:58;12087:4;12082:2;12074:6;12070:15;12063:29;11984:115;:::o;12105:225::-;12245:34;12241:1;12233:6;12229:14;12222:58;12314:8;12309:2;12301:6;12297:15;12290:33;12211:119;:::o;12336:227::-;12476:34;12472:1;12464:6;12460:14;12453:58;12545:10;12540:2;12532:6;12528:15;12521:35;12442:121;:::o;12569:224::-;12709:34;12705:1;12697:6;12693:14;12686:58;12778:7;12773:2;12765:6;12761:15;12754:32;12675:118;:::o;12799:223::-;12939:34;12935:1;12927:6;12923:14;12916:58;13008:6;13003:2;12995:6;12991:15;12984:31;12905:117;:::o;13028:224::-;13168:34;13164:1;13156:6;13152:14;13145:58;13237:7;13232:2;13224:6;13220:15;13213:32;13134:118;:::o;13258:122::-;13331:24;13349:5;13331:24;:::i;:::-;13324:5;13321:35;13311:2;;13370:1;13367;13360:12;13311:2;13301:79;:::o;13386:122::-;13459:24;13477:5;13459:24;:::i;:::-;13452:5;13449:35;13439:2;;13498:1;13495;13488:12;13439:2;13429:79;:::o

Swarm Source

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