ETH Price: $3,400.67 (-1.09%)
Gas: 7 Gwei

Token

Chain Saw ($ChainSaw)
 

Overview

Max Total Supply

100,000,000 $ChainSaw

Holders

106

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
glugtouchedme.eth
Balance
114,665.821294895165118841 $ChainSaw

Value
$0.00
0x0bea4dbbb144b533713ed61a55e6b86ce3b4668d
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:
ChainSaw

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

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

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract 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(0));
        _owner = address(0);
    }

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

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _init(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract ChainSaw is ERC20, Ownable {
    IUniswapV2Router02 public uniswapV2Router;
    address public  uniswapV2Pair;

    mapping (address => bool) private _isExcludedFromFees;

    uint256 public tradingActiveTime;

    address public marketingWallet;
    address private DEAD = 0x000000000000000000000000000000000000dEaD;

    bool    public tradingEnabled;

    uint256 public swapTokensAtAmount;
    bool    private swapping;

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event ExcludedFromMaxWalletLimit(address indexed account, bool isExcluded);
    event SwapTokensAtAmountUpdated(uint256 swapTokensAtAmount);
    event SwapAndSend(uint256 tokensSwapped, uint256 valueReceived);

    constructor () ERC20("Chain Saw", "$ChainSaw") 
    {   
        address newOwner = 0x2d87ED99643103E1f34662c19fff5E1044BFaaaa;
        transferOwnership(newOwner);
        
        address router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // ETH UniswapV2 Router
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair   = _uniswapV2Pair;

        _approve(address(this), address(uniswapV2Router), type(uint256).max);
        
        marketingWallet = 0x2d87ED99643103E1f34662c19fff5E1044BFaaaa;

        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[address(0xdead)] = true;
        _isExcludedFromFees[address(this)] = true;

        _isExcludedFromMaxWalletLimit[owner()] = true;
        _isExcludedFromMaxWalletLimit[address(0)] = true;
        _isExcludedFromMaxWalletLimit[address(this)] = true;
        _isExcludedFromMaxWalletLimit[DEAD] = true;

        _init(owner(), 1e8 ether);
        swapTokensAtAmount = totalSupply() / 5000;
        
        maxWalletAmount    = totalSupply() / 50;

    }

    receive() external payable {

  	}

    function enableTrading() public onlyOwner{
        require(!tradingEnabled, "Trading is already enabled");
        tradingEnabled = true;
        tradingActiveTime = block.timestamp;
    }  

    function claimStuckTokens(address token) external onlyOwner {
        if (token == address(0x0)) {
            (bool success,) = msg.sender.call{value: address(this).balance}("");
            require(success, "Claim failed");
            return;
        }
        IERC20 ERC20token = IERC20(token);
        uint256 balance = ERC20token.balanceOf(address(this));
        ERC20token.transfer(msg.sender, balance);
    }

    function getFee() public view returns (uint256) {
        
        uint256 _fee;

        if (block.timestamp - tradingActiveTime < 5 minutes) {
            _fee =  35;

        }else if (block.timestamp - tradingActiveTime >= 5 minutes && block.timestamp - tradingActiveTime < 10 minutes) {
            _fee =  20;

        }else if (block.timestamp - tradingActiveTime >= 10 minutes && block.timestamp - tradingActiveTime < 15 minutes) {
            _fee =  10;  

        }else if (block.timestamp - tradingActiveTime >= 15 minutes && block.timestamp - tradingActiveTime < 20 minutes) {
            _fee =  5;      

        }else if (block.timestamp - tradingActiveTime >= 20 minutes) {
            _fee =  1;
        }
        
        return _fee;
    }

    function excludeFromFees(address account, bool excluded) external onlyOwner{
        require(_isExcludedFromFees[account] != excluded,"Account is already the value of 'excluded'");
        _isExcludedFromFees[account] = excluded;

        emit ExcludeFromFees(account, excluded);
    }

    function isExcludedFromFees(address account) public view returns(bool) {
        return _isExcludedFromFees[account];
    }
   
    function changeMarketingWallet(address _marketingWallet) external onlyOwner {
        require(_marketingWallet != address(0), "Marketing wallet cannot be the zero address");
        marketingWallet = _marketingWallet;
    }
    
    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tradingEnabled || _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not enabled yet");
            
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }      
    
		uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if (canSwap &&
            !swapping &&
            to == uniswapV2Pair
        ) {
            swapping = true;
           
            swap(contractTokenBalance);        

            swapping = false;
        }

        uint256 _totalFees;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to] || swapping) {
            _totalFees = 0;

        } else if (from == uniswapV2Pair || to == uniswapV2Pair) {
            _totalFees =  getFee();
          
        } else {
            _totalFees = 0;
        }

        if (_totalFees > 0) {
            uint256 fees = (amount * _totalFees) / 100;
            amount = amount - fees;
            super._transfer(from, address(this), fees);
        }

        if (maxWalletLimitEnabled) {
            if (_isExcludedFromMaxWalletLimit[from]  == false && 
                _isExcludedFromMaxWalletLimit[to]    == false &&
                to != uniswapV2Pair
            ) {
                uint balance  = balanceOf(to);
                require(
                    balance + amount <= maxWalletAmount, 
                    "MaxWallet: Recipient exceeds the maxWalletAmount"
                );
            }
        }

        super._transfer(from, to, amount);
    }

    function setSwapTokensAtAmount(uint256 newAmount) external onlyOwner{
        require(newAmount > totalSupply() / 1000000, "SwapTokensAtAmount must be greater than 0.0001% of total supply");
        swapTokensAtAmount = newAmount;
        emit SwapTokensAtAmountUpdated(swapTokensAtAmount);
    }
   
    function swap(uint256 tokenAmount) private {
        uint256 initialBalance = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);

        uint256 newBalance = address(this).balance - initialBalance;

        bool success = payable(marketingWallet).send(newBalance);
        if (success) {
            emit SwapAndSend(tokenAmount, newBalance);
        }
    }

    //=======MaxWallet=======//
    mapping(address => bool) private _isExcludedFromMaxWalletLimit;
    bool    public maxWalletLimitEnabled = true;
    uint256 public maxWalletAmount;
   
    function setExcludeFromMaxWallet(address account, bool exclude) external onlyOwner {
        require(
            _isExcludedFromMaxWalletLimit[account] != exclude, 
            "Account is already set to that state"
        );
        _isExcludedFromMaxWalletLimit[account] = exclude;
        emit ExcludedFromMaxWalletLimit(account, exclude);
    }

    function isExcludedFromMaxWalletLimit(address account) public view returns(bool) {
        return _isExcludedFromMaxWalletLimit[account];
    }
   
}

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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludedFromMaxWalletLimit","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":"valueReceived","type":"uint256"}],"name":"SwapAndSend","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"SwapTokensAtAmountUpdated","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":[{"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":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"changeMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromMaxWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","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":"maxWalletLimitEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"exclude","type":"bool"}],"name":"setExcludeFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"tradingActiveTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600b80546001600160a01b03191661dead179055600f805460ff1916600117905534801562000031575f80fd5b5060405180604001604052806009815260200168436861696e2053617760b81b8152506040518060400160405280600981526020016824436861696e53617760b81b815250816003908162000087919062000814565b50600462000096828262000814565b5050505f620000aa6200045360201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f905f805160206200250e833981519152908290a350732d87ed99643103e1f34662c19fff5e1044bfaaaa620001058162000457565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f8190505f816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200015f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001859190620008dc565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001f79190620008dc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000242573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002689190620008dc565b600680546001600160a01b038086166001600160a01b031992831681179093556007805491851691909216179055909150620002a89030905f1962000567565b600a80546001600160a01b031916732d87ed99643103e1f34662c19fff5e1044bfaaaa179055600160085f620002e66005546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff1995861617905560089092527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429980548416600190811790915530835290822080549093168117909255600e90620003696005546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055600e9093527fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881c8054851660019081179091553084528284208054861682179055600b5490911683529120805490921617905562000411620003ff6005546001600160a01b031690565b6a52b7d2dcc80cd2e40000006200068e565b6113886200041e60025490565b6200042a91906200090b565b600c5560326200043960025490565b6200044591906200090b565b601055506200095192505050565b3390565b6005546001600160a01b03163314620004b75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b0381166200051e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620004ae565b6005546040516001600160a01b038084169216905f805160206200250e833981519152905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316620005cb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401620004ae565b6001600160a01b0382166200062e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401620004ae565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216620006e65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004ae565b8060025f828254620006f991906200092b565b90915550506001600160a01b0382165f9081526020819052604081208054839290620007279084906200092b565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200079e57607f821691505b602082108103620007bd57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000770575f81815260208120601f850160051c81016020861015620007eb5750805b601f850160051c820191505b818110156200080c57828155600101620007f7565b505050505050565b81516001600160401b0381111562000830576200083062000775565b620008488162000841845462000789565b84620007c3565b602080601f8311600181146200087e575f8415620008665750858301515b5f19600386901b1c1916600185901b1785556200080c565b5f85815260208120601f198616915b82811015620008ae578886015182559484019460019091019084016200088d565b5085821015620008cc57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f60208284031215620008ed575f80fd5b81516001600160a01b038116811462000904575f80fd5b9392505050565b5f826200092657634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156200094b57634e487b7160e01b5f52601160045260245ffd5b92915050565b611baf806200095f5f395ff3fe6080604052600436106101d3575f3560e01c80638a8c523c116100fd578063afa4f3b211610092578063dd62ed3e11610062578063dd62ed3e14610551578063e2f4560514610595578063f2fde38b146105aa578063f9d0831a146105c9575f80fd5b8063afa4f3b2146104e0578063bb85c6d1146104ff578063c02466681461051e578063ced72f871461053d575f80fd5b8063a457c2d7116100cd578063a457c2d714610456578063a8a69b9d14610475578063a9059cbb146104ac578063aa4bde28146104cb575f80fd5b80638a8c523c146103f25780638da5cb5b14610406578063929f13601461042357806395d89b4114610442575f80fd5b806339509351116101735780635031595f116101435780635031595f1461037457806370a0823114610389578063715018a6146103bd57806375f0a874146103d3575f80fd5b806339509351146102df57806349bd5a5e146102fe5780634ada218b1461031d5780634fbee1931461033d575f80fd5b806318160ddd116101ae57806318160ddd1461026e57806321a9d82a1461028c57806323b872dd146102a5578063313ce567146102c4575f80fd5b806306fdde03146101de578063095ea7b3146102085780631694505e14610237575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b506101f26105e8565b6040516101ff91906117d4565b60405180910390f35b348015610213575f80fd5b50610227610222366004611833565b610678565b60405190151581526020016101ff565b348015610242575f80fd5b50600654610256906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b348015610279575f80fd5b506002545b6040519081526020016101ff565b348015610297575f80fd5b50600f546102279060ff1681565b3480156102b0575f80fd5b506102276102bf36600461185d565b61068e565b3480156102cf575f80fd5b50604051601281526020016101ff565b3480156102ea575f80fd5b506102276102f9366004611833565b610742565b348015610309575f80fd5b50600754610256906001600160a01b031681565b348015610328575f80fd5b50600b5461022790600160a01b900460ff1681565b348015610348575f80fd5b5061022761035736600461189b565b6001600160a01b03165f9081526008602052604090205460ff1690565b34801561037f575f80fd5b5061027e60095481565b348015610394575f80fd5b5061027e6103a336600461189b565b6001600160a01b03165f9081526020819052604090205490565b3480156103c8575f80fd5b506103d161077d565b005b3480156103de575f80fd5b50600a54610256906001600160a01b031681565b3480156103fd575f80fd5b506103d16107f0565b348015610411575f80fd5b506005546001600160a01b0316610256565b34801561042e575f80fd5b506103d161043d3660046118ca565b61088d565b34801561044d575f80fd5b506101f2610991565b348015610461575f80fd5b50610227610470366004611833565b6109a0565b348015610480575f80fd5b5061022761048f36600461189b565b6001600160a01b03165f908152600e602052604090205460ff1690565b3480156104b7575f80fd5b506102276104c6366004611833565b610a38565b3480156104d6575f80fd5b5061027e60105481565b3480156104eb575f80fd5b506103d16104fa366004611901565b610a44565b34801561050a575f80fd5b506103d161051936600461189b565b610b34565b348015610529575f80fd5b506103d16105383660046118ca565b610bea565b348015610548575f80fd5b5061027e610ced565b34801561055c575f80fd5b5061027e61056b366004611918565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156105a0575f80fd5b5061027e600c5481565b3480156105b5575f80fd5b506103d16105c436600461189b565b610ddb565b3480156105d4575f80fd5b506103d16105e336600461189b565b610ec5565b6060600380546105f790611944565b80601f016020809104026020016040519081016040528092919081815260200182805461062390611944565b801561066e5780601f106106455761010080835404028352916020019161066e565b820191905f5260205f20905b81548152906001019060200180831161065157829003601f168201915b5050505050905090565b5f610684338484611067565b5060015b92915050565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f19811461072c578281101561071f5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61072c8533858403611067565b61073785858561118a565b506001949350505050565b335f8181526001602090815260408083206001600160a01b03871684529091528120549091610684918590610778908690611990565b611067565b6005546001600160a01b031633146107a75760405162461bcd60e51b8152600401610716906119a3565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b0316331461081a5760405162461bcd60e51b8152600401610716906119a3565b600b54600160a01b900460ff16156108745760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c65640000000000006044820152606401610716565b600b805460ff60a01b1916600160a01b17905542600955565b6005546001600160a01b031633146108b75760405162461bcd60e51b8152600401610716906119a3565b6001600160a01b0382165f908152600e602052604090205481151560ff9091161515036109325760405162461bcd60e51b8152602060048201526024808201527f4163636f756e7420697320616c72656164792073657420746f207468617420736044820152637461746560e01b6064820152608401610716565b6001600160a01b0382165f818152600e6020908152604091829020805460ff191685151590811790915591519182527f1d9a11e204b58ad56c619c61600e42167624659d218f0143f1f64956b0daae6c91015b60405180910390a25050565b6060600480546105f790611944565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015610a215760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610716565b610a2e3385858403611067565b5060019392505050565b5f61068433848461118a565b6005546001600160a01b03163314610a6e5760405162461bcd60e51b8152600401610716906119a3565b620f4240610a7b60025490565b610a8591906119d8565b8111610af95760405162461bcd60e51b815260206004820152603f60248201527f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460448201527f6572207468616e20302e3030303125206f6620746f74616c20737570706c79006064820152608401610716565b600c8190556040518181527f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b1459060200160405180910390a150565b6005546001600160a01b03163314610b5e5760405162461bcd60e51b8152600401610716906119a3565b6001600160a01b038116610bc85760405162461bcd60e51b815260206004820152602b60248201527f4d61726b6574696e672077616c6c65742063616e6e6f7420626520746865207a60448201526a65726f206164647265737360a81b6064820152608401610716565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610c145760405162461bcd60e51b8152600401610716906119a3565b6001600160a01b0382165f9081526008602052604090205481151560ff909116151503610c965760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b6064820152608401610716565b6001600160a01b0382165f81815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79101610985565b5f8061012c60095442610d0091906119f7565b1015610d0e57506023919050565b61012c60095442610d1f91906119f7565b10158015610d3b575061025860095442610d3991906119f7565b105b15610d4857506014919050565b61025860095442610d5991906119f7565b10158015610d75575061038460095442610d7391906119f7565b105b15610d825750600a919050565b61038460095442610d9391906119f7565b10158015610daf57506104b060095442610dad91906119f7565b105b15610dbc57506005919050565b6104b060095442610dcd91906119f7565b10610dd6575060015b919050565b6005546001600160a01b03163314610e055760405162461bcd60e51b8152600401610716906119a3565b6001600160a01b038116610e6a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610716565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610eef5760405162461bcd60e51b8152600401610716906119a3565b6001600160a01b038116610f85576040515f90339047908381818185875af1925050503d805f8114610f3c576040519150601f19603f3d011682016040523d82523d5f602084013e610f41565b606091505b5050905080610f815760405162461bcd60e51b815260206004820152600c60248201526b10db185a5b4819985a5b195960a21b6044820152606401610716565b5050565b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610fcb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fef9190611a0a565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb906044016020604051808303815f875af115801561103c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110609190611a21565b5050505b50565b6001600160a01b0383166110c95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610716565b6001600160a01b03821661112a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610716565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111b05760405162461bcd60e51b815260040161071690611a3c565b6001600160a01b0382166111d65760405162461bcd60e51b815260040161071690611a81565b600b54600160a01b900460ff168061120557506001600160a01b0383165f9081526008602052604090205460ff165b8061122757506001600160a01b0382165f9081526008602052604090205460ff165b6112735760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610716565b805f0361128a5761128583835f6114c8565b505050565b305f90815260208190526040902054600c54811080159081906112b05750600d5460ff16155b80156112c957506007546001600160a01b038581169116145b156112ef57600d805460ff191660011790556112e48261161a565b600d805460ff191690555b6001600160a01b0385165f9081526008602052604081205460ff168061132c57506001600160a01b0385165f9081526008602052604090205460ff165b806113395750600d5460ff165b1561134557505f611385565b6007546001600160a01b038781169116148061136e57506007546001600160a01b038681169116145b156113825761137b610ced565b9050611385565b505f5b80156113bd575f60646113988387611ac4565b6113a291906119d8565b90506113ae81866119f7565b94506113bb8730836114c8565b505b600f5460ff16156114b5576001600160a01b0386165f908152600e602052604090205460ff1615801561140857506001600160a01b0385165f908152600e602052604090205460ff16155b801561142257506007546001600160a01b03868116911614155b156114b5576001600160a01b0385165f9081526020819052604090205460105461144c8683611990565b11156114b35760405162461bcd60e51b815260206004820152603060248201527f4d617857616c6c65743a20526563697069656e7420657863656564732074686560448201526f081b585e15d85b1b195d105b5bdd5b9d60821b6064820152608401610716565b505b6114c08686866114c8565b505050505050565b6001600160a01b0383166114ee5760405162461bcd60e51b815260040161071690611a3c565b6001600160a01b0382166115145760405162461bcd60e51b815260040161071690611a81565b6001600160a01b0383165f908152602081905260409020548181101561158b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610716565b6001600160a01b038085165f908152602081905260408082208585039055918516815290812080548492906115c1908490611990565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161160d91815260200190565b60405180910390a3611060565b60408051600280825260608201835247925f92919060208301908036833701905050905030815f8151811061165157611651611adb565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156116a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116cc9190611aef565b816001815181106116df576116df611adb565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac947906117249086905f90869030904290600401611b0a565b5f604051808303815f87803b15801561173b575f80fd5b505af115801561174d573d5f803e3d5ffd5b505050505f824761175e91906119f7565b600a546040519192505f916001600160a01b039091169083156108fc0290849084818181858888f19350505050905080156117cd5760408051868152602081018490527f1309193d68e1a43bd32da5f04e07935cc194c20b2bd1813be5c6898b99dac4be910160405180910390a15b5050505050565b5f6020808352835180828501525f5b818110156117ff578581018301518582016040015282016117e3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611064575f80fd5b5f8060408385031215611844575f80fd5b823561184f8161181f565b946020939093013593505050565b5f805f6060848603121561186f575f80fd5b833561187a8161181f565b9250602084013561188a8161181f565b929592945050506040919091013590565b5f602082840312156118ab575f80fd5b81356118b68161181f565b9392505050565b8015158114611064575f80fd5b5f80604083850312156118db575f80fd5b82356118e68161181f565b915060208301356118f6816118bd565b809150509250929050565b5f60208284031215611911575f80fd5b5035919050565b5f8060408385031215611929575f80fd5b82356119348161181f565b915060208301356118f68161181f565b600181811c9082168061195857607f821691505b60208210810361197657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106885761068861197c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f826119f257634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156106885761068861197c565b5f60208284031215611a1a575f80fd5b5051919050565b5f60208284031215611a31575f80fd5b81516118b6816118bd565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b80820281158282048414176106885761068861197c565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611aff575f80fd5b81516118b68161181f565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611b585784516001600160a01b031683529383019391830191600101611b33565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220dff3525b156caad1228510d78121a2db2163a5de197da8be058e7469fd5caac964736f6c634300081400338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0

Deployed Bytecode

0x6080604052600436106101d3575f3560e01c80638a8c523c116100fd578063afa4f3b211610092578063dd62ed3e11610062578063dd62ed3e14610551578063e2f4560514610595578063f2fde38b146105aa578063f9d0831a146105c9575f80fd5b8063afa4f3b2146104e0578063bb85c6d1146104ff578063c02466681461051e578063ced72f871461053d575f80fd5b8063a457c2d7116100cd578063a457c2d714610456578063a8a69b9d14610475578063a9059cbb146104ac578063aa4bde28146104cb575f80fd5b80638a8c523c146103f25780638da5cb5b14610406578063929f13601461042357806395d89b4114610442575f80fd5b806339509351116101735780635031595f116101435780635031595f1461037457806370a0823114610389578063715018a6146103bd57806375f0a874146103d3575f80fd5b806339509351146102df57806349bd5a5e146102fe5780634ada218b1461031d5780634fbee1931461033d575f80fd5b806318160ddd116101ae57806318160ddd1461026e57806321a9d82a1461028c57806323b872dd146102a5578063313ce567146102c4575f80fd5b806306fdde03146101de578063095ea7b3146102085780631694505e14610237575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b506101f26105e8565b6040516101ff91906117d4565b60405180910390f35b348015610213575f80fd5b50610227610222366004611833565b610678565b60405190151581526020016101ff565b348015610242575f80fd5b50600654610256906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b348015610279575f80fd5b506002545b6040519081526020016101ff565b348015610297575f80fd5b50600f546102279060ff1681565b3480156102b0575f80fd5b506102276102bf36600461185d565b61068e565b3480156102cf575f80fd5b50604051601281526020016101ff565b3480156102ea575f80fd5b506102276102f9366004611833565b610742565b348015610309575f80fd5b50600754610256906001600160a01b031681565b348015610328575f80fd5b50600b5461022790600160a01b900460ff1681565b348015610348575f80fd5b5061022761035736600461189b565b6001600160a01b03165f9081526008602052604090205460ff1690565b34801561037f575f80fd5b5061027e60095481565b348015610394575f80fd5b5061027e6103a336600461189b565b6001600160a01b03165f9081526020819052604090205490565b3480156103c8575f80fd5b506103d161077d565b005b3480156103de575f80fd5b50600a54610256906001600160a01b031681565b3480156103fd575f80fd5b506103d16107f0565b348015610411575f80fd5b506005546001600160a01b0316610256565b34801561042e575f80fd5b506103d161043d3660046118ca565b61088d565b34801561044d575f80fd5b506101f2610991565b348015610461575f80fd5b50610227610470366004611833565b6109a0565b348015610480575f80fd5b5061022761048f36600461189b565b6001600160a01b03165f908152600e602052604090205460ff1690565b3480156104b7575f80fd5b506102276104c6366004611833565b610a38565b3480156104d6575f80fd5b5061027e60105481565b3480156104eb575f80fd5b506103d16104fa366004611901565b610a44565b34801561050a575f80fd5b506103d161051936600461189b565b610b34565b348015610529575f80fd5b506103d16105383660046118ca565b610bea565b348015610548575f80fd5b5061027e610ced565b34801561055c575f80fd5b5061027e61056b366004611918565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156105a0575f80fd5b5061027e600c5481565b3480156105b5575f80fd5b506103d16105c436600461189b565b610ddb565b3480156105d4575f80fd5b506103d16105e336600461189b565b610ec5565b6060600380546105f790611944565b80601f016020809104026020016040519081016040528092919081815260200182805461062390611944565b801561066e5780601f106106455761010080835404028352916020019161066e565b820191905f5260205f20905b81548152906001019060200180831161065157829003601f168201915b5050505050905090565b5f610684338484611067565b5060015b92915050565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f19811461072c578281101561071f5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61072c8533858403611067565b61073785858561118a565b506001949350505050565b335f8181526001602090815260408083206001600160a01b03871684529091528120549091610684918590610778908690611990565b611067565b6005546001600160a01b031633146107a75760405162461bcd60e51b8152600401610716906119a3565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b0316331461081a5760405162461bcd60e51b8152600401610716906119a3565b600b54600160a01b900460ff16156108745760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c65640000000000006044820152606401610716565b600b805460ff60a01b1916600160a01b17905542600955565b6005546001600160a01b031633146108b75760405162461bcd60e51b8152600401610716906119a3565b6001600160a01b0382165f908152600e602052604090205481151560ff9091161515036109325760405162461bcd60e51b8152602060048201526024808201527f4163636f756e7420697320616c72656164792073657420746f207468617420736044820152637461746560e01b6064820152608401610716565b6001600160a01b0382165f818152600e6020908152604091829020805460ff191685151590811790915591519182527f1d9a11e204b58ad56c619c61600e42167624659d218f0143f1f64956b0daae6c91015b60405180910390a25050565b6060600480546105f790611944565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015610a215760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610716565b610a2e3385858403611067565b5060019392505050565b5f61068433848461118a565b6005546001600160a01b03163314610a6e5760405162461bcd60e51b8152600401610716906119a3565b620f4240610a7b60025490565b610a8591906119d8565b8111610af95760405162461bcd60e51b815260206004820152603f60248201527f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460448201527f6572207468616e20302e3030303125206f6620746f74616c20737570706c79006064820152608401610716565b600c8190556040518181527f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b1459060200160405180910390a150565b6005546001600160a01b03163314610b5e5760405162461bcd60e51b8152600401610716906119a3565b6001600160a01b038116610bc85760405162461bcd60e51b815260206004820152602b60248201527f4d61726b6574696e672077616c6c65742063616e6e6f7420626520746865207a60448201526a65726f206164647265737360a81b6064820152608401610716565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610c145760405162461bcd60e51b8152600401610716906119a3565b6001600160a01b0382165f9081526008602052604090205481151560ff909116151503610c965760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b6064820152608401610716565b6001600160a01b0382165f81815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79101610985565b5f8061012c60095442610d0091906119f7565b1015610d0e57506023919050565b61012c60095442610d1f91906119f7565b10158015610d3b575061025860095442610d3991906119f7565b105b15610d4857506014919050565b61025860095442610d5991906119f7565b10158015610d75575061038460095442610d7391906119f7565b105b15610d825750600a919050565b61038460095442610d9391906119f7565b10158015610daf57506104b060095442610dad91906119f7565b105b15610dbc57506005919050565b6104b060095442610dcd91906119f7565b10610dd6575060015b919050565b6005546001600160a01b03163314610e055760405162461bcd60e51b8152600401610716906119a3565b6001600160a01b038116610e6a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610716565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610eef5760405162461bcd60e51b8152600401610716906119a3565b6001600160a01b038116610f85576040515f90339047908381818185875af1925050503d805f8114610f3c576040519150601f19603f3d011682016040523d82523d5f602084013e610f41565b606091505b5050905080610f815760405162461bcd60e51b815260206004820152600c60248201526b10db185a5b4819985a5b195960a21b6044820152606401610716565b5050565b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610fcb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fef9190611a0a565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb906044016020604051808303815f875af115801561103c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110609190611a21565b5050505b50565b6001600160a01b0383166110c95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610716565b6001600160a01b03821661112a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610716565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111b05760405162461bcd60e51b815260040161071690611a3c565b6001600160a01b0382166111d65760405162461bcd60e51b815260040161071690611a81565b600b54600160a01b900460ff168061120557506001600160a01b0383165f9081526008602052604090205460ff165b8061122757506001600160a01b0382165f9081526008602052604090205460ff165b6112735760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610716565b805f0361128a5761128583835f6114c8565b505050565b305f90815260208190526040902054600c54811080159081906112b05750600d5460ff16155b80156112c957506007546001600160a01b038581169116145b156112ef57600d805460ff191660011790556112e48261161a565b600d805460ff191690555b6001600160a01b0385165f9081526008602052604081205460ff168061132c57506001600160a01b0385165f9081526008602052604090205460ff165b806113395750600d5460ff165b1561134557505f611385565b6007546001600160a01b038781169116148061136e57506007546001600160a01b038681169116145b156113825761137b610ced565b9050611385565b505f5b80156113bd575f60646113988387611ac4565b6113a291906119d8565b90506113ae81866119f7565b94506113bb8730836114c8565b505b600f5460ff16156114b5576001600160a01b0386165f908152600e602052604090205460ff1615801561140857506001600160a01b0385165f908152600e602052604090205460ff16155b801561142257506007546001600160a01b03868116911614155b156114b5576001600160a01b0385165f9081526020819052604090205460105461144c8683611990565b11156114b35760405162461bcd60e51b815260206004820152603060248201527f4d617857616c6c65743a20526563697069656e7420657863656564732074686560448201526f081b585e15d85b1b195d105b5bdd5b9d60821b6064820152608401610716565b505b6114c08686866114c8565b505050505050565b6001600160a01b0383166114ee5760405162461bcd60e51b815260040161071690611a3c565b6001600160a01b0382166115145760405162461bcd60e51b815260040161071690611a81565b6001600160a01b0383165f908152602081905260409020548181101561158b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610716565b6001600160a01b038085165f908152602081905260408082208585039055918516815290812080548492906115c1908490611990565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161160d91815260200190565b60405180910390a3611060565b60408051600280825260608201835247925f92919060208301908036833701905050905030815f8151811061165157611651611adb565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156116a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116cc9190611aef565b816001815181106116df576116df611adb565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac947906117249086905f90869030904290600401611b0a565b5f604051808303815f87803b15801561173b575f80fd5b505af115801561174d573d5f803e3d5ffd5b505050505f824761175e91906119f7565b600a546040519192505f916001600160a01b039091169083156108fc0290849084818181858888f19350505050905080156117cd5760408051868152602081018490527f1309193d68e1a43bd32da5f04e07935cc194c20b2bd1813be5c6898b99dac4be910160405180910390a15b5050505050565b5f6020808352835180828501525f5b818110156117ff578581018301518582016040015282016117e3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611064575f80fd5b5f8060408385031215611844575f80fd5b823561184f8161181f565b946020939093013593505050565b5f805f6060848603121561186f575f80fd5b833561187a8161181f565b9250602084013561188a8161181f565b929592945050506040919091013590565b5f602082840312156118ab575f80fd5b81356118b68161181f565b9392505050565b8015158114611064575f80fd5b5f80604083850312156118db575f80fd5b82356118e68161181f565b915060208301356118f6816118bd565b809150509250929050565b5f60208284031215611911575f80fd5b5035919050565b5f8060408385031215611929575f80fd5b82356119348161181f565b915060208301356118f68161181f565b600181811c9082168061195857607f821691505b60208210810361197657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106885761068861197c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f826119f257634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156106885761068861197c565b5f60208284031215611a1a575f80fd5b5051919050565b5f60208284031215611a31575f80fd5b81516118b6816118bd565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b80820281158282048414176106885761068861197c565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611aff575f80fd5b81516118b68161181f565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611b585784516001600160a01b031683529383019391830191600101611b33565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220dff3525b156caad1228510d78121a2db2163a5de197da8be058e7469fd5caac964736f6c63430008140033

Deployed Bytecode Sourcemap

12958:7778:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8243:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9157:169;;;;;;;;;;-1:-1:-1;9157:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9157:169:0;1023:187:1;13001:41:0;;;;;;;;;;-1:-1:-1;13001:41:0;;;;-1:-1:-1;;;;;13001:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;13001:41:0;1215:229:1;8564:108:0;;;;;;;;;;-1:-1:-1;8652:12:0;;8564:108;;;1595:25:1;;;1583:2;1568:18;8564:108:0;1449:177:1;20126:43:0;;;;;;;;;;-1:-1:-1;20126:43:0;;;;;;;;9334:573;;;;;;;;;;-1:-1:-1;9334:573:0;;;;;:::i;:::-;;:::i;8463:93::-;;;;;;;;;;-1:-1:-1;8463:93:0;;8546:2;2234:36:1;;2222:2;2207:18;8463:93:0;2092:184:1;9915:215:0;;;;;;;;;;-1:-1:-1;9915:215:0;;;;;:::i;:::-;;:::i;13049:29::-;;;;;;;;;;-1:-1:-1;13049:29:0;;;;-1:-1:-1;;;;;13049:29:0;;;13301;;;;;;;;;;-1:-1:-1;13301:29:0;;;;-1:-1:-1;;;13301:29:0;;;;;;16764:125;;;;;;;;;;-1:-1:-1;16764:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;16853:28:0;16829:4;16853:28;;;:19;:28;;;;;;;;;16764:125;13149:32;;;;;;;;;;;;;;;;8680:127;;;;;;;;;;-1:-1:-1;8680:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8781:18:0;8754:7;8781:18;;;;;;;;;;;;8680:127;7430:148;;;;;;;;;;;;;:::i;:::-;;13190:30;;;;;;;;;;-1:-1:-1;13190:30:0;;;;-1:-1:-1;;;;;13190:30:0;;;15042:192;;;;;;;;;;;;;:::i;7216:79::-;;;;;;;;;;-1:-1:-1;7281:6:0;;-1:-1:-1;;;;;7281:6:0;7216:79;;20218:357;;;;;;;;;;-1:-1:-1;20218:357:0;;;;;:::i;:::-;;:::i;8351:104::-;;;;;;;;;;;;;:::i;10138:413::-;;;;;;;;;;-1:-1:-1;10138:413:0;;;;;:::i;:::-;;:::i;20583:145::-;;;;;;;;;;-1:-1:-1;20583:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;20682:38:0;20658:4;20682:38;;;:29;:38;;;;;;;;;20583:145;8815:175;;;;;;;;;;-1:-1:-1;8815:175:0;;;;;:::i;:::-;;:::i;20176:30::-;;;;;;;;;;;;;;;;19036:300;;;;;;;;;;-1:-1:-1;19036:300:0;;;;;:::i;:::-;;:::i;16900:226::-;;;;;;;;;;-1:-1:-1;16900:226:0;;;;;:::i;:::-;;:::i;16466:290::-;;;;;;;;;;-1:-1:-1;16466:290:0;;;;;:::i;:::-;;:::i;15678:780::-;;;;;;;;;;;;;:::i;8998:151::-;;;;;;;;;;-1:-1:-1;8998:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;9114:18:0;;;9087:7;9114:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8998:151;13339:33;;;;;;;;;;;;;;;;7586:244;;;;;;;;;;-1:-1:-1;7586:244:0;;;;;:::i;:::-;;:::i;15244:426::-;;;;;;;;;;-1:-1:-1;15244:426:0;;;;;:::i;:::-;;:::i;8243:100::-;8297:13;8330:5;8323:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8243:100;:::o;9157:169::-;9240:4;9257:39;6619:10;9280:7;9289:6;9257:8;:39::i;:::-;-1:-1:-1;9314:4:0;9157:169;;;;;:::o;9334:573::-;-1:-1:-1;;;;;9518:19:0;;9474:4;9518:19;;;:11;:19;;;;;;;;6619:10;9518:33;;;;;;;;-1:-1:-1;;9566:37:0;;9562:265;;9648:6;9628:16;:26;;9620:79;;;;-1:-1:-1;;;9620:79:0;;4416:2:1;9620:79:0;;;4398:21:1;4455:2;4435:18;;;4428:30;4494:34;4474:18;;;4467:62;-1:-1:-1;;;4545:18:1;;;4538:38;4593:19;;9620:79:0;;;;;;;;;9743:57;9752:6;6619:10;9793:6;9774:16;:25;9743:8;:57::i;:::-;9839:36;9849:6;9857:9;9868:6;9839:9;:36::i;:::-;-1:-1:-1;9895:4:0;;9334:573;-1:-1:-1;;;;9334:573:0:o;9915:215::-;6619:10;10003:4;10052:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10052:34:0;;;;;;;;;;10003:4;;10020:80;;10043:7;;10052:47;;10089:10;;10052:47;:::i;:::-;10020:8;:80::i;7430:148::-;7343:6;;-1:-1:-1;;;;;7343:6:0;6619:10;7343:22;7335:67;;;;-1:-1:-1;;;7335:67:0;;;;;;;:::i;:::-;7521:6:::1;::::0;7500:40:::1;::::0;7537:1:::1;::::0;-1:-1:-1;;;;;7521:6:0::1;::::0;7500:40:::1;::::0;7537:1;;7500:40:::1;7551:6;:19:::0;;-1:-1:-1;;;;;;7551:19:0::1;::::0;;7430:148::o;15042:192::-;7343:6;;-1:-1:-1;;;;;7343:6:0;6619:10;7343:22;7335:67;;;;-1:-1:-1;;;7335:67:0;;;;;;;:::i;:::-;15103:14:::1;::::0;-1:-1:-1;;;15103:14:0;::::1;;;15102:15;15094:54;;;::::0;-1:-1:-1;;;15094:54:0;;5448:2:1;15094:54:0::1;::::0;::::1;5430:21:1::0;5487:2;5467:18;;;5460:30;5526:28;5506:18;;;5499:56;5572:18;;15094:54:0::1;5246:350:1::0;15094:54:0::1;15159:14;:21:::0;;-1:-1:-1;;;;15159:21:0::1;-1:-1:-1::0;;;15159:21:0::1;::::0;;15211:15:::1;15191:17;:35:::0;15042:192::o;20218:357::-;7343:6;;-1:-1:-1;;;;;7343:6:0;6619:10;7343:22;7335:67;;;;-1:-1:-1;;;7335:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20334:38:0;::::1;;::::0;;;:29:::1;:38;::::0;;;;;:49;::::1;;:38;::::0;;::::1;:49;;::::0;20312:136:::1;;;::::0;-1:-1:-1;;;20312:136:0;;5803:2:1;20312:136:0::1;::::0;::::1;5785:21:1::0;5842:2;5822:18;;;5815:30;5881:34;5861:18;;;5854:62;-1:-1:-1;;;5932:18:1;;;5925:34;5976:19;;20312:136:0::1;5601:400:1::0;20312:136:0::1;-1:-1:-1::0;;;;;20459:38:0;::::1;;::::0;;;:29:::1;:38;::::0;;;;;;;;:48;;-1:-1:-1;;20459:48:0::1;::::0;::::1;;::::0;;::::1;::::0;;;20523:44;;1163:41:1;;;20523:44:0::1;::::0;1136:18:1;20523:44:0::1;;;;;;;;20218:357:::0;;:::o;8351:104::-;8407:13;8440:7;8433:14;;;;;:::i;10138:413::-;6619:10;10231:4;10275:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10275:34:0;;;;;;;;;;10328:35;;;;10320:85;;;;-1:-1:-1;;;10320:85:0;;6208:2:1;10320:85:0;;;6190:21:1;6247:2;6227:18;;;6220:30;6286:34;6266:18;;;6259:62;-1:-1:-1;;;6337:18:1;;;6330:35;6382:19;;10320:85:0;6006:401:1;10320:85:0;10441:67;6619:10;10464:7;10492:15;10473:16;:34;10441:8;:67::i;:::-;-1:-1:-1;10539:4:0;;10138:413;-1:-1:-1;;;10138:413:0:o;8815:175::-;8901:4;8918:42;6619:10;8942:9;8953:6;8918:9;:42::i;19036:300::-;7343:6;;-1:-1:-1;;;;;7343:6:0;6619:10;7343:22;7335:67;;;;-1:-1:-1;;;7335:67:0;;;;;;;:::i;:::-;19151:7:::1;19135:13;8652:12:::0;;;8564:108;19135:13:::1;:23;;;;:::i;:::-;19123:9;:35;19115:111;;;::::0;-1:-1:-1;;;19115:111:0;;6836:2:1;19115:111:0::1;::::0;::::1;6818:21:1::0;6875:2;6855:18;;;6848:30;6914:34;6894:18;;;6887:62;6985:33;6965:18;;;6958:61;7036:19;;19115:111:0::1;6634:427:1::0;19115:111:0::1;19237:18;:30:::0;;;19283:45:::1;::::0;1595:25:1;;;19283:45:0::1;::::0;1583:2:1;1568:18;19283:45:0::1;;;;;;;19036:300:::0;:::o;16900:226::-;7343:6;;-1:-1:-1;;;;;7343:6:0;6619:10;7343:22;7335:67;;;;-1:-1:-1;;;7335:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16995:30:0;::::1;16987:86;;;::::0;-1:-1:-1;;;16987:86:0;;7268:2:1;16987:86:0::1;::::0;::::1;7250:21:1::0;7307:2;7287:18;;;7280:30;7346:34;7326:18;;;7319:62;-1:-1:-1;;;7397:18:1;;;7390:41;7448:19;;16987:86:0::1;7066:407:1::0;16987:86:0::1;17084:15;:34:::0;;-1:-1:-1;;;;;;17084:34:0::1;-1:-1:-1::0;;;;;17084:34:0;;;::::1;::::0;;;::::1;::::0;;16900:226::o;16466:290::-;7343:6;;-1:-1:-1;;;;;7343:6:0;6619:10;7343:22;7335:67;;;;-1:-1:-1;;;7335:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16560:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;:40;::::1;;:28;::::0;;::::1;:40;;::::0;16552:94:::1;;;::::0;-1:-1:-1;;;16552:94:0;;7680:2:1;16552:94:0::1;::::0;::::1;7662:21:1::0;7719:2;7699:18;;;7692:30;7758:34;7738:18;;;7731:62;-1:-1:-1;;;7809:18:1;;;7802:40;7859:19;;16552:94:0::1;7478:406:1::0;16552:94:0::1;-1:-1:-1::0;;;;;16657:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;16657:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;16714:34;;1163:41:1;;;16714:34:0::1;::::0;1136:18:1;16714:34:0::1;1023:187:1::0;15678:780:0;15717:7;15747:12;15814:9;15794:17;;15776:15;:35;;;;:::i;:::-;:47;15772:647;;;-1:-1:-1;15848:2:0;16446:4;15678:780;-1:-1:-1;15678:780:0:o;15772:647::-;15912:9;15891:17;;15873:15;:35;;;;:::i;:::-;:48;;:100;;;;;15963:10;15943:17;;15925:15;:35;;;;:::i;:::-;:48;15873:100;15869:550;;;-1:-1:-1;15998:2:0;16446:4;15678:780;-1:-1:-1;15678:780:0:o;15869:550::-;16062:10;16041:17;;16023:15;:35;;;;:::i;:::-;:49;;:101;;;;;16114:10;16094:17;;16076:15;:35;;;;:::i;:::-;:48;16023:101;16019:400;;;-1:-1:-1;16149:2:0;16446:4;15678:780;-1:-1:-1;15678:780:0:o;16019:400::-;16215:10;16194:17;;16176:15;:35;;;;:::i;:::-;:49;;:101;;;;;16267:10;16247:17;;16229:15;:35;;;;:::i;:::-;:48;16176:101;16172:247;;;-1:-1:-1;16302:1:0;16446:4;15678:780;-1:-1:-1;15678:780:0:o;16172:247::-;16371:10;16350:17;;16332:15;:35;;;;:::i;:::-;:49;16328:91;;-1:-1:-1;16406:1:0;16328:91;16446:4;15678:780;-1:-1:-1;15678:780:0:o;7586:244::-;7343:6;;-1:-1:-1;;;;;7343:6:0;6619:10;7343:22;7335:67;;;;-1:-1:-1;;;7335:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7675:22:0;::::1;7667:73;;;::::0;-1:-1:-1;;;7667:73:0;;8224:2:1;7667:73:0::1;::::0;::::1;8206:21:1::0;8263:2;8243:18;;;8236:30;8302:34;8282:18;;;8275:62;-1:-1:-1;;;8353:18:1;;;8346:36;8399:19;;7667:73:0::1;8022:402:1::0;7667:73:0::1;7777:6;::::0;7756:38:::1;::::0;-1:-1:-1;;;;;7756:38:0;;::::1;::::0;7777:6:::1;::::0;7756:38:::1;::::0;7777:6:::1;::::0;7756:38:::1;7805:6;:17:::0;;-1:-1:-1;;;;;;7805:17:0::1;-1:-1:-1::0;;;;;7805:17:0;;;::::1;::::0;;;::::1;::::0;;7586:244::o;15244:426::-;7343:6;;-1:-1:-1;;;;;7343:6:0;6619:10;7343:22;7335:67;;;;-1:-1:-1;;;7335:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15319:21:0;::::1;15315:189;;15375:49;::::0;15358:12:::1;::::0;15375:10:::1;::::0;15398:21:::1;::::0;15358:12;15375:49;15358:12;15375:49;15398:21;15375:10;:49:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15357:67;;;15447:7;15439:32;;;::::0;-1:-1:-1;;;15439:32:0;;8841:2:1;15439:32:0::1;::::0;::::1;8823:21:1::0;8880:2;8860:18;;;8853:30;-1:-1:-1;;;8899:18:1;;;8892:42;8951:18;;15439:32:0::1;8639:336:1::0;15439:32:0::1;15486:7;15244:426:::0;:::o;15315:189::-:1;15576:35;::::0;-1:-1:-1;;;15576:35:0;;15605:4:::1;15576:35;::::0;::::1;1387:51:1::0;15541:5:0;;15514:17:::1;::::0;-1:-1:-1;;;;;15576:20:0;::::1;::::0;::::1;::::0;1360:18:1;;15576:35:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15622:40;::::0;-1:-1:-1;;;15622:40:0;;15642:10:::1;15622:40;::::0;::::1;9343:51:1::0;9410:18;;;9403:34;;;15558:53:0;;-1:-1:-1;;;;;;15622:19:0;::::1;::::0;::::1;::::0;9316:18:1;;15622:40:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15304:366;;7413:1;15244:426:::0;:::o;12306:380::-;-1:-1:-1;;;;;12442:19:0;;12434:68;;;;-1:-1:-1;;;12434:68:0;;9900:2:1;12434:68:0;;;9882:21:1;9939:2;9919:18;;;9912:30;9978:34;9958:18;;;9951:62;-1:-1:-1;;;10029:18:1;;;10022:34;10073:19;;12434:68:0;9698:400:1;12434:68:0;-1:-1:-1;;;;;12521:21:0;;12513:68;;;;-1:-1:-1;;;12513:68:0;;10305:2:1;12513:68:0;;;10287:21:1;10344:2;10324:18;;;10317:30;10383:34;10363:18;;;10356:62;-1:-1:-1;;;10434:18:1;;;10427:32;10476:19;;12513:68:0;10103:398:1;12513:68:0;-1:-1:-1;;;;;12594:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12646:32;;1595:25:1;;;12646:32:0;;1568:18:1;12646:32:0;;;;;;;12306:380;;;:::o;17138:1890::-;-1:-1:-1;;;;;17235:18:0;;17227:68;;;;-1:-1:-1;;;17227:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17314:16:0;;17306:64;;;;-1:-1:-1;;;17306:64:0;;;;;;;:::i;:::-;17389:14;;-1:-1:-1;;;17389:14:0;;;;;:43;;-1:-1:-1;;;;;;17407:25:0;;;;;;:19;:25;;;;;;;;17389:43;:70;;;-1:-1:-1;;;;;;17436:23:0;;;;;;:19;:23;;;;;;;;17389:70;17381:109;;;;-1:-1:-1;;;17381:109:0;;11518:2:1;17381:109:0;;;11500:21:1;11557:2;11537:18;;;11530:30;11596:28;11576:18;;;11569:56;11642:18;;17381:109:0;11316:350:1;17381:109:0;17519:6;17529:1;17519:11;17515:93;;17547:28;17563:4;17569:2;17573:1;17547:15;:28::i;:::-;17138:1890;;;:::o;17515:93::-;17673:4;17624:28;8781:18;;;;;;;;;;;17731;;17707:42;;;;;;;17766:33;;-1:-1:-1;17791:8:0;;;;17790:9;17766:33;:69;;;;-1:-1:-1;17822:13:0;;-1:-1:-1;;;;;17816:19:0;;;17822:13;;17816:19;17766:69;17762:222;;;17862:8;:15;;-1:-1:-1;;17862:15:0;17873:4;17862:15;;;17905:26;17910:20;17905:4;:26::i;:::-;17956:8;:16;;-1:-1:-1;;17956:16:0;;;17762:222;-1:-1:-1;;;;;18029:25:0;;17996:18;18029:25;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;18058:23:0;;;;;;:19;:23;;;;;;;;18029:52;:64;;;-1:-1:-1;18085:8:0;;;;18029:64;18025:277;;;-1:-1:-1;18123:1:0;18025:277;;;18156:13;;-1:-1:-1;;;;;18148:21:0;;;18156:13;;18148:21;;:44;;-1:-1:-1;18179:13:0;;-1:-1:-1;;;;;18173:19:0;;;18179:13;;18173:19;18148:44;18144:158;;;18223:8;:6;:8::i;:::-;18209:22;;18144:158;;;-1:-1:-1;18289:1:0;18144:158;18318:14;;18314:183;;18349:12;18388:3;18365:19;18374:10;18365:6;:19;:::i;:::-;18364:27;;;;:::i;:::-;18349:42;-1:-1:-1;18415:13:0;18349:42;18415:6;:13;:::i;:::-;18406:22;;18443:42;18459:4;18473;18480;18443:15;:42::i;:::-;18334:163;18314:183;18513:21;;;;18509:466;;;-1:-1:-1;;;;;18555:35:0;;;;;;:29;:35;;;;;;;;:45;;;:112;;-1:-1:-1;;;;;;18622:33:0;;;;;;:29;:33;;;;;;;;:45;18555:112;:152;;;;-1:-1:-1;18694:13:0;;-1:-1:-1;;;;;18688:19:0;;;18694:13;;18688:19;;18555:152;18551:413;;;-1:-1:-1;;;;;8781:18:0;;18742:12;8781:18;;;;;;;;;;;18840:15;;18820:16;18830:6;8781:18;18820:16;:::i;:::-;:35;;18790:158;;;;-1:-1:-1;;;18790:158:0;;12046:2:1;18790:158:0;;;12028:21:1;12085:2;12065:18;;;12058:30;12124:34;12104:18;;;12097:62;-1:-1:-1;;;12175:18:1;;;12168:46;12231:19;;18790:158:0;11844:412:1;18790:158:0;18723:241;18551:413;18987:33;19003:4;19009:2;19013:6;18987:15;:33::i;:::-;17216:1812;;;17138:1890;;;:::o;10559:733::-;-1:-1:-1;;;;;10699:20:0;;10691:70;;;;-1:-1:-1;;;10691:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10780:23:0;;10772:71;;;;-1:-1:-1;;;10772:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10940:17:0;;10916:21;10940:17;;;;;;;;;;;10976:23;;;;10968:74;;;;-1:-1:-1;;;10968:74:0;;12463:2:1;10968:74:0;;;12445:21:1;12502:2;12482:18;;;12475:30;12541:34;12521:18;;;12514:62;-1:-1:-1;;;12592:18:1;;;12585:36;12638:19;;10968:74:0;12261:402:1;10968:74:0;-1:-1:-1;;;;;11078:17:0;;;:9;:17;;;;;;;;;;;11098:22;;;11078:42;;11142:20;;;;;;;;:30;;11114:6;;11078:9;11142:30;;11114:6;;11142:30;:::i;:::-;;;;;;;;11207:9;-1:-1:-1;;;;;11190:35:0;11199:6;-1:-1:-1;;;;;11190:35:0;;11218:6;11190:35;;;;1595:25:1;;1583:2;1568:18;;1449:177;11190:35:0;;;;;;;;11238:46;17138:1890;19347:669;19484:16;;;19498:1;19484:16;;;;;;;;19426:21;;19401:22;;19484:16;19498:1;19484:16;;;;;;;;;;-1:-1:-1;19484:16:0;19460:40;;19529:4;19511;19516:1;19511:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19511:23:0;;;:7;;;;;;;;;;:23;;;;19555:15;;:22;;;-1:-1:-1;;;19555:22:0;;;;:15;;;;;:20;;:22;;;;;19511:7;;19555:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19545:4;19550:1;19545:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19545:32:0;;;:7;;;;;;;;;:32;19590:15;;:186;;-1:-1:-1;;;19590:186:0;;:15;;;:66;;:186;;19671:11;;19590:15;;19713:4;;19740;;19760:15;;19590:186;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19789:18;19834:14;19810:21;:38;;;;:::i;:::-;19884:15;;19876:41;;19789:59;;-1:-1:-1;19861:12:0;;-1:-1:-1;;;;;19884:15:0;;;;19876:41;;;;;19789:59;;19861:12;19876:41;19861:12;19876:41;19789:59;19884:15;19876:41;;;;;;;19861:56;;19932:7;19928:81;;;19961:36;;;14347:25:1;;;14403:2;14388:18;;14381:34;;;19961:36:0;;14320:18:1;19961:36:0;;;;;;;19928:81;19390:626;;;;19347:669;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;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;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:247::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;2656:9;2643:23;2675:31;2700:5;2675:31;:::i;:::-;2725:5;2489:247;-1:-1:-1;;;2489:247:1:o;2741:118::-;2827:5;2820:13;2813:21;2806:5;2803:32;2793:60;;2849:1;2846;2839:12;2864:382;2929:6;2937;2990:2;2978:9;2969:7;2965:23;2961:32;2958:52;;;3006:1;3003;2996:12;2958:52;3045:9;3032:23;3064:31;3089:5;3064:31;:::i;:::-;3114:5;-1:-1:-1;3171:2:1;3156:18;;3143:32;3184:30;3143:32;3184:30;:::i;:::-;3233:7;3223:17;;;2864:382;;;;;:::o;3251:180::-;3310:6;3363:2;3351:9;3342:7;3338:23;3334:32;3331:52;;;3379:1;3376;3369:12;3331:52;-1:-1:-1;3402:23:1;;3251:180;-1:-1:-1;3251:180:1:o;3436:388::-;3504:6;3512;3565:2;3553:9;3544:7;3540:23;3536:32;3533:52;;;3581:1;3578;3571:12;3533:52;3620:9;3607:23;3639:31;3664:5;3639:31;:::i;:::-;3689:5;-1:-1:-1;3746:2:1;3731:18;;3718:32;3759:33;3718:32;3759:33;:::i;3829:380::-;3908:1;3904:12;;;;3951;;;3972:61;;4026:4;4018:6;4014:17;4004:27;;3972:61;4079:2;4071:6;4068:14;4048:18;4045:38;4042:161;;4125:10;4120:3;4116:20;4113:1;4106:31;4160:4;4157:1;4150:15;4188:4;4185:1;4178:15;4042:161;;3829:380;;;:::o;4623:127::-;4684:10;4679:3;4675:20;4672:1;4665:31;4715:4;4712:1;4705:15;4739:4;4736:1;4729:15;4755:125;4820:9;;;4841:10;;;4838:36;;;4854:18;;:::i;4885:356::-;5087:2;5069:21;;;5106:18;;;5099:30;5165:34;5160:2;5145:18;;5138:62;5232:2;5217:18;;4885:356::o;6412:217::-;6452:1;6478;6468:132;;6522:10;6517:3;6513:20;6510:1;6503:31;6557:4;6554:1;6547:15;6585:4;6582:1;6575:15;6468:132;-1:-1:-1;6614:9:1;;6412:217::o;7889:128::-;7956:9;;;7977:11;;;7974:37;;;7991:18;;:::i;8980:184::-;9050:6;9103:2;9091:9;9082:7;9078:23;9074:32;9071:52;;;9119:1;9116;9109:12;9071:52;-1:-1:-1;9142:16:1;;8980:184;-1:-1:-1;8980:184:1:o;9448:245::-;9515:6;9568:2;9556:9;9547:7;9543:23;9539:32;9536:52;;;9584:1;9581;9574:12;9536:52;9616:9;9610:16;9635:28;9657:5;9635:28;:::i;10506:401::-;10708:2;10690:21;;;10747:2;10727:18;;;10720:30;10786:34;10781:2;10766:18;;10759:62;-1:-1:-1;;;10852:2:1;10837:18;;10830:35;10897:3;10882:19;;10506:401::o;10912:399::-;11114:2;11096:21;;;11153:2;11133:18;;;11126:30;11192:34;11187:2;11172:18;;11165:62;-1:-1:-1;;;11258:2:1;11243:18;;11236:33;11301:3;11286:19;;10912:399::o;11671:168::-;11744:9;;;11775;;11792:15;;;11786:22;;11772:37;11762:71;;11813:18;;:::i;12800:127::-;12861:10;12856:3;12852:20;12849:1;12842:31;12892:4;12889:1;12882:15;12916:4;12913:1;12906:15;12932:251;13002:6;13055:2;13043:9;13034:7;13030:23;13026:32;13023:52;;;13071:1;13068;13061:12;13023:52;13103:9;13097:16;13122:31;13147:5;13122:31;:::i;13188:980::-;13450:4;13498:3;13487:9;13483:19;13529:6;13518:9;13511:25;13555:2;13593:6;13588:2;13577:9;13573:18;13566:34;13636:3;13631:2;13620:9;13616:18;13609:31;13660:6;13695;13689:13;13726:6;13718;13711:22;13764:3;13753:9;13749:19;13742:26;;13803:2;13795:6;13791:15;13777:29;;13824:1;13834:195;13848:6;13845:1;13842:13;13834:195;;;13913:13;;-1:-1:-1;;;;;13909:39:1;13897:52;;14004:15;;;;13969:12;;;;13945:1;13863:9;13834:195;;;-1:-1:-1;;;;;;;14085:32:1;;;;14080:2;14065:18;;14058:60;-1:-1:-1;;;14149:3:1;14134:19;14127:35;14046:3;13188:980;-1:-1:-1;;;13188:980:1:o

Swarm Source

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