ETH Price: $2,376.99 (+1.04%)

Token

Punko Coin (Punko Coin)
 

Overview

Max Total Supply

12,783.958333333333333333 Punko Coin

Holders

2

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
11,783.958333333333333333 Punko Coin

Value
$0.00
0xedadfda063374ca9f7f7ddc0873e75c437dd6e4a
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:
PunkoCoin

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
File 1 of 7 : PunkoCoin.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";

interface IPunko {
  function balanceOf(address owner) external view returns (uint256);
}

contract PunkoCoin is ERC20, Ownable, ReentrancyGuard {
  IPunko public Punko;
  address public burnerWallet;
  uint256 public rateStaking = 1000 ether;
  uint256 public START;

  mapping(address => uint256) public rewards;
  mapping(address => uint256) public lastUpdate;
  mapping(address => bool) public allowed;

  constructor(address PunkoContract) ERC20("Punko Coin", "Punko Coin") {
    Punko = IPunko(PunkoContract);
    allowed[PunkoContract] = true;
    _mint(msg.sender, rateStaking);
  }

  modifier onlyAllowed() {
    require(allowed[msg.sender], "Caller not allowed");
    _;
  }

  function start() public onlyOwner {
    require(START == 0, "Already started");
    START = block.timestamp;
  }

  function setStaking(uint256 _baseRate) public onlyOwner {
    rateStaking = _baseRate;
  }

  function setAllowed(address account, bool isAllowed) public onlyOwner {
    allowed[account] = isAllowed;
  }

  function getClaimable(address account) external view returns (uint256) {
    return rewards[account] + getPending(account);
  }

  function getPending(address account) internal view returns (uint256) {
    if (START == 0) {
      return 0;
    } 
    else 
    {
      return Punko.balanceOf(account) * rateStaking* (block.timestamp - (lastUpdate[account] > START ? lastUpdate[account] : START))/ 1 days;
    }
  }

  function update(address from, address to) external onlyAllowed {
    if (from != address(0)) {
      rewards[from] += getPending(from);
      lastUpdate[from] = block.timestamp;
    }
    if (to != address(0)) {
      rewards[to] += getPending(to);
      lastUpdate[to] = block.timestamp;
    }
  }

  function burn(address from, uint256 amount) external onlyAllowed {
    _burn(from, amount);
  }
  
  function payment(uint256 amount) external nonReentrant {
    _transfer(msg.sender,burnerWallet, amount);
  }

  function claim(address account) external nonReentrant {
    require(msg.sender == account || allowed[msg.sender], "Caller not allowed");
    _mint(account, rewards[account] + getPending(account));
    rewards[account] = 0;
    lastUpdate[account] = block.timestamp;
  }
}

File 2 of 7 : ReentrancyGuard.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and making it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

File 3 of 7 : ERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "./extensions/IERC20Metadata.sol";
import "../../utils/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:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, 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}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, 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}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, 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) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, 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) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     *
     * 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:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, 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 Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - 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 7 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

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

File 5 of 7 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

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

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

File 6 of 7 : IERC20Metadata.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)

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);
}

File 7 of 7 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

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

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

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

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

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

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

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

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

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"PunkoContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Punko","outputs":[{"internalType":"contract IPunko","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"START","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnerWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getClaimable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address","name":"","type":"address"}],"name":"lastUpdate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"payment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rateStaking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isAllowed","type":"bool"}],"name":"setAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_baseRate","type":"uint256"}],"name":"setStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"update","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052683635c9adc5dea000006009553480156200001e57600080fd5b50604051620030ed380380620030ed8339818101604052810190620000449190620004d8565b6040518060400160405280600a81526020017f50756e6b6f20436f696e000000000000000000000000000000000000000000008152506040518060400160405280600a81526020017f50756e6b6f20436f696e000000000000000000000000000000000000000000008152508160039080519060200190620000c892919062000411565b508060049080519060200190620000e192919062000411565b50505062000104620000f8620001c060201b60201c565b620001c860201b60201c565b600160068190555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001b9336009546200028e60201b60201c565b5062000709565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000301576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002f89062000542565b60405180910390fd5b62000315600083836200040760201b60201c565b806002600082825462000329919062000592565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000380919062000592565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003e7919062000564565b60405180910390a362000403600083836200040c60201b60201c565b5050565b505050565b505050565b8280546200041f906200062d565b90600052602060002090601f0160209004810192826200044357600085556200048f565b82601f106200045e57805160ff19168380011785556200048f565b828001600101855582156200048f579182015b828111156200048e57825182559160200191906001019062000471565b5b5090506200049e9190620004a2565b5090565b5b80821115620004bd576000816000905550600101620004a3565b5090565b600081519050620004d281620006ef565b92915050565b600060208284031215620004f157620004f0620006c1565b5b60006200050184828501620004c1565b91505092915050565b600062000519601f8362000581565b91506200052682620006c6565b602082019050919050565b6200053c8162000623565b82525050565b600060208201905081810360008301526200055d816200050a565b9050919050565b60006020820190506200057b600083018462000531565b92915050565b600082825260208201905092915050565b60006200059f8262000623565b9150620005ac8362000623565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620005e457620005e362000663565b5b828201905092915050565b6000620005fc8262000603565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200064657607f821691505b602082108114156200065d576200065c62000692565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b620006fa81620005ef565b81146200070657600080fd5b50565b6129d480620007196000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638b3c99e311610104578063ba9a061a116100a2578063cb03fb1e11610071578063cb03fb1e1461051e578063d63a8e111461054e578063dd62ed3e1461057e578063f2fde38b146105ae576101cf565b8063ba9a061a146104be578063be9a6555146104dc578063c16368a4146104e6578063c640752d14610502576101cf565b80639dc29fac116100de5780639dc29fac14610412578063a457c2d71461042e578063a583024b1461045e578063a9059cbb1461048e576101cf565b80638b3c99e3146103ba5780638da5cb5b146103d657806395d89b41146103f4576101cf565b8063362fb03a116101715780634697f05d1161014b5780634697f05d14610346578063545191b01461036257806370a0823114610380578063715018a6146103b0576101cf565b8063362fb03a146102da57806339509351146102f85780634367ab8e14610328576101cf565b806318160ddd116101ad57806318160ddd146102525780631e83409a1461027057806323b872dd1461028c578063313ce567146102bc576101cf565b806306fdde03146101d45780630700037d146101f2578063095ea7b314610222575b600080fd5b6101dc6105ca565b6040516101e991906120a0565b60405180910390f35b61020c60048036038101906102079190611c24565b61065c565b60405161021991906122a2565b60405180910390f35b61023c60048036038101906102379190611d24565b610674565b604051610249919061206a565b60405180910390f35b61025a610697565b60405161026791906122a2565b60405180910390f35b61028a60048036038101906102859190611c24565b6106a1565b005b6102a660048036038101906102a19190611c91565b6108a1565b6040516102b3919061206a565b60405180910390f35b6102c46108d0565b6040516102d191906122bd565b60405180910390f35b6102e26108d9565b6040516102ef9190612085565b60405180910390f35b610312600480360381019061030d9190611d24565b6108ff565b60405161031f919061206a565b60405180910390f35b610330610936565b60405161033d919061204f565b60405180910390f35b610360600480360381019061035b9190611ce4565b61095c565b005b61036a6109bf565b60405161037791906122a2565b60405180910390f35b61039a60048036038101906103959190611c24565b6109c5565b6040516103a791906122a2565b60405180910390f35b6103b8610a0d565b005b6103d460048036038101906103cf9190611d64565b610a21565b005b6103de610aa7565b6040516103eb919061204f565b60405180910390f35b6103fc610ad1565b60405161040991906120a0565b60405180910390f35b61042c60048036038101906104279190611d24565b610b63565b005b61044860048036038101906104439190611d24565b610bfd565b604051610455919061206a565b60405180910390f35b61047860048036038101906104739190611c24565b610c74565b60405161048591906122a2565b60405180910390f35b6104a860048036038101906104a39190611d24565b610cd0565b6040516104b5919061206a565b60405180910390f35b6104c6610cf3565b6040516104d391906122a2565b60405180910390f35b6104e4610cf9565b005b61050060048036038101906104fb9190611d64565b610d4f565b005b61051c60048036038101906105179190611c51565b610d61565b005b61053860048036038101906105339190611c24565b610f9f565b60405161054591906122a2565b60405180910390f35b61056860048036038101906105639190611c24565b610fb7565b604051610575919061206a565b60405180910390f35b61059860048036038101906105939190611c51565b610fd7565b6040516105a591906122a2565b60405180910390f35b6105c860048036038101906105c39190611c24565b61105e565b005b6060600380546105d9906124c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610605906124c7565b80156106525780601f1061062757610100808354040283529160200191610652565b820191906000526020600020905b81548152906001019060200180831161063557829003601f168201915b5050505050905090565b600b6020528060005260406000206000915090505481565b60008061067f6110e2565b905061068c8185856110ea565b600191505092915050565b6000600254905090565b600260065414156106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106de90612242565b60405180910390fd5b60026006819055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806107725750600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a8906120e2565b60405180910390fd5b61080d816107be836112b5565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461080891906122f4565b61143e565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160068190555050565b6000806108ac6110e2565b90506108b985828561159e565b6108c485858561162a565b60019150509392505050565b60006012905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061090a6110e2565b905061092b81858561091c8589610fd7565b61092691906122f4565b6110ea565b600191505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109646118ab565b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60095481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a156118ab565b610a1f6000611929565b565b60026006541415610a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5e90612242565b60405180910390fd5b6002600681905550610a9c33600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361162a565b600160068190555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610ae0906124c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0c906124c7565b8015610b595780601f10610b2e57610100808354040283529160200191610b59565b820191906000526020600020905b815481529060010190602001808311610b3c57829003601f168201915b5050505050905090565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be6906120e2565b60405180910390fd5b610bf982826119ef565b5050565b600080610c086110e2565b90506000610c168286610fd7565b905083811015610c5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5290612262565b60405180910390fd5b610c6882868684036110ea565b60019250505092915050565b6000610c7f826112b5565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc991906122f4565b9050919050565b600080610cdb6110e2565b9050610ce881858561162a565b600191505092915050565b600a5481565b610d016118ab565b6000600a5414610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906121a2565b60405180910390fd5b42600a81905550565b610d576118ab565b8060098190555050565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ded576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de4906120e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610ec457610e2a826112b5565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e7891906122f4565b9250508190555042600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610f9b57610f01816112b5565b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f4f91906122f4565b9250508190555042600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b600c6020528060005260406000206000915090505481565b600d6020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110666118ab565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cd90612122565b60405180910390fd5b6110df81611929565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561115a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115190612222565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c190612142565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112a891906122a2565b60405180910390a3505050565b600080600a5414156112ca5760009050611439565b62015180600a54600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161131e57600a5461135f565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b4261136a91906123d5565b600954600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b81526004016113c8919061204f565b60206040518083038186803b1580156113e057600080fd5b505afa1580156113f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114189190611d91565b611422919061237b565b61142c919061237b565b611436919061234a565b90505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a590612282565b60405180910390fd5b6114ba60008383611bc6565b80600260008282546114cc91906122f4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461152191906122f4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161158691906122a2565b60405180910390a361159a60008383611bcb565b5050565b60006115aa8484610fd7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146116245781811015611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612162565b60405180910390fd5b61162384848484036110ea565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561169a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169190612202565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561170a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611701906120c2565b60405180910390fd5b611715838383611bc6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561179b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179290612182565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461182e91906122f4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161189291906122a2565b60405180910390a36118a5848484611bcb565b50505050565b6118b36110e2565b73ffffffffffffffffffffffffffffffffffffffff166118d1610aa7565b73ffffffffffffffffffffffffffffffffffffffff1614611927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191e906121c2565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a56906121e2565b60405180910390fd5b611a6b82600083611bc6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae890612102565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254611b4891906123d5565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bad91906122a2565b60405180910390a3611bc183600084611bcb565b505050565b505050565b505050565b600081359050611bdf81612959565b92915050565b600081359050611bf481612970565b92915050565b600081359050611c0981612987565b92915050565b600081519050611c1e81612987565b92915050565b600060208284031215611c3a57611c39612586565b5b6000611c4884828501611bd0565b91505092915050565b60008060408385031215611c6857611c67612586565b5b6000611c7685828601611bd0565b9250506020611c8785828601611bd0565b9150509250929050565b600080600060608486031215611caa57611ca9612586565b5b6000611cb886828701611bd0565b9350506020611cc986828701611bd0565b9250506040611cda86828701611bfa565b9150509250925092565b60008060408385031215611cfb57611cfa612586565b5b6000611d0985828601611bd0565b9250506020611d1a85828601611be5565b9150509250929050565b60008060408385031215611d3b57611d3a612586565b5b6000611d4985828601611bd0565b9250506020611d5a85828601611bfa565b9150509250929050565b600060208284031215611d7a57611d79612586565b5b6000611d8884828501611bfa565b91505092915050565b600060208284031215611da757611da6612586565b5b6000611db584828501611c0f565b91505092915050565b611dc781612409565b82525050565b611dd68161241b565b82525050565b611de58161245e565b82525050565b6000611df6826122d8565b611e0081856122e3565b9350611e10818560208601612494565b611e198161258b565b840191505092915050565b6000611e316023836122e3565b9150611e3c8261259c565b604082019050919050565b6000611e546012836122e3565b9150611e5f826125eb565b602082019050919050565b6000611e776022836122e3565b9150611e8282612614565b604082019050919050565b6000611e9a6026836122e3565b9150611ea582612663565b604082019050919050565b6000611ebd6022836122e3565b9150611ec8826126b2565b604082019050919050565b6000611ee0601d836122e3565b9150611eeb82612701565b602082019050919050565b6000611f036026836122e3565b9150611f0e8261272a565b604082019050919050565b6000611f26600f836122e3565b9150611f3182612779565b602082019050919050565b6000611f496020836122e3565b9150611f54826127a2565b602082019050919050565b6000611f6c6021836122e3565b9150611f77826127cb565b604082019050919050565b6000611f8f6025836122e3565b9150611f9a8261281a565b604082019050919050565b6000611fb26024836122e3565b9150611fbd82612869565b604082019050919050565b6000611fd5601f836122e3565b9150611fe0826128b8565b602082019050919050565b6000611ff86025836122e3565b9150612003826128e1565b604082019050919050565b600061201b601f836122e3565b915061202682612930565b602082019050919050565b61203a81612447565b82525050565b61204981612451565b82525050565b60006020820190506120646000830184611dbe565b92915050565b600060208201905061207f6000830184611dcd565b92915050565b600060208201905061209a6000830184611ddc565b92915050565b600060208201905081810360008301526120ba8184611deb565b905092915050565b600060208201905081810360008301526120db81611e24565b9050919050565b600060208201905081810360008301526120fb81611e47565b9050919050565b6000602082019050818103600083015261211b81611e6a565b9050919050565b6000602082019050818103600083015261213b81611e8d565b9050919050565b6000602082019050818103600083015261215b81611eb0565b9050919050565b6000602082019050818103600083015261217b81611ed3565b9050919050565b6000602082019050818103600083015261219b81611ef6565b9050919050565b600060208201905081810360008301526121bb81611f19565b9050919050565b600060208201905081810360008301526121db81611f3c565b9050919050565b600060208201905081810360008301526121fb81611f5f565b9050919050565b6000602082019050818103600083015261221b81611f82565b9050919050565b6000602082019050818103600083015261223b81611fa5565b9050919050565b6000602082019050818103600083015261225b81611fc8565b9050919050565b6000602082019050818103600083015261227b81611feb565b9050919050565b6000602082019050818103600083015261229b8161200e565b9050919050565b60006020820190506122b76000830184612031565b92915050565b60006020820190506122d26000830184612040565b92915050565b600081519050919050565b600082825260208201905092915050565b60006122ff82612447565b915061230a83612447565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561233f5761233e6124f9565b5b828201905092915050565b600061235582612447565b915061236083612447565b9250826123705761236f612528565b5b828204905092915050565b600061238682612447565b915061239183612447565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123ca576123c96124f9565b5b828202905092915050565b60006123e082612447565b91506123eb83612447565b9250828210156123fe576123fd6124f9565b5b828203905092915050565b600061241482612427565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061246982612470565b9050919050565b600061247b82612482565b9050919050565b600061248d82612427565b9050919050565b60005b838110156124b2578082015181840152602081019050612497565b838111156124c1576000848401525b50505050565b600060028204905060018216806124df57607f821691505b602082108114156124f3576124f2612557565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206e6f7420616c6c6f7765640000000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f416c726561647920737461727465640000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b61296281612409565b811461296d57600080fd5b50565b6129798161241b565b811461298457600080fd5b50565b61299081612447565b811461299b57600080fd5b5056fea2646970667358221220ed6194583f12b3d2e5fd61692f0ae485c709415f6ca900866055664514a7de8d64736f6c6343000807003300000000000000000000000044571ef5f31ef014acb68f4aca7b0707fad93886

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638b3c99e311610104578063ba9a061a116100a2578063cb03fb1e11610071578063cb03fb1e1461051e578063d63a8e111461054e578063dd62ed3e1461057e578063f2fde38b146105ae576101cf565b8063ba9a061a146104be578063be9a6555146104dc578063c16368a4146104e6578063c640752d14610502576101cf565b80639dc29fac116100de5780639dc29fac14610412578063a457c2d71461042e578063a583024b1461045e578063a9059cbb1461048e576101cf565b80638b3c99e3146103ba5780638da5cb5b146103d657806395d89b41146103f4576101cf565b8063362fb03a116101715780634697f05d1161014b5780634697f05d14610346578063545191b01461036257806370a0823114610380578063715018a6146103b0576101cf565b8063362fb03a146102da57806339509351146102f85780634367ab8e14610328576101cf565b806318160ddd116101ad57806318160ddd146102525780631e83409a1461027057806323b872dd1461028c578063313ce567146102bc576101cf565b806306fdde03146101d45780630700037d146101f2578063095ea7b314610222575b600080fd5b6101dc6105ca565b6040516101e991906120a0565b60405180910390f35b61020c60048036038101906102079190611c24565b61065c565b60405161021991906122a2565b60405180910390f35b61023c60048036038101906102379190611d24565b610674565b604051610249919061206a565b60405180910390f35b61025a610697565b60405161026791906122a2565b60405180910390f35b61028a60048036038101906102859190611c24565b6106a1565b005b6102a660048036038101906102a19190611c91565b6108a1565b6040516102b3919061206a565b60405180910390f35b6102c46108d0565b6040516102d191906122bd565b60405180910390f35b6102e26108d9565b6040516102ef9190612085565b60405180910390f35b610312600480360381019061030d9190611d24565b6108ff565b60405161031f919061206a565b60405180910390f35b610330610936565b60405161033d919061204f565b60405180910390f35b610360600480360381019061035b9190611ce4565b61095c565b005b61036a6109bf565b60405161037791906122a2565b60405180910390f35b61039a60048036038101906103959190611c24565b6109c5565b6040516103a791906122a2565b60405180910390f35b6103b8610a0d565b005b6103d460048036038101906103cf9190611d64565b610a21565b005b6103de610aa7565b6040516103eb919061204f565b60405180910390f35b6103fc610ad1565b60405161040991906120a0565b60405180910390f35b61042c60048036038101906104279190611d24565b610b63565b005b61044860048036038101906104439190611d24565b610bfd565b604051610455919061206a565b60405180910390f35b61047860048036038101906104739190611c24565b610c74565b60405161048591906122a2565b60405180910390f35b6104a860048036038101906104a39190611d24565b610cd0565b6040516104b5919061206a565b60405180910390f35b6104c6610cf3565b6040516104d391906122a2565b60405180910390f35b6104e4610cf9565b005b61050060048036038101906104fb9190611d64565b610d4f565b005b61051c60048036038101906105179190611c51565b610d61565b005b61053860048036038101906105339190611c24565b610f9f565b60405161054591906122a2565b60405180910390f35b61056860048036038101906105639190611c24565b610fb7565b604051610575919061206a565b60405180910390f35b61059860048036038101906105939190611c51565b610fd7565b6040516105a591906122a2565b60405180910390f35b6105c860048036038101906105c39190611c24565b61105e565b005b6060600380546105d9906124c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610605906124c7565b80156106525780601f1061062757610100808354040283529160200191610652565b820191906000526020600020905b81548152906001019060200180831161063557829003601f168201915b5050505050905090565b600b6020528060005260406000206000915090505481565b60008061067f6110e2565b905061068c8185856110ea565b600191505092915050565b6000600254905090565b600260065414156106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106de90612242565b60405180910390fd5b60026006819055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806107725750600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a8906120e2565b60405180910390fd5b61080d816107be836112b5565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461080891906122f4565b61143e565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160068190555050565b6000806108ac6110e2565b90506108b985828561159e565b6108c485858561162a565b60019150509392505050565b60006012905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061090a6110e2565b905061092b81858561091c8589610fd7565b61092691906122f4565b6110ea565b600191505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109646118ab565b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60095481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a156118ab565b610a1f6000611929565b565b60026006541415610a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5e90612242565b60405180910390fd5b6002600681905550610a9c33600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361162a565b600160068190555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610ae0906124c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0c906124c7565b8015610b595780601f10610b2e57610100808354040283529160200191610b59565b820191906000526020600020905b815481529060010190602001808311610b3c57829003601f168201915b5050505050905090565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be6906120e2565b60405180910390fd5b610bf982826119ef565b5050565b600080610c086110e2565b90506000610c168286610fd7565b905083811015610c5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5290612262565b60405180910390fd5b610c6882868684036110ea565b60019250505092915050565b6000610c7f826112b5565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc991906122f4565b9050919050565b600080610cdb6110e2565b9050610ce881858561162a565b600191505092915050565b600a5481565b610d016118ab565b6000600a5414610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906121a2565b60405180910390fd5b42600a81905550565b610d576118ab565b8060098190555050565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ded576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de4906120e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610ec457610e2a826112b5565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e7891906122f4565b9250508190555042600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610f9b57610f01816112b5565b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f4f91906122f4565b9250508190555042600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b600c6020528060005260406000206000915090505481565b600d6020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110666118ab565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cd90612122565b60405180910390fd5b6110df81611929565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561115a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115190612222565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c190612142565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112a891906122a2565b60405180910390a3505050565b600080600a5414156112ca5760009050611439565b62015180600a54600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161131e57600a5461135f565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b4261136a91906123d5565b600954600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b81526004016113c8919061204f565b60206040518083038186803b1580156113e057600080fd5b505afa1580156113f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114189190611d91565b611422919061237b565b61142c919061237b565b611436919061234a565b90505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a590612282565b60405180910390fd5b6114ba60008383611bc6565b80600260008282546114cc91906122f4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461152191906122f4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161158691906122a2565b60405180910390a361159a60008383611bcb565b5050565b60006115aa8484610fd7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146116245781811015611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612162565b60405180910390fd5b61162384848484036110ea565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561169a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169190612202565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561170a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611701906120c2565b60405180910390fd5b611715838383611bc6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561179b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179290612182565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461182e91906122f4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161189291906122a2565b60405180910390a36118a5848484611bcb565b50505050565b6118b36110e2565b73ffffffffffffffffffffffffffffffffffffffff166118d1610aa7565b73ffffffffffffffffffffffffffffffffffffffff1614611927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191e906121c2565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a56906121e2565b60405180910390fd5b611a6b82600083611bc6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae890612102565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254611b4891906123d5565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bad91906122a2565b60405180910390a3611bc183600084611bcb565b505050565b505050565b505050565b600081359050611bdf81612959565b92915050565b600081359050611bf481612970565b92915050565b600081359050611c0981612987565b92915050565b600081519050611c1e81612987565b92915050565b600060208284031215611c3a57611c39612586565b5b6000611c4884828501611bd0565b91505092915050565b60008060408385031215611c6857611c67612586565b5b6000611c7685828601611bd0565b9250506020611c8785828601611bd0565b9150509250929050565b600080600060608486031215611caa57611ca9612586565b5b6000611cb886828701611bd0565b9350506020611cc986828701611bd0565b9250506040611cda86828701611bfa565b9150509250925092565b60008060408385031215611cfb57611cfa612586565b5b6000611d0985828601611bd0565b9250506020611d1a85828601611be5565b9150509250929050565b60008060408385031215611d3b57611d3a612586565b5b6000611d4985828601611bd0565b9250506020611d5a85828601611bfa565b9150509250929050565b600060208284031215611d7a57611d79612586565b5b6000611d8884828501611bfa565b91505092915050565b600060208284031215611da757611da6612586565b5b6000611db584828501611c0f565b91505092915050565b611dc781612409565b82525050565b611dd68161241b565b82525050565b611de58161245e565b82525050565b6000611df6826122d8565b611e0081856122e3565b9350611e10818560208601612494565b611e198161258b565b840191505092915050565b6000611e316023836122e3565b9150611e3c8261259c565b604082019050919050565b6000611e546012836122e3565b9150611e5f826125eb565b602082019050919050565b6000611e776022836122e3565b9150611e8282612614565b604082019050919050565b6000611e9a6026836122e3565b9150611ea582612663565b604082019050919050565b6000611ebd6022836122e3565b9150611ec8826126b2565b604082019050919050565b6000611ee0601d836122e3565b9150611eeb82612701565b602082019050919050565b6000611f036026836122e3565b9150611f0e8261272a565b604082019050919050565b6000611f26600f836122e3565b9150611f3182612779565b602082019050919050565b6000611f496020836122e3565b9150611f54826127a2565b602082019050919050565b6000611f6c6021836122e3565b9150611f77826127cb565b604082019050919050565b6000611f8f6025836122e3565b9150611f9a8261281a565b604082019050919050565b6000611fb26024836122e3565b9150611fbd82612869565b604082019050919050565b6000611fd5601f836122e3565b9150611fe0826128b8565b602082019050919050565b6000611ff86025836122e3565b9150612003826128e1565b604082019050919050565b600061201b601f836122e3565b915061202682612930565b602082019050919050565b61203a81612447565b82525050565b61204981612451565b82525050565b60006020820190506120646000830184611dbe565b92915050565b600060208201905061207f6000830184611dcd565b92915050565b600060208201905061209a6000830184611ddc565b92915050565b600060208201905081810360008301526120ba8184611deb565b905092915050565b600060208201905081810360008301526120db81611e24565b9050919050565b600060208201905081810360008301526120fb81611e47565b9050919050565b6000602082019050818103600083015261211b81611e6a565b9050919050565b6000602082019050818103600083015261213b81611e8d565b9050919050565b6000602082019050818103600083015261215b81611eb0565b9050919050565b6000602082019050818103600083015261217b81611ed3565b9050919050565b6000602082019050818103600083015261219b81611ef6565b9050919050565b600060208201905081810360008301526121bb81611f19565b9050919050565b600060208201905081810360008301526121db81611f3c565b9050919050565b600060208201905081810360008301526121fb81611f5f565b9050919050565b6000602082019050818103600083015261221b81611f82565b9050919050565b6000602082019050818103600083015261223b81611fa5565b9050919050565b6000602082019050818103600083015261225b81611fc8565b9050919050565b6000602082019050818103600083015261227b81611feb565b9050919050565b6000602082019050818103600083015261229b8161200e565b9050919050565b60006020820190506122b76000830184612031565b92915050565b60006020820190506122d26000830184612040565b92915050565b600081519050919050565b600082825260208201905092915050565b60006122ff82612447565b915061230a83612447565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561233f5761233e6124f9565b5b828201905092915050565b600061235582612447565b915061236083612447565b9250826123705761236f612528565b5b828204905092915050565b600061238682612447565b915061239183612447565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123ca576123c96124f9565b5b828202905092915050565b60006123e082612447565b91506123eb83612447565b9250828210156123fe576123fd6124f9565b5b828203905092915050565b600061241482612427565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061246982612470565b9050919050565b600061247b82612482565b9050919050565b600061248d82612427565b9050919050565b60005b838110156124b2578082015181840152602081019050612497565b838111156124c1576000848401525b50505050565b600060028204905060018216806124df57607f821691505b602082108114156124f3576124f2612557565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206e6f7420616c6c6f7765640000000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f416c726561647920737461727465640000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b61296281612409565b811461296d57600080fd5b50565b6129798161241b565b811461298457600080fd5b50565b61299081612447565b811461299b57600080fd5b5056fea2646970667358221220ed6194583f12b3d2e5fd61692f0ae485c709415f6ca900866055664514a7de8d64736f6c63430008070033

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

00000000000000000000000044571ef5f31ef014acb68f4aca7b0707fad93886

-----Decoded View---------------
Arg [0] : PunkoContract (address): 0x44571Ef5f31eF014ACb68F4ACa7B0707fAd93886

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000044571ef5f31ef014acb68f4aca7b0707fad93886


Deployed Bytecode Sourcemap

334:2198:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;520:42:6;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4433:197:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3244:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2255:274:6;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5192:286:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3093:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;393:19:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5873:234:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;417:27:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1172:111;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;449:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3408:125:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1831:101:0;;;:::i;:::-;;2139:110:6;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1201:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2367:102:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2034:97:6;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6594:427:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1289:129:6;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3729:189:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;493:20:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;953:115;;;:::i;:::-;;1074:92;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1721:307;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;567:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;617:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3976:149:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2081:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2156:98:2;2210:13;2242:5;2235:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98;:::o;520:42:6:-;;;;;;;;;;;;;;;;;:::o;4433:197:2:-;4516:4;4532:13;4548:12;:10;:12::i;:::-;4532:28;;4570:32;4579:5;4586:7;4595:6;4570:8;:32::i;:::-;4619:4;4612:11;;;4433:197;;;;:::o;3244:106::-;3305:7;3331:12;;3324:19;;3244:106;:::o;2255:274:6:-;1744:1:1;2325:7;;:19;;2317:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1744:1;2455:7;:18;;;;2338:7:6::1;2324:21;;:10;:21;;;:44;;;;2349:7;:19;2357:10;2349:19;;;;;;;;;;;;;;;;;;;;;;;;;2324:44;2316:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;2398:54;2404:7;2432:19;2443:7;2432:10;:19::i;:::-;2413:7;:16;2421:7;2413:16;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;2398:5;:54::i;:::-;2478:1;2459:7;:16;2467:7;2459:16;;;;;;;;;;;;;;;:20;;;;2508:15;2486:10;:19;2497:7;2486:19;;;;;;;;;;;;;;;:37;;;;1701:1:1::0;2628:7;:22;;;;2255:274:6;:::o;5192:286:2:-;5319:4;5335:15;5353:12;:10;:12::i;:::-;5335:30;;5375:38;5391:4;5397:7;5406:6;5375:15;:38::i;:::-;5423:27;5433:4;5439:2;5443:6;5423:9;:27::i;:::-;5467:4;5460:11;;;5192:286;;;;;:::o;3093:91::-;3151:5;3175:2;3168:9;;3093:91;:::o;393:19:6:-;;;;;;;;;;;;;:::o;5873:234:2:-;5961:4;5977:13;5993:12;:10;:12::i;:::-;5977:28;;6015:64;6024:5;6031:7;6068:10;6040:25;6050:5;6057:7;6040:9;:25::i;:::-;:38;;;;:::i;:::-;6015:8;:64::i;:::-;6096:4;6089:11;;;5873:234;;;;:::o;417:27:6:-;;;;;;;;;;;;;:::o;1172:111::-;1094:13:0;:11;:13::i;:::-;1268:9:6::1;1249:7;:16;1257:7;1249:16;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;1172:111:::0;;:::o;449:39::-;;;;:::o;3408:125:2:-;3482:7;3508:9;:18;3518:7;3508:18;;;;;;;;;;;;;;;;3501:25;;3408:125;;;:::o;1831:101:0:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;2139:110:6:-;1744:1:1;2325:7;;:19;;2317:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1744:1;2455:7;:18;;;;2201:42:6::1;2211:10;2222:12;;;;;;;;;;;2236:6;2201:9;:42::i;:::-;1701:1:1::0;2628:7;:22;;;;2139:110:6;:::o;1201:85:0:-;1247:7;1273:6;;;;;;;;;;;1266:13;;1201:85;:::o;2367:102:2:-;2423:13;2455:7;2448:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:102;:::o;2034:97:6:-;891:7;:19;899:10;891:19;;;;;;;;;;;;;;;;;;;;;;;;;883:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;2106:19:::1;2112:4;2118:6;2106:5;:19::i;:::-;2034:97:::0;;:::o;6594:427:2:-;6687:4;6703:13;6719:12;:10;:12::i;:::-;6703:28;;6741:24;6768:25;6778:5;6785:7;6768:9;:25::i;:::-;6741:52;;6831:15;6811:16;:35;;6803:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6922:60;6931:5;6938:7;6966:15;6947:16;:34;6922:8;:60::i;:::-;7010:4;7003:11;;;;6594:427;;;;:::o;1289:129:6:-;1351:7;1393:19;1404:7;1393:10;:19::i;:::-;1374:7;:16;1382:7;1374:16;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;1367:45;;1289:129;;;:::o;3729:189:2:-;3808:4;3824:13;3840:12;:10;:12::i;:::-;3824:28;;3862;3872:5;3879:2;3883:6;3862:9;:28::i;:::-;3907:4;3900:11;;;3729:189;;;;:::o;493:20:6:-;;;;:::o;953:115::-;1094:13:0;:11;:13::i;:::-;1011:1:6::1;1002:5;;:10;994:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1047:15;1039:5;:23;;;;953:115::o:0;1074:92::-;1094:13:0;:11;:13::i;:::-;1151:9:6::1;1137:11;:23;;;;1074:92:::0;:::o;1721:307::-;891:7;:19;899:10;891:19;;;;;;;;;;;;;;;;;;;;;;;;;883:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;1811:1:::1;1795:18;;:4;:18;;;1791:117;;1841:16;1852:4;1841:10;:16::i;:::-;1824:7;:13;1832:4;1824:13;;;;;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;1885:15;1866:10;:16;1877:4;1866:16;;;;;;;;;;;;;;;:34;;;;1791:117;1932:1;1918:16;;:2;:16;;;1914:109;;1960:14;1971:2;1960:10;:14::i;:::-;1945:7;:11;1953:2;1945:11;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;2000:15;1983:10;:14;1994:2;1983:14;;;;;;;;;;;;;;;:32;;;;1914:109;1721:307:::0;;:::o;567:45::-;;;;;;;;;;;;;;;;;:::o;617:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;3976:149:2:-;4065:7;4091:11;:18;4103:5;4091:18;;;;;;;;;;;;;;;:27;4110:7;4091:27;;;;;;;;;;;;;;;;4084:34;;3976:149;;;;:::o;2081:198:0:-;1094:13;:11;:13::i;:::-;2189:1:::1;2169:22;;:8;:22;;;;2161:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;640:96:5:-;693:7;719:10;712:17;;640:96;:::o;10110:370:2:-;10258:1;10241:19;;:5;:19;;;;10233:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10338:1;10319:21;;:7;:21;;;;10311:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10420:6;10390:11;:18;10402:5;10390:18;;;;;;;;;;;;;;;:27;10409:7;10390:27;;;;;;;;;;;;;;;:36;;;;10457:7;10441:32;;10450:5;10441:32;;;10466:6;10441:32;;;;;;:::i;:::-;;;;;;;;10110:370;;;:::o;1424:291:6:-;1484:7;1513:1;1504:5;;:10;1500:210;;;1532:1;1525:8;;;;1500:210;1696:6;1657:5;;1635:10;:19;1646:7;1635:19;;;;;;;;;;;;;;;;:27;:57;;1687:5;;1635:57;;;1665:10;:19;1676:7;1665:19;;;;;;;;;;;;;;;;1635:57;1616:15;:77;;;;:::i;:::-;1602:11;;1575:5;;;;;;;;;;;:15;;;1591:7;1575:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:38;;;;:::i;:::-;:119;;;;:::i;:::-;:127;;;;:::i;:::-;1568:134;;1424:291;;;;:::o;8402:389:2:-;8504:1;8485:21;;:7;:21;;;;8477:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8553:49;8582:1;8586:7;8595:6;8553:20;:49::i;:::-;8629:6;8613:12;;:22;;;;;;;:::i;:::-;;;;;;;;8667:6;8645:9;:18;8655:7;8645:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;8709:7;8688:37;;8705:1;8688:37;;;8718:6;8688:37;;;;;;:::i;:::-;;;;;;;;8736:48;8764:1;8768:7;8777:6;8736:19;:48::i;:::-;8402:389;;:::o;10761:441::-;10891:24;10918:25;10928:5;10935:7;10918:9;:25::i;:::-;10891:52;;10977:17;10957:16;:37;10953:243;;11038:6;11018:16;:26;;11010:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11120:51;11129:5;11136:7;11164:6;11145:16;:25;11120:8;:51::i;:::-;10953:243;10881:321;10761:441;;;:::o;7475:651::-;7617:1;7601:18;;:4;:18;;;;7593:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7693:1;7679:16;;:2;:16;;;;7671:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7746:38;7767:4;7773:2;7777:6;7746:20;:38::i;:::-;7795:19;7817:9;:15;7827:4;7817:15;;;;;;;;;;;;;;;;7795:37;;7865:6;7850:11;:21;;7842:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7980:6;7966:11;:20;7948:9;:15;7958:4;7948:15;;;;;;;;;;;;;;;:38;;;;8023:6;8006:9;:13;8016:2;8006:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;8060:2;8045:26;;8054:4;8045:26;;;8064:6;8045:26;;;;;;:::i;:::-;;;;;;;;8082:37;8102:4;8108:2;8112:6;8082:19;:37::i;:::-;7583:543;7475:651;;;:::o;1359:130:0:-;1433:12;:10;:12::i;:::-;1422:23;;:7;:5;:7::i;:::-;:23;;;1414:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1359:130::o;2433:187::-;2506:16;2525:6;;;;;;;;;;;2506:25;;2550:8;2541:6;;:17;;;;;;;;;;;;;;;;;;2604:8;2573:40;;2594:8;2573:40;;;;;;;;;;;;2496:124;2433:187;:::o;9111:576:2:-;9213:1;9194:21;;:7;:21;;;;9186:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9264:49;9285:7;9302:1;9306:6;9264:20;:49::i;:::-;9324:22;9349:9;:18;9359:7;9349:18;;;;;;;;;;;;;;;;9324:43;;9403:6;9385:14;:24;;9377:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9520:6;9503:14;:23;9482:9;:18;9492:7;9482:18;;;;;;;;;;;;;;;:44;;;;9562:6;9546:12;;:22;;;;;;;:::i;:::-;;;;;;;;9610:1;9584:37;;9593:7;9584:37;;;9614:6;9584:37;;;;;;:::i;:::-;;;;;;;;9632:48;9652:7;9669:1;9673:6;9632:19;:48::i;:::-;9176:511;9111:576;;:::o;11786:121::-;;;;:::o;12495:120::-;;;;:::o;7:139:7:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:133::-;195:5;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;152:133;;;;:::o;291:139::-;337:5;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;291:139;;;;:::o;436:143::-;493:5;524:6;518:13;509:22;;540:33;567:5;540:33;:::i;:::-;436:143;;;;:::o;585:329::-;644:6;693:2;681:9;672:7;668:23;664:32;661:119;;;699:79;;:::i;:::-;661:119;819:1;844:53;889:7;880:6;869:9;865:22;844:53;:::i;:::-;834:63;;790:117;585:329;;;;:::o;920:474::-;988:6;996;1045:2;1033:9;1024:7;1020:23;1016:32;1013:119;;;1051:79;;:::i;:::-;1013:119;1171:1;1196:53;1241:7;1232:6;1221:9;1217:22;1196:53;:::i;:::-;1186:63;;1142:117;1298:2;1324:53;1369:7;1360:6;1349:9;1345:22;1324:53;:::i;:::-;1314:63;;1269:118;920:474;;;;;:::o;1400:619::-;1477:6;1485;1493;1542:2;1530:9;1521:7;1517:23;1513:32;1510:119;;;1548:79;;:::i;:::-;1510:119;1668:1;1693:53;1738:7;1729:6;1718:9;1714:22;1693:53;:::i;:::-;1683:63;;1639:117;1795:2;1821:53;1866:7;1857:6;1846:9;1842:22;1821:53;:::i;:::-;1811:63;;1766:118;1923:2;1949:53;1994:7;1985:6;1974:9;1970:22;1949:53;:::i;:::-;1939:63;;1894:118;1400:619;;;;;:::o;2025:468::-;2090:6;2098;2147:2;2135:9;2126:7;2122:23;2118:32;2115:119;;;2153:79;;:::i;:::-;2115:119;2273:1;2298:53;2343:7;2334:6;2323:9;2319:22;2298:53;:::i;:::-;2288:63;;2244:117;2400:2;2426:50;2468:7;2459:6;2448:9;2444:22;2426:50;:::i;:::-;2416:60;;2371:115;2025:468;;;;;:::o;2499:474::-;2567:6;2575;2624:2;2612:9;2603:7;2599:23;2595:32;2592:119;;;2630:79;;:::i;:::-;2592:119;2750:1;2775:53;2820:7;2811:6;2800:9;2796:22;2775:53;:::i;:::-;2765:63;;2721:117;2877:2;2903:53;2948:7;2939:6;2928:9;2924:22;2903:53;:::i;:::-;2893:63;;2848:118;2499:474;;;;;:::o;2979:329::-;3038:6;3087:2;3075:9;3066:7;3062:23;3058:32;3055:119;;;3093:79;;:::i;:::-;3055:119;3213:1;3238:53;3283:7;3274:6;3263:9;3259:22;3238:53;:::i;:::-;3228:63;;3184:117;2979:329;;;;:::o;3314:351::-;3384:6;3433:2;3421:9;3412:7;3408:23;3404:32;3401:119;;;3439:79;;:::i;:::-;3401:119;3559:1;3584:64;3640:7;3631:6;3620:9;3616:22;3584:64;:::i;:::-;3574:74;;3530:128;3314:351;;;;:::o;3671:118::-;3758:24;3776:5;3758:24;:::i;:::-;3753:3;3746:37;3671:118;;:::o;3795:109::-;3876:21;3891:5;3876:21;:::i;:::-;3871:3;3864:34;3795:109;;:::o;3910:159::-;4011:51;4056:5;4011:51;:::i;:::-;4006:3;3999:64;3910:159;;:::o;4075:364::-;4163:3;4191:39;4224:5;4191:39;:::i;:::-;4246:71;4310:6;4305:3;4246:71;:::i;:::-;4239:78;;4326:52;4371:6;4366:3;4359:4;4352:5;4348:16;4326:52;:::i;:::-;4403:29;4425:6;4403:29;:::i;:::-;4398:3;4394:39;4387:46;;4167:272;4075:364;;;;:::o;4445:366::-;4587:3;4608:67;4672:2;4667:3;4608:67;:::i;:::-;4601:74;;4684:93;4773:3;4684:93;:::i;:::-;4802:2;4797:3;4793:12;4786:19;;4445:366;;;:::o;4817:::-;4959:3;4980:67;5044:2;5039:3;4980:67;:::i;:::-;4973:74;;5056:93;5145:3;5056:93;:::i;:::-;5174:2;5169:3;5165:12;5158:19;;4817:366;;;:::o;5189:::-;5331:3;5352:67;5416:2;5411:3;5352:67;:::i;:::-;5345:74;;5428:93;5517:3;5428:93;:::i;:::-;5546:2;5541:3;5537:12;5530:19;;5189:366;;;:::o;5561:::-;5703:3;5724:67;5788:2;5783:3;5724:67;:::i;:::-;5717:74;;5800:93;5889:3;5800:93;:::i;:::-;5918:2;5913:3;5909:12;5902:19;;5561:366;;;:::o;5933:::-;6075:3;6096:67;6160:2;6155:3;6096:67;:::i;:::-;6089:74;;6172:93;6261:3;6172:93;:::i;:::-;6290:2;6285:3;6281:12;6274:19;;5933:366;;;:::o;6305:::-;6447:3;6468:67;6532:2;6527:3;6468:67;:::i;:::-;6461:74;;6544:93;6633:3;6544:93;:::i;:::-;6662:2;6657:3;6653:12;6646:19;;6305:366;;;:::o;6677:::-;6819:3;6840:67;6904:2;6899:3;6840:67;:::i;:::-;6833:74;;6916:93;7005:3;6916:93;:::i;:::-;7034:2;7029:3;7025:12;7018:19;;6677:366;;;:::o;7049:::-;7191:3;7212:67;7276:2;7271:3;7212:67;:::i;:::-;7205:74;;7288:93;7377:3;7288:93;:::i;:::-;7406:2;7401:3;7397:12;7390:19;;7049:366;;;:::o;7421:::-;7563:3;7584:67;7648:2;7643:3;7584:67;:::i;:::-;7577:74;;7660:93;7749:3;7660:93;:::i;:::-;7778:2;7773:3;7769:12;7762:19;;7421:366;;;:::o;7793:::-;7935:3;7956:67;8020:2;8015:3;7956:67;:::i;:::-;7949:74;;8032:93;8121:3;8032:93;:::i;:::-;8150:2;8145:3;8141:12;8134:19;;7793:366;;;:::o;8165:::-;8307:3;8328:67;8392:2;8387:3;8328:67;:::i;:::-;8321:74;;8404:93;8493:3;8404:93;:::i;:::-;8522:2;8517:3;8513:12;8506:19;;8165:366;;;:::o;8537:::-;8679:3;8700:67;8764:2;8759:3;8700:67;:::i;:::-;8693:74;;8776:93;8865:3;8776:93;:::i;:::-;8894:2;8889:3;8885:12;8878:19;;8537:366;;;:::o;8909:::-;9051:3;9072:67;9136:2;9131:3;9072:67;:::i;:::-;9065:74;;9148:93;9237:3;9148:93;:::i;:::-;9266:2;9261:3;9257:12;9250:19;;8909:366;;;:::o;9281:::-;9423:3;9444:67;9508:2;9503:3;9444:67;:::i;:::-;9437:74;;9520:93;9609:3;9520:93;:::i;:::-;9638:2;9633:3;9629:12;9622:19;;9281:366;;;:::o;9653:::-;9795:3;9816:67;9880:2;9875:3;9816:67;:::i;:::-;9809:74;;9892:93;9981:3;9892:93;:::i;:::-;10010:2;10005:3;10001:12;9994:19;;9653:366;;;:::o;10025:118::-;10112:24;10130:5;10112:24;:::i;:::-;10107:3;10100:37;10025:118;;:::o;10149:112::-;10232:22;10248:5;10232:22;:::i;:::-;10227:3;10220:35;10149:112;;:::o;10267:222::-;10360:4;10398:2;10387:9;10383:18;10375:26;;10411:71;10479:1;10468:9;10464:17;10455:6;10411:71;:::i;:::-;10267:222;;;;:::o;10495:210::-;10582:4;10620:2;10609:9;10605:18;10597:26;;10633:65;10695:1;10684:9;10680:17;10671:6;10633:65;:::i;:::-;10495:210;;;;:::o;10711:250::-;10818:4;10856:2;10845:9;10841:18;10833:26;;10869:85;10951:1;10940:9;10936:17;10927:6;10869:85;:::i;:::-;10711:250;;;;:::o;10967:313::-;11080:4;11118:2;11107:9;11103:18;11095:26;;11167:9;11161:4;11157:20;11153:1;11142:9;11138:17;11131:47;11195:78;11268:4;11259:6;11195:78;:::i;:::-;11187:86;;10967:313;;;;:::o;11286:419::-;11452:4;11490:2;11479:9;11475:18;11467:26;;11539:9;11533:4;11529:20;11525:1;11514:9;11510:17;11503:47;11567:131;11693:4;11567:131;:::i;:::-;11559:139;;11286:419;;;:::o;11711:::-;11877:4;11915:2;11904:9;11900:18;11892:26;;11964:9;11958:4;11954:20;11950:1;11939:9;11935:17;11928:47;11992:131;12118:4;11992:131;:::i;:::-;11984:139;;11711:419;;;:::o;12136:::-;12302:4;12340:2;12329:9;12325:18;12317:26;;12389:9;12383:4;12379:20;12375:1;12364:9;12360:17;12353:47;12417:131;12543:4;12417:131;:::i;:::-;12409:139;;12136:419;;;:::o;12561:::-;12727:4;12765:2;12754:9;12750:18;12742:26;;12814:9;12808:4;12804:20;12800:1;12789:9;12785:17;12778:47;12842:131;12968:4;12842:131;:::i;:::-;12834:139;;12561:419;;;:::o;12986:::-;13152:4;13190:2;13179:9;13175:18;13167:26;;13239:9;13233:4;13229:20;13225:1;13214:9;13210:17;13203:47;13267:131;13393:4;13267:131;:::i;:::-;13259:139;;12986:419;;;:::o;13411:::-;13577:4;13615:2;13604:9;13600:18;13592:26;;13664:9;13658:4;13654:20;13650:1;13639:9;13635:17;13628:47;13692:131;13818:4;13692:131;:::i;:::-;13684:139;;13411:419;;;:::o;13836:::-;14002:4;14040:2;14029:9;14025:18;14017:26;;14089:9;14083:4;14079:20;14075:1;14064:9;14060:17;14053:47;14117:131;14243:4;14117:131;:::i;:::-;14109:139;;13836:419;;;:::o;14261:::-;14427:4;14465:2;14454:9;14450:18;14442:26;;14514:9;14508:4;14504:20;14500:1;14489:9;14485:17;14478:47;14542:131;14668:4;14542:131;:::i;:::-;14534:139;;14261:419;;;:::o;14686:::-;14852:4;14890:2;14879:9;14875:18;14867:26;;14939:9;14933:4;14929:20;14925:1;14914:9;14910:17;14903:47;14967:131;15093:4;14967:131;:::i;:::-;14959:139;;14686:419;;;:::o;15111:::-;15277:4;15315:2;15304:9;15300:18;15292:26;;15364:9;15358:4;15354:20;15350:1;15339:9;15335:17;15328:47;15392:131;15518:4;15392:131;:::i;:::-;15384:139;;15111:419;;;:::o;15536:::-;15702:4;15740:2;15729:9;15725:18;15717:26;;15789:9;15783:4;15779:20;15775:1;15764:9;15760:17;15753:47;15817:131;15943:4;15817:131;:::i;:::-;15809:139;;15536:419;;;:::o;15961:::-;16127:4;16165:2;16154:9;16150:18;16142:26;;16214:9;16208:4;16204:20;16200:1;16189:9;16185:17;16178:47;16242:131;16368:4;16242:131;:::i;:::-;16234:139;;15961:419;;;:::o;16386:::-;16552:4;16590:2;16579:9;16575:18;16567:26;;16639:9;16633:4;16629:20;16625:1;16614:9;16610:17;16603:47;16667:131;16793:4;16667:131;:::i;:::-;16659:139;;16386:419;;;:::o;16811:::-;16977:4;17015:2;17004:9;17000:18;16992:26;;17064:9;17058:4;17054:20;17050:1;17039:9;17035:17;17028:47;17092:131;17218:4;17092:131;:::i;:::-;17084:139;;16811:419;;;:::o;17236:::-;17402:4;17440:2;17429:9;17425:18;17417:26;;17489:9;17483:4;17479:20;17475:1;17464:9;17460:17;17453:47;17517:131;17643:4;17517:131;:::i;:::-;17509:139;;17236:419;;;:::o;17661:222::-;17754:4;17792:2;17781:9;17777:18;17769:26;;17805:71;17873:1;17862:9;17858:17;17849:6;17805:71;:::i;:::-;17661:222;;;;:::o;17889:214::-;17978:4;18016:2;18005:9;18001:18;17993:26;;18029:67;18093:1;18082:9;18078:17;18069:6;18029:67;:::i;:::-;17889:214;;;;:::o;18190:99::-;18242:6;18276:5;18270:12;18260:22;;18190:99;;;:::o;18295:169::-;18379:11;18413:6;18408:3;18401:19;18453:4;18448:3;18444:14;18429:29;;18295:169;;;;:::o;18470:305::-;18510:3;18529:20;18547:1;18529:20;:::i;:::-;18524:25;;18563:20;18581:1;18563:20;:::i;:::-;18558:25;;18717:1;18649:66;18645:74;18642:1;18639:81;18636:107;;;18723:18;;:::i;:::-;18636:107;18767:1;18764;18760:9;18753:16;;18470:305;;;;:::o;18781:185::-;18821:1;18838:20;18856:1;18838:20;:::i;:::-;18833:25;;18872:20;18890:1;18872:20;:::i;:::-;18867:25;;18911:1;18901:35;;18916:18;;:::i;:::-;18901:35;18958:1;18955;18951:9;18946:14;;18781:185;;;;:::o;18972:348::-;19012:7;19035:20;19053:1;19035:20;:::i;:::-;19030:25;;19069:20;19087:1;19069:20;:::i;:::-;19064:25;;19257:1;19189:66;19185:74;19182:1;19179:81;19174:1;19167:9;19160:17;19156:105;19153:131;;;19264:18;;:::i;:::-;19153:131;19312:1;19309;19305:9;19294:20;;18972:348;;;;:::o;19326:191::-;19366:4;19386:20;19404:1;19386:20;:::i;:::-;19381:25;;19420:20;19438:1;19420:20;:::i;:::-;19415:25;;19459:1;19456;19453:8;19450:34;;;19464:18;;:::i;:::-;19450:34;19509:1;19506;19502:9;19494:17;;19326:191;;;;:::o;19523:96::-;19560:7;19589:24;19607:5;19589:24;:::i;:::-;19578:35;;19523:96;;;:::o;19625:90::-;19659:7;19702:5;19695:13;19688:21;19677:32;;19625:90;;;:::o;19721:126::-;19758:7;19798:42;19791:5;19787:54;19776:65;;19721:126;;;:::o;19853:77::-;19890:7;19919:5;19908:16;;19853:77;;;:::o;19936:86::-;19971:7;20011:4;20004:5;20000:16;19989:27;;19936:86;;;:::o;20028:140::-;20092:9;20125:37;20156:5;20125:37;:::i;:::-;20112:50;;20028:140;;;:::o;20174:126::-;20224:9;20257:37;20288:5;20257:37;:::i;:::-;20244:50;;20174:126;;;:::o;20306:113::-;20356:9;20389:24;20407:5;20389:24;:::i;:::-;20376:37;;20306:113;;;:::o;20425:307::-;20493:1;20503:113;20517:6;20514:1;20511:13;20503:113;;;20602:1;20597:3;20593:11;20587:18;20583:1;20578:3;20574:11;20567:39;20539:2;20536:1;20532:10;20527:15;;20503:113;;;20634:6;20631:1;20628:13;20625:101;;;20714:1;20705:6;20700:3;20696:16;20689:27;20625:101;20474:258;20425:307;;;:::o;20738:320::-;20782:6;20819:1;20813:4;20809:12;20799:22;;20866:1;20860:4;20856:12;20887:18;20877:81;;20943:4;20935:6;20931:17;20921:27;;20877:81;21005:2;20997:6;20994:14;20974:18;20971:38;20968:84;;;21024:18;;:::i;:::-;20968:84;20789:269;20738:320;;;:::o;21064:180::-;21112:77;21109:1;21102:88;21209:4;21206:1;21199:15;21233:4;21230:1;21223:15;21250:180;21298:77;21295:1;21288:88;21395:4;21392:1;21385:15;21419:4;21416:1;21409:15;21436:180;21484:77;21481:1;21474:88;21581:4;21578:1;21571:15;21605:4;21602:1;21595:15;21745:117;21854:1;21851;21844:12;21868:102;21909:6;21960:2;21956:7;21951:2;21944:5;21940:14;21936:28;21926:38;;21868:102;;;:::o;21976:222::-;22116:34;22112:1;22104:6;22100:14;22093:58;22185:5;22180:2;22172:6;22168:15;22161:30;21976:222;:::o;22204:168::-;22344:20;22340:1;22332:6;22328:14;22321:44;22204:168;:::o;22378:221::-;22518:34;22514:1;22506:6;22502:14;22495:58;22587:4;22582:2;22574:6;22570:15;22563:29;22378:221;:::o;22605:225::-;22745:34;22741:1;22733:6;22729:14;22722:58;22814:8;22809:2;22801:6;22797:15;22790:33;22605:225;:::o;22836:221::-;22976:34;22972:1;22964:6;22960:14;22953:58;23045:4;23040:2;23032:6;23028:15;23021:29;22836:221;:::o;23063:179::-;23203:31;23199:1;23191:6;23187:14;23180:55;23063:179;:::o;23248:225::-;23388:34;23384:1;23376:6;23372:14;23365:58;23457:8;23452:2;23444:6;23440:15;23433:33;23248:225;:::o;23479:165::-;23619:17;23615:1;23607:6;23603:14;23596:41;23479:165;:::o;23650:182::-;23790:34;23786:1;23778:6;23774:14;23767:58;23650:182;:::o;23838:220::-;23978:34;23974:1;23966:6;23962:14;23955:58;24047:3;24042:2;24034:6;24030:15;24023:28;23838:220;:::o;24064:224::-;24204:34;24200:1;24192:6;24188:14;24181:58;24273:7;24268:2;24260:6;24256:15;24249:32;24064:224;:::o;24294:223::-;24434:34;24430:1;24422:6;24418:14;24411:58;24503:6;24498:2;24490:6;24486:15;24479:31;24294:223;:::o;24523:181::-;24663:33;24659:1;24651:6;24647:14;24640:57;24523:181;:::o;24710:224::-;24850:34;24846:1;24838:6;24834:14;24827:58;24919:7;24914:2;24906:6;24902:15;24895:32;24710:224;:::o;24940:181::-;25080:33;25076:1;25068:6;25064:14;25057:57;24940:181;:::o;25127:122::-;25200:24;25218:5;25200:24;:::i;:::-;25193:5;25190:35;25180:63;;25239:1;25236;25229:12;25180:63;25127:122;:::o;25255:116::-;25325:21;25340:5;25325:21;:::i;:::-;25318:5;25315:32;25305:60;;25361:1;25358;25351:12;25305:60;25255:116;:::o;25377:122::-;25450:24;25468:5;25450:24;:::i;:::-;25443:5;25440:35;25430:63;;25489:1;25486;25479:12;25430:63;25377:122;:::o

Swarm Source

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