ETH Price: $2,534.58 (+3.82%)

Token

MamaMaye Coin (MAMAMAYE)
 

Overview

Max Total Supply

803,180,033,800,000 MAMAMAYE

Holders

64

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 MAMAMAYE

Value
$0.00
0x3c4d85c589a889c91f8f4076b07a21c37b82a1f6
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:
MamaMaye

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Context.sol


// 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: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol


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

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


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

pragma solidity ^0.8.0;


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

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

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

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


// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;




/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * The default value of {decimals} is 18. To change this, you should override
 * this function so it returns a different value.
 *
 * 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}.
     *
     * 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 default value returned by this function, unless
     * it's 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;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _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;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _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;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _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: mamamaye.sol


pragma solidity ^0.8.19;


contract MamaMaye is ERC20 {
    address public admin;
    uint256 public currTime;
    uint256 public startingSupply = 803180033800000 * 10 ** 18;
    
    constructor() ERC20('MamaMaye Coin', 'MAMAMAYE') {
        _mint(msg.sender, 803180033800000 * 10 ** 18);
        admin = msg.sender;
    }
    
    function updateSupply(uint256 lastEnd, uint256 nestStart, uint256 currSupply) internal {
        currTime = block.timestamp;
        if (currTime > lastEnd && currTime < nestStart) {
            currSupply = currSupply *10 **18;
            if (startingSupply < currSupply) {
                _mint(admin, currSupply-startingSupply);
                startingSupply = currSupply;
            } else {
                revert ('SupplyForCurrentYearAlreadyAdjusted UseTimeMachineToChange');
            }
            
        } else {
            revert ('NotCurrentYear UseTimeMachineToGoThere');
        }
        
    }
    
    
    
    function USHER2024() external {
        updateSupply(17040671990000,17356896000000,810860525500000);
    }
    function USHER2025() external {
        updateSupply(17356895990000,17672256000000,818443745300000);
    }
    function USHER2026() external {
        updateSupply(17672255990000,17987616000000,825927665100000);
    }
    function USHER2027() external {
        updateSupply(17987615990000,18302976000000,833307831800000);
    }
    function USHER2028() external {
        updateSupply(18302975990000,18619200000000,840586330100000);
    }
    function USHER2029() external {
        updateSupply(18619199990000,18934560000000,847766072300000);
    }
    function USHER2030() external {
        updateSupply(18934559990000,19249920000000,854848737100000);
    }
    function USHER2031() external {
        updateSupply(19249919990000,19565280000000,861834945400000);
    }
    function USHER2032() external {
        updateSupply(19565279990000,19881504000000,868722787300000);
    }
    function USHER2033() external {
        updateSupply(19881503990000,20196864000000,875508351200000);
    }
    function USHER2034() external {
        updateSupply(20196863990000,20512224000000,882186270500000);
    }
    function USHER2035() external {
        updateSupply(20512223990000,20827584000000,888752422900000);
    }
    function USHER2036() external {
        updateSupply(20827583990000,21143808000000,895204888500000);
    }
    function USHER2037() external {
        updateSupply(21143807990000,21459168000000,901543761600000);
    }
    function USHER2038() external {
        updateSupply(21459167990000,21774528000000,907769364500000);
    }
    function USHER2039() external {
        updateSupply(21774527990000,22089888000000,913882856200000);
    }
    function USHER2040() external {
        updateSupply(22089887990000,22406112000000,919884738200000);
    }
    function USHER2041() external {
        updateSupply(22406111990000,22721472000000,925774548300000);
    }
    function USHER2042() external {
        updateSupply(22721471990000,23036832000000,931550815300000);
    }
    function USHER2043() external {
        updateSupply(23036831990000,23352192000000,937211824700000);
    }
    function USHER2044() external {
        updateSupply(23352191990000,23668416000000,942755538200000);
    }
    function USHER2045() external {
        updateSupply(23668415990000,23983776000000,948180327200000);
    }
    function USHER2046() external {
        updateSupply(23983775990000,24299136000000,953485467300000);
    }
    function USHER2047() external {
        updateSupply(24299135990000,24614496000000,958670774900000);
    }
    function USHER2048() external {
        updateSupply(24614495990000,24930720000000,963735732000000);
    }
    function USHER2049() external {
        updateSupply(24930719990000,25246080000000,968680014600000);
    }
    function USHER2050() external {
        updateSupply(25246079990000,25561440000000,973503390000000);
    }
    function USHER2051() external {
        updateSupply(25561439990000,25876800000000,978206175800000);
    }
    function USHER2052() external {
        updateSupply(25876799990000,26193024000000,982788544100000);
    }
    function USHER2053() external {
        updateSupply(26193023990000,26508384000000,987250156200000);
    }
    function USHER2054() external {
        updateSupply(26508383990000,26823744000000,991590525100000);
    }
    function USHER2055() external {
        updateSupply(26823743990000,27139104000000,995809874600000);
    }
    function USHER2056() external {
        updateSupply(27139103990000,27455328000000,999908516700000);
    }
    function USHER2057() external {
        updateSupply(27455327990000,27770688000000,1003888126200000);
    }
    function USHER2058() external {
        updateSupply(27770687990000,28086048000000,1007751808000000);
    }
    function USHER2059() external {
        updateSupply(28086047990000,28401408000000,1011503636000000);
    }
    function USHER2060() external {
        updateSupply(28401407990000,28717632000000,1015146968300000);
    }
    function USHER2061() external {
        updateSupply(28717631990000,29032992000000,1018683720900000);
    }
    function USHER2062() external {
        updateSupply(29032991990000,29348352000000,1022114904000000);
    }
    function USHER2063() external {
        updateSupply(29348351990000,29663712000000,1025441900400000);
    }
    function USHER2064() external {
        updateSupply(29663711990000,29979936000000,1028665835400000);
    }
    function USHER2065() external {
        updateSupply(29979935990000,30295296000000,1031787931500000);
    }
    function USHER2066() external {
        updateSupply(30295295990000,30610656000000,1034809807900000);
    }
    function USHER2067() external {
        updateSupply(30610655990000,30926016000000,1037733083000000);
    }
    function USHER2068() external {
        updateSupply(30926015990000,31242240000000,1040559053200000);
    }
    function USHER2069() external {
        updateSupply(31242239990000,31557600000000,1043288913600000);
    }
    function USHER2070() external {
        updateSupply(31557599990000,31872960000000,1045923950100000);
    }
    function USHER2071() external {
        updateSupply(31872959990000,32188320000000,1048465485800000);
    }
    function USHER2072() external {
        updateSupply(32188319990000,32504544000000,1050915040200000);
    }
    function USHER2073() external {
        updateSupply(32504543990000,32819904000000,1053274286100000);
    }
    function USHER2074() external {
        updateSupply(32819903990000,33135264000000,1055545000300000);
    }
    function USHER2075() external {
        updateSupply(33135263990000,33450624000000,1057728819500000);
    }
    function USHER2076() external {
        updateSupply(33450623990000,33766848000000,1059827417200000);
    }
    function USHER2077() external {
        updateSupply(33766847990000,34082208000000,1061842090900000);
    }
    function USHER2078() external {
        updateSupply(34082207990000,34397568000000,1063773681900000);
    }
    function USHER2079() external {
        updateSupply(34397567990000,34712928000000,1065622823300000);
    }
    function USHER2080() external {
        updateSupply(34712927990000,35029152000000,1067390445400000);
    }
    function USHER2081() external {
        updateSupply(35029151990000,35344512000000,1069077333500000);
    }
    function USHER2082() external {
        updateSupply(35344511990000,35659872000000,1070685242600000);
    }
    function USHER2083() external {
        updateSupply(35659871990000,35975232000000,1072217137500000);
    }
    function USHER2084() external {
        updateSupply(35975231990000,36291456000000,1073676544400000);
    }
    function USHER2085() external {
        updateSupply(36291455990000,36606816000000,1075066235300000);
    }
    function USHER2086() external {
        updateSupply(36606815990000,36922176000000,1076387402300000);
    }
    function USHER2087() external {
        updateSupply(36922175990000,37237536000000,1077640201900000);
    }
    function USHER2088() external {
        updateSupply(37237535990000,37553760000000,1078824894800000);
    }
    function USHER2089() external {
        updateSupply(37553759990000,37869120000000,1079941336600000);
    }
    function USHER2090() external {
        updateSupply(37869119990000,38184480000000,1080989230300000);
    }
    function USHER2091() external {
        updateSupply(38184479990000,38499840000000,1081968264300000);
    }
    function USHER2092() external {
        updateSupply(38499839990000,38816064000000,1082878095900000);
    }
    function USHER2093() external {
        updateSupply(38816063990000,39131424000000,1083718207700000);
    }
    function USHER2094() external {
        updateSupply(39131423990000,39446784000000,1084487879800000);
    }
    function USHER2095() external {
        updateSupply(39446783990000,39762144000000,1085186014500000);
    }
    function USHER2096() external {
        updateSupply(39762143990000,40078368000000,1085811158700000);
    }
    function USHER2097() external {
        updateSupply(40078367990000,40393728000000,1086361477600000);
    }
    function USHER2098() external {
        updateSupply(40393727990000,40709088000000,1086834763600000);
    }
    function USHER2099() external {
        updateSupply(40709087990000,41024448000000,1087228413400000);
    }
    function USHER2100() external {
        updateSupply(41024447990000,41339808000000,1087539371900000);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"USHER2024","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2025","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2026","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2027","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2028","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2029","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2030","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2031","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2032","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2033","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2034","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2035","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2036","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2037","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2038","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2039","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2040","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2041","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2042","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2043","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2044","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2045","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2046","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2047","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2048","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2049","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2050","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2051","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2052","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2053","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2054","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2055","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2056","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2057","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2058","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2059","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2060","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2061","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2062","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2063","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2064","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2065","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2066","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2067","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2068","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2069","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2070","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2071","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2072","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2073","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2074","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2075","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2076","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2077","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2078","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2079","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2080","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2081","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2082","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2083","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2084","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2085","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2086","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2087","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2088","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2089","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2090","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2091","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2092","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2093","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2094","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2095","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2096","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2097","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2098","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2099","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"USHER2100","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]

60806040526d27998ea8595b0b47e593550000006007553480156200002357600080fd5b506040518060400160405280600d81526020017f4d616d614d61796520436f696e000000000000000000000000000000000000008152506040518060400160405280600881526020017f4d414d414d4159450000000000000000000000000000000000000000000000008152508160039081620000a191906200050e565b508060049081620000b391906200050e565b505050620000d6336d27998ea8595b0b47e593550000006200011d60201b60201c565b33600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000710565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200018f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001869062000656565b60405180910390fd5b620001a3600083836200028a60201b60201c565b8060026000828254620001b79190620006a7565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200026a9190620006f3565b60405180910390a362000286600083836200028f60201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200031657607f821691505b6020821081036200032c576200032b620002ce565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000357565b620003a2868362000357565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003ef620003e9620003e384620003ba565b620003c4565b620003ba565b9050919050565b6000819050919050565b6200040b83620003ce565b620004236200041a82620003f6565b84845462000364565b825550505050565b600090565b6200043a6200042b565b6200044781848462000400565b505050565b5b818110156200046f576200046360008262000430565b6001810190506200044d565b5050565b601f821115620004be57620004888162000332565b620004938462000347565b81016020851015620004a3578190505b620004bb620004b28562000347565b8301826200044c565b50505b505050565b600082821c905092915050565b6000620004e360001984600802620004c3565b1980831691505092915050565b6000620004fe8383620004d0565b9150826002028217905092915050565b620005198262000294565b67ffffffffffffffff8111156200053557620005346200029f565b5b620005418254620002fd565b6200054e82828562000473565b600060209050601f83116001811462000586576000841562000571578287015190505b6200057d8582620004f0565b865550620005ed565b601f198416620005968662000332565b60005b82811015620005c05784890151825560018201915060208501945060208101905062000599565b86831015620005e05784890151620005dc601f891682620004d0565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200063e601f83620005f5565b91506200064b8262000606565b602082019050919050565b6000602082019050818103600083015262000671816200062f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006b482620003ba565b9150620006c183620003ba565b9250828201905080821115620006dc57620006db62000678565b5b92915050565b620006ed81620003ba565b82525050565b60006020820190506200070a6000830184620006e2565b92915050565b61283680620007206000396000f3fe608060405234801561001057600080fd5b50600436106104f95760003560e01c8063857eae6811610299578063b8413b5011610167578063d1396573116100d9578063de916f6311610092578063de916f63146109d2578063ec2f4b60146109dc578063ed05d272146109e6578063f421d662146109f0578063f851a440146109fa578063fb21049714610a18576104f9565b8063d139657314610970578063d37487c41461097a578063d3a9984514610984578063da3136b71461098e578063dab8401914610998578063dd62ed3e146109a2576104f9565b8063c3de0cbc1161012b578063c3de0cbc14610934578063c60f67a11461093e578063c7f908c914610948578063c9014c2a14610952578063cc6923f71461095c578063cc6b912414610966576104f9565b8063b8413b5014610902578063b8faaf481461090c578063b9719ffd14610916578063bd67bb3e14610920578063bdd66c361461092a576104f9565b80639bba1c041161020b578063aaeb5545116101c4578063aaeb5545146108c6578063ae0bf8aa146108d0578063b09dd12b146108da578063b116824c146108e4578063b38f85c2146108ee578063b60f963c146108f8576104f9565b80639bba1c041461083e5780639eaaf6c8146108485780639f2d7e2f146108525780639f5508821461085c578063a457c2d714610866578063a9059cbb14610896576104f9565b80638c99aa871161025d5780638c99aa87146107ee578063931cab00146107f857806394ee18771461080257806395d89b411461080c5780639950dc421461082a5780639acb761014610834576104f9565b8063857eae68146107bc57806389e80ac6146107c65780638b7929cb146107d05780638bae07a4146107da5780638c5a8ddc146107e4576104f9565b80633b0e779e116103d6578063599232461161034857806364ccb8931161030157806364ccb8931461075a5780636b6c2551146107645780636c9d03aa1461076e57806370a0823114610778578063756e4fb0146107a85780637b547949146107b2576104f9565b8063599232461461071e5780635b07f250146107285780635b1a0b9e146107325780635e6c4b051461073c5780636149f89e1461074657806364746ccd14610750576104f9565b806349c4a6751161039a57806349c4a675146106e25780634a77897d146106ec578063516014b7146106f6578063535fe2981461070057806355fafd1d1461070a57806356e7366b14610714576104f9565b80633b0e779e1461069c5780633b4ae18d146106a65780633c4a89bf146106b05780633eebbea3146106ba57806341c53162146106c4576104f9565b80631d704bc71161046f578063313ce56711610433578063313ce5671461062657806333d245551461064457806337236f3b1461064e578063374b93d21461065857806339509351146106625780633ace067414610692576104f9565b80631d704bc7146105ce5780631eb13864146105d857806323b872dd146105e2578063249aa5e2146106125780632a9a918d1461061c576104f9565b806313698c9d116104c157806313698c9d1461056a57806315f96aa114610574578063172f1fdd1461057e57806317e22ee21461058857806318160ddd146105925780631a6af7b7146105b0576104f9565b8063032268d0146104fe57806306fdde0314610508578063095ea7b3146105265780630a8388271461055657806312f6f3b014610560575b600080fd5b610506610a22565b005b610510610a42565b60405161051d9190611ee3565b60405180910390f35b610540600480360381019061053b9190611f9e565b610ad4565b60405161054d9190611ff9565b60405180910390f35b61055e610af7565b005b610568610b17565b005b610572610b37565b005b61057c610b57565b005b610586610b77565b005b610590610b97565b005b61059a610bb7565b6040516105a79190612023565b60405180910390f35b6105b8610bc1565b6040516105c59190612023565b60405180910390f35b6105d6610bc7565b005b6105e0610be7565b005b6105fc60048036038101906105f7919061203e565b610c07565b6040516106099190611ff9565b60405180910390f35b61061a610c36565b005b610624610c56565b005b61062e610c76565b60405161063b91906120ad565b60405180910390f35b61064c610c7f565b005b610656610c9f565b005b610660610cbf565b005b61067c60048036038101906106779190611f9e565b610cdf565b6040516106899190611ff9565b60405180910390f35b61069a610d16565b005b6106a4610d36565b005b6106ae610d56565b005b6106b8610d76565b005b6106c2610d96565b005b6106cc610db6565b6040516106d99190612023565b60405180910390f35b6106ea610dbc565b005b6106f4610ddc565b005b6106fe610dfc565b005b610708610e1c565b005b610712610e3c565b005b61071c610e5c565b005b610726610e7c565b005b610730610e9c565b005b61073a610ebc565b005b610744610edc565b005b61074e610efc565b005b610758610f1c565b005b610762610f3c565b005b61076c610f5c565b005b610776610f7c565b005b610792600480360381019061078d91906120c8565b610f9c565b60405161079f9190612023565b60405180910390f35b6107b0610fe4565b005b6107ba611004565b005b6107c4611024565b005b6107ce611044565b005b6107d8611064565b005b6107e2611084565b005b6107ec6110a4565b005b6107f66110c4565b005b6108006110e4565b005b61080a611104565b005b610814611124565b6040516108219190611ee3565b60405180910390f35b6108326111b6565b005b61083c6111d6565b005b6108466111f6565b005b610850611216565b005b61085a611236565b005b610864611256565b005b610880600480360381019061087b9190611f9e565b611276565b60405161088d9190611ff9565b60405180910390f35b6108b060048036038101906108ab9190611f9e565b6112ed565b6040516108bd9190611ff9565b60405180910390f35b6108ce611310565b005b6108d8611330565b005b6108e2611350565b005b6108ec611370565b005b6108f6611390565b005b6109006113b0565b005b61090a6113d0565b005b6109146113f0565b005b61091e611410565b005b610928611430565b005b610932611450565b005b61093c611470565b005b610946611490565b005b6109506114b0565b005b61095a6114d0565b005b6109646114f0565b005b61096e611510565b005b610978611530565b005b610982611550565b005b61098c611570565b005b610996611590565b005b6109a06115b0565b005b6109bc60048036038101906109b791906120f5565b6115d0565b6040516109c99190612023565b60405180910390f35b6109da611657565b005b6109e4611677565b005b6109ee611697565b005b6109f86116b7565b005b610a026116d7565b604051610a0f9190612144565b60405180910390f35b610a206116fd565b005b610a406514aa414448f06514f3ae30280066034f3d936fa9a061171d565b565b606060038054610a519061218e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7d9061218e565b8015610aca5780601f10610a9f57610100808354040283529160200191610aca565b820191906000526020600020905b815481529060010190602001808311610aad57829003601f168201915b5050505050905090565b600080610adf611820565b9050610aec818585611828565b600191505092915050565b610b156510a57e61d8f06510ef1ecd50006602fc82419bd12061171d565b565b610b35651cfd007548f0651d466d6128006603b992e4d7224061171d565b565b610b55651eb5f4fac8f0651eff61e6a8006603c5bd60a2ba2061171d565b565b610b756512a7dfd310f06512f14cbef00066032850cc75d12061171d565b565b610b956512f14cbec8f065133aed2a400066032e2f2161572061171d565b565b610bb5651fdbdc2940f0652025491520006603cc51f6b3606061171d565b565b6000600254905090565b60065481565b610be565214b304370f06521949d2f50006603d2f7f8c13a6061171d565b565b610c05651d900dcc50f0651dd97ab830006603bdf287ac8e2061171d565b565b600080610c12611820565b9050610c1f8582856119f1565b610c2a858585611a7d565b60019150509392505050565b610c54651bd71946d0f0651c208632b0006603afd00fc8acc061171d565b565b610c74651181f8a498f06511cb6590780066030fd595c68cc061171d565b565b60006012905090565b610c9d652303f14958f065234d91b4d0006603d8df343dbd6061171d565b565b610cbd651012a48a68f065105c117648006602ef2d4516a4e061171d565b565b610cdd652429d877d0f065247378e348006603db8a1c684fe061171d565b565b600080610cea611820565b9050610d0b818585610cfc85896115d0565b610d0691906121ee565b611828565b600191505092915050565b610d34652396fea060f06523e06b8c40006603da5602d6b4c061171d565b565b610d546522711771e8f06522ba845dc8006603d7276b13fb6061171d565b565b610d746513845a15d0f06513cdc701b0006603399c86824e2061171d565b565b610d9465153d1b1bb8f0651586bb8730006603596e60f6e5c061171d565b565b610db4651a1e5840e8f0651a67c52cc80066039e7cc9529da061171d565b565b60075481565b610dda651619955e78f0651663024a5800660367e7eefe952061171d565b565b610dfa650fc9379eb0f0651012a48a90006602e85ec8b50e2061171d565b565b610e1a65186563bb68f06518aed0a74800660389af0dd6e04061171d565b565b610e3a6521949d2f28f06521de0a1b08006603d41ba96e0fe061171d565b565b610e5a65206eb600b0f06520b822ec90006603cf2d019a4f6061171d565b565b610e7a6520b822ec68f0652101c357e0006603d080cd085a8061171d565b565b610e9a651e6c548f78f0651eb5f4faf0006603c3e84cb9b58061171d565b565b610eba65198b4ae9e0f06519d4b7d5c000660397f50ae9ad0061171d565b565b610eda651afa9f0410f0651b443f6f88006603a790edb62b4061171d565b565b610efa6515d02872c0f0651619955ea00066036330a293b0a061171d565b565b610f1a651b8dac5b18f0651bd71946f8006603ad276f028d6061171d565b565b610f3a651c20863288f0651c6a269e00006603b26208bbda8061171d565b565b610f5a651e22e7a3c0f0651e6c548fa0006603c1ffae8e13e061171d565b565b610f7a6513cdc70188f065141733ed680066033f2bef02974061171d565b565b610f9a6519d4b7d598f0651a1e5841100066039b455270b9e061171d565b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110026510ef1ecd28f06511388bb9080066030309eb9791e061171d565b565b6110226521de0a1ae0f0652227aa8658006603d52f7ea1208061171d565b565b611042651dd97ab808f0651e22e7a3e8006603c00338c98de061171d565b565b6110626514f3ae3000f065153d1b1be00066035463a1e3fa6061171d565b565b611082651d466d6100f0651d900dcc78006603bbcd39a9054061171d565b565b6110a2651cb3938990f0651cfd007570006603b7432581fe2061171d565b565b6110c26522ba845da0f0652303f14980006603d80b5e0d45e061171d565b565b6110e26524bce5ced8f065250652bab8006603dc787003908061171d565b565b61110265181bf6cfb0f065186563bb9000660385d8a902dfe061171d565b565b611122651663024a30f06516aca2b5a80066036c8335f6950061171d565b565b6060600480546111339061218e565b80601f016020809104026020016040519081016040528092919081815260200182805461115f9061218e565b80156111ac5780601f10611181576101008083540402835291602001916111ac565b820191906000526020600020905b81548152906001019060200180831161118f57829003601f168201915b5050505050905090565b6111d46517d289e3f8f065181bf6cfd800660381e616dd604061171d565b565b6111f465234d91b4a8f0652396fea088006603d9a2cece7c2061171d565b565b611214650f7f973360f0650fc9379ed8006602e1792d95b66061171d565b565b61123465125e72e758f06512a7dfd3380066032257ff4764a061171d565b565b611254651460d45890f06514aa41447000660349fcaf17f0e061171d565b565b61127465141733ed40f0651460d458b800660344a15b0e01c061171d565b565b600080611281611820565b9050600061128f82866115d0565b9050838110156112d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cb90612294565b60405180910390fd5b6112e18286868403611828565b60019250505092915050565b6000806112f8611820565b9050611305818585611a7d565b600191505092915050565b61132e65121505fba0f065125e72e7800066031c452c456b0061171d565b565b61134e651a67c52ca0f0651ab1321880006603a19babc5c60061171d565b565b61136e6511388bb8e0f0651181f8a4c0006603097afb4fc0e061171d565b565b61138e6523e06b8c18f0652429d877f8006603daf88ee8d4a061171d565b565b6113ae652227aa8630f0652271177210006603d6336fbf0dc061171d565b565b6113ce6516aca2b580f06516f60fa1600066037102642bd74061171d565b565b6113ee65105c117620f06510a57e6200006602f5e3994d90c061171d565b565b61140e651f923bbdf0f0651fdbdc2968006603cac93455afc061171d565b565b61142e65247378e320f06524bce5cf00006603dc0a3df8530061171d565b565b61144e651eff61e680f0651f48ced260006603c77f1c6e59e061171d565b565b61146e651788e978a8f06517d289e4200066037dd74a0f76a061171d565b565b61148e651f48ced238f0651f923bbe18006603c92da5d8eba061171d565b565b6114ae652101c357b8f065214b304398006603d1c45d10a8a061171d565b565b6114ce6520254914f8f065206eb600d8006603cdc8558d2a4061171d565b565b6114ee651c6a269dd8f0651cb39389b8006603b4dda117de0061171d565b565b61150e6518aed0a720f06518f87112980066038d6957f21f6061171d565b565b61152e65133aed2a18f06513845a15f800660333f303a8de0061171d565b565b61154e651941ddfe28f065198b4aea08006603948b8089a00061171d565b565b61156e65173f7c8cf0f0651788e978d000660379ac5fa02ac061171d565b565b61158e65250652ba90f065254fbfa670006603dcd4175ed3c061171d565b565b6115ae651ab1321858f0651afa9f0438006603a4a24c360d8061171d565b565b6115ce6516f60fa138f065173f7c8d1800660375656bbfa38061171d565b565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61167565254fbfa648f06525992c9228006603dd1c7df0fc6061171d565b565b611695651586bb8708f06515d02872e80066035e5d6f95f50061171d565b565b6116b5651b443f6f60f0651b8dac5b40006603aa67d923fde061171d565b565b6116d56518f8711270f0651941ddfe500066039107eb2808c061171d565b565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61171b6511cb659050f065121505fbc80066031619492532a061171d565b565b4260068190555082600654118015611736575081600654105b156117e057670de0b6b3a76400008161174f91906122b4565b90508060075410156117a057611794600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166007548361178f91906122f6565b611cf3565b806007819055506117db565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d29061239c565b60405180910390fd5b61181b565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118129061242e565b60405180910390fd5b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188e906124c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611906576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fd90612552565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119e49190612023565b60405180910390a3505050565b60006119fd84846115d0565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a775781811015611a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a60906125be565b60405180910390fd5b611a768484848403611828565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611aec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae390612650565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b52906126e2565b60405180910390fd5b611b66838383611e49565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be390612774565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cda9190612023565b60405180910390a3611ced848484611e4e565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d59906127e0565b60405180910390fd5b611d6e60008383611e49565b8060026000828254611d8091906121ee565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e319190612023565b60405180910390a3611e4560008383611e4e565b5050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e8d578082015181840152602081019050611e72565b60008484015250505050565b6000601f19601f8301169050919050565b6000611eb582611e53565b611ebf8185611e5e565b9350611ecf818560208601611e6f565b611ed881611e99565b840191505092915050565b60006020820190508181036000830152611efd8184611eaa565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f3582611f0a565b9050919050565b611f4581611f2a565b8114611f5057600080fd5b50565b600081359050611f6281611f3c565b92915050565b6000819050919050565b611f7b81611f68565b8114611f8657600080fd5b50565b600081359050611f9881611f72565b92915050565b60008060408385031215611fb557611fb4611f05565b5b6000611fc385828601611f53565b9250506020611fd485828601611f89565b9150509250929050565b60008115159050919050565b611ff381611fde565b82525050565b600060208201905061200e6000830184611fea565b92915050565b61201d81611f68565b82525050565b60006020820190506120386000830184612014565b92915050565b60008060006060848603121561205757612056611f05565b5b600061206586828701611f53565b935050602061207686828701611f53565b925050604061208786828701611f89565b9150509250925092565b600060ff82169050919050565b6120a781612091565b82525050565b60006020820190506120c2600083018461209e565b92915050565b6000602082840312156120de576120dd611f05565b5b60006120ec84828501611f53565b91505092915050565b6000806040838503121561210c5761210b611f05565b5b600061211a85828601611f53565b925050602061212b85828601611f53565b9150509250929050565b61213e81611f2a565b82525050565b60006020820190506121596000830184612135565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121a657607f821691505b6020821081036121b9576121b861215f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121f982611f68565b915061220483611f68565b925082820190508082111561221c5761221b6121bf565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061227e602583611e5e565b915061228982612222565b604082019050919050565b600060208201905081810360008301526122ad81612271565b9050919050565b60006122bf82611f68565b91506122ca83611f68565b92508282026122d881611f68565b915082820484148315176122ef576122ee6121bf565b5b5092915050565b600061230182611f68565b915061230c83611f68565b9250828203905081811115612324576123236121bf565b5b92915050565b7f537570706c79466f7243757272656e7459656172416c726561647941646a757360008201527f7465642055736554696d654d616368696e65546f4368616e6765000000000000602082015250565b6000612386603a83611e5e565b91506123918261232a565b604082019050919050565b600060208201905081810360008301526123b581612379565b9050919050565b7f4e6f7443757272656e74596561722055736554696d654d616368696e65546f4760008201527f6f54686572650000000000000000000000000000000000000000000000000000602082015250565b6000612418602683611e5e565b9150612423826123bc565b604082019050919050565b600060208201905081810360008301526124478161240b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006124aa602483611e5e565b91506124b58261244e565b604082019050919050565b600060208201905081810360008301526124d98161249d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061253c602283611e5e565b9150612547826124e0565b604082019050919050565b6000602082019050818103600083015261256b8161252f565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006125a8601d83611e5e565b91506125b382612572565b602082019050919050565b600060208201905081810360008301526125d78161259b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061263a602583611e5e565b9150612645826125de565b604082019050919050565b600060208201905081810360008301526126698161262d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006126cc602383611e5e565b91506126d782612670565b604082019050919050565b600060208201905081810360008301526126fb816126bf565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061275e602683611e5e565b915061276982612702565b604082019050919050565b6000602082019050818103600083015261278d81612751565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006127ca601f83611e5e565b91506127d582612794565b602082019050919050565b600060208201905081810360008301526127f9816127bd565b905091905056fea2646970667358221220fef42ba736cd0d706921e36e376d71d63d9569306c8555ac25a43853a14fb2ee64736f6c63430008130033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106104f95760003560e01c8063857eae6811610299578063b8413b5011610167578063d1396573116100d9578063de916f6311610092578063de916f63146109d2578063ec2f4b60146109dc578063ed05d272146109e6578063f421d662146109f0578063f851a440146109fa578063fb21049714610a18576104f9565b8063d139657314610970578063d37487c41461097a578063d3a9984514610984578063da3136b71461098e578063dab8401914610998578063dd62ed3e146109a2576104f9565b8063c3de0cbc1161012b578063c3de0cbc14610934578063c60f67a11461093e578063c7f908c914610948578063c9014c2a14610952578063cc6923f71461095c578063cc6b912414610966576104f9565b8063b8413b5014610902578063b8faaf481461090c578063b9719ffd14610916578063bd67bb3e14610920578063bdd66c361461092a576104f9565b80639bba1c041161020b578063aaeb5545116101c4578063aaeb5545146108c6578063ae0bf8aa146108d0578063b09dd12b146108da578063b116824c146108e4578063b38f85c2146108ee578063b60f963c146108f8576104f9565b80639bba1c041461083e5780639eaaf6c8146108485780639f2d7e2f146108525780639f5508821461085c578063a457c2d714610866578063a9059cbb14610896576104f9565b80638c99aa871161025d5780638c99aa87146107ee578063931cab00146107f857806394ee18771461080257806395d89b411461080c5780639950dc421461082a5780639acb761014610834576104f9565b8063857eae68146107bc57806389e80ac6146107c65780638b7929cb146107d05780638bae07a4146107da5780638c5a8ddc146107e4576104f9565b80633b0e779e116103d6578063599232461161034857806364ccb8931161030157806364ccb8931461075a5780636b6c2551146107645780636c9d03aa1461076e57806370a0823114610778578063756e4fb0146107a85780637b547949146107b2576104f9565b8063599232461461071e5780635b07f250146107285780635b1a0b9e146107325780635e6c4b051461073c5780636149f89e1461074657806364746ccd14610750576104f9565b806349c4a6751161039a57806349c4a675146106e25780634a77897d146106ec578063516014b7146106f6578063535fe2981461070057806355fafd1d1461070a57806356e7366b14610714576104f9565b80633b0e779e1461069c5780633b4ae18d146106a65780633c4a89bf146106b05780633eebbea3146106ba57806341c53162146106c4576104f9565b80631d704bc71161046f578063313ce56711610433578063313ce5671461062657806333d245551461064457806337236f3b1461064e578063374b93d21461065857806339509351146106625780633ace067414610692576104f9565b80631d704bc7146105ce5780631eb13864146105d857806323b872dd146105e2578063249aa5e2146106125780632a9a918d1461061c576104f9565b806313698c9d116104c157806313698c9d1461056a57806315f96aa114610574578063172f1fdd1461057e57806317e22ee21461058857806318160ddd146105925780631a6af7b7146105b0576104f9565b8063032268d0146104fe57806306fdde0314610508578063095ea7b3146105265780630a8388271461055657806312f6f3b014610560575b600080fd5b610506610a22565b005b610510610a42565b60405161051d9190611ee3565b60405180910390f35b610540600480360381019061053b9190611f9e565b610ad4565b60405161054d9190611ff9565b60405180910390f35b61055e610af7565b005b610568610b17565b005b610572610b37565b005b61057c610b57565b005b610586610b77565b005b610590610b97565b005b61059a610bb7565b6040516105a79190612023565b60405180910390f35b6105b8610bc1565b6040516105c59190612023565b60405180910390f35b6105d6610bc7565b005b6105e0610be7565b005b6105fc60048036038101906105f7919061203e565b610c07565b6040516106099190611ff9565b60405180910390f35b61061a610c36565b005b610624610c56565b005b61062e610c76565b60405161063b91906120ad565b60405180910390f35b61064c610c7f565b005b610656610c9f565b005b610660610cbf565b005b61067c60048036038101906106779190611f9e565b610cdf565b6040516106899190611ff9565b60405180910390f35b61069a610d16565b005b6106a4610d36565b005b6106ae610d56565b005b6106b8610d76565b005b6106c2610d96565b005b6106cc610db6565b6040516106d99190612023565b60405180910390f35b6106ea610dbc565b005b6106f4610ddc565b005b6106fe610dfc565b005b610708610e1c565b005b610712610e3c565b005b61071c610e5c565b005b610726610e7c565b005b610730610e9c565b005b61073a610ebc565b005b610744610edc565b005b61074e610efc565b005b610758610f1c565b005b610762610f3c565b005b61076c610f5c565b005b610776610f7c565b005b610792600480360381019061078d91906120c8565b610f9c565b60405161079f9190612023565b60405180910390f35b6107b0610fe4565b005b6107ba611004565b005b6107c4611024565b005b6107ce611044565b005b6107d8611064565b005b6107e2611084565b005b6107ec6110a4565b005b6107f66110c4565b005b6108006110e4565b005b61080a611104565b005b610814611124565b6040516108219190611ee3565b60405180910390f35b6108326111b6565b005b61083c6111d6565b005b6108466111f6565b005b610850611216565b005b61085a611236565b005b610864611256565b005b610880600480360381019061087b9190611f9e565b611276565b60405161088d9190611ff9565b60405180910390f35b6108b060048036038101906108ab9190611f9e565b6112ed565b6040516108bd9190611ff9565b60405180910390f35b6108ce611310565b005b6108d8611330565b005b6108e2611350565b005b6108ec611370565b005b6108f6611390565b005b6109006113b0565b005b61090a6113d0565b005b6109146113f0565b005b61091e611410565b005b610928611430565b005b610932611450565b005b61093c611470565b005b610946611490565b005b6109506114b0565b005b61095a6114d0565b005b6109646114f0565b005b61096e611510565b005b610978611530565b005b610982611550565b005b61098c611570565b005b610996611590565b005b6109a06115b0565b005b6109bc60048036038101906109b791906120f5565b6115d0565b6040516109c99190612023565b60405180910390f35b6109da611657565b005b6109e4611677565b005b6109ee611697565b005b6109f86116b7565b005b610a026116d7565b604051610a0f9190612144565b60405180910390f35b610a206116fd565b005b610a406514aa414448f06514f3ae30280066034f3d936fa9a061171d565b565b606060038054610a519061218e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7d9061218e565b8015610aca5780601f10610a9f57610100808354040283529160200191610aca565b820191906000526020600020905b815481529060010190602001808311610aad57829003601f168201915b5050505050905090565b600080610adf611820565b9050610aec818585611828565b600191505092915050565b610b156510a57e61d8f06510ef1ecd50006602fc82419bd12061171d565b565b610b35651cfd007548f0651d466d6128006603b992e4d7224061171d565b565b610b55651eb5f4fac8f0651eff61e6a8006603c5bd60a2ba2061171d565b565b610b756512a7dfd310f06512f14cbef00066032850cc75d12061171d565b565b610b956512f14cbec8f065133aed2a400066032e2f2161572061171d565b565b610bb5651fdbdc2940f0652025491520006603cc51f6b3606061171d565b565b6000600254905090565b60065481565b610be565214b304370f06521949d2f50006603d2f7f8c13a6061171d565b565b610c05651d900dcc50f0651dd97ab830006603bdf287ac8e2061171d565b565b600080610c12611820565b9050610c1f8582856119f1565b610c2a858585611a7d565b60019150509392505050565b610c54651bd71946d0f0651c208632b0006603afd00fc8acc061171d565b565b610c74651181f8a498f06511cb6590780066030fd595c68cc061171d565b565b60006012905090565b610c9d652303f14958f065234d91b4d0006603d8df343dbd6061171d565b565b610cbd651012a48a68f065105c117648006602ef2d4516a4e061171d565b565b610cdd652429d877d0f065247378e348006603db8a1c684fe061171d565b565b600080610cea611820565b9050610d0b818585610cfc85896115d0565b610d0691906121ee565b611828565b600191505092915050565b610d34652396fea060f06523e06b8c40006603da5602d6b4c061171d565b565b610d546522711771e8f06522ba845dc8006603d7276b13fb6061171d565b565b610d746513845a15d0f06513cdc701b0006603399c86824e2061171d565b565b610d9465153d1b1bb8f0651586bb8730006603596e60f6e5c061171d565b565b610db4651a1e5840e8f0651a67c52cc80066039e7cc9529da061171d565b565b60075481565b610dda651619955e78f0651663024a5800660367e7eefe952061171d565b565b610dfa650fc9379eb0f0651012a48a90006602e85ec8b50e2061171d565b565b610e1a65186563bb68f06518aed0a74800660389af0dd6e04061171d565b565b610e3a6521949d2f28f06521de0a1b08006603d41ba96e0fe061171d565b565b610e5a65206eb600b0f06520b822ec90006603cf2d019a4f6061171d565b565b610e7a6520b822ec68f0652101c357e0006603d080cd085a8061171d565b565b610e9a651e6c548f78f0651eb5f4faf0006603c3e84cb9b58061171d565b565b610eba65198b4ae9e0f06519d4b7d5c000660397f50ae9ad0061171d565b565b610eda651afa9f0410f0651b443f6f88006603a790edb62b4061171d565b565b610efa6515d02872c0f0651619955ea00066036330a293b0a061171d565b565b610f1a651b8dac5b18f0651bd71946f8006603ad276f028d6061171d565b565b610f3a651c20863288f0651c6a269e00006603b26208bbda8061171d565b565b610f5a651e22e7a3c0f0651e6c548fa0006603c1ffae8e13e061171d565b565b610f7a6513cdc70188f065141733ed680066033f2bef02974061171d565b565b610f9a6519d4b7d598f0651a1e5841100066039b455270b9e061171d565b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110026510ef1ecd28f06511388bb9080066030309eb9791e061171d565b565b6110226521de0a1ae0f0652227aa8658006603d52f7ea1208061171d565b565b611042651dd97ab808f0651e22e7a3e8006603c00338c98de061171d565b565b6110626514f3ae3000f065153d1b1be00066035463a1e3fa6061171d565b565b611082651d466d6100f0651d900dcc78006603bbcd39a9054061171d565b565b6110a2651cb3938990f0651cfd007570006603b7432581fe2061171d565b565b6110c26522ba845da0f0652303f14980006603d80b5e0d45e061171d565b565b6110e26524bce5ced8f065250652bab8006603dc787003908061171d565b565b61110265181bf6cfb0f065186563bb9000660385d8a902dfe061171d565b565b611122651663024a30f06516aca2b5a80066036c8335f6950061171d565b565b6060600480546111339061218e565b80601f016020809104026020016040519081016040528092919081815260200182805461115f9061218e565b80156111ac5780601f10611181576101008083540402835291602001916111ac565b820191906000526020600020905b81548152906001019060200180831161118f57829003601f168201915b5050505050905090565b6111d46517d289e3f8f065181bf6cfd800660381e616dd604061171d565b565b6111f465234d91b4a8f0652396fea088006603d9a2cece7c2061171d565b565b611214650f7f973360f0650fc9379ed8006602e1792d95b66061171d565b565b61123465125e72e758f06512a7dfd3380066032257ff4764a061171d565b565b611254651460d45890f06514aa41447000660349fcaf17f0e061171d565b565b61127465141733ed40f0651460d458b800660344a15b0e01c061171d565b565b600080611281611820565b9050600061128f82866115d0565b9050838110156112d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cb90612294565b60405180910390fd5b6112e18286868403611828565b60019250505092915050565b6000806112f8611820565b9050611305818585611a7d565b600191505092915050565b61132e65121505fba0f065125e72e7800066031c452c456b0061171d565b565b61134e651a67c52ca0f0651ab1321880006603a19babc5c60061171d565b565b61136e6511388bb8e0f0651181f8a4c0006603097afb4fc0e061171d565b565b61138e6523e06b8c18f0652429d877f8006603daf88ee8d4a061171d565b565b6113ae652227aa8630f0652271177210006603d6336fbf0dc061171d565b565b6113ce6516aca2b580f06516f60fa1600066037102642bd74061171d565b565b6113ee65105c117620f06510a57e6200006602f5e3994d90c061171d565b565b61140e651f923bbdf0f0651fdbdc2968006603cac93455afc061171d565b565b61142e65247378e320f06524bce5cf00006603dc0a3df8530061171d565b565b61144e651eff61e680f0651f48ced260006603c77f1c6e59e061171d565b565b61146e651788e978a8f06517d289e4200066037dd74a0f76a061171d565b565b61148e651f48ced238f0651f923bbe18006603c92da5d8eba061171d565b565b6114ae652101c357b8f065214b304398006603d1c45d10a8a061171d565b565b6114ce6520254914f8f065206eb600d8006603cdc8558d2a4061171d565b565b6114ee651c6a269dd8f0651cb39389b8006603b4dda117de0061171d565b565b61150e6518aed0a720f06518f87112980066038d6957f21f6061171d565b565b61152e65133aed2a18f06513845a15f800660333f303a8de0061171d565b565b61154e651941ddfe28f065198b4aea08006603948b8089a00061171d565b565b61156e65173f7c8cf0f0651788e978d000660379ac5fa02ac061171d565b565b61158e65250652ba90f065254fbfa670006603dcd4175ed3c061171d565b565b6115ae651ab1321858f0651afa9f0438006603a4a24c360d8061171d565b565b6115ce6516f60fa138f065173f7c8d1800660375656bbfa38061171d565b565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61167565254fbfa648f06525992c9228006603dd1c7df0fc6061171d565b565b611695651586bb8708f06515d02872e80066035e5d6f95f50061171d565b565b6116b5651b443f6f60f0651b8dac5b40006603aa67d923fde061171d565b565b6116d56518f8711270f0651941ddfe500066039107eb2808c061171d565b565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61171b6511cb659050f065121505fbc80066031619492532a061171d565b565b4260068190555082600654118015611736575081600654105b156117e057670de0b6b3a76400008161174f91906122b4565b90508060075410156117a057611794600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166007548361178f91906122f6565b611cf3565b806007819055506117db565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d29061239c565b60405180910390fd5b61181b565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118129061242e565b60405180910390fd5b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188e906124c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611906576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fd90612552565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119e49190612023565b60405180910390a3505050565b60006119fd84846115d0565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a775781811015611a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a60906125be565b60405180910390fd5b611a768484848403611828565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611aec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae390612650565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b52906126e2565b60405180910390fd5b611b66838383611e49565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be390612774565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cda9190612023565b60405180910390a3611ced848484611e4e565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d59906127e0565b60405180910390fd5b611d6e60008383611e49565b8060026000828254611d8091906121ee565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e319190612023565b60405180910390a3611e4560008383611e4e565b5050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e8d578082015181840152602081019050611e72565b60008484015250505050565b6000601f19601f8301169050919050565b6000611eb582611e53565b611ebf8185611e5e565b9350611ecf818560208601611e6f565b611ed881611e99565b840191505092915050565b60006020820190508181036000830152611efd8184611eaa565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f3582611f0a565b9050919050565b611f4581611f2a565b8114611f5057600080fd5b50565b600081359050611f6281611f3c565b92915050565b6000819050919050565b611f7b81611f68565b8114611f8657600080fd5b50565b600081359050611f9881611f72565b92915050565b60008060408385031215611fb557611fb4611f05565b5b6000611fc385828601611f53565b9250506020611fd485828601611f89565b9150509250929050565b60008115159050919050565b611ff381611fde565b82525050565b600060208201905061200e6000830184611fea565b92915050565b61201d81611f68565b82525050565b60006020820190506120386000830184612014565b92915050565b60008060006060848603121561205757612056611f05565b5b600061206586828701611f53565b935050602061207686828701611f53565b925050604061208786828701611f89565b9150509250925092565b600060ff82169050919050565b6120a781612091565b82525050565b60006020820190506120c2600083018461209e565b92915050565b6000602082840312156120de576120dd611f05565b5b60006120ec84828501611f53565b91505092915050565b6000806040838503121561210c5761210b611f05565b5b600061211a85828601611f53565b925050602061212b85828601611f53565b9150509250929050565b61213e81611f2a565b82525050565b60006020820190506121596000830184612135565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121a657607f821691505b6020821081036121b9576121b861215f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121f982611f68565b915061220483611f68565b925082820190508082111561221c5761221b6121bf565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061227e602583611e5e565b915061228982612222565b604082019050919050565b600060208201905081810360008301526122ad81612271565b9050919050565b60006122bf82611f68565b91506122ca83611f68565b92508282026122d881611f68565b915082820484148315176122ef576122ee6121bf565b5b5092915050565b600061230182611f68565b915061230c83611f68565b9250828203905081811115612324576123236121bf565b5b92915050565b7f537570706c79466f7243757272656e7459656172416c726561647941646a757360008201527f7465642055736554696d654d616368696e65546f4368616e6765000000000000602082015250565b6000612386603a83611e5e565b91506123918261232a565b604082019050919050565b600060208201905081810360008301526123b581612379565b9050919050565b7f4e6f7443757272656e74596561722055736554696d654d616368696e65546f4760008201527f6f54686572650000000000000000000000000000000000000000000000000000602082015250565b6000612418602683611e5e565b9150612423826123bc565b604082019050919050565b600060208201905081810360008301526124478161240b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006124aa602483611e5e565b91506124b58261244e565b604082019050919050565b600060208201905081810360008301526124d98161249d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061253c602283611e5e565b9150612547826124e0565b604082019050919050565b6000602082019050818103600083015261256b8161252f565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006125a8601d83611e5e565b91506125b382612572565b602082019050919050565b600060208201905081810360008301526125d78161259b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061263a602583611e5e565b9150612645826125de565b604082019050919050565b600060208201905081810360008301526126698161262d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006126cc602383611e5e565b91506126d782612670565b604082019050919050565b600060208201905081810360008301526126fb816126bf565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061275e602683611e5e565b915061276982612702565b604082019050919050565b6000602082019050818103600083015261278d81612751565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006127ca601f83611e5e565b91506127d582612794565b602082019050919050565b600060208201905081810360008301526127f9816127bd565b905091905056fea2646970667358221220fef42ba736cd0d706921e36e376d71d63d9569306c8555ac25a43853a14fb2ee64736f6c63430008130033

Deployed Bytecode Sourcemap

17918:9793:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20942:108;;;:::i;:::-;;6868:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9228:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19346:108;;;:::i;:::-;;24262:109;;;:::i;:::-;;24952;;;:::i;:::-;;20144:108;;;:::i;:::-;;20258;;;:::i;:::-;;25412:109;;;:::i;:::-;;7997:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17979:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25987:109;;;:::i;:::-;;24492;;;:::i;:::-;;10009:261;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23802:109;;;:::i;:::-;;19688:108;;;:::i;:::-;;7839:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26677:109;;;:::i;:::-;;19118:108;;;:::i;:::-;;27137:109;;;:::i;:::-;;10679:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26907:109;;;:::i;:::-;;26447;;;:::i;:::-;;20486:108;;;:::i;:::-;;21170;;;:::i;:::-;;23112:109;;;:::i;:::-;;18009:58;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21512:108;;;:::i;:::-;;19004;;;:::i;:::-;;22424;;;:::i;:::-;;26102:109;;;:::i;:::-;;25642;;;:::i;:::-;;25757;;;:::i;:::-;;24837;;;:::i;:::-;;22882;;;:::i;:::-;;23457;;;:::i;:::-;;21398:108;;;:::i;:::-;;23687:109;;;:::i;:::-;;23917;;;:::i;:::-;;24722;;;:::i;:::-;;20600:108;;;:::i;:::-;;22997:109;;;:::i;:::-;;8168:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19460:108;;;:::i;:::-;;26217:109;;;:::i;:::-;;24607;;;:::i;:::-;;21056:108;;;:::i;:::-;;24377:109;;;:::i;:::-;;24147;;;:::i;:::-;;26562;;;:::i;:::-;;27367;;;:::i;:::-;;22310:108;;;:::i;:::-;;21626;;;:::i;:::-;;7087:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22196:108;;;:::i;:::-;;26792:109;;;:::i;:::-;;18890:108;;;:::i;:::-;;20030;;;:::i;:::-;;20828;;;:::i;:::-;;20714;;;:::i;:::-;;11420:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8501:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19916:108;;;:::i;:::-;;23227:109;;;:::i;:::-;;19574:108;;;:::i;:::-;;27022:109;;;:::i;:::-;;26332;;;:::i;:::-;;21740:108;;;:::i;:::-;;19232;;;:::i;:::-;;25297:109;;;:::i;:::-;;27252;;;:::i;:::-;;25067;;;:::i;:::-;;22082:108;;;:::i;:::-;;25182:109;;;:::i;:::-;;25872;;;:::i;:::-;;25527;;;:::i;:::-;;24032;;;:::i;:::-;;22538:108;;;:::i;:::-;;20372;;;:::i;:::-;;22767:109;;;:::i;:::-;;21968:108;;;:::i;:::-;;27482:109;;;:::i;:::-;;23342;;;:::i;:::-;;21854:108;;;:::i;:::-;;8757:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27597:109;;;:::i;:::-;;21284:108;;;:::i;:::-;;23572:109;;;:::i;:::-;;22652;;;:::i;:::-;;17952:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19802:108;;;:::i;:::-;;20942;20983:59;20996:14;21011;21026:15;20983:12;:59::i;:::-;20942:108::o;6868:100::-;6922:13;6955:5;6948:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6868:100;:::o;9228:201::-;9311:4;9328:13;9344:12;:10;:12::i;:::-;9328:28;;9367:32;9376:5;9383:7;9392:6;9367:8;:32::i;:::-;9417:4;9410:11;;;9228:201;;;;:::o;19346:108::-;19387:59;19400:14;19415;19430:15;19387:12;:59::i;:::-;19346:108::o;24262:109::-;24303:60;24316:14;24331;24346:16;24303:12;:60::i;:::-;24262:109::o;24952:::-;24993:60;25006:14;25021;25036:16;24993:12;:60::i;:::-;24952:109::o;20144:108::-;20185:59;20198:14;20213;20228:15;20185:12;:59::i;:::-;20144:108::o;20258:::-;20299:59;20312:14;20327;20342:15;20299:12;:59::i;:::-;20258:108::o;25412:109::-;25453:60;25466:14;25481;25496:16;25453:12;:60::i;:::-;25412:109::o;7997:108::-;8058:7;8085:12;;8078:19;;7997:108;:::o;17979:23::-;;;;:::o;25987:109::-;26028:60;26041:14;26056;26071:16;26028:12;:60::i;:::-;25987:109::o;24492:::-;24533:60;24546:14;24561;24576:16;24533:12;:60::i;:::-;24492:109::o;10009:261::-;10106:4;10123:15;10141:12;:10;:12::i;:::-;10123:30;;10164:38;10180:4;10186:7;10195:6;10164:15;:38::i;:::-;10213:27;10223:4;10229:2;10233:6;10213:9;:27::i;:::-;10258:4;10251:11;;;10009:261;;;;;:::o;23802:109::-;23843:60;23856:14;23871;23886:16;23843:12;:60::i;:::-;23802:109::o;19688:108::-;19729:59;19742:14;19757;19772:15;19729:12;:59::i;:::-;19688:108::o;7839:93::-;7897:5;7922:2;7915:9;;7839:93;:::o;26677:109::-;26718:60;26731:14;26746;26761:16;26718:12;:60::i;:::-;26677:109::o;19118:108::-;19159:59;19172:14;19187;19202:15;19159:12;:59::i;:::-;19118:108::o;27137:109::-;27178:60;27191:14;27206;27221:16;27178:12;:60::i;:::-;27137:109::o;10679:238::-;10767:4;10784:13;10800:12;:10;:12::i;:::-;10784:28;;10823:64;10832:5;10839:7;10876:10;10848:25;10858:5;10865:7;10848:9;:25::i;:::-;:38;;;;:::i;:::-;10823:8;:64::i;:::-;10905:4;10898:11;;;10679:238;;;;:::o;26907:109::-;26948:60;26961:14;26976;26991:16;26948:12;:60::i;:::-;26907:109::o;26447:::-;26488:60;26501:14;26516;26531:16;26488:12;:60::i;:::-;26447:109::o;20486:108::-;20527:59;20540:14;20555;20570:15;20527:12;:59::i;:::-;20486:108::o;21170:::-;21211:59;21224:14;21239;21254:15;21211:12;:59::i;:::-;21170:108::o;23112:109::-;23153:60;23166:14;23181;23196:16;23153:12;:60::i;:::-;23112:109::o;18009:58::-;;;;:::o;21512:108::-;21553:59;21566:14;21581;21596:15;21553:12;:59::i;:::-;21512:108::o;19004:::-;19045:59;19058:14;19073;19088:15;19045:12;:59::i;:::-;19004:108::o;22424:::-;22465:59;22478:14;22493;22508:15;22465:12;:59::i;:::-;22424:108::o;26102:109::-;26143:60;26156:14;26171;26186:16;26143:12;:60::i;:::-;26102:109::o;25642:::-;25683:60;25696:14;25711;25726:16;25683:12;:60::i;:::-;25642:109::o;25757:::-;25798:60;25811:14;25826;25841:16;25798:12;:60::i;:::-;25757:109::o;24837:::-;24878:60;24891:14;24906;24921:16;24878:12;:60::i;:::-;24837:109::o;22882:::-;22923:60;22936:14;22951;22966:16;22923:12;:60::i;:::-;22882:109::o;23457:::-;23498:60;23511:14;23526;23541:16;23498:12;:60::i;:::-;23457:109::o;21398:108::-;21439:59;21452:14;21467;21482:15;21439:12;:59::i;:::-;21398:108::o;23687:109::-;23728:60;23741:14;23756;23771:16;23728:12;:60::i;:::-;23687:109::o;23917:::-;23958:60;23971:14;23986;24001:16;23958:12;:60::i;:::-;23917:109::o;24722:::-;24763:60;24776:14;24791;24806:16;24763:12;:60::i;:::-;24722:109::o;20600:108::-;20641:59;20654:14;20669;20684:15;20641:12;:59::i;:::-;20600:108::o;22997:109::-;23038:60;23051:14;23066;23081:16;23038:12;:60::i;:::-;22997:109::o;8168:127::-;8242:7;8269:9;:18;8279:7;8269:18;;;;;;;;;;;;;;;;8262:25;;8168:127;;;:::o;19460:108::-;19501:59;19514:14;19529;19544:15;19501:12;:59::i;:::-;19460:108::o;26217:109::-;26258:60;26271:14;26286;26301:16;26258:12;:60::i;:::-;26217:109::o;24607:::-;24648:60;24661:14;24676;24691:16;24648:12;:60::i;:::-;24607:109::o;21056:108::-;21097:59;21110:14;21125;21140:15;21097:12;:59::i;:::-;21056:108::o;24377:109::-;24418:60;24431:14;24446;24461:16;24418:12;:60::i;:::-;24377:109::o;24147:::-;24188:60;24201:14;24216;24231:16;24188:12;:60::i;:::-;24147:109::o;26562:::-;26603:60;26616:14;26631;26646:16;26603:12;:60::i;:::-;26562:109::o;27367:::-;27408:60;27421:14;27436;27451:16;27408:12;:60::i;:::-;27367:109::o;22310:108::-;22351:59;22364:14;22379;22394:15;22351:12;:59::i;:::-;22310:108::o;21626:::-;21667:59;21680:14;21695;21710:15;21667:12;:59::i;:::-;21626:108::o;7087:104::-;7143:13;7176:7;7169:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7087:104;:::o;22196:108::-;22237:59;22250:14;22265;22280:15;22237:12;:59::i;:::-;22196:108::o;26792:109::-;26833:60;26846:14;26861;26876:16;26833:12;:60::i;:::-;26792:109::o;18890:108::-;18931:59;18944:14;18959;18974:15;18931:12;:59::i;:::-;18890:108::o;20030:::-;20071:59;20084:14;20099;20114:15;20071:12;:59::i;:::-;20030:108::o;20828:::-;20869:59;20882:14;20897;20912:15;20869:12;:59::i;:::-;20828:108::o;20714:::-;20755:59;20768:14;20783;20798:15;20755:12;:59::i;:::-;20714:108::o;11420:436::-;11513:4;11530:13;11546:12;:10;:12::i;:::-;11530:28;;11569:24;11596:25;11606:5;11613:7;11596:9;:25::i;:::-;11569:52;;11660:15;11640:16;:35;;11632:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11753:60;11762:5;11769:7;11797:15;11778:16;:34;11753:8;:60::i;:::-;11844:4;11837:11;;;;11420:436;;;;:::o;8501:193::-;8580:4;8597:13;8613:12;:10;:12::i;:::-;8597:28;;8636;8646:5;8653:2;8657:6;8636:9;:28::i;:::-;8682:4;8675:11;;;8501:193;;;;:::o;19916:108::-;19957:59;19970:14;19985;20000:15;19957:12;:59::i;:::-;19916:108::o;23227:109::-;23268:60;23281:14;23296;23311:16;23268:12;:60::i;:::-;23227:109::o;19574:108::-;19615:59;19628:14;19643;19658:15;19615:12;:59::i;:::-;19574:108::o;27022:109::-;27063:60;27076:14;27091;27106:16;27063:12;:60::i;:::-;27022:109::o;26332:::-;26373:60;26386:14;26401;26416:16;26373:12;:60::i;:::-;26332:109::o;21740:108::-;21781:59;21794:14;21809;21824:15;21781:12;:59::i;:::-;21740:108::o;19232:::-;19273:59;19286:14;19301;19316:15;19273:12;:59::i;:::-;19232:108::o;25297:109::-;25338:60;25351:14;25366;25381:16;25338:12;:60::i;:::-;25297:109::o;27252:::-;27293:60;27306:14;27321;27336:16;27293:12;:60::i;:::-;27252:109::o;25067:::-;25108:60;25121:14;25136;25151:16;25108:12;:60::i;:::-;25067:109::o;22082:108::-;22123:59;22136:14;22151;22166:15;22123:12;:59::i;:::-;22082:108::o;25182:109::-;25223:60;25236:14;25251;25266:16;25223:12;:60::i;:::-;25182:109::o;25872:::-;25913:60;25926:14;25941;25956:16;25913:12;:60::i;:::-;25872:109::o;25527:::-;25568:60;25581:14;25596;25611:16;25568:12;:60::i;:::-;25527:109::o;24032:::-;24073:60;24086:14;24101;24116:16;24073:12;:60::i;:::-;24032:109::o;22538:108::-;22579:59;22592:14;22607;22622:15;22579:12;:59::i;:::-;22538:108::o;20372:::-;20413:59;20426:14;20441;20456:15;20413:12;:59::i;:::-;20372:108::o;22767:109::-;22808:60;22821:14;22836;22851:16;22808:12;:60::i;:::-;22767:109::o;21968:108::-;22009:59;22022:14;22037;22052:15;22009:12;:59::i;:::-;21968:108::o;27482:109::-;27523:60;27536:14;27551;27566:16;27523:12;:60::i;:::-;27482:109::o;23342:::-;23383:60;23396:14;23411;23426:16;23383:12;:60::i;:::-;23342:109::o;21854:108::-;21895:59;21908:14;21923;21938:15;21895:12;:59::i;:::-;21854:108::o;8757:151::-;8846:7;8873:11;:18;8885:5;8873:18;;;;;;;;;;;;;;;:27;8892:7;8873:27;;;;;;;;;;;;;;;;8866:34;;8757:151;;;;:::o;27597:109::-;27638:60;27651:14;27666;27681:16;27638:12;:60::i;:::-;27597:109::o;21284:108::-;21325:59;21338:14;21353;21368:15;21325:12;:59::i;:::-;21284:108::o;23572:109::-;23613:60;23626:14;23641;23656:16;23613:12;:60::i;:::-;23572:109::o;22652:::-;22693:60;22706:14;22721;22736:16;22693:12;:60::i;:::-;22652:109::o;17952:20::-;;;;;;;;;;;;;:::o;19802:108::-;19843:59;19856:14;19871;19886:15;19843:12;:59::i;:::-;19802:108::o;18234:632::-;18343:15;18332:8;:26;;;;18384:7;18373:8;;:18;:42;;;;;18406:9;18395:8;;:20;18373:42;18369:480;;;18457:7;18445:10;:19;;;;:::i;:::-;18432:32;;18500:10;18483:14;;:27;18479:263;;;18531:39;18537:5;;;;;;;;;;;18555:14;;18544:10;:25;;;;:::i;:::-;18531:5;:39::i;:::-;18606:10;18589:14;:27;;;;18479:263;;;18657:69;;;;;;;;;;:::i;:::-;;;;;;;;18479:263;18369:480;;;18788:49;;;;;;;;;;:::i;:::-;;;;;;;;18369:480;18234:632;;;:::o;767:98::-;820:7;847:10;840:17;;767:98;:::o;15413:346::-;15532:1;15515:19;;:5;:19;;;15507:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15613:1;15594:21;;:7;:21;;;15586:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15697:6;15667:11;:18;15679:5;15667:18;;;;;;;;;;;;;;;:27;15686:7;15667:27;;;;;;;;;;;;;;;:36;;;;15735:7;15719:32;;15728:5;15719:32;;;15744:6;15719:32;;;;;;:::i;:::-;;;;;;;;15413:346;;;:::o;16050:419::-;16151:24;16178:25;16188:5;16195:7;16178:9;:25::i;:::-;16151:52;;16238:17;16218:16;:37;16214:248;;16300:6;16280:16;:26;;16272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16384:51;16393:5;16400:7;16428:6;16409:16;:25;16384:8;:51::i;:::-;16214:248;16140:329;16050:419;;;:::o;12326:806::-;12439:1;12423:18;;:4;:18;;;12415:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12516:1;12502:16;;:2;:16;;;12494:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12571:38;12592:4;12598:2;12602:6;12571:20;:38::i;:::-;12622:19;12644:9;:15;12654:4;12644:15;;;;;;;;;;;;;;;;12622:37;;12693:6;12678:11;:21;;12670:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12810:6;12796:11;:20;12778:9;:15;12788:4;12778:15;;;;;;;;;;;;;;;:38;;;;13013:6;12996:9;:13;13006:2;12996:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;13063:2;13048:26;;13057:4;13048:26;;;13067:6;13048:26;;;;;;:::i;:::-;;;;;;;;13087:37;13107:4;13113:2;13117:6;13087:19;:37::i;:::-;12404:728;12326:806;;;:::o;13419:548::-;13522:1;13503:21;;:7;:21;;;13495:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;13573:49;13602:1;13606:7;13615:6;13573:20;:49::i;:::-;13651:6;13635:12;;:22;;;;;;;:::i;:::-;;;;;;;;13828:6;13806:9;:18;13816:7;13806:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;13882:7;13861:37;;13878:1;13861:37;;;13891:6;13861:37;;;;;;:::i;:::-;;;;;;;;13911:48;13939:1;13943:7;13952:6;13911:19;:48::i;:::-;13419:548;;:::o;17069:91::-;;;;:::o;17764:90::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:180::-;6580:77;6577:1;6570:88;6677:4;6674:1;6667:15;6701:4;6698:1;6691:15;6718:191;6758:3;6777:20;6795:1;6777:20;:::i;:::-;6772:25;;6811:20;6829:1;6811:20;:::i;:::-;6806:25;;6854:1;6851;6847:9;6840:16;;6875:3;6872:1;6869:10;6866:36;;;6882:18;;:::i;:::-;6866:36;6718:191;;;;:::o;6915:224::-;7055:34;7051:1;7043:6;7039:14;7032:58;7124:7;7119:2;7111:6;7107:15;7100:32;6915:224;:::o;7145:366::-;7287:3;7308:67;7372:2;7367:3;7308:67;:::i;:::-;7301:74;;7384:93;7473:3;7384:93;:::i;:::-;7502:2;7497:3;7493:12;7486:19;;7145:366;;;:::o;7517:419::-;7683:4;7721:2;7710:9;7706:18;7698:26;;7770:9;7764:4;7760:20;7756:1;7745:9;7741:17;7734:47;7798:131;7924:4;7798:131;:::i;:::-;7790:139;;7517:419;;;:::o;7942:410::-;7982:7;8005:20;8023:1;8005:20;:::i;:::-;8000:25;;8039:20;8057:1;8039:20;:::i;:::-;8034:25;;8094:1;8091;8087:9;8116:30;8134:11;8116:30;:::i;:::-;8105:41;;8295:1;8286:7;8282:15;8279:1;8276:22;8256:1;8249:9;8229:83;8206:139;;8325:18;;:::i;:::-;8206:139;7990:362;7942:410;;;;:::o;8358:194::-;8398:4;8418:20;8436:1;8418:20;:::i;:::-;8413:25;;8452:20;8470:1;8452:20;:::i;:::-;8447:25;;8496:1;8493;8489:9;8481:17;;8520:1;8514:4;8511:11;8508:37;;;8525:18;;:::i;:::-;8508:37;8358:194;;;;:::o;8558:245::-;8698:34;8694:1;8686:6;8682:14;8675:58;8767:28;8762:2;8754:6;8750:15;8743:53;8558:245;:::o;8809:366::-;8951:3;8972:67;9036:2;9031:3;8972:67;:::i;:::-;8965:74;;9048:93;9137:3;9048:93;:::i;:::-;9166:2;9161:3;9157:12;9150:19;;8809:366;;;:::o;9181:419::-;9347:4;9385:2;9374:9;9370:18;9362:26;;9434:9;9428:4;9424:20;9420:1;9409:9;9405:17;9398:47;9462:131;9588:4;9462:131;:::i;:::-;9454:139;;9181:419;;;:::o;9606:225::-;9746:34;9742:1;9734:6;9730:14;9723:58;9815:8;9810:2;9802:6;9798:15;9791:33;9606:225;:::o;9837:366::-;9979:3;10000:67;10064:2;10059:3;10000:67;:::i;:::-;9993:74;;10076:93;10165:3;10076:93;:::i;:::-;10194:2;10189:3;10185:12;10178:19;;9837:366;;;:::o;10209:419::-;10375:4;10413:2;10402:9;10398:18;10390:26;;10462:9;10456:4;10452:20;10448:1;10437:9;10433:17;10426:47;10490:131;10616:4;10490:131;:::i;:::-;10482:139;;10209:419;;;:::o;10634:223::-;10774:34;10770:1;10762:6;10758:14;10751:58;10843:6;10838:2;10830:6;10826:15;10819:31;10634:223;:::o;10863:366::-;11005:3;11026:67;11090:2;11085:3;11026:67;:::i;:::-;11019:74;;11102:93;11191:3;11102:93;:::i;:::-;11220:2;11215:3;11211:12;11204:19;;10863:366;;;:::o;11235:419::-;11401:4;11439:2;11428:9;11424:18;11416:26;;11488:9;11482:4;11478:20;11474:1;11463:9;11459:17;11452:47;11516:131;11642:4;11516:131;:::i;:::-;11508:139;;11235:419;;;:::o;11660:221::-;11800:34;11796:1;11788:6;11784:14;11777:58;11869:4;11864:2;11856:6;11852:15;11845:29;11660:221;:::o;11887:366::-;12029:3;12050:67;12114:2;12109:3;12050:67;:::i;:::-;12043:74;;12126:93;12215:3;12126:93;:::i;:::-;12244:2;12239:3;12235:12;12228:19;;11887:366;;;:::o;12259:419::-;12425:4;12463:2;12452:9;12448:18;12440:26;;12512:9;12506:4;12502:20;12498:1;12487:9;12483:17;12476:47;12540:131;12666:4;12540:131;:::i;:::-;12532:139;;12259:419;;;:::o;12684:179::-;12824:31;12820:1;12812:6;12808:14;12801:55;12684:179;:::o;12869:366::-;13011:3;13032:67;13096:2;13091:3;13032:67;:::i;:::-;13025:74;;13108:93;13197:3;13108:93;:::i;:::-;13226:2;13221:3;13217:12;13210:19;;12869:366;;;:::o;13241:419::-;13407:4;13445:2;13434:9;13430:18;13422:26;;13494:9;13488:4;13484:20;13480:1;13469:9;13465:17;13458:47;13522:131;13648:4;13522:131;:::i;:::-;13514:139;;13241:419;;;:::o;13666:224::-;13806:34;13802:1;13794:6;13790:14;13783:58;13875:7;13870:2;13862:6;13858:15;13851:32;13666:224;:::o;13896:366::-;14038:3;14059:67;14123:2;14118:3;14059:67;:::i;:::-;14052:74;;14135:93;14224:3;14135:93;:::i;:::-;14253:2;14248:3;14244:12;14237:19;;13896:366;;;:::o;14268:419::-;14434:4;14472:2;14461:9;14457:18;14449:26;;14521:9;14515:4;14511:20;14507:1;14496:9;14492:17;14485:47;14549:131;14675:4;14549:131;:::i;:::-;14541:139;;14268:419;;;:::o;14693:222::-;14833:34;14829:1;14821:6;14817:14;14810:58;14902:5;14897:2;14889:6;14885:15;14878:30;14693:222;:::o;14921:366::-;15063:3;15084:67;15148:2;15143:3;15084:67;:::i;:::-;15077:74;;15160:93;15249:3;15160:93;:::i;:::-;15278:2;15273:3;15269:12;15262:19;;14921:366;;;:::o;15293:419::-;15459:4;15497:2;15486:9;15482:18;15474:26;;15546:9;15540:4;15536:20;15532:1;15521:9;15517:17;15510:47;15574:131;15700:4;15574:131;:::i;:::-;15566:139;;15293:419;;;:::o;15718:225::-;15858:34;15854:1;15846:6;15842:14;15835:58;15927:8;15922:2;15914:6;15910:15;15903:33;15718:225;:::o;15949:366::-;16091:3;16112:67;16176:2;16171:3;16112:67;:::i;:::-;16105:74;;16188:93;16277:3;16188:93;:::i;:::-;16306:2;16301:3;16297:12;16290:19;;15949:366;;;:::o;16321:419::-;16487:4;16525:2;16514:9;16510:18;16502:26;;16574:9;16568:4;16564:20;16560:1;16549:9;16545:17;16538:47;16602:131;16728:4;16602:131;:::i;:::-;16594:139;;16321:419;;;:::o;16746:181::-;16886:33;16882:1;16874:6;16870:14;16863:57;16746:181;:::o;16933:366::-;17075:3;17096:67;17160:2;17155:3;17096:67;:::i;:::-;17089:74;;17172:93;17261:3;17172:93;:::i;:::-;17290:2;17285:3;17281:12;17274:19;;16933:366;;;:::o;17305:419::-;17471:4;17509:2;17498:9;17494:18;17486:26;;17558:9;17552:4;17548:20;17544:1;17533:9;17529:17;17522:47;17586:131;17712:4;17586:131;:::i;:::-;17578:139;;17305:419;;;:::o

Swarm Source

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