ETH Price: $3,088.18 (-0.01%)
Gas: 5 Gwei

Token

That Mother Fucker Is Not Real (TMFINR)
 

Overview

Max Total Supply

5,986,900.194152010478288286 TMFINR

Holders

96

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
26,228.53862806009935498 TMFINR

Value
$0.00
0xb99ff0280c7a2b4ed7865bad9561791ce57d970a
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:
ThatMotherFuckerIsNotReal

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
 *Submitted for verification at Etherscan.io on 2023-
 *Telegram: https://t.co/tdZQZRNlYu
 *Website:  https://tmfinr.wtf
 *Twitter:  https://twitter.com/TMFINR_WTF
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.18;



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 ThatMotherFuckerIsNotReal 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 => bool) private _isBot;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee; 
    address payable public Wallet_Marketing = payable(0x43FB5DD30ABbeefc76Ac938dd03c658B46e7E12A); 
    address payable public Wallet_Dev = payable(0xE3E93Ce5e89a3D54235cAB878BfDa936BBC06DF1);
    address payable public constant Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); 
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private _tTotal =1000000000 * 10**_decimals;
    string private constant _name = "That Mother Fucker Is Not Real"; 
    string private constant _symbol = unicode"TMFINR"; 
    uint8 private txCount = 0;
    uint8 private swapTrigger = 10; 
    uint256 public _Tax_On_Buy = 1;
    uint256 public _Tax_On_Sell = 1;
    uint256 public Percent_Marketing = 70;
    uint256 public Percent_Dev = 0;
    uint256 public Percent_Burn = 10;
    uint256 public Percent_AutoLP = 20; 
    uint256 public _maxWalletToken = _tTotal * 1 / 100;
    uint256 private _previousMaxWalletToken = _maxWalletToken;
    uint256 public _maxTxAmount = _tTotal * 1 / 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 =0xE3E93Ce5e89a3D54235cAB878BfDa936BBC06DF1;
        emit OwnershipTransferred(address(0), _owner);
        _tOwned[owner()] = _tTotal;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[Wallet_Marketing] = true; 
        _isExcludedFromFee[Wallet_Burn] = true;
        emit Transfer(address(0), owner(), _tTotal);
    }

    function setAntibot(address account, bool state) external onlyOwner{
        require(_isBot[account] != state, 'Value already set');
        _isBot[account] = state;
    }
    
    function bulkAntiBot(address[] memory accounts, bool state) external onlyOwner{
        for(uint256 i = 0; i < accounts.length; i++){
            _isBot[accounts[i]] = state;
         }   
     }

     function isBot(address account) public view returns(bool){
        return _isBot[account];
    }
    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 _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 (to != owner() &&
            to != Wallet_Burn &&
            to != address(this) &&
            to != uniswapV2Pair &&
            from != owner()){
            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit.");}
        if (from != owner())
            require(amount <= _maxTxAmount, "Over transaction limit.");
        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero."); 
        require(!_isBot[from] && !_isBot[to], "You are a bot"); 
        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled
            )
        {  
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            txCount = 0;
            swapAndLiquify(contractTokenBalance);
        }
        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;
            swapTokensForETH(tokens_to_LP_Half + tokens_to_M + tokens_to_D);
            uint256 ETH_Total = address(this).balance - balanceBeforeSwap;
            uint256 split_M = Percent_Marketing * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev);
            uint256 ETH_M = ETH_Total * split_M / 100;
            uint256 split_D = Percent_Dev * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev);
            uint256 ETH_D = ETH_Total * split_D / 100;
            addLiquidity(tokens_to_LP_Half, (ETH_Total - ETH_M - ETH_D));
            emit SwapAndLiquify(tokens_to_LP_Half, (ETH_Total - ETH_M - ETH_D), tokens_to_LP_Half);
            sendToWallet(Wallet_Marketing, ETH_M);
            ETH_Total = address(this).balance;
            sendToWallet(Wallet_Dev, ETH_Total);
            }
    function swapTokensForETH(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 ETHAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ETHAmount}(
            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(Wallet_Dev, 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]+tAmount;
            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*_Tax_On_Sell/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_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":[],"name":"Wallet_Dev","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"_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":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkAntiBot","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"setAntibot","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"}]

6080604052600580546001600160a01b03199081167343fb5dd30abbeefc76ac938dd03c658b46e7e12a179091556006805490911673e3e93ce5e89a3d54235cab878bfda936bbc06df11790556200005a6012600a6200054c565b6200006a90633b9aca0062000564565b60078190556008805461ffff1916610a0017905560016009819055600a8181556046600b556000600c55600d556014600e55606491620000aa9162000564565b620000b691906200057e565b600f55600f5460105560646007546001620000d2919062000564565b620000de91906200057e565b60118190556012556014805460ff60a81b1916600160a81b1790553480156200010657600080fd5b50600080546001600160a01b03191673e3e93ce5e89a3d54235cab878bfda936bbc06df190811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360075460026000620001746000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002169190620005a1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028a9190620005a1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fe9190620005a1565b601480546001600160a01b03199081166001600160a01b039384161790915560138054909116918316919091179055600160046000620003466000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260049093528183208054851660019081179091556005549091168352908220805484168217905561dead9091527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd8054909216179055620003e06000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516200042891815260200190565b60405180910390a350620005cc565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200048e57816000190482111562000472576200047262000437565b808516156200048057918102915b93841c939080029062000452565b509250929050565b600082620004a75750600162000546565b81620004b65750600062000546565b8160018114620004cf5760028114620004da57620004fa565b600191505062000546565b60ff841115620004ee57620004ee62000437565b50506001821b62000546565b5060208310610133831016604e8410600b84101617156200051f575081810a62000546565b6200052b83836200044d565b806000190482111562000542576200054262000437565b0290505b92915050565b60006200055d60ff84168362000496565b9392505050565b808202811582820484141762000546576200054662000437565b6000826200059c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005b457600080fd5b81516001600160a01b03811681146200055d57600080fd5b611c9780620005dc6000396000f3fe6080604052600436106101f25760003560e01c8063715018a61161010d578063a9059cbb116100a0578063bbb9f61f1161006f578063bbb9f61f146105ce578063c6618d60146105ee578063dafd18e914610604578063dd62ed3e14610624578063e11655451461066a57600080fd5b8063a9059cbb14610558578063b1cb158214610578578063b31470a41461058e578063b43665e2146105ae57600080fd5b8063805c0e0f116100dc578063805c0e0f146104d55780638da5cb5b146104eb57806395d89b4114610509578063a457c2d71461053857600080fd5b8063715018a614610462578063768dc7101461047957806378109e54146104a95780637d1db4a5146104bf57600080fd5b806339509351116101855780634a74bb02116101545780634a74bb02146103df578063603176251461040057806361c9a0dc1461041657806370a082311461042c57600080fd5b806339509351146103505780633bbac579146103705780633f70a495146103a957806349bd5a5e146103bf57600080fd5b806321dbd9eb116101c157806321dbd9eb146102dd578063220f6696146102f357806323b872dd14610314578063313ce5671461033457600080fd5b806306fdde03146101fe578063095ea7b3146102565780631694505e1461028657806318160ddd146102be57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060408051808201909152601e81527f54686174204d6f74686572204675636b6572204973204e6f74205265616c000060208201525b60405161024d91906117f2565b60405180910390f35b34801561026257600080fd5b50610276610271366004611868565b61068a565b604051901515815260200161024d565b34801561029257600080fd5b506013546102a6906001600160a01b031681565b6040516001600160a01b03909116815260200161024d565b3480156102ca57600080fd5b506007545b60405190815260200161024d565b3480156102e957600080fd5b506102cf600d5481565b3480156102ff57600080fd5b5060145461027690600160a01b900460ff1681565b34801561032057600080fd5b5061027661032f366004611894565b6106a1565b34801561034057600080fd5b506040516012815260200161024d565b34801561035c57600080fd5b5061027661036b366004611868565b61070a565b34801561037c57600080fd5b5061027661038b3660046118d5565b6001600160a01b031660009081526001602052604090205460ff1690565b3480156103b557600080fd5b506102cf60095481565b3480156103cb57600080fd5b506014546102a6906001600160a01b031681565b3480156103eb57600080fd5b5060145461027690600160a81b900460ff1681565b34801561040c57600080fd5b506102cf600b5481565b34801561042257600080fd5b506102cf600e5481565b34801561043857600080fd5b506102cf6104473660046118d5565b6001600160a01b031660009081526002602052604090205490565b34801561046e57600080fd5b50610477610740565b005b34801561048557600080fd5b506102766104943660046118d5565b60046020526000908152604090205460ff1681565b3480156104b557600080fd5b506102cf600f5481565b3480156104cb57600080fd5b506102cf60115481565b3480156104e157600080fd5b506102a661dead81565b3480156104f757600080fd5b506000546001600160a01b03166102a6565b34801561051557600080fd5b506040805180820190915260068152652a26a324a72960d11b6020820152610240565b34801561054457600080fd5b50610276610553366004611868565b61078a565b34801561056457600080fd5b50610276610573366004611868565b6107d9565b34801561058457600080fd5b506102cf600a5481565b34801561059a57600080fd5b506104776105a9366004611921565b6107e6565b3480156105ba57600080fd5b506005546102a6906001600160a01b031681565b3480156105da57600080fd5b506006546102a6906001600160a01b031681565b3480156105fa57600080fd5b506102cf600c5481565b34801561061057600080fd5b5061027661061f366004611868565b6108b1565b34801561063057600080fd5b506102cf61063f3660046119f8565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561067657600080fd5b50610477610685366004611a31565b610a12565b6000610697338484610afb565b5060015b92915050565b60006106ae848484610bbc565b61070084336106fb85604051806060016040528060288152602001611c15602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610f7f565b610afb565b5060019392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916106979185906106fb9086610fab565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061069733846106fb85604051806060016040528060258152602001611c3d602591393360009081526003602090815260408083206001600160a01b038d1684529091529020549190610f7f565b6000610697338484610bbc565b6000546001600160a01b031633146108455760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60005b82518110156108ac57816001600085848151811061086857610868611a5f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108a481611a8b565b915050610848565b505050565b6000306001600160a01b0384160361090b5760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e0000000000604482015260640161083c565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610952573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109769190611aa4565b9050600060646109868584611abd565b6109909190611ad4565b60065460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af11580156109e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a099190611af6565b95945050505050565b6000546001600160a01b03163314610a6c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161083c565b6001600160a01b03821660009081526001602052604090205481151560ff909116151503610ad05760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b604482015260640161083c565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b6001600160a01b03831615801590610b1b57506001600160a01b03821615155b610b5b5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b604482015260640161083c565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610be557506001600160a01b03821661dead14155b8015610bfa57506001600160a01b0382163014155b8015610c1457506014546001600160a01b03838116911614155b8015610c2e57506000546001600160a01b03848116911614155b15610c9e576001600160a01b038216600090815260026020526040902054600f54610c598383611b13565b1115610c9c5760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b604482015260640161083c565b505b6000546001600160a01b03848116911614610d0557601154811115610d055760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e000000000000000000604482015260640161083c565b6001600160a01b03831615801590610d2557506001600160a01b03821615155b610d695760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b604482015260640161083c565b60008111610dc75760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b606482015260840161083c565b6001600160a01b03831660009081526001602052604090205460ff16158015610e0957506001600160a01b03821660009081526001602052604090205460ff16155b610e455760405162461bcd60e51b815260206004820152600d60248201526c165bdd48185c99481848189bdd609a1b604482015260640161083c565b60085460ff61010082048116911610801590610e6b5750601454600160a01b900460ff16155b8015610e8557506014546001600160a01b03848116911614155b8015610e9a5750601454600160a81b900460ff165b15610ed35730600090815260026020526040902054601154811115610ebe57506011545b6008805460ff19169055610ed181610fbe565b505b6001600160a01b0383166000908152600460205260408120546001919060ff1680610f1657506001600160a01b03841660009081526004602052604090205460ff165b15610f245760009150610f6b565b6014546001600160a01b0390811690861603610f3e575060015b6008805460ff16906000610f5183611b26565b91906101000a81548160ff021916908360ff160217905550505b610f788585858585611270565b5050505050565b60008184841115610fa35760405162461bcd60e51b815260040161083c91906117f2565b505050900390565b6000610fb78284611b13565b9392505050565b6014805460ff60a01b1916600160a01b179055600d54600090606490610fe49084611abd565b610fee9190611ad4565b905080600754610ffe9190611b45565b60075561dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54611039908290611b13565b60026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc553060009081526040902054611076908290611b45565b30600090815260026020526040812091909155600b546064906110999085611abd565b6110a39190611ad4565b905060006064600c54856110b79190611abd565b6110c19190611ad4565b9050600060c8600e54866110d59190611abd565b6110df9190611ad4565b9050476110ff836110f08685611b13565b6110fa9190611b13565b6115b7565b600061110b8247611b45565b90506000600c54600b54600e546111229190611b13565b61112c9190611b13565b600b5461113a906064611abd565b6111449190611ad4565b9050600060646111548385611abd565b61115e9190611ad4565b90506000600c54600b54600e546111759190611b13565b61117f9190611b13565b600c5461118d906064611abd565b6111979190611ad4565b9050600060646111a78387611abd565b6111b19190611ad4565b90506111d187826111c28689611b45565b6111cc9190611b45565b611711565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56187826111fe8689611b45565b6112089190611b45565b604080519283526020830191909152810189905260600160405180910390a160055461123d906001600160a01b0316846117bc565b600654479550611256906001600160a01b0316866117bc565b50506014805460ff60a01b19169055505050505050505050565b8161134f576001600160a01b038516600090815260026020526040902054611299908490611b45565b6001600160a01b0380871660009081526002602052604080822093909355908616815220546112c9908490611b13565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061131d9087815260200190565b60405180910390a361deac196001600160a01b0385160161134a57826007546113469190611b45565b6007555b610f78565b80156114855760006064600954856113679190611abd565b6113719190611ad4565b9050600061137f8286611b45565b6001600160a01b0388166000908152600260205260409020549091506113a6908690611b45565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546113d6908290611b13565b6001600160a01b038716600090815260026020526040808220929092553081522054611403908390611b13565b3060009081526002602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b0387160161147e578060075461147a9190611b45565b6007555b5050610f78565b60006064600a54856114979190611abd565b6114a19190611ad4565b905060006114af8286611b45565b6001600160a01b0388166000908152600260205260409020549091506114d6908690611b45565b6001600160a01b038089166000908152600260205260408082209390935590881681522054611506908290611b13565b6001600160a01b038716600090815260026020526040808220929092553081522054611533908390611b13565b3060009081526002602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b038716016115ae57806007546115aa9190611b45565b6007555b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115ec576115ec611a5f565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611645573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116699190611b58565b8160018151811061167c5761167c611a5f565b6001600160a01b0392831660209182029290920101526013546116a29130911684610afb565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906116db908590600090869030904290600401611b75565b600060405180830381600087803b1580156116f557600080fd5b505af1158015611709573d6000803e3d6000fd5b505050505050565b6013546117299030906001600160a01b031684610afb565b60135460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611797573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f789190611be6565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156108ac573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561181f57858101830151858201604001528201611803565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461185557600080fd5b50565b803561186381611840565b919050565b6000806040838503121561187b57600080fd5b823561188681611840565b946020939093013593505050565b6000806000606084860312156118a957600080fd5b83356118b481611840565b925060208401356118c481611840565b929592945050506040919091013590565b6000602082840312156118e757600080fd5b8135610fb781611840565b634e487b7160e01b600052604160045260246000fd5b801515811461185557600080fd5b803561186381611908565b6000806040838503121561193457600080fd5b823567ffffffffffffffff8082111561194c57600080fd5b818501915085601f83011261196057600080fd5b8135602082821115611974576119746118f2565b8160051b604051601f19603f83011681018181108682111715611999576119996118f2565b6040529283528183019350848101820192898411156119b757600080fd5b948201945b838610156119dc576119cd86611858565b855294820194938201936119bc565b96506119eb9050878201611916565b9450505050509250929050565b60008060408385031215611a0b57600080fd5b8235611a1681611840565b91506020830135611a2681611840565b809150509250929050565b60008060408385031215611a4457600080fd5b8235611a4f81611840565b91506020830135611a2681611908565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611a9d57611a9d611a75565b5060010190565b600060208284031215611ab657600080fd5b5051919050565b808202811582820484141761069b5761069b611a75565b600082611af157634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611b0857600080fd5b8151610fb781611908565b8082018082111561069b5761069b611a75565b600060ff821660ff8103611b3c57611b3c611a75565b60010192915050565b8181038181111561069b5761069b611a75565b600060208284031215611b6a57600080fd5b8151610fb781611840565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611bc55784516001600160a01b031683529383019391830191600101611ba0565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611bfb57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220dac1837d788d93ce5b878800504d3af4f6aac9349a58e84d44e2144ff929bc1764736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c8063715018a61161010d578063a9059cbb116100a0578063bbb9f61f1161006f578063bbb9f61f146105ce578063c6618d60146105ee578063dafd18e914610604578063dd62ed3e14610624578063e11655451461066a57600080fd5b8063a9059cbb14610558578063b1cb158214610578578063b31470a41461058e578063b43665e2146105ae57600080fd5b8063805c0e0f116100dc578063805c0e0f146104d55780638da5cb5b146104eb57806395d89b4114610509578063a457c2d71461053857600080fd5b8063715018a614610462578063768dc7101461047957806378109e54146104a95780637d1db4a5146104bf57600080fd5b806339509351116101855780634a74bb02116101545780634a74bb02146103df578063603176251461040057806361c9a0dc1461041657806370a082311461042c57600080fd5b806339509351146103505780633bbac579146103705780633f70a495146103a957806349bd5a5e146103bf57600080fd5b806321dbd9eb116101c157806321dbd9eb146102dd578063220f6696146102f357806323b872dd14610314578063313ce5671461033457600080fd5b806306fdde03146101fe578063095ea7b3146102565780631694505e1461028657806318160ddd146102be57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060408051808201909152601e81527f54686174204d6f74686572204675636b6572204973204e6f74205265616c000060208201525b60405161024d91906117f2565b60405180910390f35b34801561026257600080fd5b50610276610271366004611868565b61068a565b604051901515815260200161024d565b34801561029257600080fd5b506013546102a6906001600160a01b031681565b6040516001600160a01b03909116815260200161024d565b3480156102ca57600080fd5b506007545b60405190815260200161024d565b3480156102e957600080fd5b506102cf600d5481565b3480156102ff57600080fd5b5060145461027690600160a01b900460ff1681565b34801561032057600080fd5b5061027661032f366004611894565b6106a1565b34801561034057600080fd5b506040516012815260200161024d565b34801561035c57600080fd5b5061027661036b366004611868565b61070a565b34801561037c57600080fd5b5061027661038b3660046118d5565b6001600160a01b031660009081526001602052604090205460ff1690565b3480156103b557600080fd5b506102cf60095481565b3480156103cb57600080fd5b506014546102a6906001600160a01b031681565b3480156103eb57600080fd5b5060145461027690600160a81b900460ff1681565b34801561040c57600080fd5b506102cf600b5481565b34801561042257600080fd5b506102cf600e5481565b34801561043857600080fd5b506102cf6104473660046118d5565b6001600160a01b031660009081526002602052604090205490565b34801561046e57600080fd5b50610477610740565b005b34801561048557600080fd5b506102766104943660046118d5565b60046020526000908152604090205460ff1681565b3480156104b557600080fd5b506102cf600f5481565b3480156104cb57600080fd5b506102cf60115481565b3480156104e157600080fd5b506102a661dead81565b3480156104f757600080fd5b506000546001600160a01b03166102a6565b34801561051557600080fd5b506040805180820190915260068152652a26a324a72960d11b6020820152610240565b34801561054457600080fd5b50610276610553366004611868565b61078a565b34801561056457600080fd5b50610276610573366004611868565b6107d9565b34801561058457600080fd5b506102cf600a5481565b34801561059a57600080fd5b506104776105a9366004611921565b6107e6565b3480156105ba57600080fd5b506005546102a6906001600160a01b031681565b3480156105da57600080fd5b506006546102a6906001600160a01b031681565b3480156105fa57600080fd5b506102cf600c5481565b34801561061057600080fd5b5061027661061f366004611868565b6108b1565b34801561063057600080fd5b506102cf61063f3660046119f8565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561067657600080fd5b50610477610685366004611a31565b610a12565b6000610697338484610afb565b5060015b92915050565b60006106ae848484610bbc565b61070084336106fb85604051806060016040528060288152602001611c15602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610f7f565b610afb565b5060019392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916106979185906106fb9086610fab565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061069733846106fb85604051806060016040528060258152602001611c3d602591393360009081526003602090815260408083206001600160a01b038d1684529091529020549190610f7f565b6000610697338484610bbc565b6000546001600160a01b031633146108455760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60005b82518110156108ac57816001600085848151811061086857610868611a5f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108a481611a8b565b915050610848565b505050565b6000306001600160a01b0384160361090b5760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e0000000000604482015260640161083c565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610952573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109769190611aa4565b9050600060646109868584611abd565b6109909190611ad4565b60065460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af11580156109e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a099190611af6565b95945050505050565b6000546001600160a01b03163314610a6c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161083c565b6001600160a01b03821660009081526001602052604090205481151560ff909116151503610ad05760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b604482015260640161083c565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b6001600160a01b03831615801590610b1b57506001600160a01b03821615155b610b5b5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b604482015260640161083c565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610be557506001600160a01b03821661dead14155b8015610bfa57506001600160a01b0382163014155b8015610c1457506014546001600160a01b03838116911614155b8015610c2e57506000546001600160a01b03848116911614155b15610c9e576001600160a01b038216600090815260026020526040902054600f54610c598383611b13565b1115610c9c5760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b604482015260640161083c565b505b6000546001600160a01b03848116911614610d0557601154811115610d055760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e000000000000000000604482015260640161083c565b6001600160a01b03831615801590610d2557506001600160a01b03821615155b610d695760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b604482015260640161083c565b60008111610dc75760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b606482015260840161083c565b6001600160a01b03831660009081526001602052604090205460ff16158015610e0957506001600160a01b03821660009081526001602052604090205460ff16155b610e455760405162461bcd60e51b815260206004820152600d60248201526c165bdd48185c99481848189bdd609a1b604482015260640161083c565b60085460ff61010082048116911610801590610e6b5750601454600160a01b900460ff16155b8015610e8557506014546001600160a01b03848116911614155b8015610e9a5750601454600160a81b900460ff165b15610ed35730600090815260026020526040902054601154811115610ebe57506011545b6008805460ff19169055610ed181610fbe565b505b6001600160a01b0383166000908152600460205260408120546001919060ff1680610f1657506001600160a01b03841660009081526004602052604090205460ff165b15610f245760009150610f6b565b6014546001600160a01b0390811690861603610f3e575060015b6008805460ff16906000610f5183611b26565b91906101000a81548160ff021916908360ff160217905550505b610f788585858585611270565b5050505050565b60008184841115610fa35760405162461bcd60e51b815260040161083c91906117f2565b505050900390565b6000610fb78284611b13565b9392505050565b6014805460ff60a01b1916600160a01b179055600d54600090606490610fe49084611abd565b610fee9190611ad4565b905080600754610ffe9190611b45565b60075561dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54611039908290611b13565b60026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc553060009081526040902054611076908290611b45565b30600090815260026020526040812091909155600b546064906110999085611abd565b6110a39190611ad4565b905060006064600c54856110b79190611abd565b6110c19190611ad4565b9050600060c8600e54866110d59190611abd565b6110df9190611ad4565b9050476110ff836110f08685611b13565b6110fa9190611b13565b6115b7565b600061110b8247611b45565b90506000600c54600b54600e546111229190611b13565b61112c9190611b13565b600b5461113a906064611abd565b6111449190611ad4565b9050600060646111548385611abd565b61115e9190611ad4565b90506000600c54600b54600e546111759190611b13565b61117f9190611b13565b600c5461118d906064611abd565b6111979190611ad4565b9050600060646111a78387611abd565b6111b19190611ad4565b90506111d187826111c28689611b45565b6111cc9190611b45565b611711565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56187826111fe8689611b45565b6112089190611b45565b604080519283526020830191909152810189905260600160405180910390a160055461123d906001600160a01b0316846117bc565b600654479550611256906001600160a01b0316866117bc565b50506014805460ff60a01b19169055505050505050505050565b8161134f576001600160a01b038516600090815260026020526040902054611299908490611b45565b6001600160a01b0380871660009081526002602052604080822093909355908616815220546112c9908490611b13565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061131d9087815260200190565b60405180910390a361deac196001600160a01b0385160161134a57826007546113469190611b45565b6007555b610f78565b80156114855760006064600954856113679190611abd565b6113719190611ad4565b9050600061137f8286611b45565b6001600160a01b0388166000908152600260205260409020549091506113a6908690611b45565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546113d6908290611b13565b6001600160a01b038716600090815260026020526040808220929092553081522054611403908390611b13565b3060009081526002602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b0387160161147e578060075461147a9190611b45565b6007555b5050610f78565b60006064600a54856114979190611abd565b6114a19190611ad4565b905060006114af8286611b45565b6001600160a01b0388166000908152600260205260409020549091506114d6908690611b45565b6001600160a01b038089166000908152600260205260408082209390935590881681522054611506908290611b13565b6001600160a01b038716600090815260026020526040808220929092553081522054611533908390611b13565b3060009081526002602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b038716016115ae57806007546115aa9190611b45565b6007555b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115ec576115ec611a5f565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611645573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116699190611b58565b8160018151811061167c5761167c611a5f565b6001600160a01b0392831660209182029290920101526013546116a29130911684610afb565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906116db908590600090869030904290600401611b75565b600060405180830381600087803b1580156116f557600080fd5b505af1158015611709573d6000803e3d6000fd5b505050505050565b6013546117299030906001600160a01b031684610afb565b60135460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611797573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f789190611be6565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156108ac573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561181f57858101830151858201604001528201611803565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461185557600080fd5b50565b803561186381611840565b919050565b6000806040838503121561187b57600080fd5b823561188681611840565b946020939093013593505050565b6000806000606084860312156118a957600080fd5b83356118b481611840565b925060208401356118c481611840565b929592945050506040919091013590565b6000602082840312156118e757600080fd5b8135610fb781611840565b634e487b7160e01b600052604160045260246000fd5b801515811461185557600080fd5b803561186381611908565b6000806040838503121561193457600080fd5b823567ffffffffffffffff8082111561194c57600080fd5b818501915085601f83011261196057600080fd5b8135602082821115611974576119746118f2565b8160051b604051601f19603f83011681018181108682111715611999576119996118f2565b6040529283528183019350848101820192898411156119b757600080fd5b948201945b838610156119dc576119cd86611858565b855294820194938201936119bc565b96506119eb9050878201611916565b9450505050509250929050565b60008060408385031215611a0b57600080fd5b8235611a1681611840565b91506020830135611a2681611840565b809150509250929050565b60008060408385031215611a4457600080fd5b8235611a4f81611840565b91506020830135611a2681611908565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611a9d57611a9d611a75565b5060010190565b600060208284031215611ab657600080fd5b5051919050565b808202811582820484141761069b5761069b611a75565b600082611af157634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611b0857600080fd5b8151610fb781611908565b8082018082111561069b5761069b611a75565b600060ff821660ff8103611b3c57611b3c611a75565b60010192915050565b8181038181111561069b5761069b611a75565b600060208284031215611b6a57600080fd5b8151610fb781611840565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611bc55784516001600160a01b031683529383019391830191600101611ba0565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611bfb57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220dac1837d788d93ce5b878800504d3af4f6aac9349a58e84d44e2144ff929bc1764736f6c63430008120033

Deployed Bytecode Sourcemap

13109:11752:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16778:83;;;;;;;;;;-1:-1:-1;16848:5:0;;;;;;;;;;;;;;;;;16778:83;;;;;;;:::i;:::-;;;;;;;;17607:161;;;;;;;;;;-1:-1:-1;17607:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;17607:161:0;1162:187:1;15072:41:0;;;;;;;;;;-1:-1:-1;15072:41:0;;;;-1:-1:-1;;;;;15072:41:0;;;;;;-1:-1:-1;;;;;1545:32:1;;;1527:51;;1515:2;1500:18;15072:41:0;1354:230:1;17049:95:0;;;;;;;;;;-1:-1:-1;17129:7:0;;17049:95;;;1735:25:1;;;1723:2;1708:18;17049:95:0;1589:177:1;14757:32:0;;;;;;;;;;;;;;;;15155:28;;;;;;;;;;-1:-1:-1;15155:28:0;;;;-1:-1:-1;;;15155:28:0;;;;;;17774:313;;;;;;;;;;-1:-1:-1;17774:313:0;;;;;:::i;:::-;;:::i;16960:83::-;;;;;;;;;;-1:-1:-1;16960:83:0;;14335:2;2374:36:1;;2362:2;2347:18;16960:83:0;2232:184:1;18093:218:0;;;;;;;;;;-1:-1:-1;18093:218:0;;;;;:::i;:::-;;:::i;16674:98::-;;;;;;;;;;-1:-1:-1;16674:98:0;;;;;:::i;:::-;-1:-1:-1;;;;;16749:15:0;16726:4;16749:15;;;:6;:15;;;;;;;;;16674:98;14601:30;;;;;;;;;;;;;;;;15120:28;;;;;;;;;;-1:-1:-1;15120:28:0;;;;-1:-1:-1;;;;;15120:28:0;;;15190:40;;;;;;;;;;-1:-1:-1;15190:40:0;;;;-1:-1:-1;;;15190:40:0;;;;;;14676:37;;;;;;;;;;;;;;;;14796:34;;;;;;;;;;;;;;;;17150:117;;;;;;;;;;-1:-1:-1;17150:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;17243:16:0;17216:7;17243:16;;;:7;:16;;;;;;;17150:117;13574:138;;;;;;;;;;;;;:::i;:::-;;13892:51;;;;;;;;;;-1:-1:-1;13892:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14838:50;;;;;;;;;;;;;;;;14959:47;;;;;;;;;;;;;;;;14146:97;;;;;;;;;;;;14200:42;14146:97;;13355:87;;;;;;;;;;-1:-1:-1;13401:7:0;13428:6;-1:-1:-1;;;;;13428:6:0;13355:87;;16867;;;;;;;;;;-1:-1:-1;16939:7:0;;;;;;;;;;;;-1:-1:-1;;;16939:7:0;;;;16867:87;;18317:269;;;;;;;;;;-1:-1:-1;18317:269:0;;;;;:::i;:::-;;:::i;17273:167::-;;;;;;;;;;-1:-1:-1;17273:167:0;;;;;:::i;:::-;;:::i;14638:31::-;;;;;;;;;;;;;;;;16466:199;;;;;;;;;;-1:-1:-1;16466:199:0;;;;;:::i;:::-;;:::i;13951:93::-;;;;;;;;;;-1:-1:-1;13951:93:0;;;;-1:-1:-1;;;;;13951:93:0;;;14052:87;;;;;;;;;;-1:-1:-1;14052:87:0;;;;-1:-1:-1;;;;;14052:87:0;;;14720:30;;;;;;;;;;;;;;;;23016:444;;;;;;;;;;-1:-1:-1;23016:444:0;;;;;:::i;:::-;;:::i;17446:155::-;;;;;;;;;;-1:-1:-1;17446:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;17560:21:0;;;17533:7;17560:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;17446:155;16280:174;;;;;;;;;;-1:-1:-1;16280:174:0;;;;;:::i;:::-;;:::i;17607:161::-;17682:4;17699:39;1896:10;17722:7;17731:6;17699:8;:39::i;:::-;-1:-1:-1;17756:4:0;17607:161;;;;;:::o;17774:313::-;17872:4;17889:36;17899:6;17907:9;17918:6;17889:9;:36::i;:::-;17936:121;17945:6;1896:10;17967:89;18005:6;17967:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17967:19:0;;;;;;:11;:19;;;;;;;;1896:10;17967:33;;;;;;;;;;:37;:89::i;:::-;17936:8;:121::i;:::-;-1:-1:-1;18075:4:0;17774:313;;;;;:::o;18093:218::-;1896:10;18181:4;18230:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18230:34:0;;;;;;;;;;18181:4;;18198:83;;18221:7;;18230:50;;18269:10;18230:38;:50::i;13574:138::-;13671:1;13655:6;;13634:40;;-1:-1:-1;;;;;13655:6:0;;;;13634:40;;13671:1;;13634:40;13702:1;13685:19;;-1:-1:-1;;;;;;13685:19:0;;;13574:138::o;18317:269::-;18410:4;18427:129;1896:10;18450:7;18459:96;18498:15;18459:96;;;;;;;;;;;;;;;;;1896:10;18459:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18459:34:0;;;;;;;;;;;;:38;:96::i;17273:167::-;17351:4;17368:42;1896:10;17392:9;17403:6;17368:9;:42::i;16466:199::-;13401:7;13428:6;-1:-1:-1;;;;;13428:6:0;1896:10;13488:23;13480:68;;;;-1:-1:-1;;;13480:68:0;;5671:2:1;13480:68:0;;;5653:21:1;;;5690:18;;;5683:30;5749:34;5729:18;;;5722:62;5801:18;;13480:68:0;;;;;;;;;16559:9:::1;16555:99;16578:8;:15;16574:1;:19;16555:99;;;16636:5;16614:6;:19;16621:8;16630:1;16621:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;16614:19:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;16614:19:0;:27;;-1:-1:-1;;16614:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16595:3;::::1;::::0;::::1;:::i;:::-;;;;16555:99;;;;16466:199:::0;;:::o;23016:444::-;23118:10;23180:4;-1:-1:-1;;;;;23148:37:0;;;23140:77;;;;-1:-1:-1;;;23140:77:0;;6436:2:1;23140:77:0;;;6418:21:1;6475:2;6455:18;;;6448:30;6514:29;6494:18;;;6487:57;6561:18;;23140:77:0;6234:351:1;23140:77:0;23250:53;;-1:-1:-1;;;23250:53:0;;23297:4;23250:53;;;1527:51:1;23228:19:0;;-1:-1:-1;;;;;23250:38:0;;;;;1500:18:1;;23250:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23228:75;-1:-1:-1;23314:20:0;23367:3;23337:29;23349:17;23228:75;23337:29;:::i;:::-;:33;;;;:::i;:::-;23427:10;;23389:63;;-1:-1:-1;;;23389:63:0;;-1:-1:-1;;;;;23427:10:0;;;23389:63;;;7356:51:1;7423:18;;;7416:34;;;23314:56:0;;-1:-1:-1;23389:37:0;;;;;7329:18:1;;23389:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23381:71;23016:444;-1:-1:-1;;;;;23016:444:0:o;16280:174::-;13401:7;13428:6;-1:-1:-1;;;;;13428:6:0;1896:10;13488:23;13480:68;;;;-1:-1:-1;;;13480:68:0;;5671:2:1;13480:68:0;;;5653:21:1;;;5690:18;;;5683:30;5749:34;5729:18;;;5722:62;5801:18;;13480:68:0;5469:356:1;13480:68:0;-1:-1:-1;;;;;16366:15:0;::::1;;::::0;;;:6:::1;:15;::::0;;;;;:24;::::1;;:15;::::0;;::::1;:24;;::::0;16358:54:::1;;;::::0;-1:-1:-1;;;16358:54:0;;7913:2:1;16358:54:0::1;::::0;::::1;7895:21:1::0;7952:2;7932:18;;;7925:30;-1:-1:-1;;;7971:18:1;;;7964:47;8028:18;;16358:54:0::1;7711:341:1::0;16358:54:0::1;-1:-1:-1::0;;;;;16423:15:0;;;::::1;;::::0;;;:6:::1;:15;::::0;;;;:23;;-1:-1:-1;;16423:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16280:174::o;18727:286::-;-1:-1:-1;;;;;18826:22:0;;;;;;:50;;-1:-1:-1;;;;;;18852:24:0;;;;18826:50;18818:80;;;;-1:-1:-1;;;18818:80:0;;8259:2:1;18818:80:0;;;8241:21:1;8298:2;8278:18;;;8271:30;-1:-1:-1;;;8317:18:1;;;8310:47;8374:18;;18818:80:0;8057:341:1;18818:80:0;-1:-1:-1;;;;;18909:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;18967:38;;1735:25:1;;;18967:38:0;;1708:18:1;18967:38:0;;;;;;;18727:286;;;:::o;19019:1519::-;13401:7;13428:6;-1:-1:-1;;;;;19137:13:0;;;13428:6;;19137:13;;;;:47;;-1:-1:-1;;;;;;19167:17:0;;14200:42;19167:17;;19137:47;:83;;;;-1:-1:-1;;;;;;19201:19:0;;19215:4;19201:19;;19137:83;:119;;;;-1:-1:-1;19243:13:0;;-1:-1:-1;;;;;19237:19:0;;;19243:13;;19237:19;;19137:119;:151;;;;-1:-1:-1;13401:7:0;13428:6;-1:-1:-1;;;;;19273:15:0;;;13428:6;;19273:15;;19137:151;19133:292;;;-1:-1:-1;;;;;17243:16:0;;19304:18;17243:16;;;:7;:16;;;;;;19386:15;;19362:19;19375:6;17243:16;19362:19;:::i;:::-;19361:40;;19353:70;;;;-1:-1:-1;;;19353:70:0;;8735:2:1;19353:70:0;;;8717:21:1;8774:2;8754:18;;;8747:30;-1:-1:-1;;;8793:18:1;;;8786:48;8851:18;;19353:70:0;8533:342:1;19353:70:0;19289:136;19133:292;13401:7;13428:6;-1:-1:-1;;;;;19439:15:0;;;13428:6;;19439:15;19435:92;;19487:12;;19477:6;:22;;19469:58;;;;-1:-1:-1;;;19469:58:0;;9082:2:1;19469:58:0;;;9064:21:1;9121:2;9101:18;;;9094:30;9160:25;9140:18;;;9133:53;9203:18;;19469:58:0;8880:347:1;19469:58:0;-1:-1:-1;;;;;19546:18:0;;;;;;:38;;-1:-1:-1;;;;;;19568:16:0;;;;19546:38;19538:72;;;;-1:-1:-1;;;19538:72:0;;9434:2:1;19538:72:0;;;9416:21:1;9473:2;9453:18;;;9446:30;-1:-1:-1;;;9492:18:1;;;9485:51;9553:18;;19538:72:0;9232:345:1;19538:72:0;19638:1;19629:6;:10;19621:60;;;;-1:-1:-1;;;19621:60:0;;9784:2:1;19621:60:0;;;9766:21:1;9823:2;9803:18;;;9796:30;9862:34;9842:18;;;9835:62;-1:-1:-1;;;9913:18:1;;;9906:35;9958:19;;19621:60:0;9582:401:1;19621:60:0;-1:-1:-1;;;;;19702:12:0;;;;;;:6;:12;;;;;;;;19701:13;:28;;;;-1:-1:-1;;;;;;19719:10:0;;;;;;:6;:10;;;;;;;;19718:11;19701:28;19693:54;;;;-1:-1:-1;;;19693:54:0;;10190:2:1;19693:54:0;;;10172:21:1;10229:2;10209:18;;;10202:30;-1:-1:-1;;;10248:18:1;;;10241:43;10301:18;;19693:54:0;9988:337:1;19693:54:0;19787:11;;;;;;;;19776:7;;:22;;;;:57;;-1:-1:-1;19817:16:0;;-1:-1:-1;;;19817:16:0;;;;19816:17;19776:57;:95;;;;-1:-1:-1;19858:13:0;;-1:-1:-1;;;;;19850:21:0;;;19858:13;;19850:21;;19776:95;:133;;;;-1:-1:-1;19888:21:0;;-1:-1:-1;;;19888:21:0;;;;19776:133;19759:428;;;20000:4;19951:28;17243:16;;;:7;:16;;;;;;20047:12;;20024:35;;20021:78;;;-1:-1:-1;20085:12:0;;20021:78;20113:7;:11;;-1:-1:-1;;20113:11:0;;;20139:36;20154:20;20139:14;:36::i;:::-;19934:253;19759:428;-1:-1:-1;;;;;20251:24:0;;20197:12;20251:24;;;:18;:24;;;;;;20212:4;;20197:12;20251:24;;;:50;;-1:-1:-1;;;;;;20279:22:0;;;;;;:18;:22;;;;;;;;20251:50;20248:224;;;20327:5;20317:15;;20248:224;;;20376:13;;-1:-1:-1;;;;;20376:13:0;;;20368:21;;;;20365:72;;-1:-1:-1;20417:4:0;20365:72;20451:7;:9;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;20248:224;20482:48;20497:4;20503:2;20507:6;20515:7;20524:5;20482:14;:48::i;:::-;19122:1416;;19019:1519;;;:::o;1361:206::-;1447:7;1508:12;1500:6;;;;1492:29;;;;-1:-1:-1;;;1492:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1543:5:0;;;1361:206::o;945:98::-;1003:7;1030:5;1034:1;1030;:5;:::i;:::-;1023:12;945:98;-1:-1:-1;;;945:98:0:o;20670:1489::-;15463:16;:23;;-1:-1:-1;;;;15463:23:0;-1:-1:-1;;;15463:23:0;;;20807:12:::1;::::0;15463:23;;20822:3:::1;::::0;20784:35:::1;::::0;:20;:35:::1;:::i;:::-;:41;;;;:::i;:::-;20759:66;;20860:14;20850:7;;:24;;;;:::i;:::-;20840:7;:34:::0;14200:42:::1;20912:20;::::0;:7:::1;:20;::::0;;;:37:::1;::::0;20935:14;;20912:37:::1;:::i;:::-;20889:7;:20;::::0;;:60;21005:4:::1;20889:20;20989:22:::0;;;20889:20;20989:22;;;:39:::1;::::0;21014:14;;20989:39:::1;:::i;:::-;20980:4;20964:22;::::0;;;:7:::1;:22;::::0;;;;:64;;;;21089:17:::1;::::0;21109:3:::1;::::0;21066:40:::1;::::0;:20;:40:::1;:::i;:::-;:46;;;;:::i;:::-;21044:68;;21127:19;21186:3;21172:11;;21149:20;:34;;;;:::i;:::-;:40;;;;:::i;:::-;21127:62;;21204:25;21272:3;21255:14;;21232:20;:37;;;;:::i;:::-;:43;;;;:::i;:::-;21204:71:::0;-1:-1:-1;21318:21:0::1;21354:63;21405:11:::0;21371:31:::1;21391:11:::0;21204:71;21371:31:::1;:::i;:::-;:45;;;;:::i;:::-;21354:16;:63::i;:::-;21432:17;21452:41;21476:17:::0;21452:21:::1;:41;:::i;:::-;21432:61;;21508:15;21590:11;;21570:17;;21553:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;21526:17;::::0;:23:::1;::::0;21546:3:::1;21526:23;:::i;:::-;:76;;;;:::i;:::-;21508:94:::0;-1:-1:-1;21617:13:0::1;21655:3;21633:19;21508:94:::0;21633:9;:19:::1;:::i;:::-;:25;;;;:::i;:::-;21617:41;;21673:15;21749:11;;21729:17;;21712:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;21691:11;::::0;:17:::1;::::0;21705:3:::1;21691:17;:::i;:::-;:70;;;;:::i;:::-;21673:88:::0;-1:-1:-1;21776:13:0::1;21814:3;21792:19;21673:88:::0;21792:9;:19:::1;:::i;:::-;:25;;;;:::i;:::-;21776:41:::0;-1:-1:-1;21832:60:0::1;21845:17:::0;21776:41;21865:17:::1;21877:5:::0;21865:9;:17:::1;:::i;:::-;:25;;;;:::i;:::-;21832:12;:60::i;:::-;21912:81;21927:17:::0;21967:5;21947:17:::1;21959:5:::0;21947:9;:17:::1;:::i;:::-;:25;;;;:::i;:::-;21912:81;::::0;;10845:25:1;;;10901:2;10886:18;;10879:34;;;;10929:18;;10922:34;;;10833:2;10818:18;21912:81:0::1;;;;;;;22021:16;::::0;22008:37:::1;::::0;-1:-1:-1;;;;;22021:16:0::1;22039:5:::0;22008:12:::1;:37::i;:::-;22121:10;::::0;22072:21:::1;::::0;-1:-1:-1;22108:35:0::1;::::0;-1:-1:-1;;;;;22121:10:0::1;22072:21:::0;22108:12:::1;:35::i;:::-;-1:-1:-1::0;;15509:16:0;:24;;-1:-1:-1;;;;15509:24:0;;;-1:-1:-1;;;;;;;;;20670:1489:0:o;23466:1392::-;23591:7;23587:1264;;-1:-1:-1;;;;;23632:15:0;;;;;;:7;:15;;;;;;:23;;23648:7;;23632:23;:::i;:::-;-1:-1:-1;;;;;23614:15:0;;;;;;;:7;:15;;;;;;:41;;;;23691:18;;;;;;;:26;;23710:7;;23691:26;:::i;:::-;-1:-1:-1;;;;;23670:18:0;;;;;;;:7;:18;;;;;;;:47;;;;23737:36;;;;;;;;;;23765:7;1735:25:1;;1723:2;1708:18;;1589:177;23737:36:0;;;;;;;;-1:-1:-1;;;;;;;23791:24:0;;;23788:67;;23848:7;23840;;:15;;;;:::i;:::-;23830:7;:25;23788:67;23587:1264;;;23881:5;23877:974;;;23902:14;23939:3;23927:11;;23919:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;23902:40;-1:-1:-1;23957:23:0;23983:14;23902:40;23983:7;:14;:::i;:::-;-1:-1:-1;;;;;24030:15:0;;;;;;:7;:15;;;;;;23957:40;;-1:-1:-1;24030:23:0;;24046:7;;24030:23;:::i;:::-;-1:-1:-1;;;;;24012:15:0;;;;;;;:7;:15;;;;;;:41;;;;24089:18;;;;;;;:34;;24108:15;;24089:34;:::i;:::-;-1:-1:-1;;;;;24068:18:0;;;;;;:7;:18;;;;;;:55;;;;24179:4;24163:22;;;;:29;;24186:6;;24163:29;:::i;:::-;24154:4;24138:22;;;;:7;:22;;;;;;;;;:54;;;;24214:44;1735:25:1;;;-1:-1:-1;;;;;24214:44:0;;;;;;;;;;1708:18:1;24214:44:0;;;;;;;-1:-1:-1;;;;;;;24276:24:0;;;24273:75;;24333:15;24325:7;;:23;;;;:::i;:::-;24315:7;:33;24273:75;23887:477;;23877:974;;;24385:15;24424:3;24411:12;;24403:7;:20;;;;:::i;:::-;:24;;;;:::i;:::-;24385:42;-1:-1:-1;24442:23:0;24468:15;24385:42;24468:7;:15;:::i;:::-;-1:-1:-1;;;;;24516:15:0;;;;;;:7;:15;;;;;;24442:41;;-1:-1:-1;24516:23:0;;24532:7;;24516:23;:::i;:::-;-1:-1:-1;;;;;24498:15:0;;;;;;;:7;:15;;;;;;:41;;;;24575:18;;;;;;;:34;;24594:15;;24575:34;:::i;:::-;-1:-1:-1;;;;;24554:18:0;;;;;;:7;:18;;;;;;:55;;;;24665:4;24649:22;;;;:30;;24672:7;;24649:30;:::i;:::-;24640:4;24624:22;;;;:7;:22;;;;;;;;;:55;;;;24701:44;1735:25:1;;;-1:-1:-1;;;;;24701:44:0;;;;;;;;;;1708:18:1;24701:44:0;;;;;;;-1:-1:-1;;;;;;;24763:24:0;;;24760:75;;24820:15;24812:7;;:23;;;;:::i;:::-;24802:7;:33;24760:75;24370:481;;23466:1392;;;;;:::o;22165:472::-;22255:16;;;22269:1;22255:16;;;;;;;;22231:21;;22255:16;;;;;;;;;;-1:-1:-1;22255:16:0;22231:40;;22300:4;22282;22287:1;22282:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22282:23:0;;;:7;;;;;;;;;;:23;;;;22326:15;;:22;;;-1:-1:-1;;;22326:22:0;;;;:15;;;;;:20;;:22;;;;;22282:7;;22326:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22316:4;22321:1;22316:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22316:32:0;;;:7;;;;;;;;;:32;22391:15;;22359:62;;22376:4;;22391:15;22409:11;22359:8;:62::i;:::-;22432:15;;:197;;-1:-1:-1;;;22432:197:0;;-1:-1:-1;;;;;22432:15:0;;;;:66;;:197;;22513:11;;22432:15;;22556:4;;22583;;22603:15;;22432:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22220:417;22165:472;:::o;22643:366::-;22756:15;;22724:62;;22741:4;;-1:-1:-1;;;;;22756:15:0;22774:11;22724:8;:62::i;:::-;22797:15;;:204;;-1:-1:-1;;;22797:204:0;;22869:4;22797:204;;;12557:34:1;12607:18;;;12600:34;;;22797:15:0;12650:18:1;;;12643:34;;;12693:18;;;12686:34;14200:42:0;12736:19:1;;;12729:44;22975:15:0;12789:19:1;;;12782:35;-1:-1:-1;;;;;22797:15:0;;;;:31;;22836:9;;12491:19:1;;22797:204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20544:120::-;20629:23;;-1:-1:-1;;;;;20629:15:0;;;:23;;;;;20645:6;;20629:23;;;;20645:6;20629:15;:23;;;;;;;;;;;;;;;;;;;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:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1771:456::-;1848:6;1856;1864;1917:2;1905:9;1896:7;1892:23;1888:32;1885:52;;;1933:1;1930;1923:12;1885:52;1972:9;1959:23;1991:31;2016:5;1991:31;:::i;:::-;2041:5;-1:-1:-1;2098:2:1;2083:18;;2070:32;2111:33;2070:32;2111:33;:::i;:::-;1771:456;;2163:7;;-1:-1:-1;;;2217:2:1;2202:18;;;;2189:32;;1771:456::o;2421:247::-;2480:6;2533:2;2521:9;2512:7;2508:23;2504:32;2501:52;;;2549:1;2546;2539:12;2501:52;2588:9;2575:23;2607:31;2632:5;2607:31;:::i;3105:127::-;3166:10;3161:3;3157:20;3154:1;3147:31;3197:4;3194:1;3187:15;3221:4;3218:1;3211:15;3237:118;3323:5;3316:13;3309:21;3302:5;3299:32;3289:60;;3345:1;3342;3335:12;3360:128;3425:20;;3454:28;3425:20;3454:28;:::i;3493:1191::-;3583:6;3591;3644:2;3632:9;3623:7;3619:23;3615:32;3612:52;;;3660:1;3657;3650:12;3612:52;3700:9;3687:23;3729:18;3770:2;3762:6;3759:14;3756:34;;;3786:1;3783;3776:12;3756:34;3824:6;3813:9;3809:22;3799:32;;3869:7;3862:4;3858:2;3854:13;3850:27;3840:55;;3891:1;3888;3881:12;3840:55;3927:2;3914:16;3949:4;3972:2;3968;3965:10;3962:36;;;3978:18;;:::i;:::-;4024:2;4021:1;4017:10;4056:2;4050:9;4119:2;4115:7;4110:2;4106;4102:11;4098:25;4090:6;4086:38;4174:6;4162:10;4159:22;4154:2;4142:10;4139:18;4136:46;4133:72;;;4185:18;;:::i;:::-;4221:2;4214:22;4271:18;;;4305:15;;;;-1:-1:-1;4347:11:1;;;4343:20;;;4375:19;;;4372:39;;;4407:1;4404;4397:12;4372:39;4431:11;;;;4451:148;4467:6;4462:3;4459:15;4451:148;;;4533:23;4552:3;4533:23;:::i;:::-;4521:36;;4484:12;;;;4577;;;;4451:148;;;4618:6;-1:-1:-1;4643:35:1;;-1:-1:-1;4659:18:1;;;4643:35;:::i;:::-;4633:45;;;;;;3493:1191;;;;;:::o;4689:388::-;4757:6;4765;4818:2;4806:9;4797:7;4793:23;4789:32;4786:52;;;4834:1;4831;4824:12;4786:52;4873:9;4860:23;4892:31;4917:5;4892:31;:::i;:::-;4942:5;-1:-1:-1;4999:2:1;4984:18;;4971:32;5012:33;4971:32;5012:33;:::i;:::-;5064:7;5054:17;;;4689:388;;;;;:::o;5082:382::-;5147:6;5155;5208:2;5196:9;5187:7;5183:23;5179:32;5176:52;;;5224:1;5221;5214:12;5176:52;5263:9;5250:23;5282:31;5307:5;5282:31;:::i;:::-;5332:5;-1:-1:-1;5389:2:1;5374:18;;5361:32;5402:30;5361:32;5402:30;:::i;5830:127::-;5891:10;5886:3;5882:20;5879:1;5872:31;5922:4;5919:1;5912:15;5946:4;5943:1;5936:15;5962:127;6023:10;6018:3;6014:20;6011:1;6004:31;6054:4;6051:1;6044:15;6078:4;6075:1;6068:15;6094:135;6133:3;6154:17;;;6151:43;;6174:18;;:::i;:::-;-1:-1:-1;6221:1:1;6210:13;;6094:135::o;6590:184::-;6660:6;6713:2;6701:9;6692:7;6688:23;6684:32;6681:52;;;6729:1;6726;6719:12;6681:52;-1:-1:-1;6752:16:1;;6590:184;-1:-1:-1;6590:184:1:o;6779:168::-;6852:9;;;6883;;6900:15;;;6894:22;;6880:37;6870:71;;6921:18;;:::i;6952:217::-;6992:1;7018;7008:132;;7062:10;7057:3;7053:20;7050:1;7043:31;7097:4;7094:1;7087:15;7125:4;7122:1;7115:15;7008:132;-1:-1:-1;7154:9:1;;6952:217::o;7461:245::-;7528:6;7581:2;7569:9;7560:7;7556:23;7552:32;7549:52;;;7597:1;7594;7587:12;7549:52;7629:9;7623:16;7648:28;7670:5;7648:28;:::i;8403:125::-;8468:9;;;8489:10;;;8486:36;;;8502:18;;:::i;10330:175::-;10367:3;10411:4;10404:5;10400:16;10440:4;10431:7;10428:17;10425:43;;10448:18;;:::i;:::-;10497:1;10484:15;;10330:175;-1:-1:-1;;10330:175:1:o;10510:128::-;10577:9;;;10598:11;;;10595:37;;;10612:18;;:::i;10967:251::-;11037:6;11090:2;11078:9;11069:7;11065:23;11061:32;11058:52;;;11106:1;11103;11096:12;11058:52;11138:9;11132:16;11157:31;11182:5;11157:31;:::i;11223:980::-;11485:4;11533:3;11522:9;11518:19;11564:6;11553:9;11546:25;11590:2;11628:6;11623:2;11612:9;11608:18;11601:34;11671:3;11666:2;11655:9;11651:18;11644:31;11695:6;11730;11724:13;11761:6;11753;11746:22;11799:3;11788:9;11784:19;11777:26;;11838:2;11830:6;11826:15;11812:29;;11859:1;11869:195;11883:6;11880:1;11877:13;11869:195;;;11948:13;;-1:-1:-1;;;;;11944:39:1;11932:52;;12039:15;;;;12004:12;;;;11980:1;11898:9;11869:195;;;-1:-1:-1;;;;;;;12120:32:1;;;;12115:2;12100:18;;12093:60;-1:-1:-1;;;12184:3:1;12169:19;12162:35;12081:3;11223:980;-1:-1:-1;;;11223:980:1:o;12828:306::-;12916:6;12924;12932;12985:2;12973:9;12964:7;12960:23;12956:32;12953:52;;;13001:1;12998;12991:12;12953:52;13030:9;13024:16;13014:26;;13080:2;13069:9;13065:18;13059:25;13049:35;;13124:2;13113:9;13109:18;13103:25;13093:35;;12828:306;;;;;:::o

Swarm Source

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