ETH Price: $3,100.99 (+0.57%)
Gas: 4 Gwei

Token

Fuck (FUCK)
 

Overview

Max Total Supply

1,000,000,000 FUCK

Holders

24

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5,286,017.811187788 FUCK

Value
$0.00
0x5361b25e2279a217cf6e5f3c8b3df10dcf2928ba
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:
FUCK

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
FUCK NEXT 1000X GENERATOR!

PEPE IS NOT CAPABLE OF 1000X, BUT WE ARE!

Website: https://www.fuckgem.vip
Telegram: https://t.me/fuckcoin_erc
Twitter: https://twitter.com/fuckcoin_eth
*/

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

abstract contract Context {

    function _msgSender() internal view virtual returns (address payable) {
        return payable(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;
    }
}

library Address {

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

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

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

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view 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 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 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) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by 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;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

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

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 FUCK is Context, IERC20, Ownable {
    
    using SafeMath for uint256;
    using Address for address;
    
    string private _name ="Fuck";
    string private _symbol = "FUCK";
    uint8 private _decimals = 9;

    address payable private taxWallet1 = payable(0xE4f33B227E61c8cE1D82D6282A83fB6075415b70);
    address payable private taxWallet2 = payable(0xE4f33B227E61c8cE1D82D6282A83fB6075415b70);
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    mapping (address => bool) public excludedFromFees;
    mapping (address => bool) public walletLimitExcept;
    mapping (address => bool) public txLimitExcept;
    mapping (address => bool) public checkMarketPair;

    uint256 public _buyLpFees = 0;
    uint256 public _buyMktFees = 1;
    uint256 public _buyDevFees = 0;
    uint256 public _sellLiquidityFees = 0;
    uint256 public _sellMarketingFees = 1;
    uint256 public _sellDevelopmentFees = 0;

    uint256 public _liquidityShares = 0;
    uint256 public _marketingShares = 10;
    uint256 public _developmentShares = 0;

    uint256 public _taxOnBuys = 1;
    uint256 public _taxOnSells = 1;
    uint256 public _totalDistributionShares = 10;

    uint256 private _totalSupply = 10**9 * 10**9;
    uint256 public _maxTxAmount = 2 * 10**7 * 10**9;
    uint256 public _walletMax = 2 * 10**7 * 10**9;
    uint256 private minimumTokensBeforeSwap = 10 ** 5 * 10**9; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;
    bool public checkWalletLimit = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        excludedFromFees[owner()] = true;
        excludedFromFees[taxWallet1] = true;
        excludedFromFees[taxWallet2] = true;
        
        _taxOnBuys = _buyLpFees.add(_buyMktFees).add(_buyDevFees);
        _taxOnSells = _sellLiquidityFees.add(_sellMarketingFees).add(_sellDevelopmentFees);
        _totalDistributionShares = _liquidityShares.add(_marketingShares).add(_developmentShares);

        walletLimitExcept[owner()] = true;
        walletLimitExcept[address(uniswapPair)] = true;
        walletLimitExcept[address(this)] = true;
        
        txLimitExcept[owner()] = true;
        txLimitExcept[taxWallet1] = true;
        txLimitExcept[taxWallet2] = true;
        txLimitExcept[address(this)] = true;

        checkMarketPair[address(uniswapPair)] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    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 allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    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 approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        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);
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    
    function removeLimits() external onlyOwner {
        _maxTxAmount = _totalSupply;
        checkWalletLimit = false;
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        
        if(checkMarketPair[sender]) {
            feeAmount = amount.mul(_taxOnBuys).div(100);
        }
        else if(checkMarketPair[recipient]) {
            feeAmount = amount.mul(_taxOnSells).div(100);
        }
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {
            if(!txLimitExcept[sender] && !txLimitExcept[recipient]) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }            

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && checkMarketPair[recipient] && swapAndLiquifyEnabled && !excludedFromFees[sender] && amount > minimumTokensBeforeSwap) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);    
            }


            uint256 finalAmount = (excludedFromFees[sender] || excludedFromFees[recipient]) ? 
                                         amount : takeFee(sender, recipient, amount);

            if(checkWalletLimit && !walletLimitExcept[recipient])
                require(balanceOf(recipient).add(finalAmount) <= _walletMax);

            uint256 sAmount = (!checkWalletLimit && excludedFromFees[sender]) ? amount.sub(finalAmount) : amount;
            _balances[sender] = _balances[sender].sub(sAmount, "Insufficient Balance");
            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(_liquidityShares).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalETHFee = _totalDistributionShares.sub(_liquidityShares.div(2));
        
        uint256 amountETHLiquidity = amountReceived.mul(_liquidityShares).div(totalETHFee).div(2);
        uint256 amountETHDevelopment = amountReceived.mul(_developmentShares).div(totalETHFee);
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHDevelopment);

        if(amountETHMarketing > 0)
            transferToAddressETH(taxWallet1, amountETHMarketing);

        if(amountETHDevelopment > 0)
            transferToAddressETH(taxWallet2, amountETHDevelopment);

        if(amountETHLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountETHLiquidity);
    }
    
    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }
}

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":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"_buyDevFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLpFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMktFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_developmentShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDevelopmentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxOnBuys","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxOnSells","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","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":[{"internalType":"address","name":"","type":"address"}],"name":"checkMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFees","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"","type":"address"}],"name":"txLimitExcept","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"walletLimitExcept","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e0604052600460a0908152634675636b60e01b60c052600290620000259082620006a2565b506040805180820190915260048152634655434b60e01b6020820152600390620000509082620006a2565b50600480546001600160a81b03191674e4f33b227e61c8ce1d82d6282a83fb6075415b70091790556005805473e4f33b227e61c8ce1d82d6282a83fb6075415b706001600160a01b031990911617905561dead6080526000600c8190556001600d819055600e829055600f829055601081905560118290556012829055600a60138190556014929092556015819055601655601755670de0b6b3a764000060185566470de4df8200006019819055601a55655af3107a4000601b55601d805462ffffff60a81b19166201000160a81b1790553480156200012f57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ef91906200076e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200076e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d791906200076e565b601d80546001600160a01b039283166001600160a01b031991821617909155601c80549284169290911682179055601854306000908152600760209081526040808320948352939052918220556001906008906200033d6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556004546101009004821681526008909352818320805485166001908117909155600554909116835291208054909216179055600e54600d54600c54620003bf9291620003b891906200058e565b906200058e565b601555601154601054600f54620003dd9291620003b891906200058e565b601655601454601354601254620003fb9291620003b891906200058e565b601755600160096000620004176000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601d549091168152600990925280822080548416600190811790915530835290822080549093168117909255600a90620004876000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600454610100900482168152600a84528281208054861660019081179091556005548316825283822080548716821790553082528382208054871682179055601d549092168152600b909352908220805490931617909155601854906006906200051c3390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6018546040516200057f91815260200190565b60405180910390a350620007bb565b6000806200059d838562000799565b905083811015620005f45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200062857607f821691505b6020821081036200064957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200069d57600081815260208120601f850160051c81016020861015620006785750805b601f850160051c820191505b81811015620006995782815560010162000684565b5050505b505050565b81516001600160401b03811115620006be57620006be620005fd565b620006d681620006cf845462000613565b846200064f565b602080601f8311600181146200070e5760008415620006f55750858301515b600019600386901b1c1916600185901b17855562000699565b600085815260208120601f198616915b828110156200073f578886015182559484019460019091019084016200071e565b50858210156200075e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200078157600080fd5b81516001600160a01b0381168114620005f457600080fd5b80820180821115620005f757634e487b7160e01b600052601160045260246000fd5b608051611b42620007d760003960006103240152611b426000f3fe6080604052600436106102345760003560e01c806370a082311161012e578063a457c2d7116100ab578063dbe66ca01161006f578063dbe66ca014610653578063dd62ed3e14610683578063efe13636146106c9578063f2fde38b146106f9578063f872858a1461071957600080fd5b8063a457c2d7146105bc578063a9059cbb146105dc578063c816841b146105fc578063d76e26a31461061c578063da00097d1461063257600080fd5b8063807c2d9c116100f2578063807c2d9c146105475780638da5cb5b1461055d57806395d89b411461057b5780639e3fa32314610590578063a08e671f146105a657600080fd5b806370a08231146104b9578063715018a6146104ef57806372edcc6514610506578063751039fc1461051c5780637d1db4a51461053157600080fd5b8063313ce567116101bc57806351183af71161018057806351183af71461043157806355324fa914610447578063565cec3814610477578063646d47001461048d578063661b6e36146104a357600080fd5b8063313ce5671461038857806339509351146103aa578063466caef2146103ca5780634a728e24146103fa5780634a74bb021461041057600080fd5b806323b872dd1161020357806323b872dd146102f257806327c8f835146103125780632bae0d32146103465780632ee035061461035c5780632f0a5fd41461037257600080fd5b806306fdde0314610240578063095ea7b31461026b5780631694505e1461029b57806318160ddd146102d357600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025561073a565b60405161026291906117b0565b60405180910390f35b34801561027757600080fd5b5061028b610286366004611816565b6107cc565b6040519015158152602001610262565b3480156102a757600080fd5b50601c546102bb906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b3480156102df57600080fd5b506018545b604051908152602001610262565b3480156102fe57600080fd5b5061028b61030d366004611842565b6107e3565b34801561031e57600080fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561035257600080fd5b506102e4600c5481565b34801561036857600080fd5b506102e4600d5481565b34801561037e57600080fd5b506102e4600f5481565b34801561039457600080fd5b5060045460405160ff9091168152602001610262565b3480156103b657600080fd5b5061028b6103c5366004611816565b61084e565b3480156103d657600080fd5b5061028b6103e5366004611883565b60096020526000908152604090205460ff1681565b34801561040657600080fd5b506102e4600e5481565b34801561041c57600080fd5b50601d5461028b90600160a81b900460ff1681565b34801561043d57600080fd5b506102e460155481565b34801561045357600080fd5b5061028b610462366004611883565b600b6020526000908152604090205460ff1681565b34801561048357600080fd5b506102e460135481565b34801561049957600080fd5b506102e460115481565b3480156104af57600080fd5b506102e460105481565b3480156104c557600080fd5b506102e46104d4366004611883565b6001600160a01b031660009081526006602052604090205490565b3480156104fb57600080fd5b50610504610884565b005b34801561051257600080fd5b506102e460165481565b34801561052857600080fd5b50610504610901565b34801561053d57600080fd5b506102e460195481565b34801561055357600080fd5b506102e4601a5481565b34801561056957600080fd5b506000546001600160a01b03166102bb565b34801561058757600080fd5b50610255610940565b34801561059c57600080fd5b506102e460125481565b3480156105b257600080fd5b506102e460175481565b3480156105c857600080fd5b5061028b6105d7366004611816565b61094f565b3480156105e857600080fd5b5061028b6105f7366004611816565b61099e565b34801561060857600080fd5b50601d546102bb906001600160a01b031681565b34801561062857600080fd5b506102e460145481565b34801561063e57600080fd5b50601d5461028b90600160b01b900460ff1681565b34801561065f57600080fd5b5061028b61066e366004611883565b60086020526000908152604090205460ff1681565b34801561068f57600080fd5b506102e461069e3660046118a0565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156106d557600080fd5b5061028b6106e4366004611883565b600a6020526000908152604090205460ff1681565b34801561070557600080fd5b50610504610714366004611883565b6109ab565b34801561072557600080fd5b50601d5461028b90600160b81b900460ff1681565b606060028054610749906118d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610775906118d9565b80156107c25780601f10610797576101008083540402835291602001916107c2565b820191906000526020600020905b8154815290600101906020018083116107a557829003601f168201915b5050505050905090565b60006107d9338484610a95565b5060015b92915050565b60006107f0848484610bb9565b50610843843361083e85604051806060016040528060288152602001611ac0602891396001600160a01b038a166000908152600760209081526040808320338452909152902054919061101d565b610a95565b5060015b9392505050565b3360008181526007602090815260408083206001600160a01b038716845290915281205490916107d991859061083e9086611057565b6000546001600160a01b031633146108b75760405162461bcd60e51b81526004016108ae90611913565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461092b5760405162461bcd60e51b81526004016108ae90611913565b601854601955601d805460ff60b81b19169055565b606060038054610749906118d9565b60006107d9338461083e85604051806060016040528060258152602001611ae8602591393360009081526007602090815260408083206001600160a01b038d168452909152902054919061101d565b6000610843338484610bb9565b6000546001600160a01b031633146109d55760405162461bcd60e51b81526004016108ae90611913565b6001600160a01b038116610a3a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108ae565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610af75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108ae565b6001600160a01b038216610b585760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108ae565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610c1f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108ae565b6001600160a01b038316610c815760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108ae565b601d54600160a01b900460ff1615610ca557610c9e8484846110b6565b9050610847565b6001600160a01b0384166000908152600a602052604090205460ff16158015610ce757506001600160a01b0383166000908152600a602052604090205460ff16155b15610d4f57601954821115610d4f5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016108ae565b30600090815260066020526040902054601b5481108015908190610d7d5750601d54600160a01b900460ff16155b8015610da157506001600160a01b0385166000908152600b602052604090205460ff165b8015610db65750601d54600160a81b900460ff165b8015610ddb57506001600160a01b03861660009081526008602052604090205460ff16155b8015610de85750601b5484115b15610e0e57601d54600160b01b900460ff1615610e0557601b5491505b610e0e8261119c565b6001600160a01b03861660009081526008602052604081205460ff1680610e4d57506001600160a01b03861660009081526008602052604090205460ff165b610e6157610e5c8787876112d7565b610e63565b845b601d54909150600160b81b900460ff168015610e9857506001600160a01b03861660009081526009602052604090205460ff16155b15610ed457601a54610ec982610ec3896001600160a01b031660009081526006602052604090205490565b90611057565b1115610ed457600080fd5b601d54600090600160b81b900460ff16158015610f0957506001600160a01b03881660009081526008602052604090205460ff165b610f135785610f1d565b610f1d86836113d9565b9050610f858160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008c6001600160a01b03166001600160a01b031681526020019081526020016000205461101d9092919063ffffffff16565b6001600160a01b03808a166000908152600660205260408082209390935590891681522054610fb49083611057565b6001600160a01b0380891660008181526006602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110089086815260200190565b60405180910390a36001945050505050610847565b600081848411156110415760405162461bcd60e51b81526004016108ae91906117b0565b50600061104e848661195e565b95945050505050565b6000806110648385611971565b9050838110156108475760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108ae565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461110791849061101d565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546111369083611057565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061118a9086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b1790556017546012546000916111d2916002916111cc918290879061141b565b9061149d565b905060006111e083836113d9565b90506111eb816114df565b601254479060009061120b9061120290600261149d565b601754906113d9565b9050600061122d60026111cc846111cc6012548861141b90919063ffffffff16565b9050600061124a836111cc6014548761141b90919063ffffffff16565b905060006112628261125c87866113d9565b906113d9565b90508015611285576004546112859061010090046001600160a01b031682611672565b81156112a1576005546112a1906001600160a01b031683611672565b6000831180156112b15750600087115b156112c0576112c087846116ad565b5050601d805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff161561131b5761131460646111cc6015548661141b90919063ffffffff16565b9050611359565b6001600160a01b0384166000908152600b602052604090205460ff16156113595761135660646111cc6016548661141b90919063ffffffff16565b90505b80156113d357306000908152600660205260409020546113799082611057565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113ca9085815260200190565b60405180910390a35b61104e83825b600061084783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061101d565b60008260000361142d575060006107dd565b60006114398385611984565b905082611446858361199b565b146108475760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108ae565b600061084783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611782565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611514576115146119bd565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561156d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159191906119d3565b816001815181106115a4576115a46119bd565b6001600160a01b039283166020918202929092010152601c546115ca9130911684610a95565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611603908590600090869030904290600401611a34565b600060405180830381600087803b15801561161d57600080fd5b505af1158015611631573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611666929190611a70565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116a8573d6000803e3d6000fd5b505050565b601c546116c59030906001600160a01b031684610a95565b601c546001600160a01b031663f305d7198230856000806116ee6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611756573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061177b9190611a91565b5050505050565b600081836117a35760405162461bcd60e51b81526004016108ae91906117b0565b50600061104e848661199b565b600060208083528351808285015260005b818110156117dd578581018301518582016040015282016117c1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461181357600080fd5b50565b6000806040838503121561182957600080fd5b8235611834816117fe565b946020939093013593505050565b60008060006060848603121561185757600080fd5b8335611862816117fe565b92506020840135611872816117fe565b929592945050506040919091013590565b60006020828403121561189557600080fd5b8135610847816117fe565b600080604083850312156118b357600080fd5b82356118be816117fe565b915060208301356118ce816117fe565b809150509250929050565b600181811c908216806118ed57607f821691505b60208210810361190d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156107dd576107dd611948565b808201808211156107dd576107dd611948565b80820281158282048414176107dd576107dd611948565b6000826119b857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119e557600080fd5b8151610847816117fe565b600081518084526020808501945080840160005b83811015611a295781516001600160a01b031687529582019590820190600101611a04565b509495945050505050565b85815284602082015260a060408201526000611a5360a08301866119f0565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000611a8960408301846119f0565b949350505050565b600080600060608486031215611aa657600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201e41bf1548df6dd7204128ad86761c40c34d49964ce7f7ecde82b0bdde736e2864736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102345760003560e01c806370a082311161012e578063a457c2d7116100ab578063dbe66ca01161006f578063dbe66ca014610653578063dd62ed3e14610683578063efe13636146106c9578063f2fde38b146106f9578063f872858a1461071957600080fd5b8063a457c2d7146105bc578063a9059cbb146105dc578063c816841b146105fc578063d76e26a31461061c578063da00097d1461063257600080fd5b8063807c2d9c116100f2578063807c2d9c146105475780638da5cb5b1461055d57806395d89b411461057b5780639e3fa32314610590578063a08e671f146105a657600080fd5b806370a08231146104b9578063715018a6146104ef57806372edcc6514610506578063751039fc1461051c5780637d1db4a51461053157600080fd5b8063313ce567116101bc57806351183af71161018057806351183af71461043157806355324fa914610447578063565cec3814610477578063646d47001461048d578063661b6e36146104a357600080fd5b8063313ce5671461038857806339509351146103aa578063466caef2146103ca5780634a728e24146103fa5780634a74bb021461041057600080fd5b806323b872dd1161020357806323b872dd146102f257806327c8f835146103125780632bae0d32146103465780632ee035061461035c5780632f0a5fd41461037257600080fd5b806306fdde0314610240578063095ea7b31461026b5780631694505e1461029b57806318160ddd146102d357600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025561073a565b60405161026291906117b0565b60405180910390f35b34801561027757600080fd5b5061028b610286366004611816565b6107cc565b6040519015158152602001610262565b3480156102a757600080fd5b50601c546102bb906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b3480156102df57600080fd5b506018545b604051908152602001610262565b3480156102fe57600080fd5b5061028b61030d366004611842565b6107e3565b34801561031e57600080fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000dead81565b34801561035257600080fd5b506102e4600c5481565b34801561036857600080fd5b506102e4600d5481565b34801561037e57600080fd5b506102e4600f5481565b34801561039457600080fd5b5060045460405160ff9091168152602001610262565b3480156103b657600080fd5b5061028b6103c5366004611816565b61084e565b3480156103d657600080fd5b5061028b6103e5366004611883565b60096020526000908152604090205460ff1681565b34801561040657600080fd5b506102e4600e5481565b34801561041c57600080fd5b50601d5461028b90600160a81b900460ff1681565b34801561043d57600080fd5b506102e460155481565b34801561045357600080fd5b5061028b610462366004611883565b600b6020526000908152604090205460ff1681565b34801561048357600080fd5b506102e460135481565b34801561049957600080fd5b506102e460115481565b3480156104af57600080fd5b506102e460105481565b3480156104c557600080fd5b506102e46104d4366004611883565b6001600160a01b031660009081526006602052604090205490565b3480156104fb57600080fd5b50610504610884565b005b34801561051257600080fd5b506102e460165481565b34801561052857600080fd5b50610504610901565b34801561053d57600080fd5b506102e460195481565b34801561055357600080fd5b506102e4601a5481565b34801561056957600080fd5b506000546001600160a01b03166102bb565b34801561058757600080fd5b50610255610940565b34801561059c57600080fd5b506102e460125481565b3480156105b257600080fd5b506102e460175481565b3480156105c857600080fd5b5061028b6105d7366004611816565b61094f565b3480156105e857600080fd5b5061028b6105f7366004611816565b61099e565b34801561060857600080fd5b50601d546102bb906001600160a01b031681565b34801561062857600080fd5b506102e460145481565b34801561063e57600080fd5b50601d5461028b90600160b01b900460ff1681565b34801561065f57600080fd5b5061028b61066e366004611883565b60086020526000908152604090205460ff1681565b34801561068f57600080fd5b506102e461069e3660046118a0565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156106d557600080fd5b5061028b6106e4366004611883565b600a6020526000908152604090205460ff1681565b34801561070557600080fd5b50610504610714366004611883565b6109ab565b34801561072557600080fd5b50601d5461028b90600160b81b900460ff1681565b606060028054610749906118d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610775906118d9565b80156107c25780601f10610797576101008083540402835291602001916107c2565b820191906000526020600020905b8154815290600101906020018083116107a557829003601f168201915b5050505050905090565b60006107d9338484610a95565b5060015b92915050565b60006107f0848484610bb9565b50610843843361083e85604051806060016040528060288152602001611ac0602891396001600160a01b038a166000908152600760209081526040808320338452909152902054919061101d565b610a95565b5060015b9392505050565b3360008181526007602090815260408083206001600160a01b038716845290915281205490916107d991859061083e9086611057565b6000546001600160a01b031633146108b75760405162461bcd60e51b81526004016108ae90611913565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461092b5760405162461bcd60e51b81526004016108ae90611913565b601854601955601d805460ff60b81b19169055565b606060038054610749906118d9565b60006107d9338461083e85604051806060016040528060258152602001611ae8602591393360009081526007602090815260408083206001600160a01b038d168452909152902054919061101d565b6000610843338484610bb9565b6000546001600160a01b031633146109d55760405162461bcd60e51b81526004016108ae90611913565b6001600160a01b038116610a3a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108ae565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610af75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108ae565b6001600160a01b038216610b585760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108ae565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610c1f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108ae565b6001600160a01b038316610c815760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108ae565b601d54600160a01b900460ff1615610ca557610c9e8484846110b6565b9050610847565b6001600160a01b0384166000908152600a602052604090205460ff16158015610ce757506001600160a01b0383166000908152600a602052604090205460ff16155b15610d4f57601954821115610d4f5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016108ae565b30600090815260066020526040902054601b5481108015908190610d7d5750601d54600160a01b900460ff16155b8015610da157506001600160a01b0385166000908152600b602052604090205460ff165b8015610db65750601d54600160a81b900460ff165b8015610ddb57506001600160a01b03861660009081526008602052604090205460ff16155b8015610de85750601b5484115b15610e0e57601d54600160b01b900460ff1615610e0557601b5491505b610e0e8261119c565b6001600160a01b03861660009081526008602052604081205460ff1680610e4d57506001600160a01b03861660009081526008602052604090205460ff165b610e6157610e5c8787876112d7565b610e63565b845b601d54909150600160b81b900460ff168015610e9857506001600160a01b03861660009081526009602052604090205460ff16155b15610ed457601a54610ec982610ec3896001600160a01b031660009081526006602052604090205490565b90611057565b1115610ed457600080fd5b601d54600090600160b81b900460ff16158015610f0957506001600160a01b03881660009081526008602052604090205460ff165b610f135785610f1d565b610f1d86836113d9565b9050610f858160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008c6001600160a01b03166001600160a01b031681526020019081526020016000205461101d9092919063ffffffff16565b6001600160a01b03808a166000908152600660205260408082209390935590891681522054610fb49083611057565b6001600160a01b0380891660008181526006602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110089086815260200190565b60405180910390a36001945050505050610847565b600081848411156110415760405162461bcd60e51b81526004016108ae91906117b0565b50600061104e848661195e565b95945050505050565b6000806110648385611971565b9050838110156108475760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108ae565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461110791849061101d565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546111369083611057565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061118a9086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b1790556017546012546000916111d2916002916111cc918290879061141b565b9061149d565b905060006111e083836113d9565b90506111eb816114df565b601254479060009061120b9061120290600261149d565b601754906113d9565b9050600061122d60026111cc846111cc6012548861141b90919063ffffffff16565b9050600061124a836111cc6014548761141b90919063ffffffff16565b905060006112628261125c87866113d9565b906113d9565b90508015611285576004546112859061010090046001600160a01b031682611672565b81156112a1576005546112a1906001600160a01b031683611672565b6000831180156112b15750600087115b156112c0576112c087846116ad565b5050601d805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff161561131b5761131460646111cc6015548661141b90919063ffffffff16565b9050611359565b6001600160a01b0384166000908152600b602052604090205460ff16156113595761135660646111cc6016548661141b90919063ffffffff16565b90505b80156113d357306000908152600660205260409020546113799082611057565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113ca9085815260200190565b60405180910390a35b61104e83825b600061084783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061101d565b60008260000361142d575060006107dd565b60006114398385611984565b905082611446858361199b565b146108475760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108ae565b600061084783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611782565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611514576115146119bd565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561156d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159191906119d3565b816001815181106115a4576115a46119bd565b6001600160a01b039283166020918202929092010152601c546115ca9130911684610a95565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611603908590600090869030904290600401611a34565b600060405180830381600087803b15801561161d57600080fd5b505af1158015611631573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611666929190611a70565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116a8573d6000803e3d6000fd5b505050565b601c546116c59030906001600160a01b031684610a95565b601c546001600160a01b031663f305d7198230856000806116ee6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611756573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061177b9190611a91565b5050505050565b600081836117a35760405162461bcd60e51b81526004016108ae91906117b0565b50600061104e848661199b565b600060208083528351808285015260005b818110156117dd578581018301518582016040015282016117c1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461181357600080fd5b50565b6000806040838503121561182957600080fd5b8235611834816117fe565b946020939093013593505050565b60008060006060848603121561185757600080fd5b8335611862816117fe565b92506020840135611872816117fe565b929592945050506040919091013590565b60006020828403121561189557600080fd5b8135610847816117fe565b600080604083850312156118b357600080fd5b82356118be816117fe565b915060208301356118ce816117fe565b809150509250929050565b600181811c908216806118ed57607f821691505b60208210810361190d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156107dd576107dd611948565b808201808211156107dd576107dd611948565b80820281158282048414176107dd576107dd611948565b6000826119b857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119e557600080fd5b8151610847816117fe565b600081518084526020808501945080840160005b83811015611a295781516001600160a01b031687529582019590820190600101611a04565b509495945050505050565b85815284602082015260a060408201526000611a5360a08301866119f0565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000611a8960408301846119f0565b949350505050565b600080600060608486031215611aa657600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201e41bf1548df6dd7204128ad86761c40c34d49964ce7f7ecde82b0bdde736e2864736f6c63430008130033

Deployed Bytecode Sourcemap

12113:11353:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15801:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16967:161;;;;;;;;;;-1:-1:-1;16967:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;16967:161:0;1023:187:1;13709:41:0;;;;;;;;;;-1:-1:-1;13709:41:0;;;;-1:-1:-1;;;;;13709:41:0;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;13709:41:0;1215:230:1;16078:100:0;;;;;;;;;;-1:-1:-1;16158:12:0;;16078:100;;;1596:25:1;;;1584:2;1569:18;16078:100:0;1450:177:1;19165:313:0;;;;;;;;;;-1:-1:-1;19165:313:0;;;;;:::i;:::-;;:::i;12538:81::-;;;;;;;;;;;;;;;12982:29;;;;;;;;;;;;;;;;13018:30;;;;;;;;;;;;;;;;13092:37;;;;;;;;;;;;;;;;15987:83;;;;;;;;;;-1:-1:-1;16053:9:0;;15987:83;;16053:9;;;;2443:36:1;;2431:2;2416:18;15987:83:0;2301:184:1;16464:218:0;;;;;;;;;;-1:-1:-1;16464:218:0;;;;;:::i;:::-;;:::i;12815:50::-;;;;;;;;;;-1:-1:-1;12815:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13055:30;;;;;;;;;;;;;;;;13824:40;;;;;;;;;;-1:-1:-1;13824:40:0;;;;-1:-1:-1;;;13824:40:0;;;;;;13359:29;;;;;;;;;;;;;;;;12925:48;;;;;;;;;;-1:-1:-1;12925:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13270:36;;;;;;;;;;;;;;;;13180:39;;;;;;;;;;;;;;;;13136:37;;;;;;;;;;;;;;;;16186:119;;;;;;;;;;-1:-1:-1;16186:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;16279:18:0;16252:7;16279:18;;;:9;:18;;;;;;;16186:119;3960:148;;;;;;;;;;;;;:::i;:::-;;13395:30;;;;;;;;;;;;;;;;17715:124;;;;;;;;;;;;;:::i;13536:47::-;;;;;;;;;;;;;;;;13590:45;;;;;;;;;;;;;;;;3735:79;;;;;;;;;;-1:-1:-1;3773:7:0;3800:6;-1:-1:-1;;;;;3800:6:0;3735:79;;15892:87;;;;;;;;;;;;;:::i;13228:35::-;;;;;;;;;;;;;;;;13432:44;;;;;;;;;;;;;;;;16690:269;;;;;;;;;;-1:-1:-1;16690:269:0;;;;;:::i;:::-;;:::i;18990:167::-;;;;;;;;;;-1:-1:-1;18990:167:0;;;;;:::i;:::-;;:::i;13757:26::-;;;;;;;;;;-1:-1:-1;13757:26:0;;;;-1:-1:-1;;;;;13757:26:0;;;13313:37;;;;;;;;;;;;;;;;13871:45;;;;;;;;;;-1:-1:-1;13871:45:0;;;;-1:-1:-1;;;13871:45:0;;;;;;12759:49;;;;;;;;;;-1:-1:-1;12759:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16313:143;;;;;;;;;;-1:-1:-1;16313:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16421:18:0;;;16394:7;16421:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16313:143;12872:46;;;;;;;;;;-1:-1:-1;12872:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4116:244;;;;;;;;;;-1:-1:-1;4116:244:0;;;;;:::i;:::-;;:::i;13923:35::-;;;;;;;;;;-1:-1:-1;13923:35:0;;;;-1:-1:-1;;;13923:35:0;;;;;;15801:83;15838:13;15871:5;15864:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15801:83;:::o;16967:161::-;17042:4;17059:39;398:10;17082:7;17091:6;17059:8;:39::i;:::-;-1:-1:-1;17116:4:0;16967:161;;;;;:::o;19165:313::-;19263:4;19280:36;19290:6;19298:9;19309:6;19280:9;:36::i;:::-;-1:-1:-1;19327:121:0;19336:6;398:10;19358:89;19396:6;19358:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19358:19:0;;;;;;:11;:19;;;;;;;;398:10;19358:33;;;;;;;;;;:37;:89::i;:::-;19327:8;:121::i;:::-;-1:-1:-1;19466:4:0;19165:313;;;;;;:::o;16464:218::-;398:10;16552:4;16601:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16601:34:0;;;;;;;;;;16552:4;;16569:83;;16592:7;;16601:50;;16640:10;16601:38;:50::i;3960:148::-;3869:6;;-1:-1:-1;;;;;3869:6:0;398:10;3869:22;3861:67;;;;-1:-1:-1;;;3861:67:0;;;;;;;:::i;:::-;;;;;;;;;4067:1:::1;4051:6:::0;;4030:40:::1;::::0;-1:-1:-1;;;;;4051:6:0;;::::1;::::0;4030:40:::1;::::0;4067:1;;4030:40:::1;4098:1;4081:19:::0;;-1:-1:-1;;;;;;4081:19:0::1;::::0;;3960:148::o;17715:124::-;3869:6;;-1:-1:-1;;;;;3869:6:0;398:10;3869:22;3861:67;;;;-1:-1:-1;;;3861:67:0;;;;;;;:::i;:::-;17784:12:::1;::::0;17769::::1;:27:::0;17807:16:::1;:24:::0;;-1:-1:-1;;;;17807:24:0::1;::::0;;17715:124::o;15892:87::-;15931:13;15964:7;15957:14;;;;;:::i;16690:269::-;16783:4;16800:129;398:10;16823:7;16832:96;16871:15;16832:96;;;;;;;;;;;;;;;;;398:10;16832:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16832:34:0;;;;;;;;;;;;:38;:96::i;18990:167::-;19068:4;19085:42;398:10;19109:9;19120:6;19085:9;:42::i;4116:244::-;3869:6;;-1:-1:-1;;;;;3869:6:0;398:10;3869:22;3861:67;;;;-1:-1:-1;;;3861:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4205:22:0;::::1;4197:73;;;::::0;-1:-1:-1;;;4197:73:0;;4083:2:1;4197:73:0::1;::::0;::::1;4065:21:1::0;4122:2;4102:18;;;4095:30;4161:34;4141:18;;;4134:62;-1:-1:-1;;;4212:18:1;;;4205:36;4258:19;;4197:73:0::1;3881:402:1::0;4197:73:0::1;4307:6;::::0;;4286:38:::1;::::0;-1:-1:-1;;;;;4286:38:0;;::::1;::::0;4307:6;::::1;::::0;4286:38:::1;::::0;::::1;4335:6;:17:::0;;-1:-1:-1;;;;;;4335:17:0::1;-1:-1:-1::0;;;;;4335:17:0;;;::::1;::::0;;;::::1;::::0;;4116:244::o;17136:337::-;-1:-1:-1;;;;;17229:19:0;;17221:68;;;;-1:-1:-1;;;17221:68:0;;4490:2:1;17221:68:0;;;4472:21:1;4529:2;4509:18;;;4502:30;4568:34;4548:18;;;4541:62;-1:-1:-1;;;4619:18:1;;;4612:34;4663:19;;17221:68:0;4288:400:1;17221:68:0;-1:-1:-1;;;;;17308:21:0;;17300:68;;;;-1:-1:-1;;;17300:68:0;;4895:2:1;17300:68:0;;;4877:21:1;4934:2;4914:18;;;4907:30;4973:34;4953:18;;;4946:62;-1:-1:-1;;;5024:18:1;;;5017:32;5066:19;;17300:68:0;4693:398:1;17300:68:0;-1:-1:-1;;;;;17381:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17433:32;;1596:25:1;;;17433:32:0;;1569:18:1;17433:32:0;;;;;;;17136:337;;;:::o;19486:1885::-;19573:4;-1:-1:-1;;;;;19600:20:0;;19592:70;;;;-1:-1:-1;;;19592:70:0;;5298:2:1;19592:70:0;;;5280:21:1;5337:2;5317:18;;;5310:30;5376:34;5356:18;;;5349:62;-1:-1:-1;;;5427:18:1;;;5420:35;5472:19;;19592:70:0;5096:401:1;19592:70:0;-1:-1:-1;;;;;19681:23:0;;19673:71;;;;-1:-1:-1;;;19673:71:0;;5704:2:1;19673:71:0;;;5686:21:1;5743:2;5723:18;;;5716:30;5782:34;5762:18;;;5755:62;-1:-1:-1;;;5833:18:1;;;5826:33;5876:19;;19673:71:0;5502:399:1;19673:71:0;19760:16;;-1:-1:-1;;;19760:16:0;;;;19757:1607;;;19810:41;19825:6;19833:9;19844:6;19810:14;:41::i;:::-;19803:48;;;;19757:1607;-1:-1:-1;;;;;19907:21:0;;;;;;:13;:21;;;;;;;;19906:22;:51;;;;-1:-1:-1;;;;;;19933:24:0;;;;;;:13;:24;;;;;;;;19932:25;19906:51;19903:166;;;19996:12;;19986:6;:22;;19978:75;;;;-1:-1:-1;;;19978:75:0;;6108:2:1;19978:75:0;;;6090:21:1;6147:2;6127:18;;;6120:30;6186:34;6166:18;;;6159:62;-1:-1:-1;;;6237:18:1;;;6230:38;6285:19;;19978:75:0;5906:404:1;19978:75:0;20146:4;20097:28;16279:18;;;:9;:18;;;;;;20222:23;;20198:47;;;;;;;20278:44;;-1:-1:-1;20306:16:0;;-1:-1:-1;;;20306:16:0;;;;20305:17;20278:44;:74;;;;-1:-1:-1;;;;;;20326:26:0;;;;;;:15;:26;;;;;;;;20278:74;:99;;;;-1:-1:-1;20356:21:0;;-1:-1:-1;;;20356:21:0;;;;20278:99;:128;;;;-1:-1:-1;;;;;;20382:24:0;;;;;;:16;:24;;;;;;;;20381:25;20278:128;:164;;;;;20419:23;;20410:6;:32;20278:164;20274:375;;;20480:25;;-1:-1:-1;;;20480:25:0;;;;20477:97;;;20551:23;;20528:46;;20477:97;20593:36;20608:20;20593:14;:36::i;:::-;-1:-1:-1;;;;;20690:24:0;;20667:19;20690:24;;;:16;:24;;;;;;;;;:55;;-1:-1:-1;;;;;;20718:27:0;;;;;;:16;:27;;;;;;;;20690:55;20689:146;;20801:34;20809:6;20817:9;20828:6;20801:7;:34::i;:::-;20689:146;;;20792:6;20689:146;20855:16;;20667:168;;-1:-1:-1;;;;20855:16:0;;;;:49;;;;-1:-1:-1;;;;;;20876:28:0;;;;;;:17;:28;;;;;;;;20875:29;20855:49;20852:131;;;20972:10;;20931:37;20956:11;20931:20;20941:9;-1:-1:-1;;;;;16279:18:0;16252:7;16279:18;;;:9;:18;;;;;;;16186:119;20931:20;:24;;:37::i;:::-;:51;;20923:60;;;;;;21020:16;;21000:15;;-1:-1:-1;;;21020:16:0;;;;21019:17;:45;;;;-1:-1:-1;;;;;;21040:24:0;;;;;;:16;:24;;;;;;;;21019:45;21018:82;;21094:6;21018:82;;;21068:23;:6;21079:11;21068:10;:23::i;:::-;21000:100;;21135:54;21157:7;21135:54;;;;;;;;;;;;;-1:-1:-1;;;21135:54:0;;;:9;:17;21145:6;-1:-1:-1;;;;;21135:17:0;-1:-1:-1;;;;;21135:17:0;;;;;;;;;;;;;:21;;:54;;;;;:::i;:::-;-1:-1:-1;;;;;21115:17:0;;;;;;;:9;:17;;;;;;:74;;;;21227:20;;;;;;;:37;;21252:11;21227:24;:37::i;:::-;-1:-1:-1;;;;;21204:20:0;;;;;;;:9;:20;;;;;;;:60;;;;21286:40;;;;;;;;;;21314:11;1596:25:1;;1584:2;1569:18;;1450:177;21286:40:0;;;;;;;;21348:4;21341:11;;;;;;;;9652:192;9738:7;9774:12;9766:6;;;;9758:29;;;;-1:-1:-1;;;9758:29:0;;;;;;;;:::i;:::-;-1:-1:-1;9798:9:0;9810:5;9814:1;9810;:5;:::i;:::-;9798:17;9652:192;-1:-1:-1;;;;;9652:192:0:o;9319:181::-;9377:7;;9409:5;9413:1;9409;:5;:::i;:::-;9397:17;;9438:1;9433;:6;;9425:46;;;;-1:-1:-1;;;9425:46:0;;6912:2:1;9425:46:0;;;6894:21:1;6951:2;6931:18;;;6924:30;6990:29;6970:18;;;6963:57;7037:18;;9425:46:0;6710:351:1;21379:330:0;21509:53;;;;;;;;;;;-1:-1:-1;;;21509:53:0;;;;;;;;-1:-1:-1;;;;;21509:17:0;;21472:4;21509:17;;;:9;:17;;;;;;;:53;;21531:6;;21509:21;:53::i;:::-;-1:-1:-1;;;;;21489:17:0;;;;;;;:9;:17;;;;;;:73;;;;21596:20;;;;;;;:32;;21621:6;21596:24;:32::i;:::-;-1:-1:-1;;;;;21573:20:0;;;;;;;:9;:20;;;;;;;:55;;;;21644:35;;;;;;;;;;21672:6;1596:25:1;;1584:2;1569:18;;1450:177;21644:35:0;;;;;;;;-1:-1:-1;21697:4:0;21379:330;;;;;:::o;21717:1068::-;14381:16;:23;;-1:-1:-1;;;;14381:23:0;-1:-1:-1;;;14381:23:0;;;21855:24:::1;::::0;21833:16:::1;::::0;14381:23;;21821:66:::1;::::0;21885:1:::1;::::0;21821:59:::1;::::0;;;:7;;:11:::1;:29::i;:::-;:33:::0;::::1;:59::i;:66::-;21799:88:::0;-1:-1:-1;21898:21:0::1;21922:24;:7:::0;21799:88;21922:11:::1;:24::i;:::-;21898:48;;21959:31;21976:13;21959:16;:31::i;:::-;22111:16;::::0;22026:21:::1;::::0;22001:22:::1;::::0;22082:53:::1;::::0;22111:23:::1;::::0;22132:1:::1;22111:20;:23::i;:::-;22082:24;::::0;;:28:::1;:53::i;:::-;22060:75;;22156:26;22185:60;22243:1;22185:53;22226:11;22185:36;22204:16;;22185:14;:18;;:36;;;;:::i;:60::-;22156:89;;22256:28;22287:55;22330:11;22287:38;22306:18;;22287:14;:18;;:38;;;;:::i;:55::-;22256:86:::0;-1:-1:-1;22353:26:0::1;22382:64;22256:86:::0;22382:38:::1;:14:::0;22401:18;22382::::1;:38::i;:::-;:42:::0;::::1;:64::i;:::-;22353:93:::0;-1:-1:-1;22462:22:0;;22459:92:::1;;22520:10;::::0;22499:52:::1;::::0;22520:10:::1;::::0;::::1;-1:-1:-1::0;;;;;22520:10:0::1;22532:18:::0;22499:20:::1;:52::i;:::-;22567:24:::0;;22564:96:::1;;22627:10;::::0;22606:54:::1;::::0;-1:-1:-1;;;;;22627:10:0::1;22639:20:::0;22606::::1;:54::i;:::-;22697:1;22676:18;:22;:41;;;;;22716:1;22702:11;:15;22676:41;22673:104;;;22732:45;22745:11;22758:18;22732:12;:45::i;:::-;-1:-1:-1::0;;14427:16:0;:24;;-1:-1:-1;;;;14427:24:0;;;-1:-1:-1;;;;;;21717:1068:0:o;18368:614::-;-1:-1:-1;;;;;18529:23:0;;18454:7;18529:23;;;:15;:23;;;;;;18454:7;;18529:23;;18526:215;;;18581:31;18608:3;18581:22;18592:10;;18581:6;:10;;:22;;;;:::i;:31::-;18569:43;;18526:215;;;-1:-1:-1;;;;;18642:26:0;;;;;;:15;:26;;;;;;;;18639:102;;;18697:32;18725:3;18697:23;18708:11;;18697:6;:10;;:23;;;;:::i;:32::-;18685:44;;18639:102;18764:13;;18761:173;;18839:4;18821:24;;;;:9;:24;;;;;;:39;;18850:9;18821:28;:39::i;:::-;18812:4;18794:24;;;;:9;:24;;;;;;;:66;;;;18880:42;;-1:-1:-1;;;;;18880:42:0;;;;;;;18912:9;1596:25:1;;1584:2;1569:18;;1450:177;18880:42:0;;;;;;;;18761:173;18953:21;:6;18964:9;9508:136;9566:7;9593:43;9597:1;9600;9593:43;;;;;;;;;;;;;;;;;:3;:43::i;9852:250::-;9910:7;9934:1;9939;9934:6;9930:47;;-1:-1:-1;9964:1:0;9957:8;;9930:47;9989:9;10001:5;10005:1;10001;:5;:::i;:::-;9989:17;-1:-1:-1;10034:1:0;10025:5;10029:1;9989:17;10025:5;:::i;:::-;:10;10017:56;;;;-1:-1:-1;;;10017:56:0;;7663:2:1;10017:56:0;;;7645:21:1;7702:2;7682:18;;;7675:30;7741:34;7721:18;;;7714:62;-1:-1:-1;;;7792:18:1;;;7785:31;7833:19;;10017:56:0;7461:397:1;10110:132:0;10168:7;10195:39;10199:1;10202;10195:39;;;;;;;;;;;;;;;;;:3;:39::i;22797:666::-;22947:16;;;22961:1;22947:16;;;;;;;;22923:21;;22947:16;;;;;;;;;;-1:-1:-1;22947:16:0;22923:40;;22992:4;22974;22979:1;22974:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22974:23:0;;;:7;;;;;;;;;;:23;;;;23018:15;;:22;;;-1:-1:-1;;;23018:22:0;;;;:15;;;;;:20;;:22;;;;;22974:7;;23018:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23008:4;23013:1;23008:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23008:32:0;;;:7;;;;;;;;;:32;23085:15;;23053:62;;23070:4;;23085:15;23103:11;23053:8;:62::i;:::-;23154:15;;:240;;-1:-1:-1;;;23154:240:0;;-1:-1:-1;;;;;23154:15:0;;;;:66;;:240;;23235:11;;23154:15;;23305:4;;23332;;23368:15;;23154:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23420:35;23437:11;23450:4;23420:35;;;;;;;:::i;:::-;;;;;;;;22852:611;22797:666;:::o;17481:126::-;17573:26;;-1:-1:-1;;;;;17573:18:0;;;:26;;;;;17592:6;;17573:26;;;;17592:6;17573:18;:26;;;;;;;;;;;;;;;;;;;;;17481:126;;:::o;17847:513::-;18027:15;;17995:62;;18012:4;;-1:-1:-1;;;;;18027:15:0;18045:11;17995:8;:62::i;:::-;18100:15;;-1:-1:-1;;;;;18100:15:0;:31;18139:9;18172:4;18192:11;18100:15;;18304:7;3773;3800:6;-1:-1:-1;;;;;3800:6:0;;3735:79;18304:7;18100:252;;;;;;-1:-1:-1;;;;;;18100:252:0;;;-1:-1:-1;;;;;10132:15:1;;;18100:252:0;;;10114:34:1;10164:18;;;10157:34;;;;10207:18;;;10200:34;;;;10250:18;;;10243:34;10314:15;;;10293:19;;;10286:44;18326:15:0;10346:19:1;;;10339:35;10048:19;;18100:252:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17847:513;;:::o;10250:278::-;10336:7;10371:12;10364:5;10356:28;;;;-1:-1:-1;;;10356:28:0;;;;;;;;:::i;:::-;-1:-1:-1;10395:9:0;10407:5;10411:1;10407;:5;:::i;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;2490:247::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;2742:388::-;2810:6;2818;2871:2;2859:9;2850:7;2846:23;2842:32;2839:52;;;2887:1;2884;2877:12;2839:52;2926:9;2913:23;2945:31;2970:5;2945:31;:::i;:::-;2995:5;-1:-1:-1;3052:2:1;3037:18;;3024:32;3065:33;3024:32;3065:33;:::i;:::-;3117:7;3107:17;;;2742:388;;;;;:::o;3135:380::-;3214:1;3210:12;;;;3257;;;3278:61;;3332:4;3324:6;3320:17;3310:27;;3278:61;3385:2;3377:6;3374:14;3354:18;3351:38;3348:161;;3431:10;3426:3;3422:20;3419:1;3412:31;3466:4;3463:1;3456:15;3494:4;3491:1;3484:15;3348:161;;3135:380;;;:::o;3520:356::-;3722:2;3704:21;;;3741:18;;;3734:30;3800:34;3795:2;3780:18;;3773:62;3867:2;3852:18;;3520:356::o;6315:127::-;6376:10;6371:3;6367:20;6364:1;6357:31;6407:4;6404:1;6397:15;6431:4;6428:1;6421:15;6447:128;6514:9;;;6535:11;;;6532:37;;;6549:18;;:::i;6580:125::-;6645:9;;;6666:10;;;6663:36;;;6679:18;;:::i;7066:168::-;7139:9;;;7170;;7187:15;;;7181:22;;7167:37;7157:71;;7208:18;;:::i;7239:217::-;7279:1;7305;7295:132;;7349:10;7344:3;7340:20;7337:1;7330:31;7384:4;7381:1;7374:15;7412:4;7409:1;7402:15;7295:132;-1:-1:-1;7441:9:1;;7239:217::o;7995:127::-;8056:10;8051:3;8047:20;8044:1;8037:31;8087:4;8084:1;8077:15;8111:4;8108:1;8101:15;8127:251;8197:6;8250:2;8238:9;8229:7;8225:23;8221:32;8218:52;;;8266:1;8263;8256:12;8218:52;8298:9;8292:16;8317:31;8342:5;8317:31;:::i;8383:461::-;8436:3;8474:5;8468:12;8501:6;8496:3;8489:19;8527:4;8556:2;8551:3;8547:12;8540:19;;8593:2;8586:5;8582:14;8614:1;8624:195;8638:6;8635:1;8632:13;8624:195;;;8703:13;;-1:-1:-1;;;;;8699:39:1;8687:52;;8759:12;;;;8794:15;;;;8735:1;8653:9;8624:195;;;-1:-1:-1;8835:3:1;;8383:461;-1:-1:-1;;;;;8383:461:1:o;8849:582::-;9148:6;9137:9;9130:25;9191:6;9186:2;9175:9;9171:18;9164:34;9234:3;9229:2;9218:9;9214:18;9207:31;9111:4;9255:57;9307:3;9296:9;9292:19;9284:6;9255:57;:::i;:::-;-1:-1:-1;;;;;9348:32:1;;;;9343:2;9328:18;;9321:60;-1:-1:-1;9412:3:1;9397:19;9390:35;9247:65;8849:582;-1:-1:-1;;;8849:582:1:o;9436:332::-;9643:6;9632:9;9625:25;9686:2;9681;9670:9;9666:18;9659:30;9606:4;9706:56;9758:2;9747:9;9743:18;9735:6;9706:56;:::i;:::-;9698:64;9436:332;-1:-1:-1;;;;9436:332:1:o;10385:306::-;10473:6;10481;10489;10542:2;10530:9;10521:7;10517:23;10513:32;10510:52;;;10558:1;10555;10548:12;10510:52;10587:9;10581:16;10571:26;;10637:2;10626:9;10622:18;10616:25;10606:35;;10681:2;10670:9;10666:18;10660:25;10650:35;;10385:306;;;;;:::o

Swarm Source

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