BNB Price: $623.27 (+2.80%)
 

Overview

Max Total Supply

30,789,989.899999JMPT

Holders

462,762 ( 0.038%)

Market

Price

$0.6662 @ 0.001069 BNB (+1.46%)

Onchain Market Cap

$20,512,783.91

Circulating Supply Market Cap

$9,833,344.00

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
PancakeSwap V2: BSC-USD-JMPT
Balance
309,018.121595478926976816 JMPT

Value
$205,872.82 ( ~330.3110 BNB) [1.0036%]
0xba6f7543c22822ebc40582a2086d0b78b881f708
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

JumpToken (JMPT) is a crypto token created to fuel JumpTask a gig economy-based marketplace that allows companies and organizations to make the most out of the collective skills possessed by a globally dispersed workforce.

Market

Volume (24H):$13,658.79
Market Capitalization:$9,833,344.00
Circulating Supply:14,759,990.00 JMPT
Market Data Source: Coinmarketcap


Update? Click here to update the token ICO / general information

Contract Source Code Verified (Exact Match)

Contract Name:
JumpToken

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license, Audited
File 1 of 6 : JumpToken.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.9;

import "./BEP20/BEP20Burnable.sol";

contract JumpToken is BEP20Burnable {
    constructor() BEP20("JumpToken", "JMPT") {
        // Mint 100M tokens to creator address
        _mint(msg.sender, 100000000 * 10 ** decimals());
    }
}

// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity 0.8.9;

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

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

// SPDX-License-Identifier: MIT

pragma solidity 0.8.9;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            codehash := extcodehash(account)
        }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, 'Address: insufficient balance');

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{value: amount}('');
        require(success, 'Address: unable to send value, recipient may have reverted');
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, 'Address: low-level call failed');
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, 'Address: low-level call with value failed');
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, 'Address: insufficient balance for call');
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(
        address target,
        bytes memory data,
        uint256 weiValue,
        string memory errorMessage
    ) private returns (bytes memory) {
        require(isContract(target), 'Address: call to non-contract');

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{value: weiValue}(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity 0.8.9;

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

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

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

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

    /**
     * @dev Returns the bep token owner.
     */
    function getOwner() external view returns (address);

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

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

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

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

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

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

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

// SPDX-License-Identifier: MIT

pragma solidity 0.8.9;

import "./BEP20.sol";
import '../lib/Context.sol';

/**
 * @dev Extension of {BEP20} 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 BEP20Burnable is Context, BEP20 {
    /**
     * @dev Destroys `amount` tokens from the caller.
     *
     * See {BEP20-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

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

// SPDX-License-Identifier: MIT

pragma solidity 0.8.9;

import './IBEP20.sol';
import '../lib/Context.sol';
import '../lib/Address.sol';

/**
 * @dev Implementation of the {IBEP20} 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}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-BEP20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of BEP20 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 {IBEP20-approve}.
 */
contract BEP20 is Context, IBEP20 {
    using Address for address;

    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for {name} and {symbol}, initializes {decimals} with
     * a default value of 18.
     *
     * To select a different value for {decimals}, use {_setupDecimals}.
     *
     * All three of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        _decimals = 18;
    }

    /**
     * @dev Returns the bep token owner.
     */
    function getOwner() external override view returns (address) {
        return address(0);
    }

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

    /**
     * @dev Returns the token decimals.
     */
    function decimals() public override view returns (uint8) {
        return _decimals;
    }

    /**
     * @dev Returns the token symbol.
     */
    function symbol() public override view returns (string memory) {
        return _symbol;
    }

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

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

    /**
     * @dev See {BEP20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {BEP20-allowance}.
     */
    function allowance(address owner, address spender) public override view returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {BEP20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {BEP20-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:
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for `sender`'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "BEP20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, 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 {BEP20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {BEP20-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 returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "BEP20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

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

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "BEP20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

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

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

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

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

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

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
     *
     * This is 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 {
        require(owner != address(0), 'BEP20: approve from the zero address');
        require(spender != address(0), 'BEP20: approve to the zero address');

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

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

Contract Security Audit

Contract ABI

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

60806040523480156200001157600080fd5b506040518060400160405280600981526020017f4a756d70546f6b656e00000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4a4d5054000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000969291906200027c565b508060049080519060200190620000af9291906200027c565b506012600560006101000a81548160ff021916908360ff16021790555050506200010e33620000e36200011460201b60201c565b600a620000f19190620004c6565b6305f5e10062000102919062000517565b6200012b60201b60201c565b620006eb565b6000600560009054906101000a900460ff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200019e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200019590620005d9565b60405180910390fd5b8060026000828254620001b29190620005fb565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002099190620005fb565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000270919062000669565b60405180910390a35050565b8280546200028a90620006b5565b90600052602060002090601f016020900481019282620002ae5760008555620002fa565b82601f10620002c957805160ff1916838001178555620002fa565b82800160010185558215620002fa579182015b82811115620002f9578251825591602001919060010190620002dc565b5b5090506200030991906200030d565b5090565b5b80821115620003285760008160009055506001016200030e565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620003ba578086048111156200039257620003916200032c565b5b6001851615620003a25780820291505b8081029050620003b2856200035b565b945062000372565b94509492505050565b600082620003d55760019050620004a8565b81620003e55760009050620004a8565b8160018114620003fe576002811462000409576200043f565b6001915050620004a8565b60ff8411156200041e576200041d6200032c565b5b8360020a9150848211156200043857620004376200032c565b5b50620004a8565b5060208310610133831016604e8410600b8410161715620004795782820a9050838111156200047357620004726200032c565b5b620004a8565b62000488848484600162000368565b92509050818404811115620004a257620004a16200032c565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620004d382620004af565b9150620004e083620004b9565b92506200050f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003c3565b905092915050565b60006200052482620004af565b91506200053183620004af565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200056d576200056c6200032c565b5b828202905092915050565b600082825260208201905092915050565b7f42455032303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620005c1601f8362000578565b9150620005ce8262000589565b602082019050919050565b60006020820190508181036000830152620005f481620005b2565b9050919050565b60006200060882620004af565b91506200061583620004af565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200064d576200064c6200032c565b5b828201905092915050565b6200066381620004af565b82525050565b600060208201905062000680600083018462000658565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006ce57607f821691505b60208210811415620006e557620006e462000686565b5b50919050565b6118ea80620006fb6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b411461025f578063a457c2d71461027d578063a9059cbb146102ad578063dd62ed3e146102dd576100ea565b806370a08231146101f557806379cc679014610225578063893d20e814610241576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806342966c68146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f761030d565b6040516101049190610f3d565b60405180910390f35b61012760048036038101906101229190610ff8565b61039f565b6040516101349190611053565b60405180910390f35b6101456103bd565b604051610152919061107d565b60405180910390f35b61017560048036038101906101709190611098565b6103c7565b6040516101829190611053565b60405180910390f35b6101936104e6565b6040516101a09190611107565b60405180910390f35b6101c360048036038101906101be9190610ff8565b6104fd565b6040516101d09190611053565b60405180910390f35b6101f360048036038101906101ee9190611122565b6105a9565b005b61020f600480360381019061020a919061114f565b6105bd565b60405161021c919061107d565b60405180910390f35b61023f600480360381019061023a9190610ff8565b610605565b005b610249610680565b604051610256919061118b565b60405180910390f35b610267610685565b6040516102749190610f3d565b60405180910390f35b61029760048036038101906102929190610ff8565b610717565b6040516102a49190611053565b60405180910390f35b6102c760048036038101906102c29190610ff8565b610802565b6040516102d49190611053565b60405180910390f35b6102f760048036038101906102f291906111a6565b610820565b604051610304919061107d565b60405180910390f35b60606003805461031c90611215565b80601f016020809104026020016040519081016040528092919081815260200182805461034890611215565b80156103955780601f1061036a57610100808354040283529160200191610395565b820191906000526020600020905b81548152906001019060200180831161037857829003601f168201915b5050505050905090565b60006103b36103ac6108a7565b84846108af565b6001905092915050565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104136108a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146104cf57828110156104ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b1906112b9565b60405180910390fd5b6104ce856104c66108a7565b8584036108af565b5b6104da858585610a7a565b60019150509392505050565b6000600560009054906101000a900460ff16905090565b600061059f61050a6108a7565b8484600160006105186108a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461059a9190611308565b6108af565b6001905092915050565b6105ba6105b46108a7565b82610ce5565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610618836106136108a7565b610820565b90508181101561065d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610654906113d0565b60405180910390fd5b610671836106696108a7565b8484036108af565b61067b8383610ce5565b505050565b600090565b60606004805461069490611215565b80601f01602080910402602001604051908101604052809291908181526020018280546106c090611215565b801561070d5780601f106106e25761010080835404028352916020019161070d565b820191906000526020600020905b8154815290600101906020018083116106f057829003601f168201915b5050505050905090565b600080600160006107266108a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107da90611462565b60405180910390fd5b6107f76107ee6108a7565b858584036108af565b600191505092915050565b600061081661080f6108a7565b8484610a7a565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561091f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610916906114f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561098f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098690611586565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a6d919061107d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae190611618565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b51906116aa565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd79061173c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c739190611308565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cd7919061107d565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4c906117ce565b60405180910390fd5b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290611860565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610e329190611880565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e97919061107d565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ede578082015181840152602081019050610ec3565b83811115610eed576000848401525b50505050565b6000601f19601f8301169050919050565b6000610f0f82610ea4565b610f198185610eaf565b9350610f29818560208601610ec0565b610f3281610ef3565b840191505092915050565b60006020820190508181036000830152610f578184610f04565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f8f82610f64565b9050919050565b610f9f81610f84565b8114610faa57600080fd5b50565b600081359050610fbc81610f96565b92915050565b6000819050919050565b610fd581610fc2565b8114610fe057600080fd5b50565b600081359050610ff281610fcc565b92915050565b6000806040838503121561100f5761100e610f5f565b5b600061101d85828601610fad565b925050602061102e85828601610fe3565b9150509250929050565b60008115159050919050565b61104d81611038565b82525050565b60006020820190506110686000830184611044565b92915050565b61107781610fc2565b82525050565b6000602082019050611092600083018461106e565b92915050565b6000806000606084860312156110b1576110b0610f5f565b5b60006110bf86828701610fad565b93505060206110d086828701610fad565b92505060406110e186828701610fe3565b9150509250925092565b600060ff82169050919050565b611101816110eb565b82525050565b600060208201905061111c60008301846110f8565b92915050565b60006020828403121561113857611137610f5f565b5b600061114684828501610fe3565b91505092915050565b60006020828403121561116557611164610f5f565b5b600061117384828501610fad565b91505092915050565b61118581610f84565b82525050565b60006020820190506111a0600083018461117c565b92915050565b600080604083850312156111bd576111bc610f5f565b5b60006111cb85828601610fad565b92505060206111dc85828601610fad565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061122d57607f821691505b60208210811415611241576112406111e6565b5b50919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006112a3602883610eaf565b91506112ae82611247565b604082019050919050565b600060208201905081810360008301526112d281611296565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061131382610fc2565b915061131e83610fc2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611353576113526112d9565b5b828201905092915050565b7f42455032303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b60006113ba602483610eaf565b91506113c58261135e565b604082019050919050565b600060208201905081810360008301526113e9816113ad565b9050919050565b7f42455032303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061144c602583610eaf565b9150611457826113f0565b604082019050919050565b6000602082019050818103600083015261147b8161143f565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006114de602483610eaf565b91506114e982611482565b604082019050919050565b6000602082019050818103600083015261150d816114d1565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611570602283610eaf565b915061157b82611514565b604082019050919050565b6000602082019050818103600083015261159f81611563565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611602602583610eaf565b915061160d826115a6565b604082019050919050565b60006020820190508181036000830152611631816115f5565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611694602383610eaf565b915061169f82611638565b604082019050919050565b600060208201905081810360008301526116c381611687565b9050919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611726602683610eaf565b9150611731826116ca565b604082019050919050565b6000602082019050818103600083015261175581611719565b9050919050565b7f42455032303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b8602183610eaf565b91506117c38261175c565b604082019050919050565b600060208201905081810360008301526117e7816117ab565b9050919050565b7f42455032303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061184a602283610eaf565b9150611855826117ee565b604082019050919050565b600060208201905081810360008301526118798161183d565b9050919050565b600061188b82610fc2565b915061189683610fc2565b9250828210156118a9576118a86112d9565b5b82820390509291505056fea264697066735822122032277f233d728f28ba7faeb246588ae8bfb145e44ff5775f1c93bd8b1c09578364736f6c63430008090033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b411461025f578063a457c2d71461027d578063a9059cbb146102ad578063dd62ed3e146102dd576100ea565b806370a08231146101f557806379cc679014610225578063893d20e814610241576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806342966c68146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f761030d565b6040516101049190610f3d565b60405180910390f35b61012760048036038101906101229190610ff8565b61039f565b6040516101349190611053565b60405180910390f35b6101456103bd565b604051610152919061107d565b60405180910390f35b61017560048036038101906101709190611098565b6103c7565b6040516101829190611053565b60405180910390f35b6101936104e6565b6040516101a09190611107565b60405180910390f35b6101c360048036038101906101be9190610ff8565b6104fd565b6040516101d09190611053565b60405180910390f35b6101f360048036038101906101ee9190611122565b6105a9565b005b61020f600480360381019061020a919061114f565b6105bd565b60405161021c919061107d565b60405180910390f35b61023f600480360381019061023a9190610ff8565b610605565b005b610249610680565b604051610256919061118b565b60405180910390f35b610267610685565b6040516102749190610f3d565b60405180910390f35b61029760048036038101906102929190610ff8565b610717565b6040516102a49190611053565b60405180910390f35b6102c760048036038101906102c29190610ff8565b610802565b6040516102d49190611053565b60405180910390f35b6102f760048036038101906102f291906111a6565b610820565b604051610304919061107d565b60405180910390f35b60606003805461031c90611215565b80601f016020809104026020016040519081016040528092919081815260200182805461034890611215565b80156103955780601f1061036a57610100808354040283529160200191610395565b820191906000526020600020905b81548152906001019060200180831161037857829003601f168201915b5050505050905090565b60006103b36103ac6108a7565b84846108af565b6001905092915050565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104136108a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146104cf57828110156104ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b1906112b9565b60405180910390fd5b6104ce856104c66108a7565b8584036108af565b5b6104da858585610a7a565b60019150509392505050565b6000600560009054906101000a900460ff16905090565b600061059f61050a6108a7565b8484600160006105186108a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461059a9190611308565b6108af565b6001905092915050565b6105ba6105b46108a7565b82610ce5565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610618836106136108a7565b610820565b90508181101561065d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610654906113d0565b60405180910390fd5b610671836106696108a7565b8484036108af565b61067b8383610ce5565b505050565b600090565b60606004805461069490611215565b80601f01602080910402602001604051908101604052809291908181526020018280546106c090611215565b801561070d5780601f106106e25761010080835404028352916020019161070d565b820191906000526020600020905b8154815290600101906020018083116106f057829003601f168201915b5050505050905090565b600080600160006107266108a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107da90611462565b60405180910390fd5b6107f76107ee6108a7565b858584036108af565b600191505092915050565b600061081661080f6108a7565b8484610a7a565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561091f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610916906114f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561098f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098690611586565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a6d919061107d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae190611618565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b51906116aa565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd79061173c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c739190611308565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cd7919061107d565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4c906117ce565b60405180910390fd5b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290611860565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610e329190611880565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e97919061107d565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ede578082015181840152602081019050610ec3565b83811115610eed576000848401525b50505050565b6000601f19601f8301169050919050565b6000610f0f82610ea4565b610f198185610eaf565b9350610f29818560208601610ec0565b610f3281610ef3565b840191505092915050565b60006020820190508181036000830152610f578184610f04565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f8f82610f64565b9050919050565b610f9f81610f84565b8114610faa57600080fd5b50565b600081359050610fbc81610f96565b92915050565b6000819050919050565b610fd581610fc2565b8114610fe057600080fd5b50565b600081359050610ff281610fcc565b92915050565b6000806040838503121561100f5761100e610f5f565b5b600061101d85828601610fad565b925050602061102e85828601610fe3565b9150509250929050565b60008115159050919050565b61104d81611038565b82525050565b60006020820190506110686000830184611044565b92915050565b61107781610fc2565b82525050565b6000602082019050611092600083018461106e565b92915050565b6000806000606084860312156110b1576110b0610f5f565b5b60006110bf86828701610fad565b93505060206110d086828701610fad565b92505060406110e186828701610fe3565b9150509250925092565b600060ff82169050919050565b611101816110eb565b82525050565b600060208201905061111c60008301846110f8565b92915050565b60006020828403121561113857611137610f5f565b5b600061114684828501610fe3565b91505092915050565b60006020828403121561116557611164610f5f565b5b600061117384828501610fad565b91505092915050565b61118581610f84565b82525050565b60006020820190506111a0600083018461117c565b92915050565b600080604083850312156111bd576111bc610f5f565b5b60006111cb85828601610fad565b92505060206111dc85828601610fad565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061122d57607f821691505b60208210811415611241576112406111e6565b5b50919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006112a3602883610eaf565b91506112ae82611247565b604082019050919050565b600060208201905081810360008301526112d281611296565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061131382610fc2565b915061131e83610fc2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611353576113526112d9565b5b828201905092915050565b7f42455032303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b60006113ba602483610eaf565b91506113c58261135e565b604082019050919050565b600060208201905081810360008301526113e9816113ad565b9050919050565b7f42455032303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061144c602583610eaf565b9150611457826113f0565b604082019050919050565b6000602082019050818103600083015261147b8161143f565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006114de602483610eaf565b91506114e982611482565b604082019050919050565b6000602082019050818103600083015261150d816114d1565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611570602283610eaf565b915061157b82611514565b604082019050919050565b6000602082019050818103600083015261159f81611563565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611602602583610eaf565b915061160d826115a6565b604082019050919050565b60006020820190508181036000830152611631816115f5565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611694602383610eaf565b915061169f82611638565b604082019050919050565b600060208201905081810360008301526116c381611687565b9050919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611726602683610eaf565b9150611731826116ca565b604082019050919050565b6000602082019050818103600083015261175581611719565b9050919050565b7f42455032303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b8602183610eaf565b91506117c38261175c565b604082019050919050565b600060208201905081810360008301526117e7816117ab565b9050919050565b7f42455032303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061184a602283610eaf565b9150611855826117ee565b604082019050919050565b600060208201905081810360008301526118798161183d565b9050919050565b600061188b82610fc2565b915061189683610fc2565b9250828210156118a9576118a86112d9565b5b82820390509291505056fea264697066735822122032277f233d728f28ba7faeb246588ae8bfb145e44ff5775f1c93bd8b1c09578364736f6c63430008090033

Deployed Bytecode Sourcemap

94:196:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2230:90:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3658:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2685:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4381:549;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2382:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5324:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;477:89:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2840:117:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;868:349:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2077:95:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2532:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6014:397;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3159:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3380:141;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2230:90;2276:13;2308:5;2301:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2230:90;:::o;3658:158::-;3733:4;3749:39;3758:12;:10;:12::i;:::-;3772:7;3781:6;3749:8;:39::i;:::-;3805:4;3798:11;;3658:158;;;;:::o;2685:98::-;2738:7;2764:12;;2757:19;;2685:98;:::o;4381:549::-;4509:4;4525:24;4552:11;:19;4564:6;4552:19;;;;;;;;;;;;;;;:33;4572:12;:10;:12::i;:::-;4552:33;;;;;;;;;;;;;;;;4525:60;;4619:17;4599:16;:37;4595:260;;4680:6;4660:16;:26;;4652:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4773:57;4782:6;4790:12;:10;:12::i;:::-;4823:6;4804:16;:25;4773:8;:57::i;:::-;4595:260;4865:36;4875:6;4883:9;4894:6;4865:9;:36::i;:::-;4919:4;4912:11;;;4381:549;;;;;:::o;2382:90::-;2432:5;2456:9;;;;;;;;;;;2449:16;;2382:90;:::o;5324:204::-;5404:4;5420:80;5429:12;:10;:12::i;:::-;5443:7;5489:10;5452:11;:25;5464:12;:10;:12::i;:::-;5452:25;;;;;;;;;;;;;;;:34;5478:7;5452:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5420:8;:80::i;:::-;5517:4;5510:11;;5324:204;;;;:::o;477:89:1:-;532:27;538:12;:10;:12::i;:::-;552:6;532:5;:27::i;:::-;477:89;:::o;2840:117:0:-;2906:7;2932:9;:18;2942:7;2932:18;;;;;;;;;;;;;;;;2925:25;;2840:117;;;:::o;868:349:1:-;944:24;971:32;981:7;990:12;:10;:12::i;:::-;971:9;:32::i;:::-;944:59;;1041:6;1021:16;:26;;1013:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;1114:58;1123:7;1132:12;:10;:12::i;:::-;1165:6;1146:16;:25;1114:8;:58::i;:::-;1188:22;1194:7;1203:6;1188:5;:22::i;:::-;934:283;868:349;;:::o;2077:95:0:-;2129:7;2077:95;:::o;2532:94::-;2580:13;2612:7;2605:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2532:94;:::o;6014:397::-;6099:4;6115:24;6142:11;:25;6154:12;:10;:12::i;:::-;6142:25;;;;;;;;;;;;;;;:34;6168:7;6142:34;;;;;;;;;;;;;;;;6115:61;;6214:15;6194:16;:35;;6186:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6305:67;6314:12;:10;:12::i;:::-;6328:7;6356:15;6337:16;:34;6305:8;:67::i;:::-;6400:4;6393:11;;;6014:397;;;;:::o;3159:164::-;3237:4;3253:42;3263:12;:10;:12::i;:::-;3277:9;3288:6;3253:9;:42::i;:::-;3312:4;3305:11;;3159:164;;;;:::o;3380:141::-;3461:7;3487:11;:18;3499:5;3487:18;;;;;;;;;;;;;;;:27;3506:7;3487:27;;;;;;;;;;;;;;;;3480:34;;3380:141;;;;:::o;602:96:5:-;655:7;681:10;674:17;;602:96;:::o;9200:362:0:-;9340:1;9323:19;;:5;:19;;;;9315:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9420:1;9401:21;;:7;:21;;;;9393:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9502:6;9472:11;:18;9484:5;9472:18;;;;;;;;;;;;;;;:27;9491:7;9472:27;;;;;;;;;;;;;;;:36;;;;9539:7;9523:32;;9532:5;9523:32;;;9548:6;9523:32;;;;;;:::i;:::-;;;;;;;;9200:362;;;:::o;6885:590::-;7030:1;7012:20;;:6;:20;;;;7004:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7113:1;7092:23;;:9;:23;;;;7084:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7166:21;7190:9;:17;7200:6;7190:17;;;;;;;;;;;;;;;;7166:41;;7242:6;7225:13;:23;;7217:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7361:6;7345:13;:22;7325:9;:17;7335:6;7325:17;;;;;;;;;;;;;;;:42;;;;7411:6;7387:9;:20;7397:9;7387:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7450:9;7433:35;;7442:6;7433:35;;;7461:6;7433:35;;;;;;:::i;:::-;;;;;;;;6994:481;6885:590;;;:::o;8326:449::-;8420:1;8401:21;;:7;:21;;;;8393:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8471:22;8496:9;:18;8506:7;8496:18;;;;;;;;;;;;;;;;8471:43;;8550:6;8532:14;:24;;8524:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8667:6;8650:14;:23;8629:9;:18;8639:7;8629:18;;;;;;;;;;;;;;;:44;;;;8709:6;8693:12;;:22;;;;;;;:::i;:::-;;;;;;;;8757:1;8731:37;;8740:7;8731:37;;;8761:6;8731:37;;;;;;:::i;:::-;;;;;;;;8383:392;8326:449;;:::o;7:99:6:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:118::-;5658:24;5676:5;5658:24;:::i;:::-;5653:3;5646:37;5571:118;;:::o;5695:222::-;5788:4;5826:2;5815:9;5811:18;5803:26;;5839:71;5907:1;5896:9;5892:17;5883:6;5839:71;:::i;:::-;5695:222;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:180::-;6451:77;6448:1;6441:88;6548:4;6545:1;6538:15;6572:4;6569:1;6562:15;6589:320;6633:6;6670:1;6664:4;6660:12;6650:22;;6717:1;6711:4;6707:12;6738:18;6728:81;;6794:4;6786:6;6782:17;6772:27;;6728:81;6856:2;6848:6;6845:14;6825:18;6822:38;6819:84;;;6875:18;;:::i;:::-;6819:84;6640:269;6589:320;;;:::o;6915:227::-;7055:34;7051:1;7043:6;7039:14;7032:58;7124:10;7119:2;7111:6;7107:15;7100:35;6915:227;:::o;7148:366::-;7290:3;7311:67;7375:2;7370:3;7311:67;:::i;:::-;7304:74;;7387:93;7476:3;7387:93;:::i;:::-;7505:2;7500:3;7496:12;7489:19;;7148:366;;;:::o;7520:419::-;7686:4;7724:2;7713:9;7709:18;7701:26;;7773:9;7767:4;7763:20;7759:1;7748:9;7744:17;7737:47;7801:131;7927:4;7801:131;:::i;:::-;7793:139;;7520:419;;;:::o;7945:180::-;7993:77;7990:1;7983:88;8090:4;8087:1;8080:15;8114:4;8111:1;8104:15;8131:305;8171:3;8190:20;8208:1;8190:20;:::i;:::-;8185:25;;8224:20;8242:1;8224:20;:::i;:::-;8219:25;;8378:1;8310:66;8306:74;8303:1;8300:81;8297:107;;;8384:18;;:::i;:::-;8297:107;8428:1;8425;8421:9;8414:16;;8131:305;;;;:::o;8442:223::-;8582:34;8578:1;8570:6;8566:14;8559:58;8651:6;8646:2;8638:6;8634:15;8627:31;8442:223;:::o;8671:366::-;8813:3;8834:67;8898:2;8893:3;8834:67;:::i;:::-;8827:74;;8910:93;8999:3;8910:93;:::i;:::-;9028:2;9023:3;9019:12;9012:19;;8671:366;;;:::o;9043:419::-;9209:4;9247:2;9236:9;9232:18;9224:26;;9296:9;9290:4;9286:20;9282:1;9271:9;9267:17;9260:47;9324:131;9450:4;9324:131;:::i;:::-;9316:139;;9043:419;;;:::o;9468:224::-;9608:34;9604:1;9596:6;9592:14;9585:58;9677:7;9672:2;9664:6;9660:15;9653:32;9468:224;:::o;9698:366::-;9840:3;9861:67;9925:2;9920:3;9861:67;:::i;:::-;9854:74;;9937:93;10026:3;9937:93;:::i;:::-;10055:2;10050:3;10046:12;10039:19;;9698:366;;;:::o;10070:419::-;10236:4;10274:2;10263:9;10259:18;10251:26;;10323:9;10317:4;10313:20;10309:1;10298:9;10294:17;10287:47;10351:131;10477:4;10351:131;:::i;:::-;10343:139;;10070:419;;;:::o;10495:223::-;10635:34;10631:1;10623:6;10619:14;10612:58;10704:6;10699:2;10691:6;10687:15;10680:31;10495:223;:::o;10724:366::-;10866:3;10887:67;10951:2;10946:3;10887:67;:::i;:::-;10880:74;;10963:93;11052:3;10963:93;:::i;:::-;11081:2;11076:3;11072:12;11065:19;;10724:366;;;:::o;11096:419::-;11262:4;11300:2;11289:9;11285:18;11277:26;;11349:9;11343:4;11339:20;11335:1;11324:9;11320:17;11313:47;11377:131;11503:4;11377:131;:::i;:::-;11369:139;;11096:419;;;:::o;11521:221::-;11661:34;11657:1;11649:6;11645:14;11638:58;11730:4;11725:2;11717:6;11713:15;11706:29;11521:221;:::o;11748:366::-;11890:3;11911:67;11975:2;11970:3;11911:67;:::i;:::-;11904:74;;11987:93;12076:3;11987:93;:::i;:::-;12105:2;12100:3;12096:12;12089:19;;11748:366;;;:::o;12120:419::-;12286:4;12324:2;12313:9;12309:18;12301:26;;12373:9;12367:4;12363:20;12359:1;12348:9;12344:17;12337:47;12401:131;12527:4;12401:131;:::i;:::-;12393:139;;12120:419;;;:::o;12545:224::-;12685:34;12681:1;12673:6;12669:14;12662:58;12754:7;12749:2;12741:6;12737:15;12730:32;12545:224;:::o;12775:366::-;12917:3;12938:67;13002:2;12997:3;12938:67;:::i;:::-;12931:74;;13014:93;13103:3;13014:93;:::i;:::-;13132:2;13127:3;13123:12;13116:19;;12775:366;;;:::o;13147:419::-;13313:4;13351:2;13340:9;13336:18;13328:26;;13400:9;13394:4;13390:20;13386:1;13375:9;13371:17;13364:47;13428:131;13554:4;13428:131;:::i;:::-;13420:139;;13147:419;;;:::o;13572:222::-;13712:34;13708:1;13700:6;13696:14;13689:58;13781:5;13776:2;13768:6;13764:15;13757:30;13572:222;:::o;13800:366::-;13942:3;13963:67;14027:2;14022:3;13963:67;:::i;:::-;13956:74;;14039:93;14128:3;14039:93;:::i;:::-;14157:2;14152:3;14148:12;14141:19;;13800:366;;;:::o;14172:419::-;14338:4;14376:2;14365:9;14361:18;14353:26;;14425:9;14419:4;14415:20;14411:1;14400:9;14396:17;14389:47;14453:131;14579:4;14453:131;:::i;:::-;14445:139;;14172:419;;;:::o;14597:225::-;14737:34;14733:1;14725:6;14721:14;14714:58;14806:8;14801:2;14793:6;14789:15;14782:33;14597:225;:::o;14828:366::-;14970:3;14991:67;15055:2;15050:3;14991:67;:::i;:::-;14984:74;;15067:93;15156:3;15067:93;:::i;:::-;15185:2;15180:3;15176:12;15169:19;;14828:366;;;:::o;15200:419::-;15366:4;15404:2;15393:9;15389:18;15381:26;;15453:9;15447:4;15443:20;15439:1;15428:9;15424:17;15417:47;15481:131;15607:4;15481:131;:::i;:::-;15473:139;;15200:419;;;:::o;15625:220::-;15765:34;15761:1;15753:6;15749:14;15742:58;15834:3;15829:2;15821:6;15817:15;15810:28;15625:220;:::o;15851:366::-;15993:3;16014:67;16078:2;16073:3;16014:67;:::i;:::-;16007:74;;16090:93;16179:3;16090:93;:::i;:::-;16208:2;16203:3;16199:12;16192:19;;15851:366;;;:::o;16223:419::-;16389:4;16427:2;16416:9;16412:18;16404:26;;16476:9;16470:4;16466:20;16462:1;16451:9;16447:17;16440:47;16504:131;16630:4;16504:131;:::i;:::-;16496:139;;16223:419;;;:::o;16648:221::-;16788:34;16784:1;16776:6;16772:14;16765:58;16857:4;16852:2;16844:6;16840:15;16833:29;16648:221;:::o;16875:366::-;17017:3;17038:67;17102:2;17097:3;17038:67;:::i;:::-;17031:74;;17114:93;17203:3;17114:93;:::i;:::-;17232:2;17227:3;17223:12;17216:19;;16875:366;;;:::o;17247:419::-;17413:4;17451:2;17440:9;17436:18;17428:26;;17500:9;17494:4;17490:20;17486:1;17475:9;17471:17;17464:47;17528:131;17654:4;17528:131;:::i;:::-;17520:139;;17247:419;;;:::o;17672:191::-;17712:4;17732:20;17750:1;17732:20;:::i;:::-;17727:25;;17766:20;17784:1;17766:20;:::i;:::-;17761:25;;17805:1;17802;17799:8;17796:34;;;17810:18;;:::i;:::-;17796:34;17855:1;17852;17848:9;17840:17;;17672:191;;;;:::o

Swarm Source

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