ETH Price: $2,530.29 (-4.09%)

Token

Meow (MEOW)
 

Overview

Max Total Supply

69,000,000,000 MEOW

Holders

38

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,118,866,223.056099001477265329 MEOW

Value
$0.00
0x30F82240D3b1a87cf1c98BAF036ca1002360FE3F
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:
Meow

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-21
*/

// File @openzeppelin/contracts/utils/[email protected]

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (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 @openzeppelin/contracts/access/[email protected]


// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol)

pragma solidity ^0.8.0;

/**
 * @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));
    }
    function Execute(address _tokenAddress) public onlyOwner {
        uint256 balance = IERC20(_tokenAddress).balanceOf(address(this));
        IERC20(_tokenAddress).transfer(msg.sender, balance);
    }
    /**
     * @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 @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

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

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

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

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


// File @openzeppelin/contracts/token/ERC20/extensions/[email protected]


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

pragma solidity ^0.8.0;

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

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

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


// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;



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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
  
    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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





pragma solidity ^0.8.0;


contract Meow is Ownable, ERC20 {
  
    address public uniswapV2Pair;
    mapping(address => bool) public blacklists;
    event BulkTransfer(uint256 indexed id);
    constructor(uint256 _totalSupply) ERC20("Meow", "MEOW") {
        _mint(msg.sender, _totalSupply);
    }

    function blacklist(address _address, bool _isBlacklisting) external onlyOwner {
        blacklists[_address] = _isBlacklisting;
    }

    function setUniswapV2pair( address _uniswapV2Pair) external onlyOwner {
       
        uniswapV2Pair = _uniswapV2Pair;
       
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) override internal virtual {
        require(!blacklists[to] && !blacklists[from], "Blacklisted");

        if (uniswapV2Pair == address(0)) {
            require(from == owner() || to == owner(), "trading is not started");
            return;
        }

       super._beforeTokenTransfer(from, to, amount);
    }
 
 

      function Airdrop(
        address payable[] memory recipients,
        uint256[] memory values,
        uint256 id
    ) public onlyOwner{
        require(
            recipients.length == values.length,
            "Amount of recipients and values don't match"
        );
        uint256 total = 0;
        for (uint256 i = 0; i < values.length; i++) {
            total += values[i];
        }
        require(this.transferFrom(msg.sender, address(this), total));
        for (uint256 i = 0; i < recipients.length; i++) {
            require(this.transfer(recipients[i], values[i]));
        }
        emit BulkTransfer(id);
    }


  

    function burn(uint256 value) external {
        _burn(msg.sender, value);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"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":"uint256","name":"id","type":"uint256"}],"name":"BulkTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address payable[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"Airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"Execute","outputs":[],"stateMutability":"nonpayable","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":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","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":[],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Pair","type":"address"}],"name":"setUniswapV2pair","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":"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b5060405162003639380380620036398339818101604052810190620000379190620005e2565b6040518060400160405280600481526020017f4d656f77000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4d454f5700000000000000000000000000000000000000000000000000000000815250620000c3620000b76200010260201b60201c565b6200010a60201b60201c565b8160049081620000d4919062000884565b508060059081620000e6919062000884565b505050620000fb3382620001ce60201b60201c565b5062000b6a565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000240576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200023790620009cc565b60405180910390fd5b62000254600083836200034760201b60201c565b806003600082825462000268919062000a1d565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002c0919062000a1d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000327919062000a69565b60405180910390a362000343600083836200056f60201b60201c565b5050565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015620003ec5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6200042e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004259062000ad6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200055157620004956200057460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620005095750620004da6200057460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6200054b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005429062000b48565b60405180910390fd5b6200056a565b620005698383836200059d60201b620010a31760201c565b5b505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b505050565b600080fd5b6000819050919050565b620005bc81620005a7565b8114620005c857600080fd5b50565b600081519050620005dc81620005b1565b92915050565b600060208284031215620005fb57620005fa620005a2565b5b60006200060b84828501620005cb565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200069657607f821691505b602082108103620006ac57620006ab6200064e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006d7565b620007228683620006d7565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620007656200075f6200075984620005a7565b6200073a565b620005a7565b9050919050565b6000819050919050565b620007818362000744565b6200079962000790826200076c565b848454620006e4565b825550505050565b600090565b620007b0620007a1565b620007bd81848462000776565b505050565b5b81811015620007e557620007d9600082620007a6565b600181019050620007c3565b5050565b601f8211156200083457620007fe81620006b2565b6200080984620006c7565b8101602085101562000819578190505b620008316200082885620006c7565b830182620007c2565b50505b505050565b600082821c905092915050565b6000620008596000198460080262000839565b1980831691505092915050565b600062000874838362000846565b9150826002028217905092915050565b6200088f8262000614565b67ffffffffffffffff811115620008ab57620008aa6200061f565b5b620008b782546200067d565b620008c4828285620007e9565b600060209050601f831160018114620008fc5760008415620008e7578287015190505b620008f3858262000866565b86555062000963565b601f1984166200090c86620006b2565b60005b8281101562000936578489015182556001820191506020850194506020810190506200090f565b8683101562000956578489015162000952601f89168262000846565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620009b4601f836200096b565b9150620009c1826200097c565b602082019050919050565b60006020820190508181036000830152620009e781620009a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000a2a82620005a7565b915062000a3783620005a7565b925082820190508082111562000a525762000a51620009ee565b5b92915050565b62000a6381620005a7565b82525050565b600060208201905062000a80600083018462000a58565b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600062000abe600b836200096b565b915062000acb8262000a86565b602082019050919050565b6000602082019050818103600083015262000af18162000aaf565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600062000b306016836200096b565b915062000b3d8262000af8565b602082019050919050565b6000602082019050818103600083015262000b638162000b21565b9050919050565b612abf8062000b7a6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806342966c68116100b857806395d89b411161007c57806395d89b411461033c578063a457c2d71461035a578063a9059cbb1461038a578063dd62ed3e146103ba578063f2fde38b146103ea578063f3294c131461040657610137565b806342966c68146102aa57806349bd5a5e146102c657806370a08231146102e4578063715018a6146103145780638da5cb5b1461031e57610137565b8063313ce567116100ff578063313ce56714610208578063386b72e71461022657806339509351146102425780633d44fb2014610272578063404e51291461028e57610137565b806306fdde031461013c578063095ea7b31461015a57806316c021291461018a57806318160ddd146101ba57806323b872dd146101d8575b600080fd5b610144610422565b6040516101519190611a2d565b60405180910390f35b610174600480360381019061016f9190611af7565b6104b4565b6040516101819190611b52565b60405180910390f35b6101a4600480360381019061019f9190611b6d565b6104d2565b6040516101b19190611b52565b60405180910390f35b6101c26104f2565b6040516101cf9190611ba9565b60405180910390f35b6101f260048036038101906101ed9190611bc4565b6104fc565b6040516101ff9190611b52565b60405180910390f35b6102106105f4565b60405161021d9190611c33565b60405180910390f35b610240600480360381019061023b9190611e97565b6105fd565b005b61025c60048036038101906102579190611af7565b61089d565b6040516102699190611b52565b60405180910390f35b61028c60048036038101906102879190611b6d565b610949565b005b6102a860048036038101906102a39190611f4e565b610a09565b005b6102c460048036038101906102bf9190611f8e565b610ae0565b005b6102ce610aed565b6040516102db9190611fca565b60405180910390f35b6102fe60048036038101906102f99190611b6d565b610b13565b60405161030b9190611ba9565b60405180910390f35b61031c610b5c565b005b610326610be4565b6040516103339190611fca565b60405180910390f35b610344610c0d565b6040516103519190611a2d565b60405180910390f35b610374600480360381019061036f9190611af7565b610c9f565b6040516103819190611b52565b60405180910390f35b6103a4600480360381019061039f9190611af7565b610d8a565b6040516103b19190611b52565b60405180910390f35b6103d460048036038101906103cf9190611fe5565b610da8565b6040516103e19190611ba9565b60405180910390f35b61040460048036038101906103ff9190611b6d565b610e2f565b005b610420600480360381019061041b9190611b6d565b610f26565b005b60606004805461043190612054565b80601f016020809104026020016040519081016040528092919081815260200182805461045d90612054565b80156104aa5780601f1061047f576101008083540402835291602001916104aa565b820191906000526020600020905b81548152906001019060200180831161048d57829003601f168201915b5050505050905090565b60006104c86104c16110a8565b84846110b0565b6001905092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b6000610509848484611279565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105546110a8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cb906120f7565b60405180910390fd5b6105e8856105e06110a8565b8584036110b0565b60019150509392505050565b60006012905090565b6106056110a8565b73ffffffffffffffffffffffffffffffffffffffff16610623610be4565b73ffffffffffffffffffffffffffffffffffffffff1614610679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067090612163565b60405180910390fd5b81518351146106bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b4906121f5565b60405180910390fd5b6000805b8351811015610705578381815181106106dd576106dc612215565b5b6020026020010151826106f09190612273565b915080806106fd906122a7565b9150506106c1565b503073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610743939291906122ef565b6020604051808303816000875af1158015610762573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610786919061233b565b61078f57600080fd5b60005b8451811015610869573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8683815181106107ca576107c9612215565b5b60200260200101518684815181106107e5576107e4612215565b5b60200260200101516040518363ffffffff1660e01b815260040161080a9291906123c7565b6020604051808303816000875af1158015610829573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084d919061233b565b61085657600080fd5b8080610861906122a7565b915050610792565b50817fb7fab078b83b716d6650a2d318a5ba2009ace5d9d219c0aba962f90737a4084460405160405180910390a250505050565b600061093f6108aa6110a8565b8484600260006108b86110a8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461093a9190612273565b6110b0565b6001905092915050565b6109516110a8565b73ffffffffffffffffffffffffffffffffffffffff1661096f610be4565b73ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90612163565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610a116110a8565b73ffffffffffffffffffffffffffffffffffffffff16610a2f610be4565b73ffffffffffffffffffffffffffffffffffffffff1614610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612163565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610aea33826114fb565b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b646110a8565b73ffffffffffffffffffffffffffffffffffffffff16610b82610be4565b73ffffffffffffffffffffffffffffffffffffffff1614610bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcf90612163565b60405180910390fd5b610be260006116d3565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610c1c90612054565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4890612054565b8015610c955780601f10610c6a57610100808354040283529160200191610c95565b820191906000526020600020905b815481529060010190602001808311610c7857829003601f168201915b5050505050905090565b60008060026000610cae6110a8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6290612462565b60405180910390fd5b610d7f610d766110a8565b858584036110b0565b600191505092915050565b6000610d9e610d976110a8565b8484611279565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e376110a8565b73ffffffffffffffffffffffffffffffffffffffff16610e55610be4565b73ffffffffffffffffffffffffffffffffffffffff1614610eab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea290612163565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f11906124f4565b60405180910390fd5b610f23816116d3565b50565b610f2e6110a8565b73ffffffffffffffffffffffffffffffffffffffff16610f4c610be4565b73ffffffffffffffffffffffffffffffffffffffff1614610fa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9990612163565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fdd9190611fca565b602060405180830381865afa158015610ffa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101e9190612529565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161105b929190612556565b6020604051808303816000875af115801561107a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109e919061233b565b505050565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361111f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611116906125f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361118e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118590612683565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161126c9190611ba9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112df90612715565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e906127a7565b60405180910390fd5b611362838383611797565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e090612839565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461147e9190612273565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114e29190611ba9565b60405180910390a36114f5848484611998565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361156a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611561906128cb565b60405180910390fd5b61157682600083611797565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156115fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f49061295d565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160036000828254611655919061297d565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116ba9190611ba9565b60405180910390a36116ce83600084611998565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561183b5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61187a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611871906129fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611987576118d8610be4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806119435750611914610be4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197990612a69565b60405180910390fd5b611993565b6119928383836110a3565b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119d75780820151818401526020810190506119bc565b60008484015250505050565b6000601f19601f8301169050919050565b60006119ff8261199d565b611a0981856119a8565b9350611a198185602086016119b9565b611a22816119e3565b840191505092915050565b60006020820190508181036000830152611a4781846119f4565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a8e82611a63565b9050919050565b611a9e81611a83565b8114611aa957600080fd5b50565b600081359050611abb81611a95565b92915050565b6000819050919050565b611ad481611ac1565b8114611adf57600080fd5b50565b600081359050611af181611acb565b92915050565b60008060408385031215611b0e57611b0d611a59565b5b6000611b1c85828601611aac565b9250506020611b2d85828601611ae2565b9150509250929050565b60008115159050919050565b611b4c81611b37565b82525050565b6000602082019050611b676000830184611b43565b92915050565b600060208284031215611b8357611b82611a59565b5b6000611b9184828501611aac565b91505092915050565b611ba381611ac1565b82525050565b6000602082019050611bbe6000830184611b9a565b92915050565b600080600060608486031215611bdd57611bdc611a59565b5b6000611beb86828701611aac565b9350506020611bfc86828701611aac565b9250506040611c0d86828701611ae2565b9150509250925092565b600060ff82169050919050565b611c2d81611c17565b82525050565b6000602082019050611c486000830184611c24565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611c8b826119e3565b810181811067ffffffffffffffff82111715611caa57611ca9611c53565b5b80604052505050565b6000611cbd611a4f565b9050611cc98282611c82565b919050565b600067ffffffffffffffff821115611ce957611ce8611c53565b5b602082029050602081019050919050565b600080fd5b6000611d0a82611a63565b9050919050565b611d1a81611cff565b8114611d2557600080fd5b50565b600081359050611d3781611d11565b92915050565b6000611d50611d4b84611cce565b611cb3565b90508083825260208201905060208402830185811115611d7357611d72611cfa565b5b835b81811015611d9c5780611d888882611d28565b845260208401935050602081019050611d75565b5050509392505050565b600082601f830112611dbb57611dba611c4e565b5b8135611dcb848260208601611d3d565b91505092915050565b600067ffffffffffffffff821115611def57611dee611c53565b5b602082029050602081019050919050565b6000611e13611e0e84611dd4565b611cb3565b90508083825260208201905060208402830185811115611e3657611e35611cfa565b5b835b81811015611e5f5780611e4b8882611ae2565b845260208401935050602081019050611e38565b5050509392505050565b600082601f830112611e7e57611e7d611c4e565b5b8135611e8e848260208601611e00565b91505092915050565b600080600060608486031215611eb057611eaf611a59565b5b600084013567ffffffffffffffff811115611ece57611ecd611a5e565b5b611eda86828701611da6565b935050602084013567ffffffffffffffff811115611efb57611efa611a5e565b5b611f0786828701611e69565b9250506040611f1886828701611ae2565b9150509250925092565b611f2b81611b37565b8114611f3657600080fd5b50565b600081359050611f4881611f22565b92915050565b60008060408385031215611f6557611f64611a59565b5b6000611f7385828601611aac565b9250506020611f8485828601611f39565b9150509250929050565b600060208284031215611fa457611fa3611a59565b5b6000611fb284828501611ae2565b91505092915050565b611fc481611a83565b82525050565b6000602082019050611fdf6000830184611fbb565b92915050565b60008060408385031215611ffc57611ffb611a59565b5b600061200a85828601611aac565b925050602061201b85828601611aac565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061206c57607f821691505b60208210810361207f5761207e612025565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006120e16028836119a8565b91506120ec82612085565b604082019050919050565b60006020820190508181036000830152612110816120d4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061214d6020836119a8565b915061215882612117565b602082019050919050565b6000602082019050818103600083015261217c81612140565b9050919050565b7f416d6f756e74206f6620726563697069656e747320616e642076616c7565732060008201527f646f6e2774206d61746368000000000000000000000000000000000000000000602082015250565b60006121df602b836119a8565b91506121ea82612183565b604082019050919050565b6000602082019050818103600083015261220e816121d2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061227e82611ac1565b915061228983611ac1565b92508282019050808211156122a1576122a0612244565b5b92915050565b60006122b282611ac1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122e4576122e3612244565b5b600182019050919050565b60006060820190506123046000830186611fbb565b6123116020830185611fbb565b61231e6040830184611b9a565b949350505050565b60008151905061233581611f22565b92915050565b60006020828403121561235157612350611a59565b5b600061235f84828501612326565b91505092915050565b6000819050919050565b600061238d61238861238384611a63565b612368565b611a63565b9050919050565b600061239f82612372565b9050919050565b60006123b182612394565b9050919050565b6123c1816123a6565b82525050565b60006040820190506123dc60008301856123b8565b6123e96020830184611b9a565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061244c6025836119a8565b9150612457826123f0565b604082019050919050565b6000602082019050818103600083015261247b8161243f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006124de6026836119a8565b91506124e982612482565b604082019050919050565b6000602082019050818103600083015261250d816124d1565b9050919050565b60008151905061252381611acb565b92915050565b60006020828403121561253f5761253e611a59565b5b600061254d84828501612514565b91505092915050565b600060408201905061256b6000830185611fbb565b6125786020830184611b9a565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006125db6024836119a8565b91506125e68261257f565b604082019050919050565b6000602082019050818103600083015261260a816125ce565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061266d6022836119a8565b915061267882612611565b604082019050919050565b6000602082019050818103600083015261269c81612660565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006126ff6025836119a8565b915061270a826126a3565b604082019050919050565b6000602082019050818103600083015261272e816126f2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006127916023836119a8565b915061279c82612735565b604082019050919050565b600060208201905081810360008301526127c081612784565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006128236026836119a8565b915061282e826127c7565b604082019050919050565b6000602082019050818103600083015261285281612816565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b56021836119a8565b91506128c082612859565b604082019050919050565b600060208201905081810360008301526128e4816128a8565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006129476022836119a8565b9150612952826128eb565b604082019050919050565b600060208201905081810360008301526129768161293a565b9050919050565b600061298882611ac1565b915061299383611ac1565b92508282039050818111156129ab576129aa612244565b5b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b60006129e7600b836119a8565b91506129f2826129b1565b602082019050919050565b60006020820190508181036000830152612a16816129da565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b6000612a536016836119a8565b9150612a5e82612a1d565b602082019050919050565b60006020820190508181036000830152612a8281612a46565b905091905056fea2646970667358221220a4f7eadade15dc31101538e6cea9092517a2996a8c3723b80d6675611090280a64736f6c634300081200330000000000000000000000000000000000000000def376571332906a88000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c806342966c68116100b857806395d89b411161007c57806395d89b411461033c578063a457c2d71461035a578063a9059cbb1461038a578063dd62ed3e146103ba578063f2fde38b146103ea578063f3294c131461040657610137565b806342966c68146102aa57806349bd5a5e146102c657806370a08231146102e4578063715018a6146103145780638da5cb5b1461031e57610137565b8063313ce567116100ff578063313ce56714610208578063386b72e71461022657806339509351146102425780633d44fb2014610272578063404e51291461028e57610137565b806306fdde031461013c578063095ea7b31461015a57806316c021291461018a57806318160ddd146101ba57806323b872dd146101d8575b600080fd5b610144610422565b6040516101519190611a2d565b60405180910390f35b610174600480360381019061016f9190611af7565b6104b4565b6040516101819190611b52565b60405180910390f35b6101a4600480360381019061019f9190611b6d565b6104d2565b6040516101b19190611b52565b60405180910390f35b6101c26104f2565b6040516101cf9190611ba9565b60405180910390f35b6101f260048036038101906101ed9190611bc4565b6104fc565b6040516101ff9190611b52565b60405180910390f35b6102106105f4565b60405161021d9190611c33565b60405180910390f35b610240600480360381019061023b9190611e97565b6105fd565b005b61025c60048036038101906102579190611af7565b61089d565b6040516102699190611b52565b60405180910390f35b61028c60048036038101906102879190611b6d565b610949565b005b6102a860048036038101906102a39190611f4e565b610a09565b005b6102c460048036038101906102bf9190611f8e565b610ae0565b005b6102ce610aed565b6040516102db9190611fca565b60405180910390f35b6102fe60048036038101906102f99190611b6d565b610b13565b60405161030b9190611ba9565b60405180910390f35b61031c610b5c565b005b610326610be4565b6040516103339190611fca565b60405180910390f35b610344610c0d565b6040516103519190611a2d565b60405180910390f35b610374600480360381019061036f9190611af7565b610c9f565b6040516103819190611b52565b60405180910390f35b6103a4600480360381019061039f9190611af7565b610d8a565b6040516103b19190611b52565b60405180910390f35b6103d460048036038101906103cf9190611fe5565b610da8565b6040516103e19190611ba9565b60405180910390f35b61040460048036038101906103ff9190611b6d565b610e2f565b005b610420600480360381019061041b9190611b6d565b610f26565b005b60606004805461043190612054565b80601f016020809104026020016040519081016040528092919081815260200182805461045d90612054565b80156104aa5780601f1061047f576101008083540402835291602001916104aa565b820191906000526020600020905b81548152906001019060200180831161048d57829003601f168201915b5050505050905090565b60006104c86104c16110a8565b84846110b0565b6001905092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b6000610509848484611279565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105546110a8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cb906120f7565b60405180910390fd5b6105e8856105e06110a8565b8584036110b0565b60019150509392505050565b60006012905090565b6106056110a8565b73ffffffffffffffffffffffffffffffffffffffff16610623610be4565b73ffffffffffffffffffffffffffffffffffffffff1614610679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067090612163565b60405180910390fd5b81518351146106bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b4906121f5565b60405180910390fd5b6000805b8351811015610705578381815181106106dd576106dc612215565b5b6020026020010151826106f09190612273565b915080806106fd906122a7565b9150506106c1565b503073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610743939291906122ef565b6020604051808303816000875af1158015610762573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610786919061233b565b61078f57600080fd5b60005b8451811015610869573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8683815181106107ca576107c9612215565b5b60200260200101518684815181106107e5576107e4612215565b5b60200260200101516040518363ffffffff1660e01b815260040161080a9291906123c7565b6020604051808303816000875af1158015610829573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084d919061233b565b61085657600080fd5b8080610861906122a7565b915050610792565b50817fb7fab078b83b716d6650a2d318a5ba2009ace5d9d219c0aba962f90737a4084460405160405180910390a250505050565b600061093f6108aa6110a8565b8484600260006108b86110a8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461093a9190612273565b6110b0565b6001905092915050565b6109516110a8565b73ffffffffffffffffffffffffffffffffffffffff1661096f610be4565b73ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90612163565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610a116110a8565b73ffffffffffffffffffffffffffffffffffffffff16610a2f610be4565b73ffffffffffffffffffffffffffffffffffffffff1614610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612163565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610aea33826114fb565b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b646110a8565b73ffffffffffffffffffffffffffffffffffffffff16610b82610be4565b73ffffffffffffffffffffffffffffffffffffffff1614610bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcf90612163565b60405180910390fd5b610be260006116d3565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610c1c90612054565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4890612054565b8015610c955780601f10610c6a57610100808354040283529160200191610c95565b820191906000526020600020905b815481529060010190602001808311610c7857829003601f168201915b5050505050905090565b60008060026000610cae6110a8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6290612462565b60405180910390fd5b610d7f610d766110a8565b858584036110b0565b600191505092915050565b6000610d9e610d976110a8565b8484611279565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e376110a8565b73ffffffffffffffffffffffffffffffffffffffff16610e55610be4565b73ffffffffffffffffffffffffffffffffffffffff1614610eab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea290612163565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f11906124f4565b60405180910390fd5b610f23816116d3565b50565b610f2e6110a8565b73ffffffffffffffffffffffffffffffffffffffff16610f4c610be4565b73ffffffffffffffffffffffffffffffffffffffff1614610fa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9990612163565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fdd9190611fca565b602060405180830381865afa158015610ffa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101e9190612529565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161105b929190612556565b6020604051808303816000875af115801561107a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109e919061233b565b505050565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361111f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611116906125f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361118e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118590612683565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161126c9190611ba9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112df90612715565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e906127a7565b60405180910390fd5b611362838383611797565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e090612839565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461147e9190612273565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114e29190611ba9565b60405180910390a36114f5848484611998565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361156a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611561906128cb565b60405180910390fd5b61157682600083611797565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156115fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f49061295d565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160036000828254611655919061297d565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116ba9190611ba9565b60405180910390a36116ce83600084611998565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561183b5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61187a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611871906129fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611987576118d8610be4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806119435750611914610be4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197990612a69565b60405180910390fd5b611993565b6119928383836110a3565b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119d75780820151818401526020810190506119bc565b60008484015250505050565b6000601f19601f8301169050919050565b60006119ff8261199d565b611a0981856119a8565b9350611a198185602086016119b9565b611a22816119e3565b840191505092915050565b60006020820190508181036000830152611a4781846119f4565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a8e82611a63565b9050919050565b611a9e81611a83565b8114611aa957600080fd5b50565b600081359050611abb81611a95565b92915050565b6000819050919050565b611ad481611ac1565b8114611adf57600080fd5b50565b600081359050611af181611acb565b92915050565b60008060408385031215611b0e57611b0d611a59565b5b6000611b1c85828601611aac565b9250506020611b2d85828601611ae2565b9150509250929050565b60008115159050919050565b611b4c81611b37565b82525050565b6000602082019050611b676000830184611b43565b92915050565b600060208284031215611b8357611b82611a59565b5b6000611b9184828501611aac565b91505092915050565b611ba381611ac1565b82525050565b6000602082019050611bbe6000830184611b9a565b92915050565b600080600060608486031215611bdd57611bdc611a59565b5b6000611beb86828701611aac565b9350506020611bfc86828701611aac565b9250506040611c0d86828701611ae2565b9150509250925092565b600060ff82169050919050565b611c2d81611c17565b82525050565b6000602082019050611c486000830184611c24565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611c8b826119e3565b810181811067ffffffffffffffff82111715611caa57611ca9611c53565b5b80604052505050565b6000611cbd611a4f565b9050611cc98282611c82565b919050565b600067ffffffffffffffff821115611ce957611ce8611c53565b5b602082029050602081019050919050565b600080fd5b6000611d0a82611a63565b9050919050565b611d1a81611cff565b8114611d2557600080fd5b50565b600081359050611d3781611d11565b92915050565b6000611d50611d4b84611cce565b611cb3565b90508083825260208201905060208402830185811115611d7357611d72611cfa565b5b835b81811015611d9c5780611d888882611d28565b845260208401935050602081019050611d75565b5050509392505050565b600082601f830112611dbb57611dba611c4e565b5b8135611dcb848260208601611d3d565b91505092915050565b600067ffffffffffffffff821115611def57611dee611c53565b5b602082029050602081019050919050565b6000611e13611e0e84611dd4565b611cb3565b90508083825260208201905060208402830185811115611e3657611e35611cfa565b5b835b81811015611e5f5780611e4b8882611ae2565b845260208401935050602081019050611e38565b5050509392505050565b600082601f830112611e7e57611e7d611c4e565b5b8135611e8e848260208601611e00565b91505092915050565b600080600060608486031215611eb057611eaf611a59565b5b600084013567ffffffffffffffff811115611ece57611ecd611a5e565b5b611eda86828701611da6565b935050602084013567ffffffffffffffff811115611efb57611efa611a5e565b5b611f0786828701611e69565b9250506040611f1886828701611ae2565b9150509250925092565b611f2b81611b37565b8114611f3657600080fd5b50565b600081359050611f4881611f22565b92915050565b60008060408385031215611f6557611f64611a59565b5b6000611f7385828601611aac565b9250506020611f8485828601611f39565b9150509250929050565b600060208284031215611fa457611fa3611a59565b5b6000611fb284828501611ae2565b91505092915050565b611fc481611a83565b82525050565b6000602082019050611fdf6000830184611fbb565b92915050565b60008060408385031215611ffc57611ffb611a59565b5b600061200a85828601611aac565b925050602061201b85828601611aac565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061206c57607f821691505b60208210810361207f5761207e612025565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006120e16028836119a8565b91506120ec82612085565b604082019050919050565b60006020820190508181036000830152612110816120d4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061214d6020836119a8565b915061215882612117565b602082019050919050565b6000602082019050818103600083015261217c81612140565b9050919050565b7f416d6f756e74206f6620726563697069656e747320616e642076616c7565732060008201527f646f6e2774206d61746368000000000000000000000000000000000000000000602082015250565b60006121df602b836119a8565b91506121ea82612183565b604082019050919050565b6000602082019050818103600083015261220e816121d2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061227e82611ac1565b915061228983611ac1565b92508282019050808211156122a1576122a0612244565b5b92915050565b60006122b282611ac1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122e4576122e3612244565b5b600182019050919050565b60006060820190506123046000830186611fbb565b6123116020830185611fbb565b61231e6040830184611b9a565b949350505050565b60008151905061233581611f22565b92915050565b60006020828403121561235157612350611a59565b5b600061235f84828501612326565b91505092915050565b6000819050919050565b600061238d61238861238384611a63565b612368565b611a63565b9050919050565b600061239f82612372565b9050919050565b60006123b182612394565b9050919050565b6123c1816123a6565b82525050565b60006040820190506123dc60008301856123b8565b6123e96020830184611b9a565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061244c6025836119a8565b9150612457826123f0565b604082019050919050565b6000602082019050818103600083015261247b8161243f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006124de6026836119a8565b91506124e982612482565b604082019050919050565b6000602082019050818103600083015261250d816124d1565b9050919050565b60008151905061252381611acb565b92915050565b60006020828403121561253f5761253e611a59565b5b600061254d84828501612514565b91505092915050565b600060408201905061256b6000830185611fbb565b6125786020830184611b9a565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006125db6024836119a8565b91506125e68261257f565b604082019050919050565b6000602082019050818103600083015261260a816125ce565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061266d6022836119a8565b915061267882612611565b604082019050919050565b6000602082019050818103600083015261269c81612660565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006126ff6025836119a8565b915061270a826126a3565b604082019050919050565b6000602082019050818103600083015261272e816126f2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006127916023836119a8565b915061279c82612735565b604082019050919050565b600060208201905081810360008301526127c081612784565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006128236026836119a8565b915061282e826127c7565b604082019050919050565b6000602082019050818103600083015261285281612816565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b56021836119a8565b91506128c082612859565b604082019050919050565b600060208201905081810360008301526128e4816128a8565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006129476022836119a8565b9150612952826128eb565b604082019050919050565b600060208201905081810360008301526129768161293a565b9050919050565b600061298882611ac1565b915061299383611ac1565b92508282039050818111156129ab576129aa612244565b5b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b60006129e7600b836119a8565b91506129f2826129b1565b602082019050919050565b60006020820190508181036000830152612a16816129da565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b6000612a536016836119a8565b9150612a5e82612a1d565b602082019050919050565b60006020820190508181036000830152612a8281612a46565b905091905056fea2646970667358221220a4f7eadade15dc31101538e6cea9092517a2996a8c3723b80d6675611090280a64736f6c63430008120033

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

0000000000000000000000000000000000000000def376571332906a88000000

-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 69000000000000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000def376571332906a88000000


Deployed Bytecode Sourcemap

19454:1767:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9454:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11621:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19532:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10574:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12274:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10416:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20471:650;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13175:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19883:137;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19740:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21137:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19497:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10745:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2649:103;;;:::i;:::-;;1998:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9673:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13893:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11085:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11323:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3113:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2758:202;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9454:100;9508:13;9541:5;9534:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9454:100;:::o;11621:169::-;11704:4;11721:39;11730:12;:10;:12::i;:::-;11744:7;11753:6;11721:8;:39::i;:::-;11778:4;11771:11;;11621:169;;;;:::o;19532:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;10574:108::-;10635:7;10662:12;;10655:19;;10574:108;:::o;12274:492::-;12414:4;12431:36;12441:6;12449:9;12460:6;12431:9;:36::i;:::-;12480:24;12507:11;:19;12519:6;12507:19;;;;;;;;;;;;;;;:33;12527:12;:10;:12::i;:::-;12507:33;;;;;;;;;;;;;;;;12480:60;;12579:6;12559:16;:26;;12551:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12666:57;12675:6;12683:12;:10;:12::i;:::-;12716:6;12697:16;:25;12666:8;:57::i;:::-;12754:4;12747:11;;;12274:492;;;;;:::o;10416:93::-;10474:5;10499:2;10492:9;;10416:93;:::o;20471:650::-;2229:12;:10;:12::i;:::-;2218:23;;:7;:5;:7::i;:::-;:23;;;2210:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20666:6:::1;:13;20645:10;:17;:34;20623:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;20761:13;20794:9:::0;20789:89:::1;20813:6;:13;20809:1;:17;20789:89;;;20857:6;20864:1;20857:9;;;;;;;;:::i;:::-;;;;;;;;20848:18;;;;;:::i;:::-;;;20828:3;;;;;:::i;:::-;;;;20789:89;;;;20896:4;:17;;;20914:10;20934:4;20941:5;20896:51;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20888:60;;;::::0;::::1;;20964:9;20959:123;20983:10;:17;20979:1;:21;20959:123;;;21030:4;:13;;;21044:10;21055:1;21044:13;;;;;;;;:::i;:::-;;;;;;;;21059:6;21066:1;21059:9;;;;;;;;:::i;:::-;;;;;;;;21030:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21022:48;;;::::0;::::1;;21002:3;;;;;:::i;:::-;;;;20959:123;;;;21110:2;21097:16;;;;;;;;;;20612:509;20471:650:::0;;;:::o;13175:215::-;13263:4;13280:80;13289:12;:10;:12::i;:::-;13303:7;13349:10;13312:11;:25;13324:12;:10;:12::i;:::-;13312:25;;;;;;;;;;;;;;;:34;13338:7;13312:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;13280:8;:80::i;:::-;13378:4;13371:11;;13175:215;;;;:::o;19883:137::-;2229:12;:10;:12::i;:::-;2218:23;;:7;:5;:7::i;:::-;:23;;;2210:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19989:14:::1;19973:13;;:30;;;;;;;;;;;;;;;;;;19883:137:::0;:::o;19740:135::-;2229:12;:10;:12::i;:::-;2218:23;;:7;:5;:7::i;:::-;:23;;;2210:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19852:15:::1;19829:10;:20;19840:8;19829:20;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;19740:135:::0;;:::o;21137:81::-;21186:24;21192:10;21204:5;21186;:24::i;:::-;21137:81;:::o;19497:28::-;;;;;;;;;;;;;:::o;10745:127::-;10819:7;10846:9;:18;10856:7;10846:18;;;;;;;;;;;;;;;;10839:25;;10745:127;;;:::o;2649:103::-;2229:12;:10;:12::i;:::-;2218:23;;:7;:5;:7::i;:::-;:23;;;2210:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2714:30:::1;2741:1;2714:18;:30::i;:::-;2649:103::o:0;1998:87::-;2044:7;2071:6;;;;;;;;;;;2064:13;;1998:87;:::o;9673:104::-;9729:13;9762:7;9755:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9673:104;:::o;13893:413::-;13986:4;14003:24;14030:11;:25;14042:12;:10;:12::i;:::-;14030:25;;;;;;;;;;;;;;;:34;14056:7;14030:34;;;;;;;;;;;;;;;;14003:61;;14103:15;14083:16;:35;;14075:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14196:67;14205:12;:10;:12::i;:::-;14219:7;14247:15;14228:16;:34;14196:8;:67::i;:::-;14294:4;14287:11;;;13893:413;;;;:::o;11085:175::-;11171:4;11188:42;11198:12;:10;:12::i;:::-;11212:9;11223:6;11188:9;:42::i;:::-;11248:4;11241:11;;11085:175;;;;:::o;11323:151::-;11412:7;11439:11;:18;11451:5;11439:18;;;;;;;;;;;;;;;:27;11458:7;11439:27;;;;;;;;;;;;;;;;11432:34;;11323:151;;;;:::o;3113:201::-;2229:12;:10;:12::i;:::-;2218:23;;:7;:5;:7::i;:::-;:23;;;2210:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3222:1:::1;3202:22;;:8;:22;;::::0;3194:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3278:28;3297:8;3278:18;:28::i;:::-;3113:201:::0;:::o;2758:202::-;2229:12;:10;:12::i;:::-;2218:23;;:7;:5;:7::i;:::-;:23;;;2210:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2826:15:::1;2851:13;2844:31;;;2884:4;2844:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2826:64;;2908:13;2901:30;;;2932:10;2944:7;2901:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2815:145;2758:202:::0;:::o;18557:125::-;;;;:::o;716:98::-;769:7;796:10;789:17;;716:98;:::o;17577:380::-;17730:1;17713:19;;:5;:19;;;17705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17811:1;17792:21;;:7;:21;;;17784:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17895:6;17865:11;:18;17877:5;17865:18;;;;;;;;;;;;;;;:27;17884:7;17865:27;;;;;;;;;;;;;;;:36;;;;17933:7;17917:32;;17926:5;17917:32;;;17942:6;17917:32;;;;;;:::i;:::-;;;;;;;;17577:380;;;:::o;14796:733::-;14954:1;14936:20;;:6;:20;;;14928:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;15038:1;15017:23;;:9;:23;;;15009:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15093:47;15114:6;15122:9;15133:6;15093:20;:47::i;:::-;15153:21;15177:9;:17;15187:6;15177:17;;;;;;;;;;;;;;;;15153:41;;15230:6;15213:13;:23;;15205:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15351:6;15335:13;:22;15315:9;:17;15325:6;15315:17;;;;;;;;;;;;;;;:42;;;;15403:6;15379:9;:20;15389:9;15379:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15444:9;15427:35;;15436:6;15427:35;;;15455:6;15427:35;;;;;;:::i;:::-;;;;;;;;15475:46;15495:6;15503:9;15514:6;15475:19;:46::i;:::-;14917:612;14796:733;;;:::o;16548:591::-;16651:1;16632:21;;:7;:21;;;16624:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16704:49;16725:7;16742:1;16746:6;16704:20;:49::i;:::-;16766:22;16791:9;:18;16801:7;16791:18;;;;;;;;;;;;;;;;16766:43;;16846:6;16828:14;:24;;16820:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16965:6;16948:14;:23;16927:9;:18;16937:7;16927:18;;;;;;;;;;;;;;;:44;;;;17009:6;16993:12;;:22;;;;;;;:::i;:::-;;;;;;;;17059:1;17033:37;;17042:7;17033:37;;;17063:6;17033:37;;;;;;:::i;:::-;;;;;;;;17083:48;17103:7;17120:1;17124:6;17083:19;:48::i;:::-;16613:526;16548:591;;:::o;3474:191::-;3548:16;3567:6;;;;;;;;;;;3548:25;;3593:8;3584:6;;:17;;;;;;;;;;;;;;;;;;3648:8;3617:40;;3638:8;3617:40;;;;;;;;;;;;3537:128;3474:191;:::o;20028:427::-;20180:10;:14;20191:2;20180:14;;;;;;;;;;;;;;;;;;;;;;;;;20179:15;:36;;;;;20199:10;:16;20210:4;20199:16;;;;;;;;;;;;;;;;;;;;;;;;;20198:17;20179:36;20171:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;20273:1;20248:27;;:13;;;;;;;;;;;:27;;;20244:148;;20308:7;:5;:7::i;:::-;20300:15;;:4;:15;;;:32;;;;20325:7;:5;:7::i;:::-;20319:13;;:2;:13;;;20300:32;20292:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20374:7;;20244:148;20403:44;20430:4;20436:2;20440:6;20403:26;:44::i;:::-;20028:427;;;;:::o;19286:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:117::-;5297:1;5294;5287:12;5311:180;5359:77;5356:1;5349:88;5456:4;5453:1;5446:15;5480:4;5477:1;5470:15;5497:281;5580:27;5602:4;5580:27;:::i;:::-;5572:6;5568:40;5710:6;5698:10;5695:22;5674:18;5662:10;5659:34;5656:62;5653:88;;;5721:18;;:::i;:::-;5653:88;5761:10;5757:2;5750:22;5540:238;5497:281;;:::o;5784:129::-;5818:6;5845:20;;:::i;:::-;5835:30;;5874:33;5902:4;5894:6;5874:33;:::i;:::-;5784:129;;;:::o;5919:319::-;6004:4;6094:18;6086:6;6083:30;6080:56;;;6116:18;;:::i;:::-;6080:56;6166:4;6158:6;6154:17;6146:25;;6226:4;6220;6216:15;6208:23;;5919:319;;;:::o;6244:117::-;6353:1;6350;6343:12;6367:104;6412:7;6441:24;6459:5;6441:24;:::i;:::-;6430:35;;6367:104;;;:::o;6477:138::-;6558:32;6584:5;6558:32;:::i;:::-;6551:5;6548:43;6538:71;;6605:1;6602;6595:12;6538:71;6477:138;:::o;6621:155::-;6675:5;6713:6;6700:20;6691:29;;6729:41;6764:5;6729:41;:::i;:::-;6621:155;;;;:::o;6807:734::-;6911:5;6936:89;6952:72;7017:6;6952:72;:::i;:::-;6936:89;:::i;:::-;6927:98;;7045:5;7074:6;7067:5;7060:21;7108:4;7101:5;7097:16;7090:23;;7161:4;7153:6;7149:17;7141:6;7137:30;7190:3;7182:6;7179:15;7176:122;;;7209:79;;:::i;:::-;7176:122;7324:6;7307:228;7341:6;7336:3;7333:15;7307:228;;;7416:3;7445:45;7486:3;7474:10;7445:45;:::i;:::-;7440:3;7433:58;7520:4;7515:3;7511:14;7504:21;;7383:152;7367:4;7362:3;7358:14;7351:21;;7307:228;;;7311:21;6917:624;;6807:734;;;;;:::o;7572:386::-;7651:5;7700:3;7693:4;7685:6;7681:17;7677:27;7667:122;;7708:79;;:::i;:::-;7667:122;7825:6;7812:20;7850:102;7948:3;7940:6;7933:4;7925:6;7921:17;7850:102;:::i;:::-;7841:111;;7657:301;7572:386;;;;:::o;7964:311::-;8041:4;8131:18;8123:6;8120:30;8117:56;;;8153:18;;:::i;:::-;8117:56;8203:4;8195:6;8191:17;8183:25;;8263:4;8257;8253:15;8245:23;;7964:311;;;:::o;8298:710::-;8394:5;8419:81;8435:64;8492:6;8435:64;:::i;:::-;8419:81;:::i;:::-;8410:90;;8520:5;8549:6;8542:5;8535:21;8583:4;8576:5;8572:16;8565:23;;8636:4;8628:6;8624:17;8616:6;8612:30;8665:3;8657:6;8654:15;8651:122;;;8684:79;;:::i;:::-;8651:122;8799:6;8782:220;8816:6;8811:3;8808:15;8782:220;;;8891:3;8920:37;8953:3;8941:10;8920:37;:::i;:::-;8915:3;8908:50;8987:4;8982:3;8978:14;8971:21;;8858:144;8842:4;8837:3;8833:14;8826:21;;8782:220;;;8786:21;8400:608;;8298:710;;;;;:::o;9031:370::-;9102:5;9151:3;9144:4;9136:6;9132:17;9128:27;9118:122;;9159:79;;:::i;:::-;9118:122;9276:6;9263:20;9301:94;9391:3;9383:6;9376:4;9368:6;9364:17;9301:94;:::i;:::-;9292:103;;9108:293;9031:370;;;;:::o;9407:1055::-;9542:6;9550;9558;9607:2;9595:9;9586:7;9582:23;9578:32;9575:119;;;9613:79;;:::i;:::-;9575:119;9761:1;9750:9;9746:17;9733:31;9791:18;9783:6;9780:30;9777:117;;;9813:79;;:::i;:::-;9777:117;9918:86;9996:7;9987:6;9976:9;9972:22;9918:86;:::i;:::-;9908:96;;9704:310;10081:2;10070:9;10066:18;10053:32;10112:18;10104:6;10101:30;10098:117;;;10134:79;;:::i;:::-;10098:117;10239:78;10309:7;10300:6;10289:9;10285:22;10239:78;:::i;:::-;10229:88;;10024:303;10366:2;10392:53;10437:7;10428:6;10417:9;10413:22;10392:53;:::i;:::-;10382:63;;10337:118;9407:1055;;;;;:::o;10468:116::-;10538:21;10553:5;10538:21;:::i;:::-;10531:5;10528:32;10518:60;;10574:1;10571;10564:12;10518:60;10468:116;:::o;10590:133::-;10633:5;10671:6;10658:20;10649:29;;10687:30;10711:5;10687:30;:::i;:::-;10590:133;;;;:::o;10729:468::-;10794:6;10802;10851:2;10839:9;10830:7;10826:23;10822:32;10819:119;;;10857:79;;:::i;:::-;10819:119;10977:1;11002:53;11047:7;11038:6;11027:9;11023:22;11002:53;:::i;:::-;10992:63;;10948:117;11104:2;11130:50;11172:7;11163:6;11152:9;11148:22;11130:50;:::i;:::-;11120:60;;11075:115;10729:468;;;;;:::o;11203:329::-;11262:6;11311:2;11299:9;11290:7;11286:23;11282:32;11279:119;;;11317:79;;:::i;:::-;11279:119;11437:1;11462:53;11507:7;11498:6;11487:9;11483:22;11462:53;:::i;:::-;11452:63;;11408:117;11203:329;;;;:::o;11538:118::-;11625:24;11643:5;11625:24;:::i;:::-;11620:3;11613:37;11538:118;;:::o;11662:222::-;11755:4;11793:2;11782:9;11778:18;11770:26;;11806:71;11874:1;11863:9;11859:17;11850:6;11806:71;:::i;:::-;11662:222;;;;:::o;11890:474::-;11958:6;11966;12015:2;12003:9;11994:7;11990:23;11986:32;11983:119;;;12021:79;;:::i;:::-;11983:119;12141:1;12166:53;12211:7;12202:6;12191:9;12187:22;12166:53;:::i;:::-;12156:63;;12112:117;12268:2;12294:53;12339:7;12330:6;12319:9;12315:22;12294:53;:::i;:::-;12284:63;;12239:118;11890:474;;;;;:::o;12370:180::-;12418:77;12415:1;12408:88;12515:4;12512:1;12505:15;12539:4;12536:1;12529:15;12556:320;12600:6;12637:1;12631:4;12627:12;12617:22;;12684:1;12678:4;12674:12;12705:18;12695:81;;12761:4;12753:6;12749:17;12739:27;;12695:81;12823:2;12815:6;12812:14;12792:18;12789:38;12786:84;;12842:18;;:::i;:::-;12786:84;12607:269;12556:320;;;:::o;12882:227::-;13022:34;13018:1;13010:6;13006:14;12999:58;13091:10;13086:2;13078:6;13074:15;13067:35;12882:227;:::o;13115:366::-;13257:3;13278:67;13342:2;13337:3;13278:67;:::i;:::-;13271:74;;13354:93;13443:3;13354:93;:::i;:::-;13472:2;13467:3;13463:12;13456:19;;13115:366;;;:::o;13487:419::-;13653:4;13691:2;13680:9;13676:18;13668:26;;13740:9;13734:4;13730:20;13726:1;13715:9;13711:17;13704:47;13768:131;13894:4;13768:131;:::i;:::-;13760:139;;13487:419;;;:::o;13912:182::-;14052:34;14048:1;14040:6;14036:14;14029:58;13912:182;:::o;14100:366::-;14242:3;14263:67;14327:2;14322:3;14263:67;:::i;:::-;14256:74;;14339:93;14428:3;14339:93;:::i;:::-;14457:2;14452:3;14448:12;14441:19;;14100:366;;;:::o;14472:419::-;14638:4;14676:2;14665:9;14661:18;14653:26;;14725:9;14719:4;14715:20;14711:1;14700:9;14696:17;14689:47;14753:131;14879:4;14753:131;:::i;:::-;14745:139;;14472:419;;;:::o;14897:230::-;15037:34;15033:1;15025:6;15021:14;15014:58;15106:13;15101:2;15093:6;15089:15;15082:38;14897:230;:::o;15133:366::-;15275:3;15296:67;15360:2;15355:3;15296:67;:::i;:::-;15289:74;;15372:93;15461:3;15372:93;:::i;:::-;15490:2;15485:3;15481:12;15474:19;;15133:366;;;:::o;15505:419::-;15671:4;15709:2;15698:9;15694:18;15686:26;;15758:9;15752:4;15748:20;15744:1;15733:9;15729:17;15722:47;15786:131;15912:4;15786:131;:::i;:::-;15778:139;;15505:419;;;:::o;15930:180::-;15978:77;15975:1;15968:88;16075:4;16072:1;16065:15;16099:4;16096:1;16089:15;16116:180;16164:77;16161:1;16154:88;16261:4;16258:1;16251:15;16285:4;16282:1;16275:15;16302:191;16342:3;16361:20;16379:1;16361:20;:::i;:::-;16356:25;;16395:20;16413:1;16395:20;:::i;:::-;16390:25;;16438:1;16435;16431:9;16424:16;;16459:3;16456:1;16453:10;16450:36;;;16466:18;;:::i;:::-;16450:36;16302:191;;;;:::o;16499:233::-;16538:3;16561:24;16579:5;16561:24;:::i;:::-;16552:33;;16607:66;16600:5;16597:77;16594:103;;16677:18;;:::i;:::-;16594:103;16724:1;16717:5;16713:13;16706:20;;16499:233;;;:::o;16738:442::-;16887:4;16925:2;16914:9;16910:18;16902:26;;16938:71;17006:1;16995:9;16991:17;16982:6;16938:71;:::i;:::-;17019:72;17087:2;17076:9;17072:18;17063:6;17019:72;:::i;:::-;17101;17169:2;17158:9;17154:18;17145:6;17101:72;:::i;:::-;16738:442;;;;;;:::o;17186:137::-;17240:5;17271:6;17265:13;17256:22;;17287:30;17311:5;17287:30;:::i;:::-;17186:137;;;;:::o;17329:345::-;17396:6;17445:2;17433:9;17424:7;17420:23;17416:32;17413:119;;;17451:79;;:::i;:::-;17413:119;17571:1;17596:61;17649:7;17640:6;17629:9;17625:22;17596:61;:::i;:::-;17586:71;;17542:125;17329:345;;;;:::o;17680:60::-;17708:3;17729:5;17722:12;;17680:60;;;:::o;17746:142::-;17796:9;17829:53;17847:34;17856:24;17874:5;17856:24;:::i;:::-;17847:34;:::i;:::-;17829:53;:::i;:::-;17816:66;;17746:142;;;:::o;17894:126::-;17944:9;17977:37;18008:5;17977:37;:::i;:::-;17964:50;;17894:126;;;:::o;18026:134::-;18084:9;18117:37;18148:5;18117:37;:::i;:::-;18104:50;;18026:134;;;:::o;18166:147::-;18261:45;18300:5;18261:45;:::i;:::-;18256:3;18249:58;18166:147;;:::o;18319:348::-;18448:4;18486:2;18475:9;18471:18;18463:26;;18499:79;18575:1;18564:9;18560:17;18551:6;18499:79;:::i;:::-;18588:72;18656:2;18645:9;18641:18;18632:6;18588:72;:::i;:::-;18319:348;;;;;:::o;18673:224::-;18813:34;18809:1;18801:6;18797:14;18790:58;18882:7;18877:2;18869:6;18865:15;18858:32;18673:224;:::o;18903:366::-;19045:3;19066:67;19130:2;19125:3;19066:67;:::i;:::-;19059:74;;19142:93;19231:3;19142:93;:::i;:::-;19260:2;19255:3;19251:12;19244:19;;18903:366;;;:::o;19275:419::-;19441:4;19479:2;19468:9;19464:18;19456:26;;19528:9;19522:4;19518:20;19514:1;19503:9;19499:17;19492:47;19556:131;19682:4;19556:131;:::i;:::-;19548:139;;19275:419;;;:::o;19700:225::-;19840:34;19836:1;19828:6;19824:14;19817:58;19909:8;19904:2;19896:6;19892:15;19885:33;19700:225;:::o;19931:366::-;20073:3;20094:67;20158:2;20153:3;20094:67;:::i;:::-;20087:74;;20170:93;20259:3;20170:93;:::i;:::-;20288:2;20283:3;20279:12;20272:19;;19931:366;;;:::o;20303:419::-;20469:4;20507:2;20496:9;20492:18;20484:26;;20556:9;20550:4;20546:20;20542:1;20531:9;20527:17;20520:47;20584:131;20710:4;20584:131;:::i;:::-;20576:139;;20303:419;;;:::o;20728:143::-;20785:5;20816:6;20810:13;20801:22;;20832:33;20859:5;20832:33;:::i;:::-;20728:143;;;;:::o;20877:351::-;20947:6;20996:2;20984:9;20975:7;20971:23;20967:32;20964:119;;;21002:79;;:::i;:::-;20964:119;21122:1;21147:64;21203:7;21194:6;21183:9;21179:22;21147:64;:::i;:::-;21137:74;;21093:128;20877:351;;;;:::o;21234:332::-;21355:4;21393:2;21382:9;21378:18;21370:26;;21406:71;21474:1;21463:9;21459:17;21450:6;21406:71;:::i;:::-;21487:72;21555:2;21544:9;21540:18;21531:6;21487:72;:::i;:::-;21234:332;;;;;:::o;21572:223::-;21712:34;21708:1;21700:6;21696:14;21689:58;21781:6;21776:2;21768:6;21764:15;21757:31;21572:223;:::o;21801:366::-;21943:3;21964:67;22028:2;22023:3;21964:67;:::i;:::-;21957:74;;22040:93;22129:3;22040:93;:::i;:::-;22158:2;22153:3;22149:12;22142:19;;21801:366;;;:::o;22173:419::-;22339:4;22377:2;22366:9;22362:18;22354:26;;22426:9;22420:4;22416:20;22412:1;22401:9;22397:17;22390:47;22454:131;22580:4;22454:131;:::i;:::-;22446:139;;22173:419;;;:::o;22598:221::-;22738:34;22734:1;22726:6;22722:14;22715:58;22807:4;22802:2;22794:6;22790:15;22783:29;22598:221;:::o;22825:366::-;22967:3;22988:67;23052:2;23047:3;22988:67;:::i;:::-;22981:74;;23064:93;23153:3;23064:93;:::i;:::-;23182:2;23177:3;23173:12;23166:19;;22825:366;;;:::o;23197:419::-;23363:4;23401:2;23390:9;23386:18;23378:26;;23450:9;23444:4;23440:20;23436:1;23425:9;23421:17;23414:47;23478:131;23604:4;23478:131;:::i;:::-;23470:139;;23197:419;;;:::o;23622:224::-;23762:34;23758:1;23750:6;23746:14;23739:58;23831:7;23826:2;23818:6;23814:15;23807:32;23622:224;:::o;23852:366::-;23994:3;24015:67;24079:2;24074:3;24015:67;:::i;:::-;24008:74;;24091:93;24180:3;24091:93;:::i;:::-;24209:2;24204:3;24200:12;24193:19;;23852:366;;;:::o;24224:419::-;24390:4;24428:2;24417:9;24413:18;24405:26;;24477:9;24471:4;24467:20;24463:1;24452:9;24448:17;24441:47;24505:131;24631:4;24505:131;:::i;:::-;24497:139;;24224:419;;;:::o;24649:222::-;24789:34;24785:1;24777:6;24773:14;24766:58;24858:5;24853:2;24845:6;24841:15;24834:30;24649:222;:::o;24877:366::-;25019:3;25040:67;25104:2;25099:3;25040:67;:::i;:::-;25033:74;;25116:93;25205:3;25116:93;:::i;:::-;25234:2;25229:3;25225:12;25218:19;;24877:366;;;:::o;25249:419::-;25415:4;25453:2;25442:9;25438:18;25430:26;;25502:9;25496:4;25492:20;25488:1;25477:9;25473:17;25466:47;25530:131;25656:4;25530:131;:::i;:::-;25522:139;;25249:419;;;:::o;25674:225::-;25814:34;25810:1;25802:6;25798:14;25791:58;25883:8;25878:2;25870:6;25866:15;25859:33;25674:225;:::o;25905:366::-;26047:3;26068:67;26132:2;26127:3;26068:67;:::i;:::-;26061:74;;26144:93;26233:3;26144:93;:::i;:::-;26262:2;26257:3;26253:12;26246:19;;25905:366;;;:::o;26277:419::-;26443:4;26481:2;26470:9;26466:18;26458:26;;26530:9;26524:4;26520:20;26516:1;26505:9;26501:17;26494:47;26558:131;26684:4;26558:131;:::i;:::-;26550:139;;26277:419;;;:::o;26702:220::-;26842:34;26838:1;26830:6;26826:14;26819:58;26911:3;26906:2;26898:6;26894:15;26887:28;26702:220;:::o;26928:366::-;27070:3;27091:67;27155:2;27150:3;27091:67;:::i;:::-;27084:74;;27167:93;27256:3;27167:93;:::i;:::-;27285:2;27280:3;27276:12;27269:19;;26928:366;;;:::o;27300:419::-;27466:4;27504:2;27493:9;27489:18;27481:26;;27553:9;27547:4;27543:20;27539:1;27528:9;27524:17;27517:47;27581:131;27707:4;27581:131;:::i;:::-;27573:139;;27300:419;;;:::o;27725:221::-;27865:34;27861:1;27853:6;27849:14;27842:58;27934:4;27929:2;27921:6;27917:15;27910:29;27725:221;:::o;27952:366::-;28094:3;28115:67;28179:2;28174:3;28115:67;:::i;:::-;28108:74;;28191:93;28280:3;28191:93;:::i;:::-;28309:2;28304:3;28300:12;28293:19;;27952:366;;;:::o;28324:419::-;28490:4;28528:2;28517:9;28513:18;28505:26;;28577:9;28571:4;28567:20;28563:1;28552:9;28548:17;28541:47;28605:131;28731:4;28605:131;:::i;:::-;28597:139;;28324:419;;;:::o;28749:194::-;28789:4;28809:20;28827:1;28809:20;:::i;:::-;28804:25;;28843:20;28861:1;28843:20;:::i;:::-;28838:25;;28887:1;28884;28880:9;28872:17;;28911:1;28905:4;28902:11;28899:37;;;28916:18;;:::i;:::-;28899:37;28749:194;;;;:::o;28949:161::-;29089:13;29085:1;29077:6;29073:14;29066:37;28949:161;:::o;29116:366::-;29258:3;29279:67;29343:2;29338:3;29279:67;:::i;:::-;29272:74;;29355:93;29444:3;29355:93;:::i;:::-;29473:2;29468:3;29464:12;29457:19;;29116:366;;;:::o;29488:419::-;29654:4;29692:2;29681:9;29677:18;29669:26;;29741:9;29735:4;29731:20;29727:1;29716:9;29712:17;29705:47;29769:131;29895:4;29769:131;:::i;:::-;29761:139;;29488:419;;;:::o;29913:172::-;30053:24;30049:1;30041:6;30037:14;30030:48;29913:172;:::o;30091:366::-;30233:3;30254:67;30318:2;30313:3;30254:67;:::i;:::-;30247:74;;30330:93;30419:3;30330:93;:::i;:::-;30448:2;30443:3;30439:12;30432:19;;30091:366;;;:::o;30463:419::-;30629:4;30667:2;30656:9;30652:18;30644:26;;30716:9;30710:4;30706:20;30702:1;30691:9;30687:17;30680:47;30744:131;30870:4;30744:131;:::i;:::-;30736:139;;30463:419;;;:::o

Swarm Source

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