ETH Price: $2,287.09 (-5.51%)

Token

OnlyForDegens (OFD)
 

Overview

Max Total Supply

37.304612923745335444 OFD

Holders

13

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 OFD

Value
$0.00
0x2bf416e9d58258d42698c15624d71a79aebb714e
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:
OFD

Compiler Version
v0.7.3+commit.9bfce1f6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

pragma solidity ^0.7.0;
//SPDX-License-Identifier: UNLICENSED
//t.me/OnlyForDegens

interface IERC20 {
    function totalSupply() external view returns (uint);
    function balanceOf(address who) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function transfer(address to, uint value) external returns (bool);
    function approve(address spender, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}
interface IUNIv2 {
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) 
    external 
    payable 
    returns (uint amountToken, uint amountETH, uint liquidity);
}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract OFD is IERC20, Context {
    
    using SafeMath for uint;
    using Address for address;
    IUNIv2 uniswap = IUNIv2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    string public _symbol;
    string public _name;
    uint8 public _decimals;
    uint _totalSupply;
    uint public tokensBought;
    bool public isStopped = false;
    bool public canRefund = false;
    bool public devClaimed = false;
    bool public moonMissionStarted = false;
    bool public feeOnTransfer = false;
    uint public canRefundTime;
    uint public tokensForUniswap = 13 ether;
    uint256 tokensForAidrop = 3 ether;
    address payable owner;
    uint256 public ethAmount = 1 ether;
    mapping(address => uint) _balances;
    mapping(address => mapping(address => uint)) _allowances;
    mapping(address => uint) bought;

    modifier onlyWhenRunning {
        require(!isStopped);
        _;
    }

     modifier onlyOwner() {
        require(msg.sender == owner, "You are not the owner");
        _;
    }
    
    constructor() {
        owner = msg.sender; 
        _symbol = "OFD";
        _name = "OnlyForDegens";
        _decimals = 18;
        _totalSupply = 40 ether;
        _balances[address(this)] = _totalSupply;
        emit Transfer(address(0), address(this), _totalSupply);
    }
    
    
    receive() external payable {
        
        buyTokens();
    }
    
    function airDrop(address[] memory recipients) external onlyOwner{
        for (uint256 i = 0; i < recipients.length; i++) {
            if (balanceOf(address(this)) >= 1 ether)
                transfer(recipients[i],1 ether);
        }
    }
    
    function pauseUnpausePresale(bool _isStopped) external onlyOwner{
        isStopped = _isStopped;
    }
    function claimDevFee() external onlyOwner {
       require(!devClaimed);
       uint256 amountETH = address(this).balance.mul(10).div(100);
       uint256 amountOFT = _totalSupply.mul(5).div(100); // 2 tokens 
       uint256 marketingOFT = _totalSupply.mul(5).div(100); // 2 tokens 

       owner.transfer(amountETH);
       _balances[owner] = _balances[owner].add(amountOFT.add(marketingOFT));
       _balances[address(this)] = _balances[address(this)].sub(amountOFT.add(marketingOFT));
       devClaimed = true;
       emit Transfer(address(this), owner, amountOFT.add(marketingOFT));
    }
    function enableRefundAllFucDDEGENS() external onlyOwner {
        canRefund = true;
        canRefundTime = block.timestamp + 2 minutes; 
    } 
    
    function refundCaller() external {
        require(canRefund == true);
        require(block.timestamp >= canRefundTime);
        require(address(this).balance >= ethAmount);
        if (bought[msg.sender] == ethAmount){
            msg.sender.transfer(ethAmount);
            _balances[msg.sender] = _balances[msg.sender].sub(ethAmount);
             bought[msg.sender] = 0;
        }
    }
    

    function buyTokens() onlyWhenRunning public payable {
        require(msg.value == ethAmount, "You did not sent exactly 1 ETH");
        require(tokensBought < 20 ether, "Hard cap reached");
        require(bought[msg.sender] == 0 , "You already bought");
        require(!canRefund);
        uint tokens = msg.value;
        require(_balances[address(this)] >= tokens);
        _balances[msg.sender] = _balances[msg.sender].add(tokens);
        _balances[address(this)] = _balances[address(this)].sub(tokens);
        bought[msg.sender] = bought[msg.sender].add(msg.value);
        tokensBought = tokensBought.add(tokens);
        emit Transfer(address(this), msg.sender, tokens);
    }
    
    function isUserBoughtInPresale(address user) external view returns(bool){
        if (bought[user] == ethAmount)
            return true;
        else
            return false;
    }
    
    function moonMissionStart() external onlyOwner {
        require(devClaimed == true);
        require(!moonMissionStarted);
        uint256 ETH = address(this).balance;
        uint tokensToBurn = balanceOf(address(this)).sub(tokensForUniswap).sub(tokensForAidrop);

        this.approve(address(uniswap), tokensForUniswap);
        uniswap.addLiquidityETH
        { value: ETH }
        (
            address(this),
            tokensForUniswap,
            tokensForUniswap,
            ETH,
            address(0),
            block.timestamp + 5 minutes
        );
        if (tokensToBurn > 0) {
         _balances[address(this)] = _balances[address(this)].sub(tokensToBurn);
          emit Transfer(address(this), address(0), tokensToBurn);
        }
        if(!isStopped)
            isStopped = true;
            
        moonMissionStarted = true;
        feeOnTransfer = true;
   }
    
    function name() public view returns (string memory) {
        return _name;
    }

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

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

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

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


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

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

        if (feeOnTransfer == true){
        uint256 ToBurn = amount.mul(3).div(100);
        uint256 ToTransfer = amount.sub(ToBurn);
        
        _burn(sender, ToBurn);
        _beforeTokenTransfer(sender, recipient, ToTransfer);

        _balances[sender] = _balances[sender].sub(ToTransfer, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(ToTransfer);
        emit Transfer(sender, recipient, ToTransfer);
    }
        else {
        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        }
    }


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

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

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), 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);
    }

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

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

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

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

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

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

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

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

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

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

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

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) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        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-contracts/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) {
        return div(a, b, "SafeMath: division by zero");
    }

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

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message 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, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"}],"name":"airDrop","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":"buyTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"canRefund","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canRefundTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimDevFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableRefundAllFucDDEGENS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ethAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeOnTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"isStopped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserBoughtInPresale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"moonMissionStart","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"moonMissionStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_isStopped","type":"bool"}],"name":"pauseUnpausePresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"refundCaller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensBought","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForUniswap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660006101000a81548160ff0219169083151502179055506000600660016101000a81548160ff0219169083151502179055506000600660026101000a81548160ff0219169083151502179055506000600660036101000a81548160ff0219169083151502179055506000600660046101000a81548160ff02191690831515021790555067b469471f801400006008556729a2241af62c0000600955670de0b6b3a7640000600b553480156200011057600080fd5b5033600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600381526020017f4f46440000000000000000000000000000000000000000000000000000000000815250600190805190602001906200019f929190620002ce565b506040518060400160405280600d81526020017f4f6e6c79466f72446567656e730000000000000000000000000000000000000081525060029080519060200190620001ed929190620002ce565b506012600360006101000a81548160ff021916908360ff16021790555068022b1c8c1227a00000600481905550600454600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a362000374565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200031157805160ff191683800117855562000342565b8280016001018555821562000342579182015b828111156200034157825182559160200191906001019062000324565b5b50905062000351919062000355565b5090565b5b808211156200037057600081600090555060010162000356565b5090565b61316d80620003846000396000f3fe6080604052600436106101db5760003560e01c80638a4fb5a411610102578063c98166c011610095578063e1292df511610064578063e1292df514610a7b578063e897888e14610ae2578063ffa84e0914610b0d578063ffe5598e14610b3a576101ea565b8063c98166c014610931578063d0febe4c1461095c578063d28d885214610966578063dd62ed3e146109f6576101ea565b8063a566d54a116100d1578063a566d54a146107dc578063a9059cbb146107f3578063b09f126614610864578063b304a2ad146108f4576101ea565b80638a4fb5a4146106995780638ba32fc0146106c457806395d89b41146106db578063a457c2d71461076b576101ea565b8063313ce5671161017a5780633f683b6a116101495780633f683b6a146105af57806370a08231146105dc578063732783ac146106415780637f83a4a61461066c576101ea565b8063313ce567146104b557806332424aa3146104e357806333d1043314610511578063395093511461053e576101ea565b80630fa1eeab116101b65780630fa1eeab146103b557806318160ddd146103e25780631fde64de1461040d57806323b872dd14610424576101ea565b8062b6849f146101ef57806306fdde03146102b4578063095ea7b314610344576101ea565b366101ea576101e8610b51565b005b600080fd5b3480156101fb57600080fd5b506102b26004803603602081101561021257600080fd5b810190808035906020019064010000000081111561022f57600080fd5b82018360208201111561024157600080fd5b8035906020019184602083028401116401000000008311171561026357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610fc4565b005b3480156102c057600080fd5b506102c96110e2565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103095780820151818401526020810190506102ee565b50505050905090810190601f1680156103365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035057600080fd5b5061039d6004803603604081101561036757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611184565b60405180821515815260200191505060405180910390f35b3480156103c157600080fd5b506103ca6111a2565b60405180821515815260200191505060405180910390f35b3480156103ee57600080fd5b506103f76111b5565b6040518082815260200191505060405180910390f35b34801561041957600080fd5b506104226111bf565b005b34801561043057600080fd5b5061049d6004803603606081101561044757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112a9565b60405180821515815260200191505060405180910390f35b3480156104c157600080fd5b506104ca611382565b604051808260ff16815260200191505060405180910390f35b3480156104ef57600080fd5b506104f8611399565b604051808260ff16815260200191505060405180910390f35b34801561051d57600080fd5b506105266113ac565b60405180821515815260200191505060405180910390f35b34801561054a57600080fd5b506105976004803603604081101561056157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113bf565b60405180821515815260200191505060405180910390f35b3480156105bb57600080fd5b506105c4611472565b60405180821515815260200191505060405180910390f35b3480156105e857600080fd5b5061062b600480360360208110156105ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611485565b6040518082815260200191505060405180910390f35b34801561064d57600080fd5b506106566114ce565b6040518082815260200191505060405180910390f35b34801561067857600080fd5b506106816114d4565b60405180821515815260200191505060405180910390f35b3480156106a557600080fd5b506106ae6114e7565b6040518082815260200191505060405180910390f35b3480156106d057600080fd5b506106d96114ed565b005b3480156106e757600080fd5b506106f0611903565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610730578082015181840152602081019050610715565b50505050905090810190601f16801561075d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561077757600080fd5b506107c46004803603604081101561078e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119a5565b60405180821515815260200191505060405180910390f35b3480156107e857600080fd5b506107f1611a72565b005b3480156107ff57600080fd5b5061084c6004803603604081101561081657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f0a565b60405180821515815260200191505060405180910390f35b34801561087057600080fd5b50610879611f28565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108b957808201518184015260208101905061089e565b50505050905090810190601f1680156108e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561090057600080fd5b5061092f6004803603602081101561091757600080fd5b81019080803515159060200190929190505050611fc6565b005b34801561093d57600080fd5b506109466120a6565b6040518082815260200191505060405180910390f35b610964610b51565b005b34801561097257600080fd5b5061097b6120ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109bb5780820151818401526020810190506109a0565b50505050905090810190601f1680156109e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a0257600080fd5b50610a6560048036036040811015610a1957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061214a565b6040518082815260200191505060405180910390f35b348015610a8757600080fd5b50610aca60048036036020811015610a9e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121d1565b60405180821515815260200191505060405180910390f35b348015610aee57600080fd5b50610af761222f565b6040518082815260200191505060405180910390f35b348015610b1957600080fd5b50610b22612235565b60405180821515815260200191505060405180910390f35b348015610b4657600080fd5b50610b4f612248565b005b600660009054906101000a900460ff1615610b6b57600080fd5b600b543414610be2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f596f7520646964206e6f742073656e742065786163746c79203120455448000081525060200191505060405180910390fd5b6801158e460913d0000060055410610c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f486172642063617020726561636865640000000000000000000000000000000081525060200191505060405180910390fd5b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d17576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f596f7520616c726561647920626f75676874000000000000000000000000000081525060200191505060405180910390fd5b600660019054906101000a900460ff1615610d3157600080fd5b600034905080600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d8257600080fd5b610dd481600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e6981600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610efe34600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f56816005546123f790919063ffffffff16565b6005819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611087576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b60005b81518110156110de57670de0b6b3a76400006110a530611485565b106110d1576110cf8282815181106110b957fe5b6020026020010151670de0b6b3a7640000611f0a565b505b808060010191505061108a565b5050565b606060028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561117a5780601f1061114f5761010080835404028352916020019161117a565b820191906000526020600020905b81548152906001019060200180831161115d57829003601f168201915b5050505050905090565b60006111986111916124c9565b84846124d1565b6001905092915050565b600660049054906101000a900460ff1681565b6000600454905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611282576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b6001600660016101000a81548160ff02191690831515021790555060784201600781905550565b60006112b68484846126c8565b611377846112c26124c9565b6113728560405180606001604052806028815260200161308160289139600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006113286124c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb19092919063ffffffff16565b6124d1565b600190509392505050565b6000600360009054906101000a900460ff16905090565b600360009054906101000a900460ff1681565b600660039054906101000a900460ff1681565b60006114686113cc6124c9565b8461146385600d60006113dd6124c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b6124d1565b6001905092915050565b600660009054906101000a900460ff1681565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60055481565b600660019054906101000a900460ff1681565b60085481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600660029054906101000a900460ff16156115ca57600080fd5b60006115f360646115e5600a47612c7190919063ffffffff16565b612cf790919063ffffffff16565b9050600061162060646116126005600454612c7190919063ffffffff16565b612cf790919063ffffffff16565b9050600061164d606461163f6005600454612c7190919063ffffffff16565b612cf790919063ffffffff16565b9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156116b7573d6000803e3d6000fd5b5061173e6116ce82846123f790919063ffffffff16565b600c6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600c6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118076117b982846123f790919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600660026101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118e984866123f790919063ffffffff16565b6040518082815260200191505060405180910390a3505050565b606060018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561199b5780601f106119705761010080835404028352916020019161199b565b820191906000526020600020905b81548152906001019060200180831161197e57829003601f168201915b5050505050905090565b6000611a686119b26124c9565b84611a638560405180606001604052806025815260200161311360259139600d60006119dc6124c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb19092919063ffffffff16565b6124d1565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b60011515600660029054906101000a900460ff16151514611b5557600080fd5b600660039054906101000a900460ff1615611b6f57600080fd5b60004790506000611ba7600954611b99600854611b8b30611485565b61247f90919063ffffffff16565b61247f90919063ffffffff16565b90503073ffffffffffffffffffffffffffffffffffffffff1663095ea7b360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611c3c57600080fd5b505af1158015611c50573d6000803e3d6000fd5b505050506040513d6020811015611c6657600080fd5b81019080805190602001909291905050505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833060085460085487600061012c42016040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015611d4857600080fd5b505af1158015611d5c573d6000803e3d6000fd5b50505050506040513d6060811015611d7357600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506000811115611ea057611df681600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b600660009054906101000a900460ff16611ed0576001600660006101000a81548160ff0219169083151502179055505b6001600660036101000a81548160ff0219169083151502179055506001600660046101000a81548160ff0219169083151502179055505050565b6000611f1e611f176124c9565b84846126c8565b6001905092915050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fbe5780601f10611f9357610100808354040283529160200191611fbe565b820191906000526020600020905b815481529060010190602001808311611fa157829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612089576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b80600660006101000a81548160ff02191690831515021790555050565b600b5481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121425780601f1061211757610100808354040283529160200191612142565b820191906000526020600020905b81548152906001019060200180831161212557829003601f168201915b505050505081565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600b54600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612225576001905061222a565b600090505b919050565b60075481565b600660029054906101000a900460ff1681565b60011515600660019054906101000a900460ff1615151461226857600080fd5b60075442101561227757600080fd5b600b5447101561228657600080fd5b600b54600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156123f5573373ffffffffffffffffffffffffffffffffffffffff166108fc600b549081150290604051600060405180830381858888f19350505050158015612317573d6000803e3d6000fd5b5061236c600b54600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b565b600080828401905083811015612475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60006124c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612bb1565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612557576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806130ef6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806130186022913960400191505060405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561274e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806130ca6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156127d4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612fd36023913960400191505060405180910390fd5b60011515600660049054906101000a900460ff16151514156129f7576000612819606461280b600385612c7190919063ffffffff16565b612cf790919063ffffffff16565b90506000612830828461247f90919063ffffffff16565b905061283c8583612d41565b612847858583612f07565b6128b38160405180606001604052806026815260200161303a60269139600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb19092919063ffffffff16565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061294881600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050612bac565b612a02838383612f07565b612a6e8160405180606001604052806026815260200161303a60269139600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb19092919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b0381600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b505050565b6000838311158290612c5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c23578082015181840152602081019050612c08565b50505050905090810190601f168015612c505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831415612c845760009050612cf1565b6000828402905082848281612c9557fe5b0414612cec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806130606021913960400191505060405180910390fd5b809150505b92915050565b6000612d3983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612f0c565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612dc7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806130a96021913960400191505060405180910390fd5b612dd382600083612f07565b612e3f81604051806060016040528060228152602001612ff660229139600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb19092919063ffffffff16565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e978160045461247f90919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b60008083118290612fb8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f7d578082015181840152602081019050612f62565b50505050905090810190601f168015612faa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612fc457fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d56abb0d9990a13edd6f6fce8d1bbfed617828d19111712be8281aa07fd189e764736f6c63430007030033

Deployed Bytecode

0x6080604052600436106101db5760003560e01c80638a4fb5a411610102578063c98166c011610095578063e1292df511610064578063e1292df514610a7b578063e897888e14610ae2578063ffa84e0914610b0d578063ffe5598e14610b3a576101ea565b8063c98166c014610931578063d0febe4c1461095c578063d28d885214610966578063dd62ed3e146109f6576101ea565b8063a566d54a116100d1578063a566d54a146107dc578063a9059cbb146107f3578063b09f126614610864578063b304a2ad146108f4576101ea565b80638a4fb5a4146106995780638ba32fc0146106c457806395d89b41146106db578063a457c2d71461076b576101ea565b8063313ce5671161017a5780633f683b6a116101495780633f683b6a146105af57806370a08231146105dc578063732783ac146106415780637f83a4a61461066c576101ea565b8063313ce567146104b557806332424aa3146104e357806333d1043314610511578063395093511461053e576101ea565b80630fa1eeab116101b65780630fa1eeab146103b557806318160ddd146103e25780631fde64de1461040d57806323b872dd14610424576101ea565b8062b6849f146101ef57806306fdde03146102b4578063095ea7b314610344576101ea565b366101ea576101e8610b51565b005b600080fd5b3480156101fb57600080fd5b506102b26004803603602081101561021257600080fd5b810190808035906020019064010000000081111561022f57600080fd5b82018360208201111561024157600080fd5b8035906020019184602083028401116401000000008311171561026357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610fc4565b005b3480156102c057600080fd5b506102c96110e2565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103095780820151818401526020810190506102ee565b50505050905090810190601f1680156103365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035057600080fd5b5061039d6004803603604081101561036757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611184565b60405180821515815260200191505060405180910390f35b3480156103c157600080fd5b506103ca6111a2565b60405180821515815260200191505060405180910390f35b3480156103ee57600080fd5b506103f76111b5565b6040518082815260200191505060405180910390f35b34801561041957600080fd5b506104226111bf565b005b34801561043057600080fd5b5061049d6004803603606081101561044757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112a9565b60405180821515815260200191505060405180910390f35b3480156104c157600080fd5b506104ca611382565b604051808260ff16815260200191505060405180910390f35b3480156104ef57600080fd5b506104f8611399565b604051808260ff16815260200191505060405180910390f35b34801561051d57600080fd5b506105266113ac565b60405180821515815260200191505060405180910390f35b34801561054a57600080fd5b506105976004803603604081101561056157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113bf565b60405180821515815260200191505060405180910390f35b3480156105bb57600080fd5b506105c4611472565b60405180821515815260200191505060405180910390f35b3480156105e857600080fd5b5061062b600480360360208110156105ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611485565b6040518082815260200191505060405180910390f35b34801561064d57600080fd5b506106566114ce565b6040518082815260200191505060405180910390f35b34801561067857600080fd5b506106816114d4565b60405180821515815260200191505060405180910390f35b3480156106a557600080fd5b506106ae6114e7565b6040518082815260200191505060405180910390f35b3480156106d057600080fd5b506106d96114ed565b005b3480156106e757600080fd5b506106f0611903565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610730578082015181840152602081019050610715565b50505050905090810190601f16801561075d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561077757600080fd5b506107c46004803603604081101561078e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119a5565b60405180821515815260200191505060405180910390f35b3480156107e857600080fd5b506107f1611a72565b005b3480156107ff57600080fd5b5061084c6004803603604081101561081657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f0a565b60405180821515815260200191505060405180910390f35b34801561087057600080fd5b50610879611f28565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108b957808201518184015260208101905061089e565b50505050905090810190601f1680156108e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561090057600080fd5b5061092f6004803603602081101561091757600080fd5b81019080803515159060200190929190505050611fc6565b005b34801561093d57600080fd5b506109466120a6565b6040518082815260200191505060405180910390f35b610964610b51565b005b34801561097257600080fd5b5061097b6120ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109bb5780820151818401526020810190506109a0565b50505050905090810190601f1680156109e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a0257600080fd5b50610a6560048036036040811015610a1957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061214a565b6040518082815260200191505060405180910390f35b348015610a8757600080fd5b50610aca60048036036020811015610a9e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121d1565b60405180821515815260200191505060405180910390f35b348015610aee57600080fd5b50610af761222f565b6040518082815260200191505060405180910390f35b348015610b1957600080fd5b50610b22612235565b60405180821515815260200191505060405180910390f35b348015610b4657600080fd5b50610b4f612248565b005b600660009054906101000a900460ff1615610b6b57600080fd5b600b543414610be2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f596f7520646964206e6f742073656e742065786163746c79203120455448000081525060200191505060405180910390fd5b6801158e460913d0000060055410610c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f486172642063617020726561636865640000000000000000000000000000000081525060200191505060405180910390fd5b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d17576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f596f7520616c726561647920626f75676874000000000000000000000000000081525060200191505060405180910390fd5b600660019054906101000a900460ff1615610d3157600080fd5b600034905080600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d8257600080fd5b610dd481600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e6981600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610efe34600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f56816005546123f790919063ffffffff16565b6005819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611087576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b60005b81518110156110de57670de0b6b3a76400006110a530611485565b106110d1576110cf8282815181106110b957fe5b6020026020010151670de0b6b3a7640000611f0a565b505b808060010191505061108a565b5050565b606060028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561117a5780601f1061114f5761010080835404028352916020019161117a565b820191906000526020600020905b81548152906001019060200180831161115d57829003601f168201915b5050505050905090565b60006111986111916124c9565b84846124d1565b6001905092915050565b600660049054906101000a900460ff1681565b6000600454905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611282576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b6001600660016101000a81548160ff02191690831515021790555060784201600781905550565b60006112b68484846126c8565b611377846112c26124c9565b6113728560405180606001604052806028815260200161308160289139600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006113286124c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb19092919063ffffffff16565b6124d1565b600190509392505050565b6000600360009054906101000a900460ff16905090565b600360009054906101000a900460ff1681565b600660039054906101000a900460ff1681565b60006114686113cc6124c9565b8461146385600d60006113dd6124c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b6124d1565b6001905092915050565b600660009054906101000a900460ff1681565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60055481565b600660019054906101000a900460ff1681565b60085481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600660029054906101000a900460ff16156115ca57600080fd5b60006115f360646115e5600a47612c7190919063ffffffff16565b612cf790919063ffffffff16565b9050600061162060646116126005600454612c7190919063ffffffff16565b612cf790919063ffffffff16565b9050600061164d606461163f6005600454612c7190919063ffffffff16565b612cf790919063ffffffff16565b9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156116b7573d6000803e3d6000fd5b5061173e6116ce82846123f790919063ffffffff16565b600c6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600c6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118076117b982846123f790919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600660026101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118e984866123f790919063ffffffff16565b6040518082815260200191505060405180910390a3505050565b606060018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561199b5780601f106119705761010080835404028352916020019161199b565b820191906000526020600020905b81548152906001019060200180831161197e57829003601f168201915b5050505050905090565b6000611a686119b26124c9565b84611a638560405180606001604052806025815260200161311360259139600d60006119dc6124c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb19092919063ffffffff16565b6124d1565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b60011515600660029054906101000a900460ff16151514611b5557600080fd5b600660039054906101000a900460ff1615611b6f57600080fd5b60004790506000611ba7600954611b99600854611b8b30611485565b61247f90919063ffffffff16565b61247f90919063ffffffff16565b90503073ffffffffffffffffffffffffffffffffffffffff1663095ea7b360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611c3c57600080fd5b505af1158015611c50573d6000803e3d6000fd5b505050506040513d6020811015611c6657600080fd5b81019080805190602001909291905050505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833060085460085487600061012c42016040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015611d4857600080fd5b505af1158015611d5c573d6000803e3d6000fd5b50505050506040513d6060811015611d7357600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506000811115611ea057611df681600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b600660009054906101000a900460ff16611ed0576001600660006101000a81548160ff0219169083151502179055505b6001600660036101000a81548160ff0219169083151502179055506001600660046101000a81548160ff0219169083151502179055505050565b6000611f1e611f176124c9565b84846126c8565b6001905092915050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fbe5780601f10611f9357610100808354040283529160200191611fbe565b820191906000526020600020905b815481529060010190602001808311611fa157829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612089576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b80600660006101000a81548160ff02191690831515021790555050565b600b5481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121425780601f1061211757610100808354040283529160200191612142565b820191906000526020600020905b81548152906001019060200180831161212557829003601f168201915b505050505081565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600b54600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612225576001905061222a565b600090505b919050565b60075481565b600660029054906101000a900460ff1681565b60011515600660019054906101000a900460ff1615151461226857600080fd5b60075442101561227757600080fd5b600b5447101561228657600080fd5b600b54600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156123f5573373ffffffffffffffffffffffffffffffffffffffff166108fc600b549081150290604051600060405180830381858888f19350505050158015612317573d6000803e3d6000fd5b5061236c600b54600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b565b600080828401905083811015612475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60006124c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612bb1565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612557576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806130ef6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806130186022913960400191505060405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561274e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806130ca6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156127d4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612fd36023913960400191505060405180910390fd5b60011515600660049054906101000a900460ff16151514156129f7576000612819606461280b600385612c7190919063ffffffff16565b612cf790919063ffffffff16565b90506000612830828461247f90919063ffffffff16565b905061283c8583612d41565b612847858583612f07565b6128b38160405180606001604052806026815260200161303a60269139600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb19092919063ffffffff16565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061294881600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050612bac565b612a02838383612f07565b612a6e8160405180606001604052806026815260200161303a60269139600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb19092919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b0381600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f790919063ffffffff16565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b505050565b6000838311158290612c5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c23578082015181840152602081019050612c08565b50505050905090810190601f168015612c505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831415612c845760009050612cf1565b6000828402905082848281612c9557fe5b0414612cec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806130606021913960400191505060405180910390fd5b809150505b92915050565b6000612d3983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612f0c565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612dc7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806130a96021913960400191505060405180910390fd5b612dd382600083612f07565b612e3f81604051806060016040528060228152602001612ff660229139600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bb19092919063ffffffff16565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e978160045461247f90919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b60008083118290612fb8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f7d578082015181840152602081019050612f62565b50505050905090810190601f168015612faa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612fc457fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d56abb0d9990a13edd6f6fce8d1bbfed617828d19111712be8281aa07fd189e764736f6c63430007030033

Deployed Bytecode Sourcemap

1360:9362:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2759:11;:9;:11::i;:::-;1360:9362;;;;;2790:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6181:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7178:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1835:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6458:100;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3768:146;;;;;;;;;;;;;:::i;:::-;;7355:321;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6367:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1597:22;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1790:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7686:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1681:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6566:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1650:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1717:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1907:39;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3159:603;;;;;;;;;;;;;:::i;:::-;;6272:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7914:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5251:918;;;;;;;;;;;;;:::i;:::-;;6695:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1543:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3048:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2021:34;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4341:699;;;:::i;:::-;;1571:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6878:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5052:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1875:25;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1753:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3927:400;;;;;;;;;;;;;:::i;:::-;;4341:699;2251:9;;;;;;;;;;;2250:10;2242:19;;;;;;4425:9:::1;;4412;:22;4404:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4503:8;4488:12;;:23;4480:52;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4573:1;4551:6;:18;4558:10;4551:18;;;;;;;;;;;;;;;;:23;4543:55;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4618:9;;;;;;;;;;;4617:10;4609:19;;;::::0;::::1;;4639:11;4653:9;4639:23;;4709:6;4681:9;:24;4699:4;4681:24;;;;;;;;;;;;;;;;:34;;4673:43;;;::::0;::::1;;4751:33;4777:6;4751:9;:21;4761:10;4751:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;4727:9;:21;4737:10;4727:21;;;;;;;;;;;;;;;:57;;;;4822:36;4851:6;4822:9;:24;4840:4;4822:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;4795:9;:24;4813:4;4795:24;;;;;;;;;;;;;;;:63;;;;4890:33;4913:9;4890:6;:18;4897:10;4890:18;;;;;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;4869:6;:18;4876:10;4869:18;;;;;;;;;;;;;;;:54;;;;4949:24;4966:6;4949:12;;:16;;:24;;;;:::i;:::-;4934:12;:39;;;;5013:10;4989:43;;5006:4;4989:43;;;5025:6;4989:43;;;;;;;;;;;;;;;;;;2272:1;4341:699::o:0;2790:246::-;2344:5;;;;;;;;;;;2330:19;;:10;:19;;;2322:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2870:9:::1;2865:164;2889:10;:17;2885:1;:21;2865:164;;;2960:7;2932:24;2950:4;2932:9;:24::i;:::-;:35;2928:89;;2986:31;2995:10;3006:1;2995:13;;;;;;;;;;;;;;3009:7;2986:8;:31::i;:::-;;2928:89;2908:3;;;;;;;2865:164;;;;2790:246:::0;:::o;6181:83::-;6218:13;6251:5;6244:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6181:83;:::o;7178:169::-;7261:4;7278:39;7287:12;:10;:12::i;:::-;7301:7;7310:6;7278:8;:39::i;:::-;7335:4;7328:11;;7178:169;;;;:::o;1835:33::-;;;;;;;;;;;;;:::o;6458:100::-;6511:7;6538:12;;6531:19;;6458:100;:::o;3768:146::-;2344:5;;;;;;;;;;;2330:19;;:10;:19;;;2322:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3847:4:::1;3835:9;;:16;;;;;;;;;;;;;;;;;;3896:9;3878:15;:27;3862:13;:43;;;;3768:146::o:0;7355:321::-;7461:4;7478:36;7488:6;7496:9;7507:6;7478:9;:36::i;:::-;7525:121;7534:6;7542:12;:10;:12::i;:::-;7556:89;7594:6;7556:89;;;;;;;;;;;;;;;;;:11;:19;7568:6;7556:19;;;;;;;;;;;;;;;:33;7576:12;:10;:12::i;:::-;7556:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7525:8;:121::i;:::-;7664:4;7657:11;;7355:321;;;;;:::o;6367:83::-;6408:5;6433:9;;;;;;;;;;;6426:16;;6367:83;:::o;1597:22::-;;;;;;;;;;;;;:::o;1790:38::-;;;;;;;;;;;;;:::o;7686:218::-;7774:4;7791:83;7800:12;:10;:12::i;:::-;7814:7;7823:50;7862:10;7823:11;:25;7835:12;:10;:12::i;:::-;7823:25;;;;;;;;;;;;;;;:34;7849:7;7823:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;7791:8;:83::i;:::-;7892:4;7885:11;;7686:218;;;;:::o;1681:29::-;;;;;;;;;;;;;:::o;6566:119::-;6632:7;6659:9;:18;6669:7;6659:18;;;;;;;;;;;;;;;;6652:25;;6566:119;;;:::o;1650:24::-;;;;:::o;1717:29::-;;;;;;;;;;;;;:::o;1907:39::-;;;;:::o;3159:603::-;2344:5;;;;;;;;;;;2330:19;;:10;:19;;;2322:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3220:10:::1;;;;;;;;;;;3219:11;3211:20;;;::::0;::::1;;3241:17;3261:38;3295:3;3261:29;3287:2;3261:21;:25;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;3241:58;;3309:17;3329:28;3353:3;3329:19;3346:1;3329:12;;:16;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;3309:48;;3380:20;3403:28;3427:3;3403:19;3420:1;3403:12;;:16;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;3380:51;;3456:5;;;;;;;;;;;:14;;:25;3471:9;3456:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;3510:49;3531:27;3545:12;3531:9;:13;;:27;;;;:::i;:::-;3510:9;:16;3520:5;;;;;;;;;;;3510:16;;;;;;;;;;;;;;;;:20;;:49;;;;:::i;:::-;3491:9;:16;3501:5;;;;;;;;;;;3491:16;;;;;;;;;;;;;;;:68;;;;3596:57;3625:27;3639:12;3625:9;:13;;:27;;;;:::i;:::-;3596:9;:24;3614:4;3596:24;;;;;;;;;;;;;;;;:28;;:57;;;;:::i;:::-;3569:9;:24;3587:4;3569:24;;;;;;;;;;;;;;;:84;;;;3676:4;3663:10;;:17;;;;;;;;;;;;;;;;;;3719:5;;;;;;;;;;;3695:59;;3712:4;3695:59;;;3726:27;3740:12;3726:9;:13;;:27;;;;:::i;:::-;3695:59;;;;;;;;;;;;;;;;;;2386:1;;;3159:603::o:0;6272:87::-;6311:13;6344:7;6337:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6272:87;:::o;7914:269::-;8007:4;8024:129;8033:12;:10;:12::i;:::-;8047:7;8056:96;8095:15;8056:96;;;;;;;;;;;;;;;;;:11;:25;8068:12;:10;:12::i;:::-;8056:25;;;;;;;;;;;;;;;:34;8082:7;8056:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;8024:8;:129::i;:::-;8171:4;8164:11;;7914:269;;;;:::o;5251:918::-;2344:5;;;;;;;;;;;2330:19;;:10;:19;;;2322:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5331:4:::1;5317:18;;:10;;;;;;;;;;;:18;;;5309:27;;;::::0;::::1;;5356:18;;;;;;;;;;;5355:19;5347:28;;;::::0;::::1;;5386:11;5400:21;5386:35;;5432:17;5452:67;5503:15;;5452:46;5481:16;;5452:24;5470:4;5452:9;:24::i;:::-;:28;;:46;;;;:::i;:::-;:50;;:67;;;;:::i;:::-;5432:87;;5532:4;:12;;;5553:7;::::0;::::1;;;;;;;;5563:16;;5532:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;5591:7;::::0;::::1;;;;;;;;:23;;;5633:3;5671:4;5691:16;;5722;;5753:3;5779:1;5814:9;5796:15;:27;5591:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5864:1;5849:12;:16;5845:182;;;5906:42;5935:12;5906:9;:24;5924:4;5906:24;;;;;;;;;;;;;;;;:28;;:42;;;;:::i;:::-;5879:9;:24;5897:4;5879:24;;;;;;;;;;;;;;;:69;;;;5998:1;5966:49;;5983:4;5966:49;;;6002:12;5966:49;;;;;;;;;;;;;;;;;;5845:182;6041:9;;;;;;;;;;;6037:44;;6077:4;6065:9;;:16;;;;;;;;;;;;;;;;;;6037:44;6127:4;6106:18;;:25;;;;;;;;;;;;;;;;;;6158:4;6142:13;;:20;;;;;;;;;;;;;;;;;;2386:1;;5251:918::o:0;6695:175::-;6781:4;6798:42;6808:12;:10;:12::i;:::-;6822:9;6833:6;6798:9;:42::i;:::-;6858:4;6851:11;;6695:175;;;;:::o;1543:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3048:105::-;2344:5;;;;;;;;;;;2330:19;;:10;:19;;;2322:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3135:10:::1;3123:9;;:22;;;;;;;;;;;;;;;;;;3048:105:::0;:::o;2021:34::-;;;;:::o;1571:19::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6878:153::-;6968:7;6995:11;:19;7007:6;6995:19;;;;;;;;;;;;;;;:28;7015:7;6995:28;;;;;;;;;;;;;;;;6988:35;;6878:153;;;;:::o;5052:187::-;5119:4;5155:9;;5139:6;:12;5146:4;5139:12;;;;;;;;;;;;;;;;:25;5135:96;;;5186:4;5179:11;;;;5135:96;5226:5;5219:12;;5052:187;;;;:::o;1875:25::-;;;;:::o;1753:30::-;;;;;;;;;;;;;:::o;3927:400::-;3992:4;3979:17;;:9;;;;;;;;;;;:17;;;3971:26;;;;;;4035:13;;4016:15;:32;;4008:41;;;;;;4093:9;;4068:21;:34;;4060:43;;;;;;4140:9;;4118:6;:18;4125:10;4118:18;;;;;;;;;;;;;;;;:31;4114:206;;;4165:10;:19;;:30;4185:9;;4165:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4234:36;4260:9;;4234;:21;4244:10;4234:21;;;;;;;;;;;;;;;;:25;;:36;;;;:::i;:::-;4210:9;:21;4220:10;4210:21;;;;;;;;;;;;;;;:60;;;;4307:1;4286:6;:18;4293:10;4286:18;;;;;;;;;;;;;;;:22;;;;4114:206;3927:400::o;17077:181::-;17135:7;17155:9;17171:1;17167;:5;17155:17;;17196:1;17191;:6;;17183:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17249:1;17242:8;;;17077:181;;;;:::o;17541:136::-;17599:7;17626:43;17630:1;17633;17626:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;17619:50;;17541:136;;;;:::o;1006:106::-;1059:15;1094:10;1087:17;;1006:106;:::o;9674:350::-;9795:1;9777:20;;:6;:20;;;;9769:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9876:1;9857:21;;:7;:21;;;;9849:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9961:6;9930:11;:19;9942:6;9930:19;;;;;;;;;;;;;;;:28;9950:7;9930:28;;;;;;;;;;;;;;;:37;;;;10000:7;9983:33;;9992:6;9983:33;;;10009:6;9983:33;;;;;;;;;;;;;;;;;;9674:350;;;:::o;8191:1047::-;8315:1;8297:20;;:6;:20;;;;8289:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8399:1;8378:23;;:9;:23;;;;8370:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8475:4;8458:21;;:13;;;;;;;;;;;:21;;;8454:777;;;8491:14;8508:22;8526:3;8508:13;8519:1;8508:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;8491:39;;8541:18;8562;8573:6;8562;:10;;:18;;;;:::i;:::-;8541:39;;8601:21;8607:6;8615;8601:5;:21::i;:::-;8633:51;8654:6;8662:9;8673:10;8633:20;:51::i;:::-;8717:75;8739:10;8717:75;;;;;;;;;;;;;;;;;:9;:17;8727:6;8717:17;;;;;;;;;;;;;;;;:21;;:75;;;;;:::i;:::-;8697:9;:17;8707:6;8697:17;;;;;;;;;;;;;;;:95;;;;8826:36;8851:10;8826:9;:20;8836:9;8826:20;;;;;;;;;;;;;;;;:24;;:36;;;;:::i;:::-;8803:9;:20;8813:9;8803:20;;;;;;;;;;;;;;;:59;;;;8895:9;8878:39;;8887:6;8878:39;;;8906:10;8878:39;;;;;;;;;;;;;;;;;;8454:777;;;;;8951:47;8972:6;8980:9;8991:6;8951:20;:47::i;:::-;9031:71;9053:6;9031:71;;;;;;;;;;;;;;;;;:9;:17;9041:6;9031:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;9011:9;:17;9021:6;9011:17;;;;;;;;;;;;;;;:91;;;;9136:32;9161:6;9136:9;:20;9146:9;9136:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9113:9;:20;9123:9;9113:20;;;;;;;;;;;;;;;:55;;;;9201:9;9184:35;;9193:6;9184:35;;;9212:6;9184:35;;;;;;;;;;;;;;;;;;8454:777;8191:1047;;;:::o;17980:192::-;18066:7;18099:1;18094;:6;;18102:12;18086:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18126:9;18142:1;18138;:5;18126:17;;18163:1;18156:8;;;17980:192;;;;;:::o;18431:471::-;18489:7;18739:1;18734;:6;18730:47;;;18764:1;18757:8;;;;18730:47;18789:9;18805:1;18801;:5;18789:17;;18834:1;18829;18825;:5;;;;;;:10;18817:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18893:1;18886:8;;;18431:471;;;;;:::o;19378:132::-;19436:7;19463:39;19467:1;19470;19463:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;19456:46;;19378:132;;;;:::o;9248:418::-;9351:1;9332:21;;:7;:21;;;;9324:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9404:49;9425:7;9442:1;9446:6;9404:20;:49::i;:::-;9487:68;9510:6;9487:68;;;;;;;;;;;;;;;;;:9;:18;9497:7;9487:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;9466:9;:18;9476:7;9466:18;;;;;;;;;;;;;;;:89;;;;9581:24;9598:6;9581:12;;:16;;:24;;;;:::i;:::-;9566:12;:39;;;;9647:1;9621:37;;9630:7;9621:37;;;9651:6;9621:37;;;;;;;;;;;;;;;;;;9248:418;;:::o;10627:92::-;;;;:::o;20006:278::-;20092:7;20124:1;20120;:5;20127:12;20112:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20151:9;20167:1;20163;:5;;;;;;20151:17;;20275:1;20268:8;;;20006:278;;;;;:::o

Swarm Source

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