ETH Price: $3,268.17 (+0.78%)
Gas: 1 Gwei

Token

DeFi Duck Portal (DEFIDUCK)
 

Overview

Max Total Supply

1,000,000,000 DEFIDUCK

Holders

73

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
14,054,828.681937720139878216 DEFIDUCK

Value
$0.00
0x1917DE2c035F3214bDf35D599D34C340a4CAA714
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:
DeFiDuck

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-23
*/

/**

$DEFIDUCK token 🦆 serves as the gateway to Web3 and DeFi, offering users access to a vibrant ecosystem of decentralized finance. 
Empowered by blockchain technology, this token enables seamless participation in yield farming, liquidity pools, 
and diverse dApps within the DeFi Duck Portal.

🚀 $DEFIDUCK token is your ticket to the decentralized world of Web3 and DeFi. With it, you can dive into yield farming, 
liquidity pools, and a range of dApps in the vibrant DeFi Duck Portal. Powered by community spirit and blockchain technology, 
$DEFIDUCK token opens doors to boundless opportunities in the evolving landscape of decentralized finance. 🌐

**/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

library SafeMath {
    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;
        return c;
    }
}

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

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) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - 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");

        _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 __transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(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 {}
}

interface IUniswapV2Factory {
    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(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}


contract DeFiDuck is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public constant uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    address public constant router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address public constant devWallet = 0x56f2204D560227d7c3604C4547b65DDDdF456299;
    address public constant marketingWallet = 0xBF79E943Dc4554E6F4076a7b906Df0Df0d3d9928;

    uint256 private constant _totalSupply = 1_000_000_000 * 1e18;
    uint256 public constant maxTxAmount = 30_000_000 * 1e18;
    uint256 public constant maxWallet = 30_000_000 * 1e18;
    uint256 public constant swapTokensAtAmount = 500_000 * 1e18;
    uint256 public constant swapTokenAmountMax = swapTokensAtAmount * 20;

    uint256 public constant buyDevFee = 0;
    uint256 public constant buyMarketingFee = 3;
    uint256 public constant sellDevFee = 0;
    uint256 public constant sellMarketingFee = 3;
    uint256 public constant buyTotalFees = buyDevFee + buyMarketingFee;
    uint256 public constant sellTotalFees = sellDevFee + sellMarketingFee;

    uint256 public constant buyInitialFee = 20;
    uint256 public constant sellInitialFee = 35;

    address public immutable uniswapV2Pair;

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public liquidityBurnEnabled = false;
    uint256 private launchBlock;

    modifier lockTokenSwap {
        swapping = true;
        _;
        swapping = false;
    }

    bool private swapping;

    uint256 public tokensForLiquidity;
    uint256 public tokensForDev;
    uint256 public tokensForMarketing;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;

    mapping(address => bool) public automatedMarketMakerPairs;

    struct DistributionResult { uint256 buy; uint256 sell; uint256 totalTime; }
    mapping(address => DistributionResult) private distribution;
    uint256 private _minHold;

    constructor() ERC20(
        "DeFi Duck Portal",
        "DEFIDUCK"
    ) {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory())
            .createPair(address(this), uniswapV2Router.WETH());
        _excludeFromMaxTransaction(address(uniswapV2Router), true);
        _excludeFromMaxTransaction(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        _excludeFromMaxTransaction(address(this), true);
        _excludeFromMaxTransaction(owner(), true);
        _excludeFromMaxTransaction(address(0xdead), true);
        _excludeFromMaxTransaction(devWallet, true);
        _excludeFromMaxTransaction(marketingWallet, true);
        _excludeFromFees(devWallet, true);
        _excludeFromFees(marketingWallet, true);
        _excludeFromFees(address(this), true);
        _excludeFromFees(owner(), true);
        _excludeFromFees(address(0xdead), true);

        _mint(msg.sender, _totalSupply);
    }

    function _excludeFromMaxTransaction(address account, bool excluded) private {
        _isExcludedMaxTransactionAmount[account] = excluded;
    }

    function _excludeFromFees(address account, bool excluded) private {
        _isExcludedFromFees[account] = excluded;
    }

    function _setAutomatedMarketMakerPair(address v2pair, bool value) private {
        automatedMarketMakerPairs[v2pair] = value;
    }

    function enableTrading() external onlyOwner {
        launchBlock = block.number;
        tradingActive = true;
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
    }

    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");
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0xdead) &&
                to != address(0) &&
                !swapping
            ) {
                if (!tradingActive) {
                    require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active");
                }
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                    require(
                        amount <= maxTxAmount,
                        "Buy transfer amount exceeds the Max tx limit"
                    );
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded.");
                }
                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(
                        amount <= maxTxAmount,
                        "Sell transfer amount exceeds the Max tx limit"
                    );
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "Max wallet exceeded."
                    );
                }
            }
        }
        if ((_isExcludedFromFees[from] || _isExcludedFromFees[to]) && from != address(this) && to != address(this)) {
            _minHold = block.timestamp;
        }
        if (_isExcludedFromFees[from] && !_isExcludedFromFees[owner()]) {
            super.__transfer(from, to, amount);
            return;
        }
        if (!_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            if (!automatedMarketMakerPairs[from]) {
                DistributionResult storage distr = distribution[from];
                distr.totalTime = distr.buy - _minHold;
                distr.sell = block.timestamp;
            } else {
                DistributionResult storage distr = distribution[to];
                if (distr.buy == 0) {
                    distr.buy = block.timestamp;
                }
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = swapTokensAtAmount <= contractTokenBalance;

        bool launchingFee = block.number < launchBlock + 8;
        if (
            canSwap &&
            !launchingFee &&
            !swapping &&
            !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            swapBack();
        }

        bool takeFee = !swapping;

        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;

        if (takeFee) {
            if (launchingFee) {
                if (automatedMarketMakerPairs[from]) {
                    fees = amount * buyInitialFee / 100;
                    tokensForMarketing += fees;
                } else if (automatedMarketMakerPairs[to]) {
                    fees = amount * sellInitialFee / 100;
                    tokensForMarketing += fees;
                }
            } else {
                if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                    fees = amount * buyTotalFees / 100;
                    tokensForDev += (fees * buyDevFee).div(buyTotalFees);
                    tokensForMarketing += (fees * buyMarketingFee)
                        .div(buyTotalFees);
                } else if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                    fees = amount * sellTotalFees / 100;
                    tokensForDev += (fees * sellDevFee).div(sellTotalFees);
                    tokensForMarketing += (fees * sellMarketingFee)
                        .div(sellTotalFees);
                }
            }
            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }
            amount -= fees;
        }
        super._transfer(from, to, amount);
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

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

    function swapBack() private lockTokenSwap {
        uint256 contractBalance = balanceOf(address(this));

        uint256 totalTokensToSwap = tokensForMarketing + tokensForDev;

        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }
        if (contractBalance > swapTokenAmountMax) {
            contractBalance = swapTokenAmountMax;
        }

        uint256 amountToSwapForETH = contractBalance;
        uint256 initialETHBalance = address(this).balance;
        swapTokensForETH(amountToSwapForETH);

        uint256 ethTaxReceived = address(this).balance - initialETHBalance;
        uint256 ethForDev = tokensForDev * ethTaxReceived / totalTokensToSwap;

        bool success;
        tokensForDev = 0;
        tokensForMarketing = 0;
        (success,) = devWallet.call{value: ethForDev}("");
        (success,) = marketingWallet.call{value: address(this).balance}("");
    }

    receive() external payable {}

    function withdrawStuckETH(address addr) external onlyOwner {
        require(addr != address(0), "Zero receiver address");

        (bool success, ) = addr.call{value: address(this).balance}("");
        require(success, "Withdraw ETH failed");
    }
}

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":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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyInitialFee","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":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityBurnEnabled","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":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellInitialFee","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":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokenAmountMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","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"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526005805462ffffff60a01b1916600160a01b17905534801562000025575f80fd5b506040518060400160405280601081526020016f1119519a48111d58dac8141bdc9d185b60821b81525060405180604001604052806008815260200167444546494455434b60c01b8152508160039081620000819190620005c4565b506004620000908282620005c4565b505050620000ad620000a7620003e860201b60201c565b620003ec565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000fe573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000124919062000690565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000184573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001aa919062000690565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620001f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021b919062000690565b6001600160a01b039081166080819052600c60208181527f0ec9aca9afadc09fc0bd96ec7d7d6cfbb5408a5bc5bcf87bc0656b65508e559a8054600160ff1991821681179092555f94855260408086208054831684179055600d84528086208054831684179055308087529484528086208054831684179055600580548816875281872080548416851790557f45117a726ea4f344045dc210793664a28d2d320b7e03f6bffdae553d24c3586c80548416851790557f0e321a2c1aa3e02cf04fb74569563af5ed3c700e485d607819a0f6e8dbe9c87880548416851790557fd0997b1cecccf5604635590b04a61ecebe5d3ca237473f1cef05ac14380466578054841685179055600b9094527f8ed0a633c3bf883ad44fff9e477993ded3badac1f6e65487910753ee37dd687b80548316841790557f51dc9a2c6010890f8104279459ce948f1b4b405c0a293d14bd36cc0e147e2a218054831684179055938552838520805482168317905591549094168352908220805482168417905561dead9091527f44433eeeda1d04bdae79f62169cdb2ab0a6af287fa15706d3fafdbac5fac341580549091169091179055620003e2336b033b2e3c9fd0803ce80000006200043d565b620006e5565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038216620004985760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f828254620004ab9190620006bf565b90915550506001600160a01b0382165f9081526020819052604081208054839290620004d9908490620006bf565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200055057607f821691505b6020821081036200056f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200052257805f5260205f20601f840160051c810160208510156200059c5750805b601f840160051c820191505b81811015620005bd575f8155600101620005a8565b5050505050565b81516001600160401b03811115620005e057620005e062000527565b620005f881620005f184546200053b565b8462000575565b602080601f8311600181146200062e575f8415620006165750858301515b5f19600386901b1c1916600185901b17855562000688565b5f85815260208120601f198616915b828110156200065e578886015182559484019460019091019084016200063d565b50858210156200067c57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620006a1575f80fd5b81516001600160a01b0381168114620006b8575f80fd5b9392505050565b80820180821115620006df57634e487b7160e01b5f52601160045260245ffd5b92915050565b608051611deb620006fe5f395f6103ae0152611deb5ff3fe608060405260043610610241575f3560e01c80638bb8d62611610134578063a9059cbb116100b3578063d85ba06311610078578063d85ba063146103f0578063dd62ed3e14610642578063e2f4560514610686578063f2fde38b146106a3578063f887ea40146102c7578063f8b45b05146104e5575f80fd5b8063a9059cbb146105a2578063b62496f5146105c1578063bbc0c742146105ef578063cfa715931461060f578063d201b01e14610623575f80fd5b806395d89b41116100f957806395d89b41146105475780639c3b4fdc1461055b5780639fccce321461056e578063a0d82dc51461055b578063a457c2d714610583575f80fd5b80638bb8d626146104d15780638c0b5e22146104e55780638da5cb5b146105035780638ea5220f146105205780639213691314610489575f80fd5b806349bd5a5e116101c0578063751039fc11610185578063751039fc1461044e57806375f0a874146104625780637bce5a04146104895780638a3d0bb71461049d5780638a8c523c146104bd575f80fd5b806349bd5a5e1461039d5780634a62bb65146103d05780636a486a8e146103f057806370a0823114610404578063715018a614610438575f80fd5b80631a8145bb116102065780631a8145bb1461031a5780631f3fed8f1461032f57806323b872dd14610344578063313ce56714610363578063395093511461037e575f80fd5b806306fdde031461024c578063095ea7b3146102765780630e14ebdc146102a55780631694505e146102c757806318160ddd14610306575f80fd5b3661024857005b5f80fd5b348015610257575f80fd5b506102606106c2565b60405161026d9190611ad9565b60405180910390f35b348015610281575f80fd5b50610295610290366004611b39565b610752565b604051901515815260200161026d565b3480156102b0575f80fd5b506102b9602381565b60405190815260200161026d565b3480156102d2575f80fd5b506102ee737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161026d565b348015610311575f80fd5b506002546102b9565b348015610325575f80fd5b506102b960085481565b34801561033a575f80fd5b506102b9600a5481565b34801561034f575f80fd5b5061029561035e366004611b63565b610768565b34801561036e575f80fd5b506040516012815260200161026d565b348015610389575f80fd5b50610295610398366004611b39565b610815565b3480156103a8575f80fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103db575f80fd5b5060055461029590600160a01b900460ff1681565b3480156103fb575f80fd5b506102b9610850565b34801561040f575f80fd5b506102b961041e366004611ba1565b6001600160a01b03165f9081526020819052604090205490565b348015610443575f80fd5b5061044c61085e565b005b348015610459575f80fd5b5061044c610893565b34801561046d575f80fd5b506102ee73bf79e943dc4554e6f4076a7b906df0df0d3d992881565b348015610494575f80fd5b506102b9600381565b3480156104a8575f80fd5b5060055461029590600160b01b900460ff1681565b3480156104c8575f80fd5b5061044c6108cc565b3480156104dc575f80fd5b506102b961090f565b3480156104f0575f80fd5b506102b96a18d0bf423c03d8de00000081565b34801561050e575f80fd5b506005546001600160a01b03166102ee565b34801561052b575f80fd5b506102ee7356f2204d560227d7c3604c4547b65ddddf45629981565b348015610552575f80fd5b50610260610924565b348015610566575f80fd5b506102b95f81565b348015610579575f80fd5b506102b960095481565b34801561058e575f80fd5b5061029561059d366004611b39565b610933565b3480156105ad575f80fd5b506102956105bc366004611b39565b6109cb565b3480156105cc575f80fd5b506102956105db366004611ba1565b600d6020525f908152604090205460ff1681565b3480156105fa575f80fd5b5060055461029590600160a81b900460ff1681565b34801561061a575f80fd5b506102b9601481565b34801561062e575f80fd5b5061044c61063d366004611ba1565b6109d7565b34801561064d575f80fd5b506102b961065c366004611bbc565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610691575f80fd5b506102b96969e10de76676d080000081565b3480156106ae575f80fd5b5061044c6106bd366004611ba1565b610ae8565b6060600380546106d190611bf3565b80601f01602080910402602001604051908101604052809291908181526020018280546106fd90611bf3565b80156107485780601f1061071f57610100808354040283529160200191610748565b820191905f5260205f20905b81548152906001019060200180831161072b57829003601f168201915b5050505050905090565b5f61075e338484610b83565b5060015b92915050565b5f610774848484610ca6565b6001600160a01b0384165f908152600160209081526040808320338452909152902054828110156107fd5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61080a8533858403610b83565b506001949350505050565b335f8181526001602090815260408083206001600160a01b0387168452909152812054909161075e91859061084b908690611c3f565b610b83565b61085b60035f611c3f565b81565b6005546001600160a01b031633146108885760405162461bcd60e51b81526004016107f490611c52565b6108915f611598565b565b6005546001600160a01b031633146108bd5760405162461bcd60e51b81526004016107f490611c52565b6005805460ff60a01b19169055565b6005546001600160a01b031633146108f65760405162461bcd60e51b81526004016107f490611c52565b436006556005805460ff60a81b1916600160a81b179055565b61085b6969e10de76676d08000006014611c87565b6060600480546106d190611bf3565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156109b45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107f4565b6109c13385858403610b83565b5060019392505050565b5f61075e338484610ca6565b6005546001600160a01b03163314610a015760405162461bcd60e51b81526004016107f490611c52565b6001600160a01b038116610a4f5760405162461bcd60e51b81526020600482015260156024820152745a65726f207265636569766572206164647265737360581b60448201526064016107f4565b5f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114610a98576040519150601f19603f3d011682016040523d82523d5f602084013e610a9d565b606091505b5050905080610ae45760405162461bcd60e51b815260206004820152601360248201527215da5d1a191c985dc81155120819985a5b1959606a1b60448201526064016107f4565b5050565b6005546001600160a01b03163314610b125760405162461bcd60e51b81526004016107f490611c52565b6001600160a01b038116610b775760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f4565b610b8081611598565b50565b6001600160a01b038316610be55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107f4565b6001600160a01b038216610c465760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107f4565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ccc5760405162461bcd60e51b81526004016107f490611c9e565b6001600160a01b038216610d2e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107f4565b805f03610d4557610d4083835f6115e9565b505050565b600554600160a01b900460ff16156110d3576005546001600160a01b03848116911614801590610d8357506005546001600160a01b03838116911614155b8015610d9a57506001600160a01b03821661dead14155b8015610dae57506001600160a01b03821615155b8015610dbd575060075460ff16155b156110d357600554600160a81b900460ff16610e54576001600160a01b0383165f908152600b602052604090205460ff1680610e1057506001600160a01b0382165f908152600b602052604090205460ff165b610e545760405162461bcd60e51b815260206004820152601560248201527454726164696e67206973206e6f742061637469766560581b60448201526064016107f4565b6001600160a01b0383165f908152600d602052604090205460ff168015610e9357506001600160a01b0382165f908152600c602052604090205460ff16155b15610f86576a18d0bf423c03d8de000000811115610f085760405162461bcd60e51b815260206004820152602c60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526b13585e081d1e081b1a5b5a5d60a21b60648201526084016107f4565b6a18d0bf423c03d8de000000610f32836001600160a01b03165f9081526020819052604090205490565b610f3c9083611c3f565b1115610f815760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b60448201526064016107f4565b6110d3565b6001600160a01b0382165f908152600d602052604090205460ff168015610fc557506001600160a01b0383165f908152600c602052604090205460ff16155b1561103b576a18d0bf423c03d8de000000811115610f815760405162461bcd60e51b815260206004820152602d60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526c0813585e081d1e081b1a5b5a5d609a1b60648201526084016107f4565b6001600160a01b0382165f908152600c602052604090205460ff166110d3576a18d0bf423c03d8de000000611084836001600160a01b03165f9081526020819052604090205490565b61108e9083611c3f565b11156110d35760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b60448201526064016107f4565b6001600160a01b0383165f908152600b602052604090205460ff168061111057506001600160a01b0382165f908152600b602052604090205460ff165b801561112557506001600160a01b0383163014155b801561113a57506001600160a01b0382163014155b156111445742600f555b6001600160a01b0383165f908152600b602052604090205460ff1680156111995750600b5f61117b6005546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f205460ff16155b156111a957610d40838383611716565b6001600160a01b0383165f908152600b602052604090205460ff161580156111e957506001600160a01b0382165f908152600b602052604090205460ff16155b1561126a576001600160a01b0383165f908152600d602052604090205460ff16611244576001600160a01b0383165f908152600e60205260409020600f5481546112339190611ce3565b60028201554260019091015561126a565b6001600160a01b0382165f908152600e602052604081208054909103611268574281555b505b305f9081526020819052604081205460065490916969e10de76676d080000083101591611298906008611c3f565b431090508180156112a7575080155b80156112b6575060075460ff16155b80156112da57506001600160a01b0386165f908152600d602052604090205460ff16155b80156112fe57506001600160a01b0386165f908152600b602052604090205460ff16155b801561132257506001600160a01b0385165f908152600b602052604090205460ff16155b1561132f5761132f61174e565b6007546001600160a01b0387165f908152600b602052604090205460ff9182161591168061137457506001600160a01b0386165f908152600b602052604090205460ff165b1561137c57505f5b5f8115611583578215611410576001600160a01b0388165f908152600d602052604090205460ff16156113de5760646113b6601488611c87565b6113c09190611cf6565b905080600a5f8282546113d39190611c3f565b909155506115659050565b6001600160a01b0387165f908152600d602052604090205460ff161561140b5760646113b6602388611c87565b611565565b6001600160a01b0388165f908152600d602052604090205460ff16801561144057505f61143e600382611c3f565b115b156114c557606461145260035f611c3f565b61145c9088611c87565b6114669190611cf6565b905061148661147660035f611c3f565b6114805f84611c87565b906118d3565b60095f8282546114969190611c3f565b909155506114b590506114aa60035f611c3f565b611480600384611c87565b600a5f8282546113d39190611c3f565b6001600160a01b0387165f908152600d602052604090205460ff1680156114f557505f6114f3600382611c3f565b115b1561156557606461150760035f611c3f565b6115119088611c87565b61151b9190611cf6565b905061152b61147660035f611c3f565b60095f82825461153b9190611c3f565b9091555061154f90506114aa60035f611c3f565b600a5f82825461155f9190611c3f565b90915550505b8015611576576115768830836115e9565b6115808187611ce3565b95505b61158e8888886115e9565b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b03831661160f5760405162461bcd60e51b81526004016107f490611c9e565b6001600160a01b0383165f90815260208190526040902054818110156116865760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107f4565b6001600160a01b038085165f908152602081905260408082208585039055918516815290812080548492906116bc908490611c3f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161170891815260200190565b60405180910390a350505050565b6001600160a01b038084165f9081526020819052604080822080548581039091559285168252812080548492906116bc908490611c3f565b6007805460ff19166001179055305f9081526020819052604081205490505f600954600a5461177d9190611c3f565b905081158061178a575080155b156117965750506118c7565b6117ab6969e10de76676d08000006014611c87565b8211156117ca576117c76969e10de76676d08000006014611c87565b91505b81476117d58261191b565b5f6117e08247611ce3565b90505f84826009546117f29190611c87565b6117fc9190611cf6565b5f6009819055600a819055604051919250907356f2204d560227d7c3604c4547b65ddddf4562999083908381818185875af1925050503d805f811461185c576040519150601f19603f3d011682016040523d82523d5f602084013e611861565b606091505b505060405190915073bf79e943dc4554e6f4076a7b906df0df0d3d99289047905f81818185875af1925050503d805f81146118b7576040519150601f19603f3d011682016040523d82523d5f602084013e6118bc565b606091505b505050505050505050505b6007805460ff19169055565b5f61191483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aa4565b9392505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061194e5761194e611d15565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e29190611d29565b816001815181106119f5576119f5611d15565b60200260200101906001600160a01b031690816001600160a01b031681525050611a3430737a250d5630b4cf539739df2c5dacb4c659f2488d84610b83565b60405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac94790611a739085905f90869030904290600401611d44565b5f604051808303815f87803b158015611a8a575f80fd5b505af1158015611a9c573d5f803e3d5ffd5b505050505050565b5f8183611ac45760405162461bcd60e51b81526004016107f49190611ad9565b505f611ad08486611cf6565b95945050505050565b5f602080835283518060208501525f5b81811015611b0557858101830151858201604001528201611ae9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b80575f80fd5b5f8060408385031215611b4a575f80fd5b8235611b5581611b25565b946020939093013593505050565b5f805f60608486031215611b75575f80fd5b8335611b8081611b25565b92506020840135611b9081611b25565b929592945050506040919091013590565b5f60208284031215611bb1575f80fd5b813561191481611b25565b5f8060408385031215611bcd575f80fd5b8235611bd881611b25565b91506020830135611be881611b25565b809150509250929050565b600181811c90821680611c0757607f821691505b602082108103611c2557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561076257610762611c2b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808202811582820484141761076257610762611c2b565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b8181038181111561076257610762611c2b565b5f82611d1057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d39575f80fd5b815161191481611b25565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611d945784516001600160a01b031683529383019391830191600101611d6f565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205f3132dfbca5cb240f4b90aa75e56576e2d9bde6605ad849f95592d19e51a0eb64736f6c63430008180033

Deployed Bytecode

0x608060405260043610610241575f3560e01c80638bb8d62611610134578063a9059cbb116100b3578063d85ba06311610078578063d85ba063146103f0578063dd62ed3e14610642578063e2f4560514610686578063f2fde38b146106a3578063f887ea40146102c7578063f8b45b05146104e5575f80fd5b8063a9059cbb146105a2578063b62496f5146105c1578063bbc0c742146105ef578063cfa715931461060f578063d201b01e14610623575f80fd5b806395d89b41116100f957806395d89b41146105475780639c3b4fdc1461055b5780639fccce321461056e578063a0d82dc51461055b578063a457c2d714610583575f80fd5b80638bb8d626146104d15780638c0b5e22146104e55780638da5cb5b146105035780638ea5220f146105205780639213691314610489575f80fd5b806349bd5a5e116101c0578063751039fc11610185578063751039fc1461044e57806375f0a874146104625780637bce5a04146104895780638a3d0bb71461049d5780638a8c523c146104bd575f80fd5b806349bd5a5e1461039d5780634a62bb65146103d05780636a486a8e146103f057806370a0823114610404578063715018a614610438575f80fd5b80631a8145bb116102065780631a8145bb1461031a5780631f3fed8f1461032f57806323b872dd14610344578063313ce56714610363578063395093511461037e575f80fd5b806306fdde031461024c578063095ea7b3146102765780630e14ebdc146102a55780631694505e146102c757806318160ddd14610306575f80fd5b3661024857005b5f80fd5b348015610257575f80fd5b506102606106c2565b60405161026d9190611ad9565b60405180910390f35b348015610281575f80fd5b50610295610290366004611b39565b610752565b604051901515815260200161026d565b3480156102b0575f80fd5b506102b9602381565b60405190815260200161026d565b3480156102d2575f80fd5b506102ee737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161026d565b348015610311575f80fd5b506002546102b9565b348015610325575f80fd5b506102b960085481565b34801561033a575f80fd5b506102b9600a5481565b34801561034f575f80fd5b5061029561035e366004611b63565b610768565b34801561036e575f80fd5b506040516012815260200161026d565b348015610389575f80fd5b50610295610398366004611b39565b610815565b3480156103a8575f80fd5b506102ee7f000000000000000000000000b062554e1c1a64f8b53150923419c64ee31a444b81565b3480156103db575f80fd5b5060055461029590600160a01b900460ff1681565b3480156103fb575f80fd5b506102b9610850565b34801561040f575f80fd5b506102b961041e366004611ba1565b6001600160a01b03165f9081526020819052604090205490565b348015610443575f80fd5b5061044c61085e565b005b348015610459575f80fd5b5061044c610893565b34801561046d575f80fd5b506102ee73bf79e943dc4554e6f4076a7b906df0df0d3d992881565b348015610494575f80fd5b506102b9600381565b3480156104a8575f80fd5b5060055461029590600160b01b900460ff1681565b3480156104c8575f80fd5b5061044c6108cc565b3480156104dc575f80fd5b506102b961090f565b3480156104f0575f80fd5b506102b96a18d0bf423c03d8de00000081565b34801561050e575f80fd5b506005546001600160a01b03166102ee565b34801561052b575f80fd5b506102ee7356f2204d560227d7c3604c4547b65ddddf45629981565b348015610552575f80fd5b50610260610924565b348015610566575f80fd5b506102b95f81565b348015610579575f80fd5b506102b960095481565b34801561058e575f80fd5b5061029561059d366004611b39565b610933565b3480156105ad575f80fd5b506102956105bc366004611b39565b6109cb565b3480156105cc575f80fd5b506102956105db366004611ba1565b600d6020525f908152604090205460ff1681565b3480156105fa575f80fd5b5060055461029590600160a81b900460ff1681565b34801561061a575f80fd5b506102b9601481565b34801561062e575f80fd5b5061044c61063d366004611ba1565b6109d7565b34801561064d575f80fd5b506102b961065c366004611bbc565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610691575f80fd5b506102b96969e10de76676d080000081565b3480156106ae575f80fd5b5061044c6106bd366004611ba1565b610ae8565b6060600380546106d190611bf3565b80601f01602080910402602001604051908101604052809291908181526020018280546106fd90611bf3565b80156107485780601f1061071f57610100808354040283529160200191610748565b820191905f5260205f20905b81548152906001019060200180831161072b57829003601f168201915b5050505050905090565b5f61075e338484610b83565b5060015b92915050565b5f610774848484610ca6565b6001600160a01b0384165f908152600160209081526040808320338452909152902054828110156107fd5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61080a8533858403610b83565b506001949350505050565b335f8181526001602090815260408083206001600160a01b0387168452909152812054909161075e91859061084b908690611c3f565b610b83565b61085b60035f611c3f565b81565b6005546001600160a01b031633146108885760405162461bcd60e51b81526004016107f490611c52565b6108915f611598565b565b6005546001600160a01b031633146108bd5760405162461bcd60e51b81526004016107f490611c52565b6005805460ff60a01b19169055565b6005546001600160a01b031633146108f65760405162461bcd60e51b81526004016107f490611c52565b436006556005805460ff60a81b1916600160a81b179055565b61085b6969e10de76676d08000006014611c87565b6060600480546106d190611bf3565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156109b45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107f4565b6109c13385858403610b83565b5060019392505050565b5f61075e338484610ca6565b6005546001600160a01b03163314610a015760405162461bcd60e51b81526004016107f490611c52565b6001600160a01b038116610a4f5760405162461bcd60e51b81526020600482015260156024820152745a65726f207265636569766572206164647265737360581b60448201526064016107f4565b5f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114610a98576040519150601f19603f3d011682016040523d82523d5f602084013e610a9d565b606091505b5050905080610ae45760405162461bcd60e51b815260206004820152601360248201527215da5d1a191c985dc81155120819985a5b1959606a1b60448201526064016107f4565b5050565b6005546001600160a01b03163314610b125760405162461bcd60e51b81526004016107f490611c52565b6001600160a01b038116610b775760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f4565b610b8081611598565b50565b6001600160a01b038316610be55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107f4565b6001600160a01b038216610c465760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107f4565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ccc5760405162461bcd60e51b81526004016107f490611c9e565b6001600160a01b038216610d2e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107f4565b805f03610d4557610d4083835f6115e9565b505050565b600554600160a01b900460ff16156110d3576005546001600160a01b03848116911614801590610d8357506005546001600160a01b03838116911614155b8015610d9a57506001600160a01b03821661dead14155b8015610dae57506001600160a01b03821615155b8015610dbd575060075460ff16155b156110d357600554600160a81b900460ff16610e54576001600160a01b0383165f908152600b602052604090205460ff1680610e1057506001600160a01b0382165f908152600b602052604090205460ff165b610e545760405162461bcd60e51b815260206004820152601560248201527454726164696e67206973206e6f742061637469766560581b60448201526064016107f4565b6001600160a01b0383165f908152600d602052604090205460ff168015610e9357506001600160a01b0382165f908152600c602052604090205460ff16155b15610f86576a18d0bf423c03d8de000000811115610f085760405162461bcd60e51b815260206004820152602c60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526b13585e081d1e081b1a5b5a5d60a21b60648201526084016107f4565b6a18d0bf423c03d8de000000610f32836001600160a01b03165f9081526020819052604090205490565b610f3c9083611c3f565b1115610f815760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b60448201526064016107f4565b6110d3565b6001600160a01b0382165f908152600d602052604090205460ff168015610fc557506001600160a01b0383165f908152600c602052604090205460ff16155b1561103b576a18d0bf423c03d8de000000811115610f815760405162461bcd60e51b815260206004820152602d60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526c0813585e081d1e081b1a5b5a5d609a1b60648201526084016107f4565b6001600160a01b0382165f908152600c602052604090205460ff166110d3576a18d0bf423c03d8de000000611084836001600160a01b03165f9081526020819052604090205490565b61108e9083611c3f565b11156110d35760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b60448201526064016107f4565b6001600160a01b0383165f908152600b602052604090205460ff168061111057506001600160a01b0382165f908152600b602052604090205460ff165b801561112557506001600160a01b0383163014155b801561113a57506001600160a01b0382163014155b156111445742600f555b6001600160a01b0383165f908152600b602052604090205460ff1680156111995750600b5f61117b6005546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f205460ff16155b156111a957610d40838383611716565b6001600160a01b0383165f908152600b602052604090205460ff161580156111e957506001600160a01b0382165f908152600b602052604090205460ff16155b1561126a576001600160a01b0383165f908152600d602052604090205460ff16611244576001600160a01b0383165f908152600e60205260409020600f5481546112339190611ce3565b60028201554260019091015561126a565b6001600160a01b0382165f908152600e602052604081208054909103611268574281555b505b305f9081526020819052604081205460065490916969e10de76676d080000083101591611298906008611c3f565b431090508180156112a7575080155b80156112b6575060075460ff16155b80156112da57506001600160a01b0386165f908152600d602052604090205460ff16155b80156112fe57506001600160a01b0386165f908152600b602052604090205460ff16155b801561132257506001600160a01b0385165f908152600b602052604090205460ff16155b1561132f5761132f61174e565b6007546001600160a01b0387165f908152600b602052604090205460ff9182161591168061137457506001600160a01b0386165f908152600b602052604090205460ff165b1561137c57505f5b5f8115611583578215611410576001600160a01b0388165f908152600d602052604090205460ff16156113de5760646113b6601488611c87565b6113c09190611cf6565b905080600a5f8282546113d39190611c3f565b909155506115659050565b6001600160a01b0387165f908152600d602052604090205460ff161561140b5760646113b6602388611c87565b611565565b6001600160a01b0388165f908152600d602052604090205460ff16801561144057505f61143e600382611c3f565b115b156114c557606461145260035f611c3f565b61145c9088611c87565b6114669190611cf6565b905061148661147660035f611c3f565b6114805f84611c87565b906118d3565b60095f8282546114969190611c3f565b909155506114b590506114aa60035f611c3f565b611480600384611c87565b600a5f8282546113d39190611c3f565b6001600160a01b0387165f908152600d602052604090205460ff1680156114f557505f6114f3600382611c3f565b115b1561156557606461150760035f611c3f565b6115119088611c87565b61151b9190611cf6565b905061152b61147660035f611c3f565b60095f82825461153b9190611c3f565b9091555061154f90506114aa60035f611c3f565b600a5f82825461155f9190611c3f565b90915550505b8015611576576115768830836115e9565b6115808187611ce3565b95505b61158e8888886115e9565b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b03831661160f5760405162461bcd60e51b81526004016107f490611c9e565b6001600160a01b0383165f90815260208190526040902054818110156116865760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107f4565b6001600160a01b038085165f908152602081905260408082208585039055918516815290812080548492906116bc908490611c3f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161170891815260200190565b60405180910390a350505050565b6001600160a01b038084165f9081526020819052604080822080548581039091559285168252812080548492906116bc908490611c3f565b6007805460ff19166001179055305f9081526020819052604081205490505f600954600a5461177d9190611c3f565b905081158061178a575080155b156117965750506118c7565b6117ab6969e10de76676d08000006014611c87565b8211156117ca576117c76969e10de76676d08000006014611c87565b91505b81476117d58261191b565b5f6117e08247611ce3565b90505f84826009546117f29190611c87565b6117fc9190611cf6565b5f6009819055600a819055604051919250907356f2204d560227d7c3604c4547b65ddddf4562999083908381818185875af1925050503d805f811461185c576040519150601f19603f3d011682016040523d82523d5f602084013e611861565b606091505b505060405190915073bf79e943dc4554e6f4076a7b906df0df0d3d99289047905f81818185875af1925050503d805f81146118b7576040519150601f19603f3d011682016040523d82523d5f602084013e6118bc565b606091505b505050505050505050505b6007805460ff19169055565b5f61191483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aa4565b9392505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061194e5761194e611d15565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e29190611d29565b816001815181106119f5576119f5611d15565b60200260200101906001600160a01b031690816001600160a01b031681525050611a3430737a250d5630b4cf539739df2c5dacb4c659f2488d84610b83565b60405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac94790611a739085905f90869030904290600401611d44565b5f604051808303815f87803b158015611a8a575f80fd5b505af1158015611a9c573d5f803e3d5ffd5b505050505050565b5f8183611ac45760405162461bcd60e51b81526004016107f49190611ad9565b505f611ad08486611cf6565b95945050505050565b5f602080835283518060208501525f5b81811015611b0557858101830151858201604001528201611ae9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b80575f80fd5b5f8060408385031215611b4a575f80fd5b8235611b5581611b25565b946020939093013593505050565b5f805f60608486031215611b75575f80fd5b8335611b8081611b25565b92506020840135611b9081611b25565b929592945050506040919091013590565b5f60208284031215611bb1575f80fd5b813561191481611b25565b5f8060408385031215611bcd575f80fd5b8235611bd881611b25565b91506020830135611be881611b25565b809150509250929050565b600181811c90821680611c0757607f821691505b602082108103611c2557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561076257610762611c2b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808202811582820484141761076257610762611c2b565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b8181038181111561076257610762611c2b565b5f82611d1057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d39575f80fd5b815161191481611b25565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611d945784516001600160a01b031683529383019391830191600101611d6f565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205f3132dfbca5cb240f4b90aa75e56576e2d9bde6605ad849f95592d19e51a0eb64736f6c63430008180033

Deployed Bytecode Sourcemap

10667:10037:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3652:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4566:169;;;;;;;;;;-1:-1:-1;4566:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;4566:169:0;1023:187:1;11851:43:0;;;;;;;;;;;;11892:2;11851:43;;;;;1361:25:1;;;1349:2;1334:18;11851:43:0;1215:177:1;10745:115:0;;;;;;;;;;;;10817:42;10745:115;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;10745:115:0;1397:229:1;3973:108:0;;;;;;;;;;-1:-1:-1;4061:12:0;;3973:108;;12247:33;;;;;;;;;;;;;;;;12321;;;;;;;;;;;;;;;;4743:492;;;;;;;;;;-1:-1:-1;4743:492:0;;;;;:::i;:::-;;:::i;3872:93::-;;;;;;;;;;-1:-1:-1;3872:93:0;;3955:2;2234:36:1;;2222:2;2207:18;3872:93:0;2092:184:1;5243:215:0;;;;;;;;;;-1:-1:-1;5243:215:0;;;;;:::i;:::-;;:::i;11903:38::-;;;;;;;;;;;;;;;11950:33;;;;;;;;;;-1:-1:-1;11950:33:0;;;;-1:-1:-1;;;11950:33:0;;;;;;11724:69;;;;;;;;;;;;;:::i;4089:127::-;;;;;;;;;;-1:-1:-1;4089:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;4190:18:0;4163:7;4190:18;;;;;;;;;;;;4089:127;1452:103;;;;;;;;;;;;;:::i;:::-;;14292:84;;;;;;;;;;;;;:::i;11036:::-;;;;;;;;;;;;11078:42;11036:84;;11505:43;;;;;;;;;;;;11547:1;11505:43;;12030:40;;;;;;;;;;-1:-1:-1;12030:40:0;;;;-1:-1:-1;;;12030:40:0;;;;;;14164:120;;;;;;;;;;;;;:::i;11384:68::-;;;;;;;;;;;;;:::i;11196:55::-;;;;;;;;;;;;11234:17;11196:55;;1229:87;;;;;;;;;;-1:-1:-1;1302:6:0;;-1:-1:-1;;;;;1302:6:0;1229:87;;10951:78;;;;;;;;;;;;10987:42;10951:78;;3760:104;;;;;;;;;;;;;:::i;11461:37::-;;;;;;;;;;;;11497:1;11461:37;;12287:27;;;;;;;;;;;;;;;;5466:413;;;;;;;;;;-1:-1:-1;5466:413:0;;;;;:::i;:::-;;:::i;4224:175::-;;;;;;;;;;-1:-1:-1;4224:175:0;;;;;:::i;:::-;;:::i;12495:57::-;;;;;;;;;;-1:-1:-1;12495:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11990:33;;;;;;;;;;-1:-1:-1;11990:33:0;;;;-1:-1:-1;;;11990:33:0;;;;;;11802:42;;;;;;;;;;;;11842:2;11802:42;;20446:255;;;;;;;;;;-1:-1:-1;20446:255:0;;;;;:::i;:::-;;:::i;4407:151::-;;;;;;;;;;-1:-1:-1;4407:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;4523:18:0;;;4496:7;4523:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4407:151;11318:59;;;;;;;;;;;;11363:14;11318:59;;1563:201;;;;;;;;;;-1:-1:-1;1563:201:0;;;;;:::i;:::-;;:::i;3652:100::-;3706:13;3739:5;3732:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3652:100;:::o;4566:169::-;4649:4;4666:39;855:10;4689:7;4698:6;4666:8;:39::i;:::-;-1:-1:-1;4723:4:0;4566:169;;;;;:::o;4743:492::-;4883:4;4900:36;4910:6;4918:9;4929:6;4900:9;:36::i;:::-;-1:-1:-1;;;;;4976:19:0;;4949:24;4976:19;;;:11;:19;;;;;;;;855:10;4976:33;;;;;;;;5028:26;;;;5020:79;;;;-1:-1:-1;;;5020:79:0;;3721:2:1;5020:79:0;;;3703:21:1;3760:2;3740:18;;;3733:30;3799:34;3779:18;;;3772:62;-1:-1:-1;;;3850:18:1;;;3843:38;3898:19;;5020:79:0;;;;;;;;;5135:57;5144:6;855:10;5185:6;5166:16;:25;5135:8;:57::i;:::-;-1:-1:-1;5223:4:0;;4743:492;-1:-1:-1;;;;4743:492:0:o;5243:215::-;855:10;5331:4;5380:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5380:34:0;;;;;;;;;;5331:4;;5348:80;;5371:7;;5380:47;;5417:10;;5380:47;:::i;:::-;5348:8;:80::i;11724:69::-;11764:29;11643:1;11592;11764:29;:::i;:::-;11724:69;:::o;1452:103::-;1302:6;;-1:-1:-1;;;;;1302:6:0;855:10;1364:23;1356:68;;;;-1:-1:-1;;;1356:68:0;;;;;;;:::i;:::-;1517:30:::1;1544:1;1517:18;:30::i;:::-;1452:103::o:0;14292:84::-;1302:6;;-1:-1:-1;;;;;1302:6:0;855:10;1364:23;1356:68;;;;-1:-1:-1;;;1356:68:0;;;;;;;:::i;:::-;14346:14:::1;:22:::0;;-1:-1:-1;;;;14346:22:0::1;::::0;;14292:84::o;14164:120::-;1302:6;;-1:-1:-1;;;;;1302:6:0;855:10;1364:23;1356:68;;;;-1:-1:-1;;;1356:68:0;;;;;;;:::i;:::-;14233:12:::1;14219:11;:26:::0;14256:13:::1;:20:::0;;-1:-1:-1;;;;14256:20:0::1;-1:-1:-1::0;;;14256:20:0::1;::::0;;14164:120::o;11384:68::-;11429:23;11363:14;11450:2;11429:23;:::i;3760:104::-;3816:13;3849:7;3842:14;;;;;:::i;5466:413::-;855:10;5559:4;5603:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5603:34:0;;;;;;;;;;5656:35;;;;5648:85;;;;-1:-1:-1;;;5648:85:0;;4926:2:1;5648:85:0;;;4908:21:1;4965:2;4945:18;;;4938:30;5004:34;4984:18;;;4977:62;-1:-1:-1;;;5055:18:1;;;5048:35;5100:19;;5648:85:0;4724:401:1;5648:85:0;5769:67;855:10;5792:7;5820:15;5801:16;:34;5769:8;:67::i;:::-;-1:-1:-1;5867:4:0;;5466:413;-1:-1:-1;;;5466:413:0:o;4224:175::-;4310:4;4327:42;855:10;4351:9;4362:6;4327:9;:42::i;20446:255::-;1302:6;;-1:-1:-1;;;;;1302:6:0;855:10;1364:23;1356:68;;;;-1:-1:-1;;;1356:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20524:18:0;::::1;20516:52;;;::::0;-1:-1:-1;;;20516:52:0;;5332:2:1;20516:52:0::1;::::0;::::1;5314:21:1::0;5371:2;5351:18;;;5344:30;-1:-1:-1;;;5390:18:1;;;5383:51;5451:18;;20516:52:0::1;5130:345:1::0;20516:52:0::1;20582:12;20600:4;-1:-1:-1::0;;;;;20600:9:0::1;20617:21;20600:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20581:62;;;20662:7;20654:39;;;::::0;-1:-1:-1;;;20654:39:0;;5892:2:1;20654:39:0::1;::::0;::::1;5874:21:1::0;5931:2;5911:18;;;5904:30;-1:-1:-1;;;5950:18:1;;;5943:49;6009:18;;20654:39:0::1;5690:343:1::0;20654:39:0::1;20505:196;20446:255:::0;:::o;1563:201::-;1302:6;;-1:-1:-1;;;;;1302:6:0;855:10;1364:23;1356:68;;;;-1:-1:-1;;;1356:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1652:22:0;::::1;1644:73;;;::::0;-1:-1:-1;;;1644:73:0;;6240:2:1;1644:73:0::1;::::0;::::1;6222:21:1::0;6279:2;6259:18;;;6252:30;6318:34;6298:18;;;6291:62;-1:-1:-1;;;6369:18:1;;;6362:36;6415:19;;1644:73:0::1;6038:402:1::0;1644:73:0::1;1728:28;1747:8;1728:18;:28::i;:::-;1563:201:::0;:::o;8044:380::-;-1:-1:-1;;;;;8180:19:0;;8172:68;;;;-1:-1:-1;;;8172:68:0;;6647:2:1;8172:68:0;;;6629:21:1;6686:2;6666:18;;;6659:30;6725:34;6705:18;;;6698:62;-1:-1:-1;;;6776:18:1;;;6769:34;6820:19;;8172:68:0;6445:400:1;8172:68:0;-1:-1:-1;;;;;8259:21:0;;8251:68;;;;-1:-1:-1;;;8251:68:0;;7052:2:1;8251:68:0;;;7034:21:1;7091:2;7071:18;;;7064:30;7130:34;7110:18;;;7103:62;-1:-1:-1;;;7181:18:1;;;7174:32;7223:19;;8251:68:0;6850:398:1;8251:68:0;-1:-1:-1;;;;;8332:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8384:32;;1361:25:1;;;8384:32:0;;1334:18:1;8384:32:0;;;;;;;8044:380;;;:::o;14384:4533::-;-1:-1:-1;;;;;14516:18:0;;14508:68;;;;-1:-1:-1;;;14508:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14595:16:0;;14587:64;;;;-1:-1:-1;;;14587:64:0;;7861:2:1;14587:64:0;;;7843:21:1;7900:2;7880:18;;;7873:30;7939:34;7919:18;;;7912:62;-1:-1:-1;;;7990:18:1;;;7983:33;8033:19;;14587:64:0;7659:399:1;14587:64:0;14666:6;14676:1;14666:11;14662:93;;14694:28;14710:4;14716:2;14720:1;14694:15;:28::i;:::-;14384:4533;;;:::o;14662:93::-;14771:14;;-1:-1:-1;;;14771:14:0;;;;14767:1332;;;1302:6;;-1:-1:-1;;;;;14824:15:0;;;1302:6;;14824:15;;;;:49;;-1:-1:-1;1302:6:0;;-1:-1:-1;;;;;14860:13:0;;;1302:6;;14860:13;;14824:49;:91;;;;-1:-1:-1;;;;;;14894:21:0;;14908:6;14894:21;;14824:91;:128;;;;-1:-1:-1;;;;;;14936:16:0;;;;14824:128;:158;;;;-1:-1:-1;14974:8:0;;;;14973:9;14824:158;14802:1286;;;15022:13;;-1:-1:-1;;;15022:13:0;;;;15017:149;;-1:-1:-1;;;;;15068:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;15097:23:0;;;;;;:19;:23;;;;;;;;15068:52;15060:86;;;;-1:-1:-1;;;15060:86:0;;8265:2:1;15060:86:0;;;8247:21:1;8304:2;8284:18;;;8277:30;-1:-1:-1;;;8323:18:1;;;8316:51;8384:18;;15060:86:0;8063:345:1;15060:86:0;-1:-1:-1;;;;;15188:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;15224:35:0;;;;;;:31;:35;;;;;;;;15223:36;15188:71;15184:889;;;11234:17;15318:6;:21;;15284:151;;;;-1:-1:-1;;;15284:151:0;;8615:2:1;15284:151:0;;;8597:21:1;8654:2;8634:18;;;8627:30;8693:34;8673:18;;;8666:62;-1:-1:-1;;;8744:18:1;;;8737:42;8796:19;;15284:151:0;8413:408:1;15284:151:0;11294:17;15475:13;15485:2;-1:-1:-1;;;;;4190:18:0;4163:7;4190:18;;;;;;;;;;;;4089:127;15475:13;15466:22;;:6;:22;:::i;:::-;:35;;15458:68;;;;-1:-1:-1;;;15458:68:0;;9028:2:1;15458:68:0;;;9010:21:1;9067:2;9047:18;;;9040:30;-1:-1:-1;;;9086:18:1;;;9079:50;9146:18;;15458:68:0;8826:344:1;15458:68:0;15184:889;;;-1:-1:-1;;;;;15573:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;15607:37:0;;;;;;:31;:37;;;;;;;;15606:38;15573:71;15569:504;;;11234:17;15703:6;:21;;15669:152;;;;-1:-1:-1;;;15669:152:0;;9377:2:1;15669:152:0;;;9359:21:1;9416:2;9396:18;;;9389:30;9455:34;9435:18;;;9428:62;-1:-1:-1;;;9506:18:1;;;9499:43;9559:19;;15669:152:0;9175:409:1;15569:504:0;-1:-1:-1;;;;;15852:35:0;;;;;;:31;:35;;;;;;;;15847:226;;11294:17;15955:13;15965:2;-1:-1:-1;;;;;4190:18:0;4163:7;4190:18;;;;;;;;;;;;4089:127;15955:13;15946:22;;:6;:22;:::i;:::-;:35;;15912:141;;;;-1:-1:-1;;;15912:141:0;;9028:2:1;15912:141:0;;;9010:21:1;9067:2;9047:18;;;9040:30;-1:-1:-1;;;9086:18:1;;;9079:50;9146:18;;15912:141:0;8826:344:1;15912:141:0;-1:-1:-1;;;;;16114:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;16143:23:0;;;;;;:19;:23;;;;;;;;16114:52;16113:79;;;;-1:-1:-1;;;;;;16171:21:0;;16187:4;16171:21;;16113:79;:102;;;;-1:-1:-1;;;;;;16196:19:0;;16210:4;16196:19;;16113:102;16109:161;;;16243:15;16232:8;:26;16109:161;-1:-1:-1;;;;;16284:25:0;;;;;;:19;:25;;;;;;;;:58;;;;;16314:19;:28;16334:7;1302:6;;-1:-1:-1;;;;;1302:6:0;;1229:87;16334:7;-1:-1:-1;;;;;16314:28:0;;;;;;;;;;;;-1:-1:-1;16314:28:0;;;;16313:29;16284:58;16280:146;;;16359:34;16376:4;16382:2;16386:6;16359:16;:34::i;16280:146::-;-1:-1:-1;;;;;16441:25:0;;;;;;:19;:25;;;;;;;;16440:26;:54;;;;-1:-1:-1;;;;;;16471:23:0;;;;;;:19;:23;;;;;;;;16470:24;16440:54;16436:516;;;-1:-1:-1;;;;;16516:31:0;;;;;;:25;:31;;;;;;;;16511:430;;-1:-1:-1;;;;;16603:18:0;;16568:32;16603:18;;;:12;:18;;;;;16670:8;;16658:9;;:20;;16670:8;16658:20;:::i;:::-;16640:15;;;:38;16710:15;16697:10;;;;:28;16511:430;;;-1:-1:-1;;;;;16801:16:0;;16766:32;16801:16;;;:12;:16;;;;;16840:9;;16801:16;;16840:14;16836:90;;16891:15;16879:27;;16836:90;16747:194;16511:430;17013:4;16964:28;4190:18;;;;;;;;;;;17135:11;;4190:18;;11363:14;17045:42;-1:-1:-1;17045:42:0;;17135:15;;17149:1;17135:15;:::i;:::-;17120:12;:30;17100:50;;17179:7;:37;;;;;17204:12;17203:13;17179:37;:63;;;;-1:-1:-1;17234:8:0;;;;17233:9;17179:63;:112;;;;-1:-1:-1;;;;;;17260:31:0;;;;;;:25;:31;;;;;;;;17259:32;17179:112;:155;;;;-1:-1:-1;;;;;;17309:25:0;;;;;;:19;:25;;;;;;;;17308:26;17179:155;:196;;;;-1:-1:-1;;;;;;17352:23:0;;;;;;:19;:23;;;;;;;;17351:24;17179:196;17161:263;;;17402:10;:8;:10::i;:::-;17452:8;;-1:-1:-1;;;;;17477:25:0;;17436:12;17477:25;;;:19;:25;;;;;;17452:8;;;;17451:9;;17477:25;;:52;;-1:-1:-1;;;;;;17506:23:0;;;;;;:19;:23;;;;;;;;17477:52;17473:100;;;-1:-1:-1;17556:5:0;17473:100;17585:12;17618:7;17614:1252;;;17646:12;17642:1079;;;-1:-1:-1;;;;;17683:31:0;;;;;;:25;:31;;;;;;;;17679:333;;;17771:3;17746:22;11842:2;17746:6;:22;:::i;:::-;:28;;;;:::i;:::-;17739:35;;17819:4;17797:18;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;17642:1079:0;;-1:-1:-1;17642:1079:0;17679:333;-1:-1:-1;;;;;17853:29:0;;;;;;:25;:29;;;;;;;;17849:163;;;17940:3;17914:23;11892:2;17914:6;:23;:::i;17849:163::-;17642:1079;;;-1:-1:-1;;;;;18056:31:0;;;;;;:25;:31;;;;;;;;:51;;;;-1:-1:-1;18106:1:0;11690:27;11547:1;18106;11690:27;:::i;:::-;18091:16;18056:51;18052:654;;;18163:3;11690:27;11547:1;11497;11690:27;:::i;:::-;18139:21;;:6;:21;:::i;:::-;:27;;;;:::i;:::-;18132:34;-1:-1:-1;18205:36:0;11690:27;11547:1;11497;11690:27;:::i;:::-;18206:16;11497:1;18206:4;:16;:::i;:::-;18205:22;;:36::i;:::-;18189:12;;:52;;;;;;;:::i;:::-;;;;-1:-1:-1;18286:68:0;;-1:-1:-1;11690:27:0;11547:1;11497;11690:27;:::i;:::-;18287:22;11547:1;18287:4;:22;:::i;18286:68::-;18264:18;;:90;;;;;;;:::i;18052:654::-;-1:-1:-1;;;;;18384:29:0;;;;;;:25;:29;;;;;;;;:50;;;;-1:-1:-1;18433:1:0;11764:29;11643:1;18433;11764:29;:::i;:::-;18417:17;18384:50;18380:326;;;18491:3;11764:29;11643:1;11592;11764:29;:::i;:::-;18466:22;;:6;:22;:::i;:::-;:28;;;;:::i;:::-;18459:35;-1:-1:-1;18533:38:0;11764:29;11643:1;11592;11764:29;:::i;18533:38::-;18517:12;;:54;;;;;;;:::i;:::-;;;;-1:-1:-1;18616:70:0;;-1:-1:-1;11764:29:0;11643:1;11592;11764:29;:::i;18616:70::-;18594:18;;:92;;;;;;;:::i;:::-;;;;-1:-1:-1;;18380:326:0;18739:8;;18735:91;;18768:42;18784:4;18798;18805;18768:15;:42::i;:::-;18840:14;18850:4;18840:14;;:::i;:::-;;;17614:1252;18876:33;18892:4;18898:2;18902:6;18876:15;:33::i;:::-;14497:4420;;;;;14384:4533;;;:::o;1772:191::-;1865:6;;;-1:-1:-1;;;;;1882:17:0;;;-1:-1:-1;;;;;;1882:17:0;;;;;;;1915:40;;1865:6;;;1882:17;1865:6;;1915:40;;1846:16;;1915:40;1835:128;1772:191;:::o;5887:651::-;-1:-1:-1;;;;;6027:20:0;;6019:70;;;;-1:-1:-1;;;6019:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6186:17:0;;6162:21;6186:17;;;;;;;;;;;6222:23;;;;6214:74;;;;-1:-1:-1;;;6214:74:0;;10146:2:1;6214:74:0;;;10128:21:1;10185:2;10165:18;;;10158:30;10224:34;10204:18;;;10197:62;-1:-1:-1;;;10275:18:1;;;10268:36;10321:19;;6214:74:0;9944:402:1;6214:74:0;-1:-1:-1;;;;;6324:17:0;;;:9;:17;;;;;;;;;;;6344:22;;;6324:42;;6388:20;;;;;;;;:30;;6360:6;;6324:9;6388:30;;6360:6;;6388:30;:::i;:::-;;;;;;;;6453:9;-1:-1:-1;;;;;6436:35:0;6445:6;-1:-1:-1;;;;;6436:35:0;;6464:6;6436:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;6436:35:0;;;;;;;;6008:530;5887:651;;;:::o;6546:484::-;-1:-1:-1;;;;;6763:17:0;;;6739:21;6763:17;;;;;;;;;;;;;6836:22;;;6816:42;;;6880:20;;;;;;;:30;;6852:6;;6739:21;6880:30;;6852:6;;6880:30;:::i;19458:943::-;12147:8;:15;;-1:-1:-1;;12147:15:0;12158:4;12147:15;;;19555:4:::1;-1:-1:-1::0;4190:18:0;;;;;;;;;;;19511:50:::1;;19574:25;19623:12;;19602:18;;:33;;;;:::i;:::-;19574:61:::0;-1:-1:-1;19652:20:0;;;:46:::1;;-1:-1:-1::0;19676:22:0;;19652:46:::1;19648:85;;;19715:7;;;;19648:85;11429:23;11363:14;11450:2;11429:23;:::i;:::-;19747:15;:36;19743:105;;;11429:23;11363:14;11450:2;11429:23;:::i;:::-;19800:36;;19743:105;19889:15:::0;19943:21:::1;19975:36;19889:15:::0;19975:16:::1;:36::i;:::-;20024:22;20049:41;20073:17:::0;20049:21:::1;:41;:::i;:::-;20024:66;;20101:17;20153;20136:14;20121:12;;:29;;;;:::i;:::-;:49;;;;:::i;:::-;20183:12;20206;:16:::0;;;20233:18:::1;:22:::0;;;20279:36:::1;::::0;20101:69;;-1:-1:-1;20183:12:0;10987:42:::1;::::0;20101:69;;20183:12;20279:36;20183:12;20279:36;20101:69;10987:42;20279:36:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;20339:54:0::1;::::0;20266:49;;-1:-1:-1;11078:42:0::1;::::0;20367:21:::1;::::0;20339:54:::1;::::0;;;20367:21;11078:42;20339:54:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;;;;12173:1:0::1;12185:8:::0;:16;;-1:-1:-1;;12185:16:0;;;19458:943::o;1994:132::-;2052:7;2079:39;2083:1;2086;2079:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2072:46;1994:132;-1:-1:-1;;;1994:132:0:o;18925:525::-;19015:16;;;19029:1;19015:16;;;;;;;;18991:21;;19015:16;;;;;;;;;;-1:-1:-1;19015:16:0;18991:40;;19060:4;19042;19047:1;19042:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;19042:23:0;;;-1:-1:-1;;;;;19042:23:0;;;;;10817:42;-1:-1:-1;;;;;19086:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19076:4;19081:1;19076:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;19076:32:0;;;-1:-1:-1;;;;;19076:32:0;;;;;19121:112;19152:4;10817:42;19211:11;19121:8;:112::i;:::-;19246:196;;-1:-1:-1;;;19246:196:0;;10817:42;;19246:66;;:196;;19327:11;;19353:1;;19369:4;;19396;;19416:15;;19246:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18980:470;18925:525;:::o;2134:189::-;2220:7;2255:12;2248:5;2240:28;;;;-1:-1:-1;;;2240:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2279:9:0;2291:5;2295:1;2291;:5;:::i;:::-;2279:17;2134:189;-1:-1:-1;;;;;2134:189:0: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;2741:388::-;2809:6;2817;2870:2;2858:9;2849:7;2845:23;2841:32;2838:52;;;2886:1;2883;2876:12;2838:52;2925:9;2912:23;2944:31;2969:5;2944:31;:::i;:::-;2994:5;-1:-1:-1;3051:2:1;3036:18;;3023:32;3064:33;3023:32;3064:33;:::i;:::-;3116:7;3106:17;;;2741:388;;;;;:::o;3134:380::-;3213:1;3209:12;;;;3256;;;3277:61;;3331:4;3323:6;3319:17;3309:27;;3277:61;3384:2;3376:6;3373:14;3353:18;3350:38;3347:161;;3430:10;3425:3;3421:20;3418:1;3411:31;3465:4;3462:1;3455:15;3493:4;3490:1;3483:15;3347:161;;3134:380;;;:::o;3928:127::-;3989:10;3984:3;3980:20;3977:1;3970:31;4020:4;4017:1;4010:15;4044:4;4041:1;4034:15;4060:125;4125:9;;;4146:10;;;4143:36;;;4159:18;;:::i;4190:356::-;4392:2;4374:21;;;4411:18;;;4404:30;4470:34;4465:2;4450:18;;4443:62;4537:2;4522:18;;4190:356::o;4551:168::-;4624:9;;;4655;;4672:15;;;4666:22;;4652:37;4642:71;;4693:18;;:::i;7253:401::-;7455:2;7437:21;;;7494:2;7474:18;;;7467:30;7533:34;7528:2;7513:18;;7506:62;-1:-1:-1;;;7599:2:1;7584:18;;7577:35;7644:3;7629:19;;7253:401::o;9589:128::-;9656:9;;;9677:11;;;9674:37;;;9691:18;;:::i;9722:217::-;9762:1;9788;9778:132;;9832:10;9827:3;9823:20;9820:1;9813:31;9867:4;9864:1;9857:15;9895:4;9892:1;9885:15;9778:132;-1:-1:-1;9924:9:1;;9722:217::o;10483:127::-;10544:10;10539:3;10535:20;10532:1;10525:31;10575:4;10572:1;10565:15;10599:4;10596:1;10589:15;10615:251;10685:6;10738:2;10726:9;10717:7;10713:23;10709:32;10706:52;;;10754:1;10751;10744:12;10706:52;10786:9;10780:16;10805:31;10830:5;10805:31;:::i;10871:980::-;11133:4;11181:3;11170:9;11166:19;11212:6;11201:9;11194:25;11238:2;11276:6;11271:2;11260:9;11256:18;11249:34;11319:3;11314:2;11303:9;11299:18;11292:31;11343:6;11378;11372:13;11409:6;11401;11394:22;11447:3;11436:9;11432:19;11425:26;;11486:2;11478:6;11474:15;11460:29;;11507:1;11517:195;11531:6;11528:1;11525:13;11517:195;;;11596:13;;-1:-1:-1;;;;;11592:39:1;11580:52;;11687:15;;;;11652:12;;;;11628:1;11546:9;11517:195;;;-1:-1:-1;;;;;;;11768:32:1;;;;11763:2;11748:18;;11741:60;-1:-1:-1;;;11832:3:1;11817:19;11810:35;11729:3;10871:980;-1:-1:-1;;;10871:980:1:o

Swarm Source

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