ETH Price: $2,972.79 (+2.49%)
Gas: 1 Gwei

Token

Aterium Stone (ATER)
 

Overview

Max Total Supply

40,000,000 ATER

Holders

675

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
goochy.eth
Balance
1,000.000000000000001 ATER

Value
$0.00
0xf3d7076f487754e11ba16270644dc1e8a1c09227
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:
Ater

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 8: ATER.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

import "ERC20.sol";
import "ERC20Burnable.sol";
import "Pausable.sol";
import "Ownable.sol";

contract Ater is ERC20, ERC20Burnable, Pausable, Ownable {
    constructor() ERC20("Aterium Stone", "ATER") {
         _mint(msg.sender, 40000000 * 10 ** decimals());
    }

    function pause() public onlyOwner {
        _pause();
    }

    function unpause() public onlyOwner {
        _unpause();
    }

    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount)
        internal
        whenNotPaused
        override
    {
        super._beforeTokenTransfer(from, to, amount);
    }

    function airdrop(address[] calldata buyers, uint256[] calldata amount) public payable onlyOwner{
       for(uint256 i = 0; i < buyers.length; i++ ){
       
        transfer(buyers[i], amount[i]*1000);


       }


    }

}

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

pragma solidity ^0.8.0;

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

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

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

pragma solidity ^0.8.0;

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

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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

        _beforeTokenTransfer(from, to, amount);

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

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

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

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

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

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

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

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

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

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

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

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

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

    /**
     * @dev Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

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

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

File 4 of 8: ERC20Burnable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20Burnable.sol)

pragma solidity ^0.8.0;

import "ERC20.sol";
import "Context.sol";

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

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

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

pragma solidity ^0.8.0;

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

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

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

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

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

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

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

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

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

pragma solidity ^0.8.0;

import "IERC20.sol";

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

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

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

File 7 of 8: Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)

pragma solidity ^0.8.0;

import "Context.sol";

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

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

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

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

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

File 8 of 8: Pausable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (security/Pausable.sol)

pragma solidity ^0.8.0;

import "Context.sol";

/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor() {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address[]","name":"buyers","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"payable","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506040518060400160405280600d81526020017f4174657269756d2053746f6e65000000000000000000000000000000000000008152506040518060400160405280600481526020017f415445520000000000000000000000000000000000000000000000000000000081525081600390805190602001906200009692919062000414565b508060049080519060200190620000af92919062000414565b5050506000600560006101000a81548160ff021916908315150217905550620000ed620000e16200013360201b60201c565b6200013b60201b60201c565b6200012d33620001026200020160201b60201c565b600a6200011091906200064d565b6302625a006200012191906200078a565b6200020a60201b60201c565b620008f5565b600033905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200027d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002749062000545565b60405180910390fd5b62000291600083836200038360201b60201c565b8060026000828254620002a5919062000595565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002fc919062000595565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000363919062000567565b60405180910390a36200037f60008383620003f360201b60201c565b5050565b62000393620003f860201b60201c565b15620003d6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003cd9062000523565b60405180910390fd5b620003ee8383836200040f60201b62000c911760201c565b505050565b505050565b6000600560009054906101000a900460ff16905090565b505050565b828054620004229062000802565b90600052602060002090601f01602090048101928262000446576000855562000492565b82601f106200046157805160ff191683800117855562000492565b8280016001018555821562000492579182015b828111156200049157825182559160200191906001019062000474565b5b509050620004a19190620004a5565b5090565b5b80821115620004c0576000816000905550600101620004a6565b5090565b6000620004d360108362000584565b9150620004e082620008a3565b602082019050919050565b6000620004fa601f8362000584565b91506200050782620008cc565b602082019050919050565b6200051d81620007eb565b82525050565b600060208201905081810360008301526200053e81620004c4565b9050919050565b600060208201905081810360008301526200056081620004eb565b9050919050565b60006020820190506200057e600083018462000512565b92915050565b600082825260208201905092915050565b6000620005a282620007eb565b9150620005af83620007eb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620005e757620005e662000838565b5b828201905092915050565b6000808291508390505b600185111562000644578086048111156200061c576200061b62000838565b5b60018516156200062c5780820291505b80810290506200063c8562000896565b9450620005fc565b94509492505050565b60006200065a82620007eb565b91506200066783620007f5565b9250620006967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200069e565b905092915050565b600082620006b0576001905062000783565b81620006c0576000905062000783565b8160018114620006d95760028114620006e4576200071a565b600191505062000783565b60ff841115620006f957620006f862000838565b5b8360020a91508482111562000713576200071262000838565b5b5062000783565b5060208310610133831016604e8410600b8410161715620007545782820a9050838111156200074e576200074d62000838565b5b62000783565b620007638484846001620005f2565b925090508184048111156200077d576200077c62000838565b5b81810290505b9392505050565b60006200079782620007eb565b9150620007a483620007eb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007e057620007df62000838565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200081b57607f821691505b6020821081141562000832576200083162000867565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6124f880620009056000396000f3fe60806040526004361061012a5760003560e01c806367243482116100ab5780638da5cb5b1161006f5780638da5cb5b146103ab57806395d89b41146103d6578063a457c2d714610401578063a9059cbb1461043e578063dd62ed3e1461047b578063f2fde38b146104b85761012a565b806367243482146102fb57806370a0823114610317578063715018a61461035457806379cc67901461036b5780638456cb59146103945761012a565b806339509351116100f2578063395093511461022a5780633f4ba83a1461026757806340c10f191461027e57806342966c68146102a75780635c975abb146102d05761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd1461019757806323b872dd146101c2578063313ce567146101ff575b600080fd5b34801561013b57600080fd5b506101446104e1565b6040516101519190611c2e565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c91906118ab565b610573565b60405161018e9190611c13565b60405180910390f35b3480156101a357600080fd5b506101ac610596565b6040516101b99190611e10565b60405180910390f35b3480156101ce57600080fd5b506101e960048036038101906101e49190611858565b6105a0565b6040516101f69190611c13565b60405180910390f35b34801561020b57600080fd5b506102146105cf565b6040516102219190611e2b565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c91906118ab565b6105d8565b60405161025e9190611c13565b60405180910390f35b34801561027357600080fd5b5061027c61060f565b005b34801561028a57600080fd5b506102a560048036038101906102a091906118ab565b610695565b005b3480156102b357600080fd5b506102ce60048036038101906102c9919061196c565b61071f565b005b3480156102dc57600080fd5b506102e5610733565b6040516102f29190611c13565b60405180910390f35b610315600480360381019061031091906118eb565b61074a565b005b34801561032357600080fd5b5061033e600480360381019061033991906117eb565b610846565b60405161034b9190611e10565b60405180910390f35b34801561036057600080fd5b5061036961088e565b005b34801561037757600080fd5b50610392600480360381019061038d91906118ab565b610916565b005b3480156103a057600080fd5b506103a9610936565b005b3480156103b757600080fd5b506103c06109bc565b6040516103cd9190611bf8565b60405180910390f35b3480156103e257600080fd5b506103eb6109e6565b6040516103f89190611c2e565b60405180910390f35b34801561040d57600080fd5b50610428600480360381019061042391906118ab565b610a78565b6040516104359190611c13565b60405180910390f35b34801561044a57600080fd5b50610465600480360381019061046091906118ab565b610aef565b6040516104729190611c13565b60405180910390f35b34801561048757600080fd5b506104a2600480360381019061049d9190611818565b610b12565b6040516104af9190611e10565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da91906117eb565b610b99565b005b6060600380546104f090611fce565b80601f016020809104026020016040519081016040528092919081815260200182805461051c90611fce565b80156105695780601f1061053e57610100808354040283529160200191610569565b820191906000526020600020905b81548152906001019060200180831161054c57829003601f168201915b5050505050905090565b60008061057e610c96565b905061058b818585610c9e565b600191505092915050565b6000600254905090565b6000806105ab610c96565b90506105b8858285610e69565b6105c3858585610ef5565b60019150509392505050565b60006012905090565b6000806105e3610c96565b90506106048185856105f58589610b12565b6105ff9190611e62565b610c9e565b600191505092915050565b610617610c96565b73ffffffffffffffffffffffffffffffffffffffff166106356109bc565b73ffffffffffffffffffffffffffffffffffffffff161461068b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068290611d50565b60405180910390fd5b610693611176565b565b61069d610c96565b73ffffffffffffffffffffffffffffffffffffffff166106bb6109bc565b73ffffffffffffffffffffffffffffffffffffffff1614610711576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070890611d50565b60405180910390fd5b61071b8282611218565b5050565b61073061072a610c96565b82611378565b50565b6000600560009054906101000a900460ff16905090565b610752610c96565b73ffffffffffffffffffffffffffffffffffffffff166107706109bc565b73ffffffffffffffffffffffffffffffffffffffff16146107c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bd90611d50565b60405180910390fd5b60005b8484905081101561083f5761082b8585838181106107ea576107e96120a7565b5b90506020020160208101906107ff91906117eb565b6103e8858585818110610815576108146120a7565b5b905060200201356108269190611eb8565b610aef565b50808061083790612000565b9150506107c9565b5050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610896610c96565b73ffffffffffffffffffffffffffffffffffffffff166108b46109bc565b73ffffffffffffffffffffffffffffffffffffffff161461090a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090190611d50565b60405180910390fd5b610914600061154f565b565b61092882610922610c96565b83610e69565b6109328282611378565b5050565b61093e610c96565b73ffffffffffffffffffffffffffffffffffffffff1661095c6109bc565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990611d50565b60405180910390fd5b6109ba611615565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546109f590611fce565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2190611fce565b8015610a6e5780601f10610a4357610100808354040283529160200191610a6e565b820191906000526020600020905b815481529060010190602001808311610a5157829003601f168201915b5050505050905090565b600080610a83610c96565b90506000610a918286610b12565b905083811015610ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acd90611dd0565b60405180910390fd5b610ae38286868403610c9e565b60019250505092915050565b600080610afa610c96565b9050610b07818585610ef5565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ba1610c96565b73ffffffffffffffffffffffffffffffffffffffff16610bbf6109bc565b73ffffffffffffffffffffffffffffffffffffffff1614610c15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0c90611d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7c90611cb0565b60405180910390fd5b610c8e8161154f565b50565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0590611db0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7590611cd0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e5c9190611e10565b60405180910390a3505050565b6000610e758484610b12565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610eef5781811015610ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed890611cf0565b60405180910390fd5b610eee8484848403610c9e565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90611d90565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc90611c50565b60405180910390fd5b610fe08383836116b8565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105d90611d10565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110f99190611e62565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161115d9190611e10565b60405180910390a3611170848484611710565b50505050565b61117e610733565b6111bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b490611c70565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611201610c96565b60405161120e9190611bf8565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90611df0565b60405180910390fd5b611294600083836116b8565b80600260008282546112a69190611e62565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112fb9190611e62565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113609190611e10565b60405180910390a361137460008383611710565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113df90611d70565b60405180910390fd5b6113f4826000836116b8565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561147a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147190611c90565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546114d19190611f12565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115369190611e10565b60405180910390a361154a83600084611710565b505050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61161d610733565b1561165d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165490611d30565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586116a1610c96565b6040516116ae9190611bf8565b60405180910390a1565b6116c0610733565b15611700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f790611d30565b60405180910390fd5b61170b838383610c91565b505050565b505050565b60008135905061172481612494565b92915050565b60008083601f8401126117405761173f6120db565b5b8235905067ffffffffffffffff81111561175d5761175c6120d6565b5b602083019150836020820283011115611779576117786120e0565b5b9250929050565b60008083601f840112611796576117956120db565b5b8235905067ffffffffffffffff8111156117b3576117b26120d6565b5b6020830191508360208202830111156117cf576117ce6120e0565b5b9250929050565b6000813590506117e5816124ab565b92915050565b600060208284031215611801576118006120ea565b5b600061180f84828501611715565b91505092915050565b6000806040838503121561182f5761182e6120ea565b5b600061183d85828601611715565b925050602061184e85828601611715565b9150509250929050565b600080600060608486031215611871576118706120ea565b5b600061187f86828701611715565b935050602061189086828701611715565b92505060406118a1868287016117d6565b9150509250925092565b600080604083850312156118c2576118c16120ea565b5b60006118d085828601611715565b92505060206118e1858286016117d6565b9150509250929050565b60008060008060408587031215611905576119046120ea565b5b600085013567ffffffffffffffff811115611923576119226120e5565b5b61192f8782880161172a565b9450945050602085013567ffffffffffffffff811115611952576119516120e5565b5b61195e87828801611780565b925092505092959194509250565b600060208284031215611982576119816120ea565b5b6000611990848285016117d6565b91505092915050565b6119a281611f46565b82525050565b6119b181611f58565b82525050565b60006119c282611e46565b6119cc8185611e51565b93506119dc818560208601611f9b565b6119e5816120ef565b840191505092915050565b60006119fd602383611e51565b9150611a0882612100565b604082019050919050565b6000611a20601483611e51565b9150611a2b8261214f565b602082019050919050565b6000611a43602283611e51565b9150611a4e82612178565b604082019050919050565b6000611a66602683611e51565b9150611a71826121c7565b604082019050919050565b6000611a89602283611e51565b9150611a9482612216565b604082019050919050565b6000611aac601d83611e51565b9150611ab782612265565b602082019050919050565b6000611acf602683611e51565b9150611ada8261228e565b604082019050919050565b6000611af2601083611e51565b9150611afd826122dd565b602082019050919050565b6000611b15602083611e51565b9150611b2082612306565b602082019050919050565b6000611b38602183611e51565b9150611b438261232f565b604082019050919050565b6000611b5b602583611e51565b9150611b668261237e565b604082019050919050565b6000611b7e602483611e51565b9150611b89826123cd565b604082019050919050565b6000611ba1602583611e51565b9150611bac8261241c565b604082019050919050565b6000611bc4601f83611e51565b9150611bcf8261246b565b602082019050919050565b611be381611f84565b82525050565b611bf281611f8e565b82525050565b6000602082019050611c0d6000830184611999565b92915050565b6000602082019050611c2860008301846119a8565b92915050565b60006020820190508181036000830152611c4881846119b7565b905092915050565b60006020820190508181036000830152611c69816119f0565b9050919050565b60006020820190508181036000830152611c8981611a13565b9050919050565b60006020820190508181036000830152611ca981611a36565b9050919050565b60006020820190508181036000830152611cc981611a59565b9050919050565b60006020820190508181036000830152611ce981611a7c565b9050919050565b60006020820190508181036000830152611d0981611a9f565b9050919050565b60006020820190508181036000830152611d2981611ac2565b9050919050565b60006020820190508181036000830152611d4981611ae5565b9050919050565b60006020820190508181036000830152611d6981611b08565b9050919050565b60006020820190508181036000830152611d8981611b2b565b9050919050565b60006020820190508181036000830152611da981611b4e565b9050919050565b60006020820190508181036000830152611dc981611b71565b9050919050565b60006020820190508181036000830152611de981611b94565b9050919050565b60006020820190508181036000830152611e0981611bb7565b9050919050565b6000602082019050611e256000830184611bda565b92915050565b6000602082019050611e406000830184611be9565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611e6d82611f84565b9150611e7883611f84565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611ead57611eac612049565b5b828201905092915050565b6000611ec382611f84565b9150611ece83611f84565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f0757611f06612049565b5b828202905092915050565b6000611f1d82611f84565b9150611f2883611f84565b925082821015611f3b57611f3a612049565b5b828203905092915050565b6000611f5182611f64565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611fb9578082015181840152602081019050611f9e565b83811115611fc8576000848401525b50505050565b60006002820490506001821680611fe657607f821691505b60208210811415611ffa57611ff9612078565b5b50919050565b600061200b82611f84565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561203e5761203d612049565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b61249d81611f46565b81146124a857600080fd5b50565b6124b481611f84565b81146124bf57600080fd5b5056fea2646970667358221220b0540751b1bb4e9e1db6c8f156fb07618320741615ce1ea2f6a4ac0ece28b1c764736f6c63430008070033

Deployed Bytecode

0x60806040526004361061012a5760003560e01c806367243482116100ab5780638da5cb5b1161006f5780638da5cb5b146103ab57806395d89b41146103d6578063a457c2d714610401578063a9059cbb1461043e578063dd62ed3e1461047b578063f2fde38b146104b85761012a565b806367243482146102fb57806370a0823114610317578063715018a61461035457806379cc67901461036b5780638456cb59146103945761012a565b806339509351116100f2578063395093511461022a5780633f4ba83a1461026757806340c10f191461027e57806342966c68146102a75780635c975abb146102d05761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd1461019757806323b872dd146101c2578063313ce567146101ff575b600080fd5b34801561013b57600080fd5b506101446104e1565b6040516101519190611c2e565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c91906118ab565b610573565b60405161018e9190611c13565b60405180910390f35b3480156101a357600080fd5b506101ac610596565b6040516101b99190611e10565b60405180910390f35b3480156101ce57600080fd5b506101e960048036038101906101e49190611858565b6105a0565b6040516101f69190611c13565b60405180910390f35b34801561020b57600080fd5b506102146105cf565b6040516102219190611e2b565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c91906118ab565b6105d8565b60405161025e9190611c13565b60405180910390f35b34801561027357600080fd5b5061027c61060f565b005b34801561028a57600080fd5b506102a560048036038101906102a091906118ab565b610695565b005b3480156102b357600080fd5b506102ce60048036038101906102c9919061196c565b61071f565b005b3480156102dc57600080fd5b506102e5610733565b6040516102f29190611c13565b60405180910390f35b610315600480360381019061031091906118eb565b61074a565b005b34801561032357600080fd5b5061033e600480360381019061033991906117eb565b610846565b60405161034b9190611e10565b60405180910390f35b34801561036057600080fd5b5061036961088e565b005b34801561037757600080fd5b50610392600480360381019061038d91906118ab565b610916565b005b3480156103a057600080fd5b506103a9610936565b005b3480156103b757600080fd5b506103c06109bc565b6040516103cd9190611bf8565b60405180910390f35b3480156103e257600080fd5b506103eb6109e6565b6040516103f89190611c2e565b60405180910390f35b34801561040d57600080fd5b50610428600480360381019061042391906118ab565b610a78565b6040516104359190611c13565b60405180910390f35b34801561044a57600080fd5b50610465600480360381019061046091906118ab565b610aef565b6040516104729190611c13565b60405180910390f35b34801561048757600080fd5b506104a2600480360381019061049d9190611818565b610b12565b6040516104af9190611e10565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da91906117eb565b610b99565b005b6060600380546104f090611fce565b80601f016020809104026020016040519081016040528092919081815260200182805461051c90611fce565b80156105695780601f1061053e57610100808354040283529160200191610569565b820191906000526020600020905b81548152906001019060200180831161054c57829003601f168201915b5050505050905090565b60008061057e610c96565b905061058b818585610c9e565b600191505092915050565b6000600254905090565b6000806105ab610c96565b90506105b8858285610e69565b6105c3858585610ef5565b60019150509392505050565b60006012905090565b6000806105e3610c96565b90506106048185856105f58589610b12565b6105ff9190611e62565b610c9e565b600191505092915050565b610617610c96565b73ffffffffffffffffffffffffffffffffffffffff166106356109bc565b73ffffffffffffffffffffffffffffffffffffffff161461068b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068290611d50565b60405180910390fd5b610693611176565b565b61069d610c96565b73ffffffffffffffffffffffffffffffffffffffff166106bb6109bc565b73ffffffffffffffffffffffffffffffffffffffff1614610711576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070890611d50565b60405180910390fd5b61071b8282611218565b5050565b61073061072a610c96565b82611378565b50565b6000600560009054906101000a900460ff16905090565b610752610c96565b73ffffffffffffffffffffffffffffffffffffffff166107706109bc565b73ffffffffffffffffffffffffffffffffffffffff16146107c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bd90611d50565b60405180910390fd5b60005b8484905081101561083f5761082b8585838181106107ea576107e96120a7565b5b90506020020160208101906107ff91906117eb565b6103e8858585818110610815576108146120a7565b5b905060200201356108269190611eb8565b610aef565b50808061083790612000565b9150506107c9565b5050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610896610c96565b73ffffffffffffffffffffffffffffffffffffffff166108b46109bc565b73ffffffffffffffffffffffffffffffffffffffff161461090a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090190611d50565b60405180910390fd5b610914600061154f565b565b61092882610922610c96565b83610e69565b6109328282611378565b5050565b61093e610c96565b73ffffffffffffffffffffffffffffffffffffffff1661095c6109bc565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990611d50565b60405180910390fd5b6109ba611615565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546109f590611fce565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2190611fce565b8015610a6e5780601f10610a4357610100808354040283529160200191610a6e565b820191906000526020600020905b815481529060010190602001808311610a5157829003601f168201915b5050505050905090565b600080610a83610c96565b90506000610a918286610b12565b905083811015610ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acd90611dd0565b60405180910390fd5b610ae38286868403610c9e565b60019250505092915050565b600080610afa610c96565b9050610b07818585610ef5565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ba1610c96565b73ffffffffffffffffffffffffffffffffffffffff16610bbf6109bc565b73ffffffffffffffffffffffffffffffffffffffff1614610c15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0c90611d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7c90611cb0565b60405180910390fd5b610c8e8161154f565b50565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0590611db0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7590611cd0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e5c9190611e10565b60405180910390a3505050565b6000610e758484610b12565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610eef5781811015610ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed890611cf0565b60405180910390fd5b610eee8484848403610c9e565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90611d90565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc90611c50565b60405180910390fd5b610fe08383836116b8565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105d90611d10565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110f99190611e62565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161115d9190611e10565b60405180910390a3611170848484611710565b50505050565b61117e610733565b6111bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b490611c70565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611201610c96565b60405161120e9190611bf8565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90611df0565b60405180910390fd5b611294600083836116b8565b80600260008282546112a69190611e62565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112fb9190611e62565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113609190611e10565b60405180910390a361137460008383611710565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113df90611d70565b60405180910390fd5b6113f4826000836116b8565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561147a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147190611c90565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546114d19190611f12565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115369190611e10565b60405180910390a361154a83600084611710565b505050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61161d610733565b1561165d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165490611d30565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586116a1610c96565b6040516116ae9190611bf8565b60405180910390a1565b6116c0610733565b15611700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f790611d30565b60405180910390fd5b61170b838383610c91565b505050565b505050565b60008135905061172481612494565b92915050565b60008083601f8401126117405761173f6120db565b5b8235905067ffffffffffffffff81111561175d5761175c6120d6565b5b602083019150836020820283011115611779576117786120e0565b5b9250929050565b60008083601f840112611796576117956120db565b5b8235905067ffffffffffffffff8111156117b3576117b26120d6565b5b6020830191508360208202830111156117cf576117ce6120e0565b5b9250929050565b6000813590506117e5816124ab565b92915050565b600060208284031215611801576118006120ea565b5b600061180f84828501611715565b91505092915050565b6000806040838503121561182f5761182e6120ea565b5b600061183d85828601611715565b925050602061184e85828601611715565b9150509250929050565b600080600060608486031215611871576118706120ea565b5b600061187f86828701611715565b935050602061189086828701611715565b92505060406118a1868287016117d6565b9150509250925092565b600080604083850312156118c2576118c16120ea565b5b60006118d085828601611715565b92505060206118e1858286016117d6565b9150509250929050565b60008060008060408587031215611905576119046120ea565b5b600085013567ffffffffffffffff811115611923576119226120e5565b5b61192f8782880161172a565b9450945050602085013567ffffffffffffffff811115611952576119516120e5565b5b61195e87828801611780565b925092505092959194509250565b600060208284031215611982576119816120ea565b5b6000611990848285016117d6565b91505092915050565b6119a281611f46565b82525050565b6119b181611f58565b82525050565b60006119c282611e46565b6119cc8185611e51565b93506119dc818560208601611f9b565b6119e5816120ef565b840191505092915050565b60006119fd602383611e51565b9150611a0882612100565b604082019050919050565b6000611a20601483611e51565b9150611a2b8261214f565b602082019050919050565b6000611a43602283611e51565b9150611a4e82612178565b604082019050919050565b6000611a66602683611e51565b9150611a71826121c7565b604082019050919050565b6000611a89602283611e51565b9150611a9482612216565b604082019050919050565b6000611aac601d83611e51565b9150611ab782612265565b602082019050919050565b6000611acf602683611e51565b9150611ada8261228e565b604082019050919050565b6000611af2601083611e51565b9150611afd826122dd565b602082019050919050565b6000611b15602083611e51565b9150611b2082612306565b602082019050919050565b6000611b38602183611e51565b9150611b438261232f565b604082019050919050565b6000611b5b602583611e51565b9150611b668261237e565b604082019050919050565b6000611b7e602483611e51565b9150611b89826123cd565b604082019050919050565b6000611ba1602583611e51565b9150611bac8261241c565b604082019050919050565b6000611bc4601f83611e51565b9150611bcf8261246b565b602082019050919050565b611be381611f84565b82525050565b611bf281611f8e565b82525050565b6000602082019050611c0d6000830184611999565b92915050565b6000602082019050611c2860008301846119a8565b92915050565b60006020820190508181036000830152611c4881846119b7565b905092915050565b60006020820190508181036000830152611c69816119f0565b9050919050565b60006020820190508181036000830152611c8981611a13565b9050919050565b60006020820190508181036000830152611ca981611a36565b9050919050565b60006020820190508181036000830152611cc981611a59565b9050919050565b60006020820190508181036000830152611ce981611a7c565b9050919050565b60006020820190508181036000830152611d0981611a9f565b9050919050565b60006020820190508181036000830152611d2981611ac2565b9050919050565b60006020820190508181036000830152611d4981611ae5565b9050919050565b60006020820190508181036000830152611d6981611b08565b9050919050565b60006020820190508181036000830152611d8981611b2b565b9050919050565b60006020820190508181036000830152611da981611b4e565b9050919050565b60006020820190508181036000830152611dc981611b71565b9050919050565b60006020820190508181036000830152611de981611b94565b9050919050565b60006020820190508181036000830152611e0981611bb7565b9050919050565b6000602082019050611e256000830184611bda565b92915050565b6000602082019050611e406000830184611be9565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611e6d82611f84565b9150611e7883611f84565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611ead57611eac612049565b5b828201905092915050565b6000611ec382611f84565b9150611ece83611f84565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f0757611f06612049565b5b828202905092915050565b6000611f1d82611f84565b9150611f2883611f84565b925082821015611f3b57611f3a612049565b5b828203905092915050565b6000611f5182611f64565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611fb9578082015181840152602081019050611f9e565b83811115611fc8576000848401525b50505050565b60006002820490506001821680611fe657607f821691505b60208210811415611ffa57611ff9612078565b5b50919050565b600061200b82611f84565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561203e5761203d612049565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b61249d81611f46565b81146124a857600080fd5b50565b6124b481611f84565b81146124bf57600080fd5b5056fea2646970667358221220b0540751b1bb4e9e1db6c8f156fb07618320741615ce1ea2f6a4ac0ece28b1c764736f6c63430008070033

Deployed Bytecode Sourcemap

159:869:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2190:100:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4541:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3310:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5322:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3152:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6026:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;411:65:0;;;;;;;;;;;;;:::i;:::-;;484:95;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;579:91:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1128:86:7;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;794:229:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3481:127:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1712:103:6;;;;;;;;;;;;;:::i;:::-;;989:164:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;342:61:0;;;;;;;;;;;;;:::i;:::-;;1061:87:6;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2409:104:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6767:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3814:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4070:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1970:201:6;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:100:2;2244:13;2277:5;2270:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2190:100;:::o;4541:201::-;4624:4;4641:13;4657:12;:10;:12::i;:::-;4641:28;;4680:32;4689:5;4696:7;4705:6;4680:8;:32::i;:::-;4730:4;4723:11;;;4541:201;;;;:::o;3310:108::-;3371:7;3398:12;;3391:19;;3310:108;:::o;5322:295::-;5453:4;5470:15;5488:12;:10;:12::i;:::-;5470:30;;5511:38;5527:4;5533:7;5542:6;5511:15;:38::i;:::-;5560:27;5570:4;5576:2;5580:6;5560:9;:27::i;:::-;5605:4;5598:11;;;5322:295;;;;;:::o;3152:93::-;3210:5;3235:2;3228:9;;3152:93;:::o;6026:238::-;6114:4;6131:13;6147:12;:10;:12::i;:::-;6131:28;;6170:64;6179:5;6186:7;6223:10;6195:25;6205:5;6212:7;6195:9;:25::i;:::-;:38;;;;:::i;:::-;6170:8;:64::i;:::-;6252:4;6245:11;;;6026:238;;;;:::o;411:65:0:-;1292:12:6;:10;:12::i;:::-;1281:23;;:7;:5;:7::i;:::-;:23;;;1273:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;458:10:0::1;:8;:10::i;:::-;411:65::o:0;484:95::-;1292:12:6;:10;:12::i;:::-;1281:23;;:7;:5;:7::i;:::-;:23;;;1273:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;554:17:0::1;560:2;564:6;554:5;:17::i;:::-;484:95:::0;;:::o;579:91:3:-;635:27;641:12;:10;:12::i;:::-;655:6;635:5;:27::i;:::-;579:91;:::o;1128:86:7:-;1175:4;1199:7;;;;;;;;;;;1192:14;;1128:86;:::o;794:229:0:-;1292:12:6;:10;:12::i;:::-;1281:23;;:7;:5;:7::i;:::-;:23;;;1273:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;903:9:0::1;899:113;922:6;;:13;;918:1;:17;899:113;;;962:35;971:6;;978:1;971:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;992:4;982:6;;989:1;982:9;;;;;;;:::i;:::-;;;;;;;;:14;;;;:::i;:::-;962:8;:35::i;:::-;;937:3;;;;;:::i;:::-;;;;899:113;;;;794:229:::0;;;;:::o;3481:127:2:-;3555:7;3582:9;:18;3592:7;3582:18;;;;;;;;;;;;;;;;3575:25;;3481:127;;;:::o;1712:103:6:-;1292:12;:10;:12::i;:::-;1281:23;;:7;:5;:7::i;:::-;:23;;;1273:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1777:30:::1;1804:1;1777:18;:30::i;:::-;1712:103::o:0;989:164:3:-;1066:46;1082:7;1091:12;:10;:12::i;:::-;1105:6;1066:15;:46::i;:::-;1123:22;1129:7;1138:6;1123:5;:22::i;:::-;989:164;;:::o;342:61:0:-;1292:12:6;:10;:12::i;:::-;1281:23;;:7;:5;:7::i;:::-;:23;;;1273:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;387:8:0::1;:6;:8::i;:::-;342:61::o:0;1061:87:6:-;1107:7;1134:6;;;;;;;;;;;1127:13;;1061:87;:::o;2409:104:2:-;2465:13;2498:7;2491:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2409:104;:::o;6767:436::-;6860:4;6877:13;6893:12;:10;:12::i;:::-;6877:28;;6916:24;6943:25;6953:5;6960:7;6943:9;:25::i;:::-;6916:52;;7007:15;6987:16;:35;;6979:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;7100:60;7109:5;7116:7;7144:15;7125:16;:34;7100:8;:60::i;:::-;7191:4;7184:11;;;;6767:436;;;;:::o;3814:193::-;3893:4;3910:13;3926:12;:10;:12::i;:::-;3910:28;;3949;3959:5;3966:2;3970:6;3949:9;:28::i;:::-;3995:4;3988:11;;;3814:193;;;;:::o;4070:151::-;4159:7;4186:11;:18;4198:5;4186:18;;;;;;;;;;;;;;;:27;4205:7;4186:27;;;;;;;;;;;;;;;;4179:34;;4070:151;;;;:::o;1970:201:6:-;1292:12;:10;:12::i;:::-;1281:23;;:7;:5;:7::i;:::-;:23;;;1273:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2079:1:::1;2059:22;;:8;:22;;;;2051:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2135:28;2154:8;2135:18;:28::i;:::-;1970:201:::0;:::o;12125:125:2:-;;;;:::o;656:98:1:-;709:7;736:10;729:17;;656:98;:::o;10401:380:2:-;10554:1;10537:19;;:5;:19;;;;10529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10635:1;10616:21;;:7;:21;;;;10608:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10719:6;10689:11;:18;10701:5;10689:18;;;;;;;;;;;;;;;:27;10708:7;10689:27;;;;;;;;;;;;;;;:36;;;;10757:7;10741:32;;10750:5;10741:32;;;10766:6;10741:32;;;;;;:::i;:::-;;;;;;;;10401:380;;;:::o;11072:453::-;11207:24;11234:25;11244:5;11251:7;11234:9;:25::i;:::-;11207:52;;11294:17;11274:16;:37;11270:248;;11356:6;11336:16;:26;;11328:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11440:51;11449:5;11456:7;11484:6;11465:16;:25;11440:8;:51::i;:::-;11270:248;11196:329;11072:453;;;:::o;7682:671::-;7829:1;7813:18;;:4;:18;;;;7805:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7906:1;7892:16;;:2;:16;;;;7884:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7961:38;7982:4;7988:2;7992:6;7961:20;:38::i;:::-;8012:19;8034:9;:15;8044:4;8034:15;;;;;;;;;;;;;;;;8012:37;;8083:6;8068:11;:21;;8060:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;8200:6;8186:11;:20;8168:9;:15;8178:4;8168:15;;;;;;;;;;;;;;;:38;;;;8245:6;8228:9;:13;8238:2;8228:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;8284:2;8269:26;;8278:4;8269:26;;;8288:6;8269:26;;;;;;:::i;:::-;;;;;;;;8308:37;8328:4;8334:2;8338:6;8308:19;:37::i;:::-;7794:559;7682:671;;;:::o;2187:120:7:-;1731:8;:6;:8::i;:::-;1723:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;2256:5:::1;2246:7;;:15;;;;;;;;;;;;;;;;;;2277:22;2286:12;:10;:12::i;:::-;2277:22;;;;;;:::i;:::-;;;;;;;;2187:120::o:0;8640:399:2:-;8743:1;8724:21;;:7;:21;;;;8716:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8794:49;8823:1;8827:7;8836:6;8794:20;:49::i;:::-;8872:6;8856:12;;:22;;;;;;;:::i;:::-;;;;;;;;8911:6;8889:9;:18;8899:7;8889:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;8954:7;8933:37;;8950:1;8933:37;;;8963:6;8933:37;;;;;;:::i;:::-;;;;;;;;8983:48;9011:1;9015:7;9024:6;8983:19;:48::i;:::-;8640:399;;:::o;9372:591::-;9475:1;9456:21;;:7;:21;;;;9448:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9528:49;9549:7;9566:1;9570:6;9528:20;:49::i;:::-;9590:22;9615:9;:18;9625:7;9615:18;;;;;;;;;;;;;;;;9590:43;;9670:6;9652:14;:24;;9644:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9789:6;9772:14;:23;9751:9;:18;9761:7;9751:18;;;;;;;;;;;;;;;:44;;;;9833:6;9817:12;;:22;;;;;;;:::i;:::-;;;;;;;;9883:1;9857:37;;9866:7;9857:37;;;9887:6;9857:37;;;;;;:::i;:::-;;;;;;;;9907:48;9927:7;9944:1;9948:6;9907:19;:48::i;:::-;9437:526;9372:591;;:::o;2331:191:6:-;2405:16;2424:6;;;;;;;;;;;2405:25;;2450:8;2441:6;;:17;;;;;;;;;;;;;;;;;;2505:8;2474:40;;2495:8;2474:40;;;;;;;;;;;;2394:128;2331:191;:::o;1928:118:7:-;1454:8;:6;:8::i;:::-;1453:9;1445:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1998:4:::1;1988:7;;:14;;;;;;;;;;;;;;;;;;2018:20;2025:12;:10;:12::i;:::-;2018:20;;;;;;:::i;:::-;;;;;;;;1928:118::o:0;587:199:0:-;1454:8:7;:6;:8::i;:::-;1453:9;1445:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;734:44:0::1;761:4;767:2;771:6;734:26;:44::i;:::-;587:199:::0;;;:::o;12854:124:2:-;;;;:::o;7:139:8:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;169:568::-;242:8;252:6;302:3;295:4;287:6;283:17;279:27;269:122;;310:79;;:::i;:::-;269:122;423:6;410:20;400:30;;453:18;445:6;442:30;439:117;;;475:79;;:::i;:::-;439:117;589:4;581:6;577:17;565:29;;643:3;635:4;627:6;623:17;613:8;609:32;606:41;603:128;;;650:79;;:::i;:::-;603:128;169:568;;;;;:::o;760:::-;833:8;843:6;893:3;886:4;878:6;874:17;870:27;860:122;;901:79;;:::i;:::-;860:122;1014:6;1001:20;991:30;;1044:18;1036:6;1033:30;1030:117;;;1066:79;;:::i;:::-;1030:117;1180:4;1172:6;1168:17;1156:29;;1234:3;1226:4;1218:6;1214:17;1204:8;1200:32;1197:41;1194:128;;;1241:79;;:::i;:::-;1194:128;760:568;;;;;:::o;1334:139::-;1380:5;1418:6;1405:20;1396:29;;1434:33;1461:5;1434:33;:::i;:::-;1334:139;;;;:::o;1479:329::-;1538:6;1587:2;1575:9;1566:7;1562:23;1558:32;1555:119;;;1593:79;;:::i;:::-;1555:119;1713:1;1738:53;1783:7;1774:6;1763:9;1759:22;1738:53;:::i;:::-;1728:63;;1684:117;1479:329;;;;:::o;1814:474::-;1882:6;1890;1939:2;1927:9;1918:7;1914:23;1910:32;1907:119;;;1945:79;;:::i;:::-;1907:119;2065:1;2090:53;2135:7;2126:6;2115:9;2111:22;2090:53;:::i;:::-;2080:63;;2036:117;2192:2;2218:53;2263:7;2254:6;2243:9;2239:22;2218:53;:::i;:::-;2208:63;;2163:118;1814:474;;;;;:::o;2294:619::-;2371:6;2379;2387;2436:2;2424:9;2415:7;2411:23;2407:32;2404:119;;;2442:79;;:::i;:::-;2404:119;2562:1;2587:53;2632:7;2623:6;2612:9;2608:22;2587:53;:::i;:::-;2577:63;;2533:117;2689:2;2715:53;2760:7;2751:6;2740:9;2736:22;2715:53;:::i;:::-;2705:63;;2660:118;2817:2;2843:53;2888:7;2879:6;2868:9;2864:22;2843:53;:::i;:::-;2833:63;;2788:118;2294:619;;;;;:::o;2919:474::-;2987:6;2995;3044:2;3032:9;3023:7;3019:23;3015:32;3012:119;;;3050:79;;:::i;:::-;3012:119;3170:1;3195:53;3240:7;3231:6;3220:9;3216:22;3195:53;:::i;:::-;3185:63;;3141:117;3297:2;3323:53;3368:7;3359:6;3348:9;3344:22;3323:53;:::i;:::-;3313:63;;3268:118;2919:474;;;;;:::o;3399:934::-;3521:6;3529;3537;3545;3594:2;3582:9;3573:7;3569:23;3565:32;3562:119;;;3600:79;;:::i;:::-;3562:119;3748:1;3737:9;3733:17;3720:31;3778:18;3770:6;3767:30;3764:117;;;3800:79;;:::i;:::-;3764:117;3913:80;3985:7;3976:6;3965:9;3961:22;3913:80;:::i;:::-;3895:98;;;;3691:312;4070:2;4059:9;4055:18;4042:32;4101:18;4093:6;4090:30;4087:117;;;4123:79;;:::i;:::-;4087:117;4236:80;4308:7;4299:6;4288:9;4284:22;4236:80;:::i;:::-;4218:98;;;;4013:313;3399:934;;;;;;;:::o;4339:329::-;4398:6;4447:2;4435:9;4426:7;4422:23;4418:32;4415:119;;;4453:79;;:::i;:::-;4415:119;4573:1;4598:53;4643:7;4634:6;4623:9;4619:22;4598:53;:::i;:::-;4588:63;;4544:117;4339:329;;;;:::o;4674:118::-;4761:24;4779:5;4761:24;:::i;:::-;4756:3;4749:37;4674:118;;:::o;4798:109::-;4879:21;4894:5;4879:21;:::i;:::-;4874:3;4867:34;4798:109;;:::o;4913:364::-;5001:3;5029:39;5062:5;5029:39;:::i;:::-;5084:71;5148:6;5143:3;5084:71;:::i;:::-;5077:78;;5164:52;5209:6;5204:3;5197:4;5190:5;5186:16;5164:52;:::i;:::-;5241:29;5263:6;5241:29;:::i;:::-;5236:3;5232:39;5225:46;;5005:272;4913:364;;;;:::o;5283:366::-;5425:3;5446:67;5510:2;5505:3;5446:67;:::i;:::-;5439:74;;5522:93;5611:3;5522:93;:::i;:::-;5640:2;5635:3;5631:12;5624:19;;5283:366;;;:::o;5655:::-;5797:3;5818:67;5882:2;5877:3;5818:67;:::i;:::-;5811:74;;5894:93;5983:3;5894:93;:::i;:::-;6012:2;6007:3;6003:12;5996:19;;5655:366;;;:::o;6027:::-;6169:3;6190:67;6254:2;6249:3;6190:67;:::i;:::-;6183:74;;6266:93;6355:3;6266:93;:::i;:::-;6384:2;6379:3;6375:12;6368:19;;6027:366;;;:::o;6399:::-;6541:3;6562:67;6626:2;6621:3;6562:67;:::i;:::-;6555:74;;6638:93;6727:3;6638:93;:::i;:::-;6756:2;6751:3;6747:12;6740:19;;6399:366;;;:::o;6771:::-;6913:3;6934:67;6998:2;6993:3;6934:67;:::i;:::-;6927:74;;7010:93;7099:3;7010:93;:::i;:::-;7128:2;7123:3;7119:12;7112:19;;6771:366;;;:::o;7143:::-;7285:3;7306:67;7370:2;7365:3;7306:67;:::i;:::-;7299:74;;7382:93;7471:3;7382:93;:::i;:::-;7500:2;7495:3;7491:12;7484:19;;7143:366;;;:::o;7515:::-;7657:3;7678:67;7742:2;7737:3;7678:67;:::i;:::-;7671:74;;7754:93;7843:3;7754:93;:::i;:::-;7872:2;7867:3;7863:12;7856:19;;7515:366;;;:::o;7887:::-;8029:3;8050:67;8114:2;8109:3;8050:67;:::i;:::-;8043:74;;8126:93;8215:3;8126:93;:::i;:::-;8244:2;8239:3;8235:12;8228:19;;7887:366;;;:::o;8259:::-;8401:3;8422:67;8486:2;8481:3;8422:67;:::i;:::-;8415:74;;8498:93;8587:3;8498:93;:::i;:::-;8616:2;8611:3;8607:12;8600:19;;8259:366;;;:::o;8631:::-;8773:3;8794:67;8858:2;8853:3;8794:67;:::i;:::-;8787:74;;8870:93;8959:3;8870:93;:::i;:::-;8988:2;8983:3;8979:12;8972:19;;8631:366;;;:::o;9003:::-;9145:3;9166:67;9230:2;9225:3;9166:67;:::i;:::-;9159:74;;9242:93;9331:3;9242:93;:::i;:::-;9360:2;9355:3;9351:12;9344:19;;9003:366;;;:::o;9375:::-;9517:3;9538:67;9602:2;9597:3;9538:67;:::i;:::-;9531:74;;9614:93;9703:3;9614:93;:::i;:::-;9732:2;9727:3;9723:12;9716:19;;9375:366;;;:::o;9747:::-;9889:3;9910:67;9974:2;9969:3;9910:67;:::i;:::-;9903:74;;9986:93;10075:3;9986:93;:::i;:::-;10104:2;10099:3;10095:12;10088:19;;9747:366;;;:::o;10119:::-;10261:3;10282:67;10346:2;10341:3;10282:67;:::i;:::-;10275:74;;10358:93;10447:3;10358:93;:::i;:::-;10476:2;10471:3;10467:12;10460:19;;10119:366;;;:::o;10491:118::-;10578:24;10596:5;10578:24;:::i;:::-;10573:3;10566:37;10491:118;;:::o;10615:112::-;10698:22;10714:5;10698:22;:::i;:::-;10693:3;10686:35;10615:112;;:::o;10733:222::-;10826:4;10864:2;10853:9;10849:18;10841:26;;10877:71;10945:1;10934:9;10930:17;10921:6;10877:71;:::i;:::-;10733:222;;;;:::o;10961:210::-;11048:4;11086:2;11075:9;11071:18;11063:26;;11099:65;11161:1;11150:9;11146:17;11137:6;11099:65;:::i;:::-;10961:210;;;;:::o;11177:313::-;11290:4;11328:2;11317:9;11313:18;11305:26;;11377:9;11371:4;11367:20;11363:1;11352:9;11348:17;11341:47;11405:78;11478:4;11469:6;11405:78;:::i;:::-;11397:86;;11177:313;;;;:::o;11496:419::-;11662:4;11700:2;11689:9;11685:18;11677:26;;11749:9;11743:4;11739:20;11735:1;11724:9;11720:17;11713:47;11777:131;11903:4;11777:131;:::i;:::-;11769:139;;11496:419;;;:::o;11921:::-;12087:4;12125:2;12114:9;12110:18;12102:26;;12174:9;12168:4;12164:20;12160:1;12149:9;12145:17;12138:47;12202:131;12328:4;12202:131;:::i;:::-;12194:139;;11921:419;;;:::o;12346:::-;12512:4;12550:2;12539:9;12535:18;12527:26;;12599:9;12593:4;12589:20;12585:1;12574:9;12570:17;12563:47;12627:131;12753:4;12627:131;:::i;:::-;12619:139;;12346:419;;;:::o;12771:::-;12937:4;12975:2;12964:9;12960:18;12952:26;;13024:9;13018:4;13014:20;13010:1;12999:9;12995:17;12988:47;13052:131;13178:4;13052:131;:::i;:::-;13044:139;;12771:419;;;:::o;13196:::-;13362:4;13400:2;13389:9;13385:18;13377:26;;13449:9;13443:4;13439:20;13435:1;13424:9;13420:17;13413:47;13477:131;13603:4;13477:131;:::i;:::-;13469:139;;13196:419;;;:::o;13621:::-;13787:4;13825:2;13814:9;13810:18;13802:26;;13874:9;13868:4;13864:20;13860:1;13849:9;13845:17;13838:47;13902:131;14028:4;13902:131;:::i;:::-;13894:139;;13621:419;;;:::o;14046:::-;14212:4;14250:2;14239:9;14235:18;14227:26;;14299:9;14293:4;14289:20;14285:1;14274:9;14270:17;14263:47;14327:131;14453:4;14327:131;:::i;:::-;14319:139;;14046:419;;;:::o;14471:::-;14637:4;14675:2;14664:9;14660:18;14652:26;;14724:9;14718:4;14714:20;14710:1;14699:9;14695:17;14688:47;14752:131;14878:4;14752:131;:::i;:::-;14744:139;;14471:419;;;:::o;14896:::-;15062:4;15100:2;15089:9;15085:18;15077:26;;15149:9;15143:4;15139:20;15135:1;15124:9;15120:17;15113:47;15177:131;15303:4;15177:131;:::i;:::-;15169:139;;14896:419;;;:::o;15321:::-;15487:4;15525:2;15514:9;15510:18;15502:26;;15574:9;15568:4;15564:20;15560:1;15549:9;15545:17;15538:47;15602:131;15728:4;15602:131;:::i;:::-;15594:139;;15321:419;;;:::o;15746:::-;15912:4;15950:2;15939:9;15935:18;15927:26;;15999:9;15993:4;15989:20;15985:1;15974:9;15970:17;15963:47;16027:131;16153:4;16027:131;:::i;:::-;16019:139;;15746:419;;;:::o;16171:::-;16337:4;16375:2;16364:9;16360:18;16352:26;;16424:9;16418:4;16414:20;16410:1;16399:9;16395:17;16388:47;16452:131;16578:4;16452:131;:::i;:::-;16444:139;;16171:419;;;:::o;16596:::-;16762:4;16800:2;16789:9;16785:18;16777:26;;16849:9;16843:4;16839:20;16835:1;16824:9;16820:17;16813:47;16877:131;17003:4;16877:131;:::i;:::-;16869:139;;16596:419;;;:::o;17021:::-;17187:4;17225:2;17214:9;17210:18;17202:26;;17274:9;17268:4;17264:20;17260:1;17249:9;17245:17;17238:47;17302:131;17428:4;17302:131;:::i;:::-;17294:139;;17021:419;;;:::o;17446:222::-;17539:4;17577:2;17566:9;17562:18;17554:26;;17590:71;17658:1;17647:9;17643:17;17634:6;17590:71;:::i;:::-;17446:222;;;;:::o;17674:214::-;17763:4;17801:2;17790:9;17786:18;17778:26;;17814:67;17878:1;17867:9;17863:17;17854:6;17814:67;:::i;:::-;17674:214;;;;:::o;17975:99::-;18027:6;18061:5;18055:12;18045:22;;17975:99;;;:::o;18080:169::-;18164:11;18198:6;18193:3;18186:19;18238:4;18233:3;18229:14;18214:29;;18080:169;;;;:::o;18255:305::-;18295:3;18314:20;18332:1;18314:20;:::i;:::-;18309:25;;18348:20;18366:1;18348:20;:::i;:::-;18343:25;;18502:1;18434:66;18430:74;18427:1;18424:81;18421:107;;;18508:18;;:::i;:::-;18421:107;18552:1;18549;18545:9;18538:16;;18255:305;;;;:::o;18566:348::-;18606:7;18629:20;18647:1;18629:20;:::i;:::-;18624:25;;18663:20;18681:1;18663:20;:::i;:::-;18658:25;;18851:1;18783:66;18779:74;18776:1;18773:81;18768:1;18761:9;18754:17;18750:105;18747:131;;;18858:18;;:::i;:::-;18747:131;18906:1;18903;18899:9;18888:20;;18566:348;;;;:::o;18920:191::-;18960:4;18980:20;18998:1;18980:20;:::i;:::-;18975:25;;19014:20;19032:1;19014:20;:::i;:::-;19009:25;;19053:1;19050;19047:8;19044:34;;;19058:18;;:::i;:::-;19044:34;19103:1;19100;19096:9;19088:17;;18920:191;;;;:::o;19117:96::-;19154:7;19183:24;19201:5;19183:24;:::i;:::-;19172:35;;19117:96;;;:::o;19219:90::-;19253:7;19296:5;19289:13;19282:21;19271:32;;19219:90;;;:::o;19315:126::-;19352:7;19392:42;19385:5;19381:54;19370:65;;19315:126;;;:::o;19447:77::-;19484:7;19513:5;19502:16;;19447:77;;;:::o;19530:86::-;19565:7;19605:4;19598:5;19594:16;19583:27;;19530:86;;;:::o;19622:307::-;19690:1;19700:113;19714:6;19711:1;19708:13;19700:113;;;19799:1;19794:3;19790:11;19784:18;19780:1;19775:3;19771:11;19764:39;19736:2;19733:1;19729:10;19724:15;;19700:113;;;19831:6;19828:1;19825:13;19822:101;;;19911:1;19902:6;19897:3;19893:16;19886:27;19822:101;19671:258;19622:307;;;:::o;19935:320::-;19979:6;20016:1;20010:4;20006:12;19996:22;;20063:1;20057:4;20053:12;20084:18;20074:81;;20140:4;20132:6;20128:17;20118:27;;20074:81;20202:2;20194:6;20191:14;20171:18;20168:38;20165:84;;;20221:18;;:::i;:::-;20165:84;19986:269;19935:320;;;:::o;20261:233::-;20300:3;20323:24;20341:5;20323:24;:::i;:::-;20314:33;;20369:66;20362:5;20359:77;20356:103;;;20439:18;;:::i;:::-;20356:103;20486:1;20479:5;20475:13;20468:20;;20261:233;;;:::o;20500:180::-;20548:77;20545:1;20538:88;20645:4;20642:1;20635:15;20669:4;20666:1;20659:15;20686:180;20734:77;20731:1;20724:88;20831:4;20828:1;20821:15;20855:4;20852:1;20845:15;20872:180;20920:77;20917:1;20910:88;21017:4;21014:1;21007:15;21041:4;21038:1;21031:15;21058:117;21167:1;21164;21157:12;21181:117;21290:1;21287;21280:12;21304:117;21413:1;21410;21403:12;21427:117;21536:1;21533;21526:12;21550:117;21659:1;21656;21649:12;21673:102;21714:6;21765:2;21761:7;21756:2;21749:5;21745:14;21741:28;21731:38;;21673:102;;;:::o;21781:222::-;21921:34;21917:1;21909:6;21905:14;21898:58;21990:5;21985:2;21977:6;21973:15;21966:30;21781:222;:::o;22009:170::-;22149:22;22145:1;22137:6;22133:14;22126:46;22009:170;:::o;22185:221::-;22325:34;22321:1;22313:6;22309:14;22302:58;22394:4;22389:2;22381:6;22377:15;22370:29;22185:221;:::o;22412:225::-;22552:34;22548:1;22540:6;22536:14;22529:58;22621:8;22616:2;22608:6;22604:15;22597:33;22412:225;:::o;22643:221::-;22783:34;22779:1;22771:6;22767:14;22760:58;22852:4;22847:2;22839:6;22835:15;22828:29;22643:221;:::o;22870:179::-;23010:31;23006:1;22998:6;22994:14;22987:55;22870:179;:::o;23055:225::-;23195:34;23191:1;23183:6;23179:14;23172:58;23264:8;23259:2;23251:6;23247:15;23240:33;23055:225;:::o;23286:166::-;23426:18;23422:1;23414:6;23410:14;23403:42;23286:166;:::o;23458:182::-;23598:34;23594:1;23586:6;23582:14;23575:58;23458:182;:::o;23646:220::-;23786:34;23782:1;23774:6;23770:14;23763:58;23855:3;23850:2;23842:6;23838:15;23831:28;23646:220;:::o;23872:224::-;24012:34;24008:1;24000:6;23996:14;23989:58;24081:7;24076:2;24068:6;24064:15;24057:32;23872:224;:::o;24102:223::-;24242:34;24238:1;24230:6;24226:14;24219:58;24311:6;24306:2;24298:6;24294:15;24287:31;24102:223;:::o;24331:224::-;24471:34;24467:1;24459:6;24455:14;24448:58;24540:7;24535:2;24527:6;24523:15;24516:32;24331:224;:::o;24561:181::-;24701:33;24697:1;24689:6;24685:14;24678:57;24561:181;:::o;24748:122::-;24821:24;24839:5;24821:24;:::i;:::-;24814:5;24811:35;24801:63;;24860:1;24857;24850:12;24801:63;24748:122;:::o;24876:::-;24949:24;24967:5;24949:24;:::i;:::-;24942:5;24939:35;24929:63;;24988:1;24985;24978:12;24929:63;24876:122;:::o

Swarm Source

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