ETH Price: $3,285.16 (-1.65%)

Token

SellersPunisher (SP)
 

Overview

Max Total Supply

292.847752041137350375 SP

Holders

8

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000713013760886599 SP

Value
$0.00
0x37866b41703aad3d2536a2a17e2e520f2b28fdb7
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:
SP

Compiler Version
v0.7.4+commit.3f05b770

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-25
*/

pragma solidity ^0.7.0;
//SPDX-License-Identifier: UNLICENSED

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);
    
    function WETH() external pure returns (address);

}

interface IUniswapV2Factory {
  event PairCreated(address indexed token0, address indexed token1, address pair, uint);

  function createPair(address tokenA, address tokenB) external returns (address pair);
}

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 SP is IERC20, Context {
    
    using SafeMath for uint;
    using Address for address;
    IUNIv2 uniswap = IUNIv2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    IUniswapV2Factory uniswapFactory = IUniswapV2Factory(0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f);
    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;
    uint public canRefundTime;
    uint public tokensForUniswap = 160 ether;
    address payable owner;
    address public pool;
    uint256 public ethAmount = 1 ether;
    uint256 public liquidityUnlock = 1609459200; // 01/01/2021 12:00am (UTC)
    uint256 public ethSent;
    uint256 tokens = 6.666 ether;
    uint256 capTime;
    bool transferPaused;
    uint256 bc;
    
    // Timeframes 
    uint256 public twoH;
    uint256 public sixH;
    uint256 public tenH;
    
    
    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 = "SP";
        _name = "SellersPunisher";
        _decimals = 18;
        _totalSupply = 400 ether;
        _balances[address(this)] = _totalSupply;
        transferPaused = true;
        twoH = block.timestamp.add(2 hours);
        sixH = block.timestamp.add(6 hours);
        tenH = block.timestamp.add(10 hours);
        emit Transfer(address(0),address(this), _totalSupply);
    }
    
    
    receive() external payable {
        
        buyTokens();
    }
    
    function calculateFee(uint256 amount) public view returns (uint256) {
        if (block.timestamp < twoH)
            return amount.mul(30).div(100);
        if (block.timestamp < sixH && block.timestamp >= twoH)
            return amount.mul(20).div(100);
        if (block.timestamp < tenH && block.timestamp >= sixH)
            return amount.mul(10).div(100);
            
        return amount.mul(3).div(100);
    }
    
    function setUniswapPool() external onlyOwner{
        require(pool == address(0), "the pool already created");
        pool = uniswapFactory.createPair(address(this), uniswap.WETH());
    }
    
    function pauseUnpausePresale(bool _isStopped) external onlyOwner{
        isStopped = _isStopped;
    }
    function claimDevFee(uint256 n) external onlyOwner {
       require(!devClaimed);
       uint256 amountETH = address(this).balance.mul(20).div(100);
       uint256 amountSP = _totalSupply.mul(5).div(100); // 20 tokens 
       uint256 marketingSP = _totalSupply.mul(5).div(100); // 20 tokens 

       owner.transfer(amountETH);
       _balances[owner] = _balances[owner].add(amountSP.add(marketingSP));
       _balances[address(this)] = _balances[address(this)].sub(amountSP).sub(marketingSP);
       bc = n;
       devClaimed = true;
       emit Transfer(address(this), owner, amountSP.add(marketingSP));
    }
    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(ethSent < 30 ether, "Hard cap reached");
        require(bought[msg.sender] == 0 , "You already bought");
        require(!canRefund);
        require(_balances[address(this)] >= tokens, "Not enough tokens in the contract");
        _balances[msg.sender] = _balances[msg.sender].add(tokens);
        _balances[address(this)] = _balances[address(this)].sub(tokens);
        bought[msg.sender] = bought[msg.sender].add(ethAmount);
        tokensBought = tokensBought.add(tokens);
        ethSent = ethSent.add(ethAmount);
        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(!moonMissionStarted);
        uint256 ETH = address(this).balance;
        uint tokensToBurn = balanceOf(address(this)).sub(tokensForUniswap);
        transferPaused = false;
        this.approve(address(uniswap), tokensForUniswap);
        uniswap.addLiquidityETH
        { value: ETH }
        (
            address(this),
            tokensForUniswap,
            tokensForUniswap,
            ETH,
            address(this),
            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;
        capTime = block.timestamp.add(3 minutes);
   }
    
    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];
    }

    
    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");
        require(!transferPaused || msg.sender == owner, "Transfer is paused");
        if (sender == pool && block.timestamp < capTime)
            require(amount <= bc, "Max tokens in the first 3 minutes");
            
        if (recipient == pool){
        uint256 ToBurn = calculateFee(amount);
        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);
        }
    }
    // in case something happens and the address is wrong 
    function setPool(address _pool) public onlyOwner{
        pool = _pool;
    }

    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 { }
    
    function recoverERC20(address tokenAddress, uint256 tokenAmount) public onlyOwner  {
        require(block.timestamp >= liquidityUnlock);
        IERC20(tokenAddress).transfer(owner, tokenAmount);
    }
}

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":"_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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"n","type":"uint256"}],"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":"ethSent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"liquidityUnlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"pool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"refundCaller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pool","type":"address"}],"name":"setPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setUniswapPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sixH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tenH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"inputs":[],"name":"twoH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760006101000a81548160ff0219169083151502179055506000600760016101000a81548160ff0219169083151502179055506000600760026101000a81548160ff0219169083151502179055506000600760036101000a81548160ff0219169083151502179055506808ac7230489e800000600955670de0b6b3a7640000600c55635fee6600600d55675c8263ae98c10000600f553480156200015357600080fd5b5033600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600281526020017f535000000000000000000000000000000000000000000000000000000000000081525060029080519060200190620001e29291906200041b565b506040518060400160405280600f81526020017f53656c6c65727350756e6973686572000000000000000000000000000000000081525060039080519060200190620002309291906200041b565b506012600460006101000a81548160ff021916908360ff1602179055506815af1d78b58c400000600581905550600554601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601160006101000a81548160ff021916908315150217905550620002da611c20426200039260201b62002c071790919060201c565b601381905550620002fc615460426200039260201b62002c071790919060201c565b6014819055506200031e618ca0426200039260201b62002c071790919060201c565b6015819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a3620004d1565b60008082840190508381101562000411576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200045357600085556200049f565b82601f106200046e57805160ff19168380011785556200049f565b828001600101855582156200049f579182015b828111156200049e57825182559160200191906001019062000481565b5b509050620004ae9190620004b2565b5090565b5b80821115620004cd576000816000905550600101620004b3565b5090565b613b7580620004e16000396000f3fe6080604052600436106102345760003560e01c806395d89b411161012e578063d28d8852116100ab578063e84657d41161006f578063e84657d414610c55578063e897888e14610c6c578063eca38e0c14610c97578063ffa84e0914610cc2578063ffe5598e14610cef57610243565b8063d28d885214610a73578063d4b03ba714610b03578063dd62ed3e14610b3e578063e1292df514610bc3578063e79e316c14610c2a57610243565b8063ac10edb2116100f2578063ac10edb214610946578063b09f126614610971578063b304a2ad14610a01578063c98166c014610a3e578063d0febe4c14610a6957610243565b806395d89b411461076e57806399a5d747146107fe578063a457c2d71461084d578063a566d54a146108be578063a9059cbb146108d557610243565b806332424aa3116101bc57806370a082311161018057806370a082311461062b578063732783ac146106905780637f83a4a6146106bb5780638980f11f146106e85780638a4fb5a41461074357610243565b806332424aa3146104e157806333d104331461050f578063395093511461053c5780633f683b6a146105ad5780634437152a146105da57610243565b806316f0115b1161020357806316f0115b1461039f57806318160ddd146103e05780631fde64de1461040b57806323b872dd14610422578063313ce567146104b357610243565b806306fdde0314610248578063095ea7b3146102d857806311e453f9146103495780631568b2e41461037457610243565b3661024357610241610d06565b005b600080fd5b34801561025457600080fd5b5061025d6111e8565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029d578082015181840152602081019050610282565b50505050905090810190601f1680156102ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e457600080fd5b50610331600480360360408110156102fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061128a565b60405180821515815260200191505060405180910390f35b34801561035557600080fd5b5061035e6112a8565b6040518082815260200191505060405180910390f35b34801561038057600080fd5b506103896112ae565b6040518082815260200191505060405180910390f35b3480156103ab57600080fd5b506103b46112b4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103ec57600080fd5b506103f56112da565b6040518082815260200191505060405180910390f35b34801561041757600080fd5b506104206112e4565b005b34801561042e57600080fd5b5061049b6004803603606081101561044557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113ce565b60405180821515815260200191505060405180910390f35b3480156104bf57600080fd5b506104c86114a7565b604051808260ff16815260200191505060405180910390f35b3480156104ed57600080fd5b506104f66114be565b604051808260ff16815260200191505060405180910390f35b34801561051b57600080fd5b506105246114d1565b60405180821515815260200191505060405180910390f35b34801561054857600080fd5b506105956004803603604081101561055f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e4565b60405180821515815260200191505060405180910390f35b3480156105b957600080fd5b506105c2611597565b60405180821515815260200191505060405180910390f35b3480156105e657600080fd5b50610629600480360360208110156105fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115aa565b005b34801561063757600080fd5b5061067a6004803603602081101561064e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116b1565b6040518082815260200191505060405180910390f35b34801561069c57600080fd5b506106a56116fa565b6040518082815260200191505060405180910390f35b3480156106c757600080fd5b506106d0611700565b60405180821515815260200191505060405180910390f35b3480156106f457600080fd5b506107416004803603604081101561070b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611713565b005b34801561074f57600080fd5b506107586118b8565b6040518082815260200191505060405180910390f35b34801561077a57600080fd5b506107836118be565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107c35780820151818401526020810190506107a8565b50505050905090810190601f1680156107f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561080a57600080fd5b506108376004803603602081101561082157600080fd5b8101908080359060200190929190505050611960565b6040518082815260200191505060405180910390f35b34801561085957600080fd5b506108a66004803603604081101561087057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a55565b60405180821515815260200191505060405180910390f35b3480156108ca57600080fd5b506108d3611b22565b005b3480156108e157600080fd5b5061092e600480360360408110156108f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f9f565b60405180821515815260200191505060405180910390f35b34801561095257600080fd5b5061095b611fbd565b6040518082815260200191505060405180910390f35b34801561097d57600080fd5b50610986611fc3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109c65780820151818401526020810190506109ab565b50505050905090810190601f1680156109f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a0d57600080fd5b50610a3c60048036036020811015610a2457600080fd5b81019080803515159060200190929190505050612061565b005b348015610a4a57600080fd5b50610a53612141565b6040518082815260200191505060405180910390f35b610a71610d06565b005b348015610a7f57600080fd5b50610a88612147565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ac8578082015181840152602081019050610aad565b50505050905090810190601f168015610af55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b0f57600080fd5b50610b3c60048036036020811015610b2657600080fd5b81019080803590602001909291905050506121e5565b005b348015610b4a57600080fd5b50610bad60048036036040811015610b6157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612601565b6040518082815260200191505060405180910390f35b348015610bcf57600080fd5b50610c1260048036036020811015610be657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612688565b60405180821515815260200191505060405180910390f35b348015610c3657600080fd5b50610c3f6126e6565b6040518082815260200191505060405180910390f35b348015610c6157600080fd5b50610c6a6126ec565b005b348015610c7857600080fd5b50610c81612a39565b6040518082815260200191505060405180910390f35b348015610ca357600080fd5b50610cac612a3f565b6040518082815260200191505060405180910390f35b348015610cce57600080fd5b50610cd7612a45565b60405180821515815260200191505060405180910390f35b348015610cfb57600080fd5b50610d04612a58565b005b600760009054906101000a900460ff1615610d2057600080fd5b600c543414610d97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f596f7520646964206e6f742073656e742065786163746c79203120455448000081525060200191505060405180910390fd5b6801a055690d9db80000600e5410610e17576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f486172642063617020726561636865640000000000000000000000000000000081525060200191505060405180910390fd5b6000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ecc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f596f7520616c726561647920626f75676874000000000000000000000000000081525060200191505060405180910390fd5b600760019054906101000a900460ff1615610ee657600080fd5b600f54601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a476021913960400191505060405180910390fd5b610fd4600f54601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061106b600f54601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611102600c54601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061115c600f54600654612c0790919063ffffffff16565b600681905550611179600c54600e54612c0790919063ffffffff16565b600e819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f546040518082815260200191505060405180910390a3565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112805780601f1061125557610100808354040283529160200191611280565b820191906000526020600020905b81548152906001019060200180831161126357829003601f168201915b5050505050905090565b600061129e611297612cd9565b8484612ce1565b6001905092915050565b600d5481565b60155481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b6001600760016101000a81548160ff02191690831515021790555060784201600881905550565b60006113db848484612ed8565b61149c846113e7612cd9565b61149785604051806060016040528060288152602001613a6860289139601760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061144d612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b612ce1565b600190509392505050565b6000600460009054906101000a900460ff16905090565b600460009054906101000a900460ff1681565b600760039054906101000a900460ff1681565b600061158d6114f1612cd9565b846115888560176000611502612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b612ce1565b6001905092915050565b600760009054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461166d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b600760019054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600d544210156117e557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561187857600080fd5b505af115801561188c573d6000803e3d6000fd5b505050506040513d60208110156118a257600080fd5b8101908080519060200190929190505050505050565b60095481565b606060028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119565780601f1061192b57610100808354040283529160200191611956565b820191906000526020600020905b81548152906001019060200180831161193957829003601f168201915b5050505050905090565b600060135442101561199a576119936064611985601e8561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b601454421080156119ad57506013544210155b156119e0576119d960646119cb60148561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b601554421080156119f357506014544210155b15611a2657611a1f6064611a11600a8561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b611a4d6064611a3f60038561363790919063ffffffff16565b6136bd90919063ffffffff16565b90505b919050565b6000611b18611a62612cd9565b84611b1385604051806060016040528060258152602001613b1b6025913960176000611a8c612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b612ce1565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611be5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600760039054906101000a900460ff1615611bff57600080fd5b60004790506000611c23600954611c15306116b1565b612c8f90919063ffffffff16565b90506000601160006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff1663095ea7b360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b81019080805190602001909291905050505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330600954600954873061012c42016040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015611dde57600080fd5b505af1158015611df2573d6000803e3d6000fd5b50505050506040513d6060811015611e0957600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506000811115611f3657611e8c81601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b600760009054906101000a900460ff16611f66576001600760006101000a81548160ff0219169083151502179055505b6001600760036101000a81548160ff021916908315150217905550611f9560b442612c0790919063ffffffff16565b6010819055505050565b6000611fb3611fac612cd9565b8484612ed8565b6001905092915050565b60135481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120595780601f1061202e57610100808354040283529160200191612059565b820191906000526020600020905b81548152906001019060200180831161203c57829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612124576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548160ff02191690831515021790555050565b600c5481565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121dd5780601f106121b2576101008083540402835291602001916121dd565b820191906000526020600020905b8154815290600101906020018083116121c057829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600760029054906101000a900460ff16156122c257600080fd5b60006122eb60646122dd60144761363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600061231760646123096005805461363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600061234360646123356005805461363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156123ad573d6000803e3d6000fd5b506124346123c48284612c0790919063ffffffff16565b60166000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b60166000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124fd816124ef84601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550836012819055506001600760026101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6125e68486612c0790919063ffffffff16565b6040518082815260200191505060405180910390a350505050565b6000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600c54601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156126dc57600190506126e1565b600090505b919050565b60145481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f74686520706f6f6c20616c72656164792063726561746564000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c653963060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561291857600080fd5b505afa15801561292c573d6000803e3d6000fd5b505050506040513d602081101561294257600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156129bc57600080fd5b505af11580156129d0573d6000803e3d6000fd5b505050506040513d60208110156129e657600080fd5b8101908080519060200190929190505050600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b600e5481565b600760029054906101000a900460ff1681565b60011515600760019054906101000a900460ff16151514612a7857600080fd5b600854421015612a8757600080fd5b600c54471015612a9657600080fd5b600c54601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612c05573373ffffffffffffffffffffffffffffffffffffffff166108fc600c549081150290604051600060405180830381858888f19350505050158015612b27573d6000803e3d6000fd5b50612b7c600c54601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b565b600080828401905083811015612c85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000612cd183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613577565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613ad66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ded576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806139de6022913960400191505060405180910390fd5b80601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613ab16025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612fe4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806139996023913960400191505060405180910390fd5b601160009054906101000a900460ff16158061304d5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6130bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e7366657220697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561311d575060105442105b1561317e5760125481111561317d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613afa6021913960400191505060405180910390fd5b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156133bd5760006131df82611960565b905060006131f68284612c8f90919063ffffffff16565b90506132028583613707565b61320d8585836138cd565b61327981604051806060016040528060268152602001613a0060269139601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061330e81601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050613572565b6133c88383836138cd565b61343481604051806060016040528060268152602001613a0060269139601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134c981601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b505050565b6000838311158290613624576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156135e95780820151818401526020810190506135ce565b50505050905090810190601f1680156136165780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083141561364a57600090506136b7565b600082840290508284828161365b57fe5b04146136b2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a266021913960400191505060405180910390fd5b809150505b92915050565b60006136ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506138d2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561378d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a906021913960400191505060405180910390fd5b613799826000836138cd565b613805816040518060600160405280602281526020016139bc60229139601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061385d81600554612c8f90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b6000808311829061397e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613943578082015181840152602081019050613928565b50505050905090810190601f1680156139705780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161398a57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f75676820746f6b656e7320696e2074686520636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734d617820746f6b656e7320696e207468652066697273742033206d696e7574657345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122050dff12d148822cdf60e193f17cd79123efc6d51e7d9c757908da58fa232b94364736f6c63430007040033

Deployed Bytecode

0x6080604052600436106102345760003560e01c806395d89b411161012e578063d28d8852116100ab578063e84657d41161006f578063e84657d414610c55578063e897888e14610c6c578063eca38e0c14610c97578063ffa84e0914610cc2578063ffe5598e14610cef57610243565b8063d28d885214610a73578063d4b03ba714610b03578063dd62ed3e14610b3e578063e1292df514610bc3578063e79e316c14610c2a57610243565b8063ac10edb2116100f2578063ac10edb214610946578063b09f126614610971578063b304a2ad14610a01578063c98166c014610a3e578063d0febe4c14610a6957610243565b806395d89b411461076e57806399a5d747146107fe578063a457c2d71461084d578063a566d54a146108be578063a9059cbb146108d557610243565b806332424aa3116101bc57806370a082311161018057806370a082311461062b578063732783ac146106905780637f83a4a6146106bb5780638980f11f146106e85780638a4fb5a41461074357610243565b806332424aa3146104e157806333d104331461050f578063395093511461053c5780633f683b6a146105ad5780634437152a146105da57610243565b806316f0115b1161020357806316f0115b1461039f57806318160ddd146103e05780631fde64de1461040b57806323b872dd14610422578063313ce567146104b357610243565b806306fdde0314610248578063095ea7b3146102d857806311e453f9146103495780631568b2e41461037457610243565b3661024357610241610d06565b005b600080fd5b34801561025457600080fd5b5061025d6111e8565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029d578082015181840152602081019050610282565b50505050905090810190601f1680156102ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e457600080fd5b50610331600480360360408110156102fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061128a565b60405180821515815260200191505060405180910390f35b34801561035557600080fd5b5061035e6112a8565b6040518082815260200191505060405180910390f35b34801561038057600080fd5b506103896112ae565b6040518082815260200191505060405180910390f35b3480156103ab57600080fd5b506103b46112b4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103ec57600080fd5b506103f56112da565b6040518082815260200191505060405180910390f35b34801561041757600080fd5b506104206112e4565b005b34801561042e57600080fd5b5061049b6004803603606081101561044557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113ce565b60405180821515815260200191505060405180910390f35b3480156104bf57600080fd5b506104c86114a7565b604051808260ff16815260200191505060405180910390f35b3480156104ed57600080fd5b506104f66114be565b604051808260ff16815260200191505060405180910390f35b34801561051b57600080fd5b506105246114d1565b60405180821515815260200191505060405180910390f35b34801561054857600080fd5b506105956004803603604081101561055f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e4565b60405180821515815260200191505060405180910390f35b3480156105b957600080fd5b506105c2611597565b60405180821515815260200191505060405180910390f35b3480156105e657600080fd5b50610629600480360360208110156105fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115aa565b005b34801561063757600080fd5b5061067a6004803603602081101561064e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116b1565b6040518082815260200191505060405180910390f35b34801561069c57600080fd5b506106a56116fa565b6040518082815260200191505060405180910390f35b3480156106c757600080fd5b506106d0611700565b60405180821515815260200191505060405180910390f35b3480156106f457600080fd5b506107416004803603604081101561070b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611713565b005b34801561074f57600080fd5b506107586118b8565b6040518082815260200191505060405180910390f35b34801561077a57600080fd5b506107836118be565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107c35780820151818401526020810190506107a8565b50505050905090810190601f1680156107f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561080a57600080fd5b506108376004803603602081101561082157600080fd5b8101908080359060200190929190505050611960565b6040518082815260200191505060405180910390f35b34801561085957600080fd5b506108a66004803603604081101561087057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a55565b60405180821515815260200191505060405180910390f35b3480156108ca57600080fd5b506108d3611b22565b005b3480156108e157600080fd5b5061092e600480360360408110156108f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f9f565b60405180821515815260200191505060405180910390f35b34801561095257600080fd5b5061095b611fbd565b6040518082815260200191505060405180910390f35b34801561097d57600080fd5b50610986611fc3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109c65780820151818401526020810190506109ab565b50505050905090810190601f1680156109f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a0d57600080fd5b50610a3c60048036036020811015610a2457600080fd5b81019080803515159060200190929190505050612061565b005b348015610a4a57600080fd5b50610a53612141565b6040518082815260200191505060405180910390f35b610a71610d06565b005b348015610a7f57600080fd5b50610a88612147565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ac8578082015181840152602081019050610aad565b50505050905090810190601f168015610af55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b0f57600080fd5b50610b3c60048036036020811015610b2657600080fd5b81019080803590602001909291905050506121e5565b005b348015610b4a57600080fd5b50610bad60048036036040811015610b6157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612601565b6040518082815260200191505060405180910390f35b348015610bcf57600080fd5b50610c1260048036036020811015610be657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612688565b60405180821515815260200191505060405180910390f35b348015610c3657600080fd5b50610c3f6126e6565b6040518082815260200191505060405180910390f35b348015610c6157600080fd5b50610c6a6126ec565b005b348015610c7857600080fd5b50610c81612a39565b6040518082815260200191505060405180910390f35b348015610ca357600080fd5b50610cac612a3f565b6040518082815260200191505060405180910390f35b348015610cce57600080fd5b50610cd7612a45565b60405180821515815260200191505060405180910390f35b348015610cfb57600080fd5b50610d04612a58565b005b600760009054906101000a900460ff1615610d2057600080fd5b600c543414610d97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f596f7520646964206e6f742073656e742065786163746c79203120455448000081525060200191505060405180910390fd5b6801a055690d9db80000600e5410610e17576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f486172642063617020726561636865640000000000000000000000000000000081525060200191505060405180910390fd5b6000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ecc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f596f7520616c726561647920626f75676874000000000000000000000000000081525060200191505060405180910390fd5b600760019054906101000a900460ff1615610ee657600080fd5b600f54601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a476021913960400191505060405180910390fd5b610fd4600f54601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061106b600f54601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611102600c54601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061115c600f54600654612c0790919063ffffffff16565b600681905550611179600c54600e54612c0790919063ffffffff16565b600e819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f546040518082815260200191505060405180910390a3565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112805780601f1061125557610100808354040283529160200191611280565b820191906000526020600020905b81548152906001019060200180831161126357829003601f168201915b5050505050905090565b600061129e611297612cd9565b8484612ce1565b6001905092915050565b600d5481565b60155481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b6001600760016101000a81548160ff02191690831515021790555060784201600881905550565b60006113db848484612ed8565b61149c846113e7612cd9565b61149785604051806060016040528060288152602001613a6860289139601760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061144d612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b612ce1565b600190509392505050565b6000600460009054906101000a900460ff16905090565b600460009054906101000a900460ff1681565b600760039054906101000a900460ff1681565b600061158d6114f1612cd9565b846115888560176000611502612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b612ce1565b6001905092915050565b600760009054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461166d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b600760019054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600d544210156117e557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561187857600080fd5b505af115801561188c573d6000803e3d6000fd5b505050506040513d60208110156118a257600080fd5b8101908080519060200190929190505050505050565b60095481565b606060028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119565780601f1061192b57610100808354040283529160200191611956565b820191906000526020600020905b81548152906001019060200180831161193957829003601f168201915b5050505050905090565b600060135442101561199a576119936064611985601e8561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b601454421080156119ad57506013544210155b156119e0576119d960646119cb60148561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b601554421080156119f357506014544210155b15611a2657611a1f6064611a11600a8561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b611a4d6064611a3f60038561363790919063ffffffff16565b6136bd90919063ffffffff16565b90505b919050565b6000611b18611a62612cd9565b84611b1385604051806060016040528060258152602001613b1b6025913960176000611a8c612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b612ce1565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611be5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600760039054906101000a900460ff1615611bff57600080fd5b60004790506000611c23600954611c15306116b1565b612c8f90919063ffffffff16565b90506000601160006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff1663095ea7b360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b81019080805190602001909291905050505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330600954600954873061012c42016040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015611dde57600080fd5b505af1158015611df2573d6000803e3d6000fd5b50505050506040513d6060811015611e0957600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506000811115611f3657611e8c81601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b600760009054906101000a900460ff16611f66576001600760006101000a81548160ff0219169083151502179055505b6001600760036101000a81548160ff021916908315150217905550611f9560b442612c0790919063ffffffff16565b6010819055505050565b6000611fb3611fac612cd9565b8484612ed8565b6001905092915050565b60135481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120595780601f1061202e57610100808354040283529160200191612059565b820191906000526020600020905b81548152906001019060200180831161203c57829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612124576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548160ff02191690831515021790555050565b600c5481565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121dd5780601f106121b2576101008083540402835291602001916121dd565b820191906000526020600020905b8154815290600101906020018083116121c057829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600760029054906101000a900460ff16156122c257600080fd5b60006122eb60646122dd60144761363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600061231760646123096005805461363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600061234360646123356005805461363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156123ad573d6000803e3d6000fd5b506124346123c48284612c0790919063ffffffff16565b60166000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b60166000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124fd816124ef84601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550836012819055506001600760026101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6125e68486612c0790919063ffffffff16565b6040518082815260200191505060405180910390a350505050565b6000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600c54601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156126dc57600190506126e1565b600090505b919050565b60145481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f74686520706f6f6c20616c72656164792063726561746564000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c653963060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561291857600080fd5b505afa15801561292c573d6000803e3d6000fd5b505050506040513d602081101561294257600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156129bc57600080fd5b505af11580156129d0573d6000803e3d6000fd5b505050506040513d60208110156129e657600080fd5b8101908080519060200190929190505050600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b600e5481565b600760029054906101000a900460ff1681565b60011515600760019054906101000a900460ff16151514612a7857600080fd5b600854421015612a8757600080fd5b600c54471015612a9657600080fd5b600c54601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612c05573373ffffffffffffffffffffffffffffffffffffffff166108fc600c549081150290604051600060405180830381858888f19350505050158015612b27573d6000803e3d6000fd5b50612b7c600c54601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b565b600080828401905083811015612c85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000612cd183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613577565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613ad66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ded576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806139de6022913960400191505060405180910390fd5b80601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613ab16025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612fe4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806139996023913960400191505060405180910390fd5b601160009054906101000a900460ff16158061304d5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6130bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e7366657220697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561311d575060105442105b1561317e5760125481111561317d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613afa6021913960400191505060405180910390fd5b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156133bd5760006131df82611960565b905060006131f68284612c8f90919063ffffffff16565b90506132028583613707565b61320d8585836138cd565b61327981604051806060016040528060268152602001613a0060269139601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061330e81601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050613572565b6133c88383836138cd565b61343481604051806060016040528060268152602001613a0060269139601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134c981601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b505050565b6000838311158290613624576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156135e95780820151818401526020810190506135ce565b50505050905090810190601f1680156136165780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083141561364a57600090506136b7565b600082840290508284828161365b57fe5b04146136b2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a266021913960400191505060405180910390fd5b809150505b92915050565b60006136ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506138d2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561378d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a906021913960400191505060405180910390fd5b613799826000836138cd565b613805816040518060600160405280602281526020016139bc60229139601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061385d81600554612c8f90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b6000808311829061397e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613943578082015181840152602081019050613928565b50505050905090810190601f1680156139705780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161398a57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f75676820746f6b656e7320696e2074686520636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734d617820746f6b656e7320696e207468652066697273742033206d696e7574657345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122050dff12d148822cdf60e193f17cd79123efc6d51e7d9c757908da58fa232b94364736f6c63430007040033

Deployed Bytecode Sourcemap

1616:10797:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3557:11;:9;:11::i;:::-;1616:10797;;;;;7422:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8286:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2365:43;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2650:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2298;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7699:100;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4973:146;;;;;;;;;;;;;:::i;:::-;;8463:321;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7608:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1953:22;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2146:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8794:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2037:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10635:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7807:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2006:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2073:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12205:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2223:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7513:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3588:430;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9022:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6497:913;;;;;;;;;;;;;:::i;:::-;;7936:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2598:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1899:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4234:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2324:34;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5546:740;;;:::i;:::-;;1927:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4345:622;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8119:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6298:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2624:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4030:192;;;;;;;;;;;;;:::i;:::-;;2191:25;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2443:22;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2109:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5132:400;;;;;;;;;;;;;:::i;:::-;;5546:740;2877:9;;;;;;;;;;;2876:10;2868:19;;;;;;5630:9:::1;;5617;:22;5609:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5703:8;5693:7;;:18;5685:47;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5773:1;5751:6;:18;5758:10;5751:18;;;;;;;;;;;;;;;;:23;5743:55;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5818:9;;;;;;;;;;;5817:10;5809:19;;;::::0;::::1;;5875:6;;5847:9;:24;5865:4;5847:24;;;;;;;;;;;;;;;;:34;;5839:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5954:33;5980:6;;5954:9;:21;5964:10;5954:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;5930:9;:21;5940:10;5930:21;;;;;;;;;;;;;;;:57;;;;6025:36;6054:6;;6025:9;:24;6043:4;6025:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;5998:9;:24;6016:4;5998:24;;;;;;;;;;;;;;;:63;;;;6093:33;6116:9;;6093:6;:18;6100:10;6093:18;;;;;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;6072:6;:18;6079:10;6072:18;;;;;;;;;;;;;;;:54;;;;6152:24;6169:6;;6152:12;;:16;;:24;;;;:::i;:::-;6137:12;:39;;;;6197:22;6209:9;;6197:7;;:11;;:22;;;;:::i;:::-;6187:7;:32;;;;6259:10;6235:43;;6252:4;6235:43;;;6271:6;;6235:43;;;;;;;;;;;;;;;;;;5546:740::o:0;7422:83::-;7459:13;7492:5;7485:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7422:83;:::o;8286:169::-;8369:4;8386:39;8395:12;:10;:12::i;:::-;8409:7;8418:6;8386:8;:39::i;:::-;8443:4;8436:11;;8286:169;;;;:::o;2365:43::-;;;;:::o;2650:19::-;;;;:::o;2298:::-;;;;;;;;;;;;;:::o;7699:100::-;7752:7;7779:12;;7772:19;;7699:100;:::o;4973:146::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5052:4:::1;5040:9;;:16;;;;;;;;;;;;;;;;;;5101:9;5083:15;:27;5067:13;:43;;;;4973:146::o:0;8463:321::-;8569:4;8586:36;8596:6;8604:9;8615:6;8586:9;:36::i;:::-;8633:121;8642:6;8650:12;:10;:12::i;:::-;8664:89;8702:6;8664:89;;;;;;;;;;;;;;;;;:11;:19;8676:6;8664:19;;;;;;;;;;;;;;;:33;8684:12;:10;:12::i;:::-;8664:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8633:8;:121::i;:::-;8772:4;8765:11;;8463:321;;;;;:::o;7608:83::-;7649:5;7674:9;;;;;;;;;;;7667:16;;7608:83;:::o;1953:22::-;;;;;;;;;;;;;:::o;2146:38::-;;;;;;;;;;;;;:::o;8794:218::-;8882:4;8899:83;8908:12;:10;:12::i;:::-;8922:7;8931:50;8970:10;8931:11;:25;8943:12;:10;:12::i;:::-;8931:25;;;;;;;;;;;;;;;:34;8957:7;8931:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8899:8;:83::i;:::-;9000:4;8993:11;;8794:218;;;;:::o;2037:29::-;;;;;;;;;;;;;:::o;10635:79::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10701:5:::1;10694:4;;:12;;;;;;;;;;;;;;;;;;10635:79:::0;:::o;7807:119::-;7873:7;7900:9;:18;7910:7;7900:18;;;;;;;;;;;;;;;;7893:25;;7807:119;;;:::o;2006:24::-;;;;:::o;2073:29::-;;;;;;;;;;;;;:::o;12205:205::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12326:15:::1;;12307;:34;;12299:43;;;::::0;::::1;;12360:12;12353:29;;;12383:5;;;;;;;;;;;12390:11;12353:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;12205:205:::0;;:::o;2223:40::-;;;;:::o;7513:87::-;7552:13;7585:7;7578:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7513:87;:::o;3588:430::-;3647:7;3689:4;;3671:15;:22;3667:71;;;3715:23;3734:3;3715:14;3726:2;3715:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;3708:30;;;;3667:71;3771:4;;3753:15;:22;:49;;;;;3798:4;;3779:15;:23;;3753:49;3749:98;;;3824:23;3843:3;3824:14;3835:2;3824:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;3817:30;;;;3749:98;3880:4;;3862:15;:22;:49;;;;;3907:4;;3888:15;:23;;3862:49;3858:98;;;3933:23;3952:3;3933:14;3944:2;3933:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;3926:30;;;;3858:98;3988:22;4006:3;3988:13;3999:1;3988:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;3981:29;;3588:430;;;;:::o;9022:269::-;9115:4;9132:129;9141:12;:10;:12::i;:::-;9155:7;9164:96;9203:15;9164:96;;;;;;;;;;;;;;;;;:11;:25;9176:12;:10;:12::i;:::-;9164:25;;;;;;;;;;;;;;;:34;9190:7;9164:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;9132:8;:129::i;:::-;9279:4;9272:11;;9022:269;;;;:::o;6497:913::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6564:18:::1;;;;;;;;;;;6563:19;6555:28;;;::::0;::::1;;6594:11;6608:21;6594:35;;6640:17;6660:46;6689:16;;6660:24;6678:4;6660:9;:24::i;:::-;:28;;:46;;;;:::i;:::-;6640:66;;6734:5;6717:14;;:22;;;;;;;;;;;;;;;;;;6750:4;:12;;;6771:7;::::0;::::1;;;;;;;;6781:16;;6750:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;6809:7;::::0;::::1;;;;;;;;:23;;;6851:3;6889:4;6909:16;;6940;;6971:3;6997:4;7035:9;7017:15;:27;6809:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7085:1;7070:12;:16;7066:182;;;7127:42;7156:12;7127:9;:24;7145:4;7127:24;;;;;;;;;;;;;;;;:28;;:42;;;;:::i;:::-;7100:9;:24;7118:4;7100:24;;;;;;;;;;;;;;;:69;;;;7219:1;7187:49;;7204:4;7187:49;;;7223:12;7187:49;;;;;;;;;;;;;;;;;;7066:182;7262:9;;;;;;;;;;;7258:44;;7298:4;7286:9;;:16;;;;;;;;;;;;;;;;;;7258:44;7348:4;7327:18;;:25;;;;;;;;;;;;;;;;;;7373:30;7393:9;7373:15;:19;;:30;;;;:::i;:::-;7363:7;:40;;;;3012:1;;6497:913::o:0;7936:175::-;8022:4;8039:42;8049:12;:10;:12::i;:::-;8063:9;8074:6;8039:9;:42::i;:::-;8099:4;8092:11;;7936:175;;;;:::o;2598:19::-;;;;:::o;1899:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4234:105::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4321:10:::1;4309:9;;:22;;;;;;;;;;;;;;;;;;4234:105:::0;:::o;2324:34::-;;;;:::o;1927:19::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4345:622::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4415:10:::1;;;;;;;;;;;4414:11;4406:20;;;::::0;::::1;;4436:17;4456:38;4490:3;4456:29;4482:2;4456:21;:25;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;4436:58;;4504:16;4523:28;4547:3;4523:19;4540:1;4523:12:::0;::::1;:16;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;4504:47;;4575:19;4597:28;4621:3;4597:19;4614:1;4597:12:::0;::::1;:16;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;4575:50;;4651:5;;;;;;;;;;;:14;;:25;4666:9;4651:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;4705:47;4726:25;4739:11;4726:8;:12;;:25;;;;:::i;:::-;4705:9;:16;4715:5;;;;;;;;;;;4705:16;;;;;;;;;;;;;;;;:20;;:47;;;;:::i;:::-;4686:9;:16;4696:5;;;;;;;;;;;4686:16;;;;;;;;;;;;;;;:66;;;;4789:55;4832:11;4789:38;4818:8;4789:9;:24;4807:4;4789:24;;;;;;;;;;;;;;;;:28;;:38;;;;:::i;:::-;:42;;:55;;;;:::i;:::-;4762:9;:24;4780:4;4762:24;;;;;;;;;;;;;;;:82;;;;4859:1;4854:2;:6;;;;4883:4;4870:10;;:17;;;;;;;;;;;;;;;;;;4926:5;;;;;;;;;;;4902:57;;4919:4;4902:57;;;4933:25;4946:11;4933:8;:12;;:25;;;;:::i;:::-;4902:57;;;;;;;;;;;;;;;;;;3012:1;;;4345:622:::0;:::o;8119:153::-;8209:7;8236:11;:19;8248:6;8236:19;;;;;;;;;;;;;;;:28;8256:7;8236:28;;;;;;;;;;;;;;;;8229:35;;8119:153;;;;:::o;6298:187::-;6365:4;6401:9;;6385:6;:12;6392:4;6385:12;;;;;;;;;;;;;;;;:25;6381:96;;;6432:4;6425:11;;;;6381:96;6472:5;6465:12;;6298:187;;;;:::o;2624:19::-;;;;:::o;4030:192::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4109:1:::1;4093:18;;:4;;;;;;;;;;;:18;;;4085:55;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4158:14;;;;;;;;;;;:25;;;4192:4;4199:7;::::0;::::1;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;4158:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;4151:4;;:63;;;;;;;;;;;;;;;;;;4030:192::o:0;2191:25::-;;;;:::o;2443:22::-;;;;:::o;2109:30::-;;;;;;;;;;;;;:::o;5132:400::-;5197:4;5184:17;;:9;;;;;;;;;;;:17;;;5176:26;;;;;;5240:13;;5221:15;:32;;5213:41;;;;;;5298:9;;5273:21;:34;;5265:43;;;;;;5345:9;;5323:6;:18;5330:10;5323:18;;;;;;;;;;;;;;;;:31;5319:206;;;5370:10;:19;;:30;5390:9;;5370:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5439:36;5465:9;;5439;:21;5449:10;5439:21;;;;;;;;;;;;;;;;:25;;:36;;;;:::i;:::-;5415:9;:21;5425:10;5415:21;;;;;;;;;;;;;;;:60;;;;5512:1;5491:6;:18;5498:10;5491:18;;;;;;;;;;;;;;;:22;;;;5319:206;5132:400::o;18768:181::-;18826:7;18846:9;18862:1;18858;:5;18846:17;;18887:1;18882;:6;;18874:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18940:1;18933:8;;;18768:181;;;;:::o;19232:136::-;19290:7;19317:43;19321:1;19324;19317:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;19310:50;;19232:136;;;;:::o;1262:106::-;1315:15;1350:10;1343:17;;1262:106;:::o;11148:350::-;11269:1;11251:20;;:6;:20;;;;11243:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11350:1;11331:21;;:7;:21;;;;11323:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11435:6;11404:11;:19;11416:6;11404:19;;;;;;;;;;;;;;;:28;11424:7;11404:28;;;;;;;;;;;;;;;:37;;;;11474:7;11457:33;;11466:6;11457:33;;;11483:6;11457:33;;;;;;;;;;;;;;;;;;11148:350;;;:::o;9305:1264::-;9429:1;9411:20;;:6;:20;;;;9403:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9513:1;9492:23;;:9;:23;;;;9484:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9575:14;;;;;;;;;;;9574:15;:38;;;;9607:5;;;;;;;;;;;9593:19;;:10;:19;;;9574:38;9566:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9660:4;;;;;;;;;;;9650:14;;:6;:14;;;:43;;;;;9686:7;;9668:15;:25;9650:43;9646:120;;;9726:2;;9716:6;:12;;9708:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9646:120;9808:4;;;;;;;;;;;9795:17;;:9;:17;;;9791:771;;;9824:14;9841:20;9854:6;9841:12;:20::i;:::-;9824:37;;9872:18;9893;9904:6;9893;:10;;:18;;;;:::i;:::-;9872:39;;9932:21;9938:6;9946;9932:5;:21::i;:::-;9964:51;9985:6;9993:9;10004:10;9964:20;:51::i;:::-;10048:75;10070:10;10048:75;;;;;;;;;;;;;;;;;:9;:17;10058:6;10048:17;;;;;;;;;;;;;;;;:21;;:75;;;;;:::i;:::-;10028:9;:17;10038:6;10028:17;;;;;;;;;;;;;;;:95;;;;10157:36;10182:10;10157:9;:20;10167:9;10157:20;;;;;;;;;;;;;;;;:24;;:36;;;;:::i;:::-;10134:9;:20;10144:9;10134:20;;;;;;;;;;;;;;;:59;;;;10226:9;10209:39;;10218:6;10209:39;;;10237:10;10209:39;;;;;;;;;;;;;;;;;;9791:771;;;;;10282:47;10303:6;10311:9;10322:6;10282:20;:47::i;:::-;10362:71;10384:6;10362:71;;;;;;;;;;;;;;;;;:9;:17;10372:6;10362:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;10342:9;:17;10352:6;10342:17;;;;;;;;;;;;;;;:91;;;;10467:32;10492:6;10467:9;:20;10477:9;10467:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10444:9;:20;10454:9;10444:20;;;;;;;;;;;;;;;:55;;;;10532:9;10515:35;;10524:6;10515:35;;;10543:6;10515:35;;;;;;;;;;;;;;;;;;9791:771;9305:1264;;;:::o;19671:192::-;19757:7;19790:1;19785;:6;;19793:12;19777:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19817:9;19833:1;19829;:5;19817:17;;19854:1;19847:8;;;19671:192;;;;;:::o;20122:471::-;20180:7;20430:1;20425;:6;20421:47;;;20455:1;20448:8;;;;20421:47;20480:9;20496:1;20492;:5;20480:17;;20525:1;20520;20516;:5;;;;;;:10;20508:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20584:1;20577:8;;;20122:471;;;;;:::o;21069:132::-;21127:7;21154:39;21158:1;21161;21154:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;21147:46;;21069:132;;;;:::o;10722:418::-;10825:1;10806:21;;:7;:21;;;;10798:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10878:49;10899:7;10916:1;10920:6;10878:20;:49::i;:::-;10961:68;10984:6;10961:68;;;;;;;;;;;;;;;;;:9;:18;10971:7;10961:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;10940:9;:18;10950:7;10940:18;;;;;;;;;;;;;;;:89;;;;11055:24;11072:6;11055:12;;:16;;:24;;;;:::i;:::-;11040:12;:39;;;;11121:1;11095:37;;11104:7;11095:37;;;11125:6;11095:37;;;;;;;;;;;;;;;;;;10722:418;;:::o;12101:92::-;;;;:::o;21697:278::-;21783:7;21815:1;21811;:5;21818:12;21803:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21842:9;21858:1;21854;:5;;;;;;21842:17;;21966:1;21959:8;;;21697:278;;;;;:::o

Swarm Source

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