ETH Price: $3,203.40 (-7.15%)
Gas: 3 Gwei

Token

GnarInu (GNARINU)
 

Overview

Max Total Supply

98,182.820753694437522582 GNARINU

Holders

7

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
989.01 GNARINU

Value
$0.00
0xa01257a31a8b54d469e2646e0f94adab60292122
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:
GNAR

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 3 of 5: gnarinu.sol
pragma solidity ^0.8.0;
//SPDX-License-Identifier: MIT
//Hey! Reaady to fucking SHRED?
//So are we!
//That's why we created GnarInu
//The only dog based token ready to FUCK your MOM.
//The waves are here
//Surf's up sluts
//t.me/GNARINU

import "./ERC20.sol";

contract GNAR is ERC20 {

    uint BURN_FEE = 1;
    uint bakeMinimum = 1000 * 10**18;
    address public owner;

    
constructor() ERC20 ('GnarInu','GNARINU') {
    _mint(msg.sender, 100000* 10 ** 18);
    owner = msg.sender;

    }
    
    
function transfer(address recipient, uint256 amount) public override returns (bool){

            uint burnAmount = amount*(BURN_FEE) / 100;
            _burn(_msgSender(), burnAmount);
            _transfer(_msgSender(), recipient, amount-(burnAmount));

                    
      
      return true;
    }    


function transferFrom(address recipient, uint256 amount) public returns (bool){

            uint burnAmount = amount*(BURN_FEE) / 100;
            _burn(_msgSender(), burnAmount);
            _transfer(_msgSender(), recipient, amount-(burnAmount));

      
      return true;
    }    
 

 
}

File 1 of 5: Context.sol
// SPDX-License-Identifier: MIT

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 2 of 5: ERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "./IERC20Metadata.sol";
import "./Context.sol";

/**
 * @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 4 of 5: IERC20.sol
// SPDX-License-Identifier: MIT

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 5 of 5: IERC20Metadata.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./IERC20.sol";

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

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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"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":"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"}]

60806040526001600555683635c9adc5dea000006006553480156200002357600080fd5b506040518060400160405280600781526020017f476e6172496e75000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f474e4152494e55000000000000000000000000000000000000000000000000008152508160039080519060200190620000a8929190620002aa565b508060049080519060200190620000c1929190620002aa565b505050620000e03369152d02c7e14af68000006200012760201b60201c565b33600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004f8565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200019a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200019190620003ad565b60405180910390fd5b620001ae60008383620002a060201b60201c565b8060026000828254620001c29190620003fd565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002199190620003fd565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002809190620003cf565b60405180910390a36200029c60008383620002a560201b60201c565b5050565b505050565b505050565b828054620002b89062000464565b90600052602060002090601f016020900481019282620002dc576000855562000328565b82601f10620002f757805160ff191683800117855562000328565b8280016001018555821562000328579182015b82811115620003275782518255916020019190600101906200030a565b5b5090506200033791906200033b565b5090565b5b80821115620003565760008160009055506001016200033c565b5090565b600062000369601f83620003ec565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b620003a7816200045a565b82525050565b60006020820190508181036000830152620003c8816200035a565b9050919050565b6000602082019050620003e660008301846200039c565b92915050565b600082825260208201905092915050565b60006200040a826200045a565b915062000417836200045a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200044f576200044e6200049a565b5b828201905092915050565b6000819050919050565b600060028204905060018216806200047d57607f821691505b60208210811415620004945762000493620004c9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61186880620005086000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063395093511161008c57806395d89b411161006657806395d89b411461023c578063a457c2d71461025a578063a9059cbb1461028a578063dd62ed3e146102ba576100cf565b806339509351146101be57806370a08231146101ee5780638da5cb5b1461021e576100cf565b806301c6adc3146100d457806306fdde0314610104578063095ea7b31461012257806318160ddd1461015257806323b872dd14610170578063313ce567146101a0575b600080fd5b6100ee60048036038101906100e99190610f86565b6102ea565b6040516100fb91906113e8565b60405180910390f35b61010c610342565b6040516101199190611403565b60405180910390f35b61013c60048036038101906101379190610f86565b6103d4565b60405161014991906113e8565b60405180910390f35b61015a6103f2565b6040516101679190611545565b60405180910390f35b61018a60048036038101906101859190610f37565b6103fc565b60405161019791906113e8565b60405180910390f35b6101a86104f4565b6040516101b59190611560565b60405180910390f35b6101d860048036038101906101d39190610f86565b6104fd565b6040516101e591906113e8565b60405180910390f35b61020860048036038101906102039190610ed2565b6105a9565b6040516102159190611545565b60405180910390f35b6102266105f1565b60405161023391906113cd565b60405180910390f35b610244610617565b6040516102519190611403565b60405180910390f35b610274600480360381019061026f9190610f86565b6106a9565b60405161028191906113e8565b60405180910390f35b6102a4600480360381019061029f9190610f86565b610794565b6040516102b191906113e8565b60405180910390f35b6102d460048036038101906102cf9190610efb565b6107ec565b6040516102e19190611545565b60405180910390f35b6000806064600554846102fd919061161e565b61030791906115ed565b905061031a610314610873565b8261087b565b610337610325610873565b8583866103329190611678565b610a52565b600191505092915050565b60606003805461035190611734565b80601f016020809104026020016040519081016040528092919081815260200182805461037d90611734565b80156103ca5780601f1061039f576101008083540402835291602001916103ca565b820191906000526020600020905b8154815290600101906020018083116103ad57829003601f168201915b5050505050905090565b60006103e86103e1610873565b8484610cd3565b6001905092915050565b6000600254905090565b6000610409848484610a52565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610454610873565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156104d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104cb906114a5565b60405180910390fd5b6104e8856104e0610873565b858403610cd3565b60019150509392505050565b60006012905090565b600061059f61050a610873565b848460016000610518610873565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461059a9190611597565b610cd3565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606004805461062690611734565b80601f016020809104026020016040519081016040528092919081815260200182805461065290611734565b801561069f5780601f106106745761010080835404028352916020019161069f565b820191906000526020600020905b81548152906001019060200180831161068257829003601f168201915b5050505050905090565b600080600160006106b8610873565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076c90611525565b60405180910390fd5b610789610780610873565b85858403610cd3565b600191505092915050565b6000806064600554846107a7919061161e565b6107b191906115ed565b90506107c46107be610873565b8261087b565b6107e16107cf610873565b8583866107dc9190611678565b610a52565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e2906114c5565b60405180910390fd5b6108f782600083610e9e565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097490611445565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546109d49190611678565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a399190611545565b60405180910390a3610a4d83600084610ea3565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab9906114e5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2990611425565b60405180910390fd5b610b3d838383610e9e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610bc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bba90611485565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c569190611597565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cba9190611545565b60405180910390a3610ccd848484610ea3565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3a90611505565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daa90611465565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e919190611545565b60405180910390a3505050565b505050565b505050565b600081359050610eb781611804565b92915050565b600081359050610ecc8161181b565b92915050565b600060208284031215610ee457600080fd5b6000610ef284828501610ea8565b91505092915050565b60008060408385031215610f0e57600080fd5b6000610f1c85828601610ea8565b9250506020610f2d85828601610ea8565b9150509250929050565b600080600060608486031215610f4c57600080fd5b6000610f5a86828701610ea8565b9350506020610f6b86828701610ea8565b9250506040610f7c86828701610ebd565b9150509250925092565b60008060408385031215610f9957600080fd5b6000610fa785828601610ea8565b9250506020610fb885828601610ebd565b9150509250929050565b610fcb816116ac565b82525050565b610fda816116be565b82525050565b6000610feb8261157b565b610ff58185611586565b9350611005818560208601611701565b61100e816117f3565b840191505092915050565b6000611026602383611586565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061108c602283611586565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006110f2602283611586565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611158602683611586565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006111be602883611586565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611224602183611586565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061128a602583611586565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006112f0602483611586565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611356602583611586565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6113b8816116ea565b82525050565b6113c7816116f4565b82525050565b60006020820190506113e26000830184610fc2565b92915050565b60006020820190506113fd6000830184610fd1565b92915050565b6000602082019050818103600083015261141d8184610fe0565b905092915050565b6000602082019050818103600083015261143e81611019565b9050919050565b6000602082019050818103600083015261145e8161107f565b9050919050565b6000602082019050818103600083015261147e816110e5565b9050919050565b6000602082019050818103600083015261149e8161114b565b9050919050565b600060208201905081810360008301526114be816111b1565b9050919050565b600060208201905081810360008301526114de81611217565b9050919050565b600060208201905081810360008301526114fe8161127d565b9050919050565b6000602082019050818103600083015261151e816112e3565b9050919050565b6000602082019050818103600083015261153e81611349565b9050919050565b600060208201905061155a60008301846113af565b92915050565b600060208201905061157560008301846113be565b92915050565b600081519050919050565b600082825260208201905092915050565b60006115a2826116ea565b91506115ad836116ea565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115e2576115e1611766565b5b828201905092915050565b60006115f8826116ea565b9150611603836116ea565b92508261161357611612611795565b5b828204905092915050565b6000611629826116ea565b9150611634836116ea565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561166d5761166c611766565b5b828202905092915050565b6000611683826116ea565b915061168e836116ea565b9250828210156116a1576116a0611766565b5b828203905092915050565b60006116b7826116ca565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561171f578082015181840152602081019050611704565b8381111561172e576000848401525b50505050565b6000600282049050600182168061174c57607f821691505b602082108114156117605761175f6117c4565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61180d816116ac565b811461181857600080fd5b50565b611824816116ea565b811461182f57600080fd5b5056fea2646970667358221220c6817a4e88a1d19eb19a3f8f25b9888701caa3ba21f10e679ef963b9e502860a64736f6c63430008000033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063395093511161008c57806395d89b411161006657806395d89b411461023c578063a457c2d71461025a578063a9059cbb1461028a578063dd62ed3e146102ba576100cf565b806339509351146101be57806370a08231146101ee5780638da5cb5b1461021e576100cf565b806301c6adc3146100d457806306fdde0314610104578063095ea7b31461012257806318160ddd1461015257806323b872dd14610170578063313ce567146101a0575b600080fd5b6100ee60048036038101906100e99190610f86565b6102ea565b6040516100fb91906113e8565b60405180910390f35b61010c610342565b6040516101199190611403565b60405180910390f35b61013c60048036038101906101379190610f86565b6103d4565b60405161014991906113e8565b60405180910390f35b61015a6103f2565b6040516101679190611545565b60405180910390f35b61018a60048036038101906101859190610f37565b6103fc565b60405161019791906113e8565b60405180910390f35b6101a86104f4565b6040516101b59190611560565b60405180910390f35b6101d860048036038101906101d39190610f86565b6104fd565b6040516101e591906113e8565b60405180910390f35b61020860048036038101906102039190610ed2565b6105a9565b6040516102159190611545565b60405180910390f35b6102266105f1565b60405161023391906113cd565b60405180910390f35b610244610617565b6040516102519190611403565b60405180910390f35b610274600480360381019061026f9190610f86565b6106a9565b60405161028191906113e8565b60405180910390f35b6102a4600480360381019061029f9190610f86565b610794565b6040516102b191906113e8565b60405180910390f35b6102d460048036038101906102cf9190610efb565b6107ec565b6040516102e19190611545565b60405180910390f35b6000806064600554846102fd919061161e565b61030791906115ed565b905061031a610314610873565b8261087b565b610337610325610873565b8583866103329190611678565b610a52565b600191505092915050565b60606003805461035190611734565b80601f016020809104026020016040519081016040528092919081815260200182805461037d90611734565b80156103ca5780601f1061039f576101008083540402835291602001916103ca565b820191906000526020600020905b8154815290600101906020018083116103ad57829003601f168201915b5050505050905090565b60006103e86103e1610873565b8484610cd3565b6001905092915050565b6000600254905090565b6000610409848484610a52565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610454610873565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156104d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104cb906114a5565b60405180910390fd5b6104e8856104e0610873565b858403610cd3565b60019150509392505050565b60006012905090565b600061059f61050a610873565b848460016000610518610873565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461059a9190611597565b610cd3565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606004805461062690611734565b80601f016020809104026020016040519081016040528092919081815260200182805461065290611734565b801561069f5780601f106106745761010080835404028352916020019161069f565b820191906000526020600020905b81548152906001019060200180831161068257829003601f168201915b5050505050905090565b600080600160006106b8610873565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076c90611525565b60405180910390fd5b610789610780610873565b85858403610cd3565b600191505092915050565b6000806064600554846107a7919061161e565b6107b191906115ed565b90506107c46107be610873565b8261087b565b6107e16107cf610873565b8583866107dc9190611678565b610a52565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e2906114c5565b60405180910390fd5b6108f782600083610e9e565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097490611445565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546109d49190611678565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a399190611545565b60405180910390a3610a4d83600084610ea3565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab9906114e5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2990611425565b60405180910390fd5b610b3d838383610e9e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610bc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bba90611485565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c569190611597565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cba9190611545565b60405180910390a3610ccd848484610ea3565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3a90611505565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daa90611465565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e919190611545565b60405180910390a3505050565b505050565b505050565b600081359050610eb781611804565b92915050565b600081359050610ecc8161181b565b92915050565b600060208284031215610ee457600080fd5b6000610ef284828501610ea8565b91505092915050565b60008060408385031215610f0e57600080fd5b6000610f1c85828601610ea8565b9250506020610f2d85828601610ea8565b9150509250929050565b600080600060608486031215610f4c57600080fd5b6000610f5a86828701610ea8565b9350506020610f6b86828701610ea8565b9250506040610f7c86828701610ebd565b9150509250925092565b60008060408385031215610f9957600080fd5b6000610fa785828601610ea8565b9250506020610fb885828601610ebd565b9150509250929050565b610fcb816116ac565b82525050565b610fda816116be565b82525050565b6000610feb8261157b565b610ff58185611586565b9350611005818560208601611701565b61100e816117f3565b840191505092915050565b6000611026602383611586565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061108c602283611586565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006110f2602283611586565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611158602683611586565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006111be602883611586565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611224602183611586565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061128a602583611586565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006112f0602483611586565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611356602583611586565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6113b8816116ea565b82525050565b6113c7816116f4565b82525050565b60006020820190506113e26000830184610fc2565b92915050565b60006020820190506113fd6000830184610fd1565b92915050565b6000602082019050818103600083015261141d8184610fe0565b905092915050565b6000602082019050818103600083015261143e81611019565b9050919050565b6000602082019050818103600083015261145e8161107f565b9050919050565b6000602082019050818103600083015261147e816110e5565b9050919050565b6000602082019050818103600083015261149e8161114b565b9050919050565b600060208201905081810360008301526114be816111b1565b9050919050565b600060208201905081810360008301526114de81611217565b9050919050565b600060208201905081810360008301526114fe8161127d565b9050919050565b6000602082019050818103600083015261151e816112e3565b9050919050565b6000602082019050818103600083015261153e81611349565b9050919050565b600060208201905061155a60008301846113af565b92915050565b600060208201905061157560008301846113be565b92915050565b600081519050919050565b600082825260208201905092915050565b60006115a2826116ea565b91506115ad836116ea565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115e2576115e1611766565b5b828201905092915050565b60006115f8826116ea565b9150611603836116ea565b92508261161357611612611795565b5b828204905092915050565b6000611629826116ea565b9150611634836116ea565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561166d5761166c611766565b5b828202905092915050565b6000611683826116ea565b915061168e836116ea565b9250828210156116a1576116a0611766565b5b828203905092915050565b60006116b7826116ca565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561171f578082015181840152602081019050611704565b8381111561172e576000848401525b50505050565b6000600282049050600182168061174c57607f821691505b602082108114156117605761175f6117c4565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61180d816116ac565b811461181857600080fd5b50565b611824816116ea565b811461182f57600080fd5b5056fea2646970667358221220c6817a4e88a1d19eb19a3f8f25b9888701caa3ba21f10e679ef963b9e502860a64736f6c63430008000033

Deployed Bytecode Sourcemap

261:853:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;821:282;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2063:98:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4160:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3151:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4793:478;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3000:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5666:212;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3315:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;352:20:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2274:102:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6365:405;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;506:308:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3873:149:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;821:282:4;894:4;914:15;952:3;940:8;;932:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;914:41;;969:31;975:12;:10;:12::i;:::-;989:10;969:5;:31::i;:::-;1014:55;1024:12;:10;:12::i;:::-;1038:9;1057:10;1049:6;:19;;;;:::i;:::-;1014:9;:55::i;:::-;1092:4;1085:11;;;821:282;;;;:::o;2063:98:1:-;2117:13;2149:5;2142:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2063:98;:::o;4160:166::-;4243:4;4259:39;4268:12;:10;:12::i;:::-;4282:7;4291:6;4259:8;:39::i;:::-;4315:4;4308:11;;4160:166;;;;:::o;3151:106::-;3212:7;3238:12;;3231:19;;3151:106;:::o;4793:478::-;4929:4;4945:36;4955:6;4963:9;4974:6;4945:9;:36::i;:::-;4992:24;5019:11;:19;5031:6;5019:19;;;;;;;;;;;;;;;:33;5039:12;:10;:12::i;:::-;5019:33;;;;;;;;;;;;;;;;4992:60;;5090:6;5070:16;:26;;5062:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5175:57;5184:6;5192:12;:10;:12::i;:::-;5225:6;5206:16;:25;5175:8;:57::i;:::-;5260:4;5253:11;;;4793:478;;;;;:::o;3000:91::-;3058:5;3082:2;3075:9;;3000:91;:::o;5666:212::-;5754:4;5770:80;5779:12;:10;:12::i;:::-;5793:7;5839:10;5802:11;:25;5814:12;:10;:12::i;:::-;5802:25;;;;;;;;;;;;;;;:34;5828:7;5802:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5770:8;:80::i;:::-;5867:4;5860:11;;5666:212;;;;:::o;3315:125::-;3389:7;3415:9;:18;3425:7;3415:18;;;;;;;;;;;;;;;;3408:25;;3315:125;;;:::o;352:20:4:-;;;;;;;;;;;;;:::o;2274:102:1:-;2330:13;2362:7;2355:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2274:102;:::o;6365:405::-;6458:4;6474:24;6501:11;:25;6513:12;:10;:12::i;:::-;6501:25;;;;;;;;;;;;;;;:34;6527:7;6501:34;;;;;;;;;;;;;;;;6474:61;;6573:15;6553:16;:35;;6545:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6664:67;6673:12;:10;:12::i;:::-;6687:7;6715:15;6696:16;:34;6664:8;:67::i;:::-;6759:4;6752:11;;;6365:405;;;;:::o;506:308:4:-;584:4;604:15;642:3;630:8;;622:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;604:41;;659:31;665:12;:10;:12::i;:::-;679:10;659:5;:31::i;:::-;704:55;714:12;:10;:12::i;:::-;728:9;747:10;739:6;:19;;;;:::i;:::-;704:9;:55::i;:::-;803:4;796:11;;;506:308;;;;:::o;3873:149:1:-;3962:7;3988:11;:18;4000:5;3988:18;;;;;;;;;;;;;;;:27;4007:7;3988:27;;;;;;;;;;;;;;;;3981:34;;3873:149;;;;:::o;587:96:0:-;640:7;666:10;659:17;;587:96;:::o;8942:576:1:-;9044:1;9025:21;;:7;:21;;;;9017:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9095:49;9116:7;9133:1;9137:6;9095:20;:49::i;:::-;9155:22;9180:9;:18;9190:7;9180:18;;;;;;;;;;;;;;;;9155:43;;9234:6;9216:14;:24;;9208:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9351:6;9334:14;:23;9313:9;:18;9323:7;9313:18;;;;;;;;;;;;;;;:44;;;;9393:6;9377:12;;:22;;;;;;;:::i;:::-;;;;;;;;9441:1;9415:37;;9424:7;9415:37;;;9445:6;9415:37;;;;;;:::i;:::-;;;;;;;;9463:48;9483:7;9500:1;9504:6;9463:19;:48::i;:::-;8942:576;;;:::o;7244:713::-;7397:1;7379:20;;:6;:20;;;;7371:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7480:1;7459:23;;:9;:23;;;;7451:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7533:47;7554:6;7562:9;7573:6;7533:20;:47::i;:::-;7591:21;7615:9;:17;7625:6;7615:17;;;;;;;;;;;;;;;;7591:41;;7667:6;7650:13;:23;;7642:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7786:6;7770:13;:22;7750:9;:17;7760:6;7750:17;;;;;;;;;;;;;;;:42;;;;7836:6;7812:9;:20;7822:9;7812:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7875:9;7858:35;;7867:6;7858:35;;;7886:6;7858:35;;;;;;:::i;:::-;;;;;;;;7904:46;7924:6;7932:9;7943:6;7904:19;:46::i;:::-;7244:713;;;;:::o;9941:370::-;10089:1;10072:19;;:5;:19;;;;10064:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10169:1;10150:21;;:7;:21;;;;10142:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10251:6;10221:11;:18;10233:5;10221:18;;;;;;;;;;;;;;;:27;10240:7;10221:27;;;;;;;;;;;;;;;:36;;;;10288:7;10272:32;;10281:5;10272:32;;;10297:6;10272:32;;;;;;:::i;:::-;;;;;;;;9941:370;;;:::o;10895:121::-;;;;:::o;11604:120::-;;;;:::o;7:139:5:-;;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:118::-;2036:24;2054:5;2036:24;:::i;:::-;2031:3;2024:37;2014:53;;:::o;2073:109::-;2154:21;2169:5;2154:21;:::i;:::-;2149:3;2142:34;2132:50;;:::o;2188:364::-;;2304:39;2337:5;2304:39;:::i;:::-;2359:71;2423:6;2418:3;2359:71;:::i;:::-;2352:78;;2439:52;2484:6;2479:3;2472:4;2465:5;2461:16;2439:52;:::i;:::-;2516:29;2538:6;2516:29;:::i;:::-;2511:3;2507:39;2500:46;;2280:272;;;;;:::o;2558:367::-;;2721:67;2785:2;2780:3;2721:67;:::i;:::-;2714:74;;2818:34;2814:1;2809:3;2805:11;2798:55;2884:5;2879:2;2874:3;2870:12;2863:27;2916:2;2911:3;2907:12;2900:19;;2704:221;;;:::o;2931:366::-;;3094:67;3158:2;3153:3;3094:67;:::i;:::-;3087:74;;3191:34;3187:1;3182:3;3178:11;3171:55;3257:4;3252:2;3247:3;3243:12;3236:26;3288:2;3283:3;3279:12;3272:19;;3077:220;;;:::o;3303:366::-;;3466:67;3530:2;3525:3;3466:67;:::i;:::-;3459:74;;3563:34;3559:1;3554:3;3550:11;3543:55;3629:4;3624:2;3619:3;3615:12;3608:26;3660:2;3655:3;3651:12;3644:19;;3449:220;;;:::o;3675:370::-;;3838:67;3902:2;3897:3;3838:67;:::i;:::-;3831:74;;3935:34;3931:1;3926:3;3922:11;3915:55;4001:8;3996:2;3991:3;3987:12;3980:30;4036:2;4031:3;4027:12;4020:19;;3821:224;;;:::o;4051:372::-;;4214:67;4278:2;4273:3;4214:67;:::i;:::-;4207:74;;4311:34;4307:1;4302:3;4298:11;4291:55;4377:10;4372:2;4367:3;4363:12;4356:32;4414:2;4409:3;4405:12;4398:19;;4197:226;;;:::o;4429:365::-;;4592:67;4656:2;4651:3;4592:67;:::i;:::-;4585:74;;4689:34;4685:1;4680:3;4676:11;4669:55;4755:3;4750:2;4745:3;4741:12;4734:25;4785:2;4780:3;4776:12;4769:19;;4575:219;;;:::o;4800:369::-;;4963:67;5027:2;5022:3;4963:67;:::i;:::-;4956:74;;5060:34;5056:1;5051:3;5047:11;5040:55;5126:7;5121:2;5116:3;5112:12;5105:29;5160:2;5155:3;5151:12;5144:19;;4946:223;;;:::o;5175:368::-;;5338:67;5402:2;5397:3;5338:67;:::i;:::-;5331:74;;5435:34;5431:1;5426:3;5422:11;5415:55;5501:6;5496:2;5491:3;5487:12;5480:28;5534:2;5529:3;5525:12;5518:19;;5321:222;;;:::o;5549:369::-;;5712:67;5776:2;5771:3;5712:67;:::i;:::-;5705:74;;5809:34;5805:1;5800:3;5796:11;5789:55;5875:7;5870:2;5865:3;5861:12;5854:29;5909:2;5904:3;5900:12;5893:19;;5695:223;;;:::o;5924:118::-;6011:24;6029:5;6011:24;:::i;:::-;6006:3;5999:37;5989:53;;:::o;6048:112::-;6131:22;6147:5;6131:22;:::i;:::-;6126:3;6119:35;6109:51;;:::o;6166:222::-;;6297:2;6286:9;6282:18;6274:26;;6310:71;6378:1;6367:9;6363:17;6354:6;6310:71;:::i;:::-;6264:124;;;;:::o;6394:210::-;;6519:2;6508:9;6504:18;6496:26;;6532:65;6594:1;6583:9;6579:17;6570:6;6532:65;:::i;:::-;6486:118;;;;:::o;6610:313::-;;6761:2;6750:9;6746:18;6738:26;;6810:9;6804:4;6800:20;6796:1;6785:9;6781:17;6774:47;6838:78;6911:4;6902:6;6838:78;:::i;:::-;6830:86;;6728:195;;;;:::o;6929:419::-;;7133:2;7122:9;7118:18;7110:26;;7182:9;7176:4;7172:20;7168:1;7157:9;7153:17;7146:47;7210:131;7336:4;7210:131;:::i;:::-;7202:139;;7100:248;;;:::o;7354:419::-;;7558:2;7547:9;7543:18;7535:26;;7607:9;7601:4;7597:20;7593:1;7582:9;7578:17;7571:47;7635:131;7761:4;7635:131;:::i;:::-;7627:139;;7525:248;;;:::o;7779:419::-;;7983:2;7972:9;7968:18;7960:26;;8032:9;8026:4;8022:20;8018:1;8007:9;8003:17;7996:47;8060:131;8186:4;8060:131;:::i;:::-;8052:139;;7950:248;;;:::o;8204:419::-;;8408:2;8397:9;8393:18;8385:26;;8457:9;8451:4;8447:20;8443:1;8432:9;8428:17;8421:47;8485:131;8611:4;8485:131;:::i;:::-;8477:139;;8375:248;;;:::o;8629:419::-;;8833:2;8822:9;8818:18;8810:26;;8882:9;8876:4;8872:20;8868:1;8857:9;8853:17;8846:47;8910:131;9036:4;8910:131;:::i;:::-;8902:139;;8800:248;;;:::o;9054:419::-;;9258:2;9247:9;9243:18;9235:26;;9307:9;9301:4;9297:20;9293:1;9282:9;9278:17;9271:47;9335:131;9461:4;9335:131;:::i;:::-;9327:139;;9225:248;;;:::o;9479:419::-;;9683:2;9672:9;9668:18;9660:26;;9732:9;9726:4;9722:20;9718:1;9707:9;9703:17;9696:47;9760:131;9886:4;9760:131;:::i;:::-;9752:139;;9650:248;;;:::o;9904:419::-;;10108:2;10097:9;10093:18;10085:26;;10157:9;10151:4;10147:20;10143:1;10132:9;10128:17;10121:47;10185:131;10311:4;10185:131;:::i;:::-;10177:139;;10075:248;;;:::o;10329:419::-;;10533:2;10522:9;10518:18;10510:26;;10582:9;10576:4;10572:20;10568:1;10557:9;10553:17;10546:47;10610:131;10736:4;10610:131;:::i;:::-;10602:139;;10500:248;;;:::o;10754:222::-;;10885:2;10874:9;10870:18;10862:26;;10898:71;10966:1;10955:9;10951:17;10942:6;10898:71;:::i;:::-;10852:124;;;;:::o;10982:214::-;;11109:2;11098:9;11094:18;11086:26;;11122:67;11186:1;11175:9;11171:17;11162:6;11122:67;:::i;:::-;11076:120;;;;:::o;11202:99::-;;11288:5;11282:12;11272:22;;11261:40;;;:::o;11307:169::-;;11425:6;11420:3;11413:19;11465:4;11460:3;11456:14;11441:29;;11403:73;;;;:::o;11482:305::-;;11541:20;11559:1;11541:20;:::i;:::-;11536:25;;11575:20;11593:1;11575:20;:::i;:::-;11570:25;;11729:1;11661:66;11657:74;11654:1;11651:81;11648:2;;;11735:18;;:::i;:::-;11648:2;11779:1;11776;11772:9;11765:16;;11526:261;;;;:::o;11793:185::-;;11850:20;11868:1;11850:20;:::i;:::-;11845:25;;11884:20;11902:1;11884:20;:::i;:::-;11879:25;;11923:1;11913:2;;11928:18;;:::i;:::-;11913:2;11970:1;11967;11963:9;11958:14;;11835:143;;;;:::o;11984:348::-;;12047:20;12065:1;12047:20;:::i;:::-;12042:25;;12081:20;12099:1;12081:20;:::i;:::-;12076:25;;12269:1;12201:66;12197:74;12194:1;12191:81;12186:1;12179:9;12172:17;12168:105;12165:2;;;12276:18;;:::i;:::-;12165:2;12324:1;12321;12317:9;12306:20;;12032:300;;;;:::o;12338:191::-;;12398:20;12416:1;12398:20;:::i;:::-;12393:25;;12432:20;12450:1;12432:20;:::i;:::-;12427:25;;12471:1;12468;12465:8;12462:2;;;12476:18;;:::i;:::-;12462:2;12521:1;12518;12514:9;12506:17;;12383:146;;;;:::o;12535:96::-;;12601:24;12619:5;12601:24;:::i;:::-;12590:35;;12580:51;;;:::o;12637:90::-;;12714:5;12707:13;12700:21;12689:32;;12679:48;;;:::o;12733:126::-;;12810:42;12803:5;12799:54;12788:65;;12778:81;;;:::o;12865:77::-;;12931:5;12920:16;;12910:32;;;:::o;12948:86::-;;13023:4;13016:5;13012:16;13001:27;;12991:43;;;:::o;13040:307::-;13108:1;13118:113;13132:6;13129:1;13126:13;13118:113;;;13217:1;13212:3;13208:11;13202:18;13198:1;13193:3;13189:11;13182:39;13154:2;13151:1;13147:10;13142:15;;13118:113;;;13249:6;13246:1;13243:13;13240:2;;;13329:1;13320:6;13315:3;13311:16;13304:27;13240:2;13089:258;;;;:::o;13353:320::-;;13434:1;13428:4;13424:12;13414:22;;13481:1;13475:4;13471:12;13502:18;13492:2;;13558:4;13550:6;13546:17;13536:27;;13492:2;13620;13612:6;13609:14;13589:18;13586:38;13583:2;;;13639:18;;:::i;:::-;13583:2;13404:269;;;;:::o;13679:180::-;13727:77;13724:1;13717:88;13824:4;13821:1;13814:15;13848:4;13845:1;13838:15;13865:180;13913:77;13910:1;13903:88;14010:4;14007:1;14000:15;14034:4;14031:1;14024:15;14051:180;14099:77;14096:1;14089:88;14196:4;14193:1;14186:15;14220:4;14217:1;14210:15;14237:102;;14329:2;14325:7;14320:2;14313:5;14309:14;14305:28;14295:38;;14285:54;;;:::o;14345:122::-;14418:24;14436:5;14418:24;:::i;:::-;14411:5;14408:35;14398:2;;14457:1;14454;14447:12;14398:2;14388:79;:::o;14473:122::-;14546:24;14564:5;14546:24;:::i;:::-;14539:5;14536:35;14526:2;;14585:1;14582;14575:12;14526:2;14516:79;:::o

Swarm Source

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