ETH Price: $2,512.98 (-1.09%)

Token

Qatar World Cup (QWC)
 

Overview

Max Total Supply

1,000,000,000 QWC

Holders

16

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: QWC 3
Balance
761,121,428.804390942 QWC

Value
$0.00
0x8599eb9b84fe656c59cdef6bcdcebf21b2a7fa51
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:
QatarWorldCup

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-16
*/

/*
Web:http://qwcworldcup.org/#
Telegram:https://t.me/QWCERC20
Twitter:https://twitter.com/qwc_erc20
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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

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

interface IERC20 {

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

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

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

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

abstract contract BEP20 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    address payable public MarketingWallet;
    address payable public TreasuryWallet;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    

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

    uint256 public _buyLiquidityFee;
    uint256 public _buyMarketingFee;
    uint256 public _buyTeamFee;
    
    uint256 public _sellLiquidityFee;
    uint256 public _sellMarketingFee;
    uint256 public _sellTeamFee;

    uint256 public _liquidityShare;
    uint256 public _marketingShare;
    uint256 public _teamShare;

    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    uint256 public _totalDistributionShares;

    uint256 private _totalSupply;
    uint256 public _txLimitAmount; 
    uint256 public _walletLimitAmount;
    uint256 private minimumTokensBeforeSwap; 

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

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor (string memory _NAME, 
    string memory _SYMBOL,
    uint256 _SUPPLY,
    uint256[3] memory _BUYFEE,
    uint256[3] memory _SELLFEE,
    uint256[3] memory _SHARE,
    uint256[2] memory _LMT,
    address[2] memory _walletList) 
    {
    
        _name   = _NAME;
        _symbol = _SYMBOL;
        _decimals = 9;
        _totalSupply = _SUPPLY * 10**_decimals;

        _buyLiquidityFee = _BUYFEE[0];
        _buyMarketingFee = _BUYFEE[1];
        _buyTeamFee = _BUYFEE[2];

        _sellLiquidityFee = _SELLFEE[0];
        _sellMarketingFee = _SELLFEE[1];
        _sellTeamFee = _SELLFEE[2];

        _liquidityShare = _SHARE[0];
        _marketingShare = _SHARE[1];
        _teamShare = _SHARE[2];

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);

        _txLimitAmount = _LMT[0] * 10**_decimals;
        _walletLimitAmount = _LMT[1] * 10**_decimals;

        minimumTokensBeforeSwap = _totalSupply.mul(1).div(10000);
        MarketingWallet = payable(_walletList[0]);
        TreasuryWallet = payable(_walletList[1]);

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

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

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

        isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[address(0xdead)] = true;
        
        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[address(this)] = true;

        isMarketPair[address(uniswapPair)] = true;

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

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

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

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

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

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

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

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

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

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

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

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

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

    function setMarketPairStatus(address account, bool newValue) public onlyOwner {
        isMarketPair[account] = newValue;
    }

    function setisTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }
    
    function setisExcludedFromFee(address account, bool newValue) public onlyOwner {
        isExcludedFromFee[account] = newValue;
    }

    function manageExcludeFromFee(address[] calldata addresses, bool status) public onlyOwner {
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            isExcludedFromFee[addresses[i]] = status;
        }
    }
    
    function setTxLimitAmount(uint256 newValue) external onlyOwner() {
        _txLimitAmount = newValue * 10 ** decimals();
    }

    function enableWalletLimitEnable(bool newValue) external onlyOwner {
       walletLimitEnable = newValue;
    }

    function setisWalletLimitExempt(address holder, bool exempt) external onlyOwner {
        isWalletLimitExempt[holder] = exempt;
    }

    function setWalletLimitAmount(uint256 newValue) external onlyOwner {
        _walletLimitAmount  = newValue * 10 ** decimals();
    }

    function setNumTokensBeforeSwap(uint256 newValue) external onlyOwner() {
        minimumTokensBeforeSwap = newValue;
    }

    function setMarketingWallet(address newAddress) external onlyOwner() {
        MarketingWallet = payable(newAddress);
    }

    function setTreasuryWallet(address newAddress) external onlyOwner() {
        TreasuryWallet = payable(newAddress);
    }

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

    function setSwapAndLiquifyBySmallOnly(bool newValue) public onlyOwner {
        swapAndLiquifyBySmallOnly = newValue;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

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

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

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

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

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

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

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {
            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) {
                require(smallOrEqual(amount, _txLimitAmount));
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyBySmallOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);    
            }

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            uint256 finalAmount;
            if (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
                finalAmount = amount;
            } else {
                finalAmount = takeFee(sender, recipient, amount);
            }

            if(walletLimitEnable && !isWalletLimitExempt[recipient])
                require(smallOrEqual(balanceOf(recipient).add(finalAmount), _walletLimitAmount));

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

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

    function smallOrEqual(uint256 a, uint256 b) public pure returns(bool) { return a<=b; }

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

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2));
        
        uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2);
        uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee);
        uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam);

        if(amountBNBMarketing > 0)
            transferToAddressETH(MarketingWallet, amountBNBMarketing);

        if(amountBNBTeam > 0)
            transferToAddressETH(TreasuryWallet, amountBNBTeam);

        if(amountBNBLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountBNBLiquidity);
    }


    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

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

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        try uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            MarketingWallet,
            block.timestamp
        ) {} catch {}
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        
        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
}

contract QatarWorldCup is BEP20 {
    constructor() BEP20(
        "Qatar World Cup",
        "QWC",
        1000000000,
        [uint256(0),uint256(2),uint256(1)], 
        [uint256(0),uint256(2),uint256(1)], 
        [uint256(0),uint256(4),uint256(2)], 
        [uint256(1000000000),uint256(1000000000)],
        [address(0xa962d2CD77fC7068BAAe525283910D8B6CD26F42),address(0x8b9264778116a63AD8bdb073b21b9f01B9054378)]
    ){}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MarketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TreasuryWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txLimitAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletLimitAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableWalletLimitEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","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":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyBySmallOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setTreasuryWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setTxLimitAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setWalletLimitAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setisExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"name":"smallOrEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"swapAndLiquifyBySmallOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"walletLimitEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526ddead000000000000000000000000608052601c805461ffff60b01b1960ff60a81b19909116600160a81b1716600160b81b1790553480156200004657600080fd5b506040518060400160405280600f81526020016e0516174617220576f726c642043757608c1b8152506040518060400160405280600381526020016251574360e81b815250633b9aca006040518060600160405280600081526020016002815260200160018152506040518060600160405280600081526020016002815260200160018152506040518060600160405280600081526020016004815260200160028152506040518060400160405280633b9aca008152602001633b9aca00815250604051806040016040528073a962d2cd77fc7068baae525283910d8b6cd26f426001600160a01b03166001600160a01b03168152602001738b9264778116a63ad8bdb073b21b9f01b90543786001600160a01b03166001600160a01b031681525060006200017a6200076a60201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508751620001d99060019060208b019062000899565b508651620001ef9060029060208a019062000899565b506003805460ff1916600917908190556200020f9060ff16600a62000ae2565b6200021b908762000bcd565b6017558451600b819055602080870151600c819055604080890151600d8190558851600e5588840151600f558882015160105587516011558784015160125590870151601355620002919390926200027d9290620013cf6200076e821b17901c565b6200076e60201b620013cf1790919060201c565b601481905550620002bc6010546200027d600f54600e546200076e60201b620013cf1790919060201c565b601581905550620002e76013546200027d6012546011546200076e60201b620013cf1790919060201c565b601655600354620002fd9060ff16600a62000ae2565b82516200030b919062000bcd565b601855600354620003219060ff16600a62000ae2565b602083015162000332919062000bcd565b601981905550620003706127106200035c6001601754620007b460201b620013fe1790919060201c565b6200080260201b620014431790919060201c565b601a55805160038054610100600160a81b0319166101006001600160a01b039384160217905560208083015160048054919093166001600160a01b03199091161782556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d93849363c45a01559380830193919290829003018186803b158015620003fd57600080fd5b505afa15801562000412573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043891906200093f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200048157600080fd5b505afa15801562000496573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004bc91906200093f565b6040518363ffffffff1660e01b8152600401620004db92919062000968565b602060405180830381600087803b158015620004f657600080fd5b505af11580156200050b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200053191906200093f565b601c80546001600160a01b03199081166001600160a01b0393841617909155601b805490911683831617908190556017543060009081526006602090815260408083209490951682529290925291812091909155600190600790620005956200084c565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526007909252812080549092166001908117909255600890620005e56200084c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601c5490911681526008909252808220805484166001908117909155308352908220805484168217905561dead82527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299805490931681179092556009906200067a6200084c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260098452828120805486166001908117909155601c549092168152600a90935290822080549093161790915560175490600590620006e86200076a565b6001600160a01b031681526020810191909152604001600020556200070c6200076a565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60175460405162000753919062000a50565b60405180910390a350505050505050505062000c42565b3390565b6000806200077d838562000a59565b905083811015620007ab5760405162461bcd60e51b8152600401620007a290620009d8565b60405180910390fd5b90505b92915050565b600082620007c557506000620007ae565b6000620007d3838562000bcd565b905082620007e2858362000a74565b14620007ab5760405162461bcd60e51b8152600401620007a29062000a0f565b6000620007ab83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200085b60201b60201c565b6000546001600160a01b031690565b600081836200087f5760405162461bcd60e51b8152600401620007a2919062000982565b5060006200088e848662000a74565b9150505b9392505050565b828054620008a79062000bef565b90600052602060002090601f016020900481019282620008cb576000855562000916565b82601f10620008e657805160ff191683800117855562000916565b8280016001018555821562000916579182015b8281111562000916578251825591602001919060010190620008f9565b506200092492915062000928565b5090565b5b8082111562000924576000815560010162000929565b60006020828403121562000951578081fd5b81516001600160a01b0381168114620007ab578182fd5b6001600160a01b0392831681529116602082015260400190565b6000602080835283518082850152825b81811015620009b05785810183015185820160400152820162000992565b81811115620009c25783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b90815260200190565b6000821982111562000a6f5762000a6f62000c2c565b500190565b60008262000a9057634e487b7160e01b81526012600452602481fd5b500490565b80825b600180861162000aa9575062000ad9565b81870482111562000abe5762000abe62000c2c565b8086161562000acc57918102915b9490941c93800262000a98565b94509492505050565b6000620007ab60001960ff85168460008262000b015750600162000892565b8162000b105750600062000892565b816001811462000b29576002811462000b345762000b68565b600191505062000892565b60ff84111562000b485762000b4862000c2c565b6001841b91508482111562000b615762000b6162000c2c565b5062000892565b5060208310610133831016604e8410600b841016171562000ba0575081810a8381111562000b9a5762000b9a62000c2c565b62000892565b62000baf848484600162000a95565b80860482111562000bc45762000bc462000c2c565b02949350505050565b600081600019048311821515161562000bea5762000bea62000c2c565b500290565b60028104600182168062000c0457607f821691505b6020821081141562000c2657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160601c6126bd62000c6860003960008181610c1e0152610c4a01526126bd6000f3fe60806040526004361061036f5760003560e01c806388790a68116101c6578063c469b6dd116100f7578063cdf7249311610095578063dd62ed3e1161006f578063dd62ed3e14610908578063e2f2a68614610928578063f0cd1dac14610948578063f2fde38b1461095d57610376565b8063cdf72493146108be578063d9419b73146108de578063dc44b6a0146108f357610376565b8063c816841b116100d1578063c816841b1461085f578063c860795214610874578063c867d60b14610889578063cab03471146108a957610376565b8063c469b6dd14610815578063c49b9a801461082a578063c5d241891461084a57610376565b8063a073d37f11610164578063a83f53a71161013e578063a83f53a7146107a0578063a8602fea146107b5578063a9059cbb146107d5578063a911928c146107f557610376565b8063a073d37f14610756578063a08e671f1461076b578063a457c2d71461078057610376565b8063914eb66a116101a0578063914eb66a146106f757806395d89b411461070c578063989200de146107215780639daec0bc1461074157610376565b806388790a68146106ad5780638b42507f146106c25780638da5cb5b146106e257610376565b80633e07387c116102a057806361a23c691161023e57806370a02c8b1161021857806370a02c8b1461063857806370a082311461065857806382eefb4314610678578063844d591c1461068d57610376565b806361a23c69146105ee57806362e8e50b146106035780636ad53b591461062357610376565b80634a74bb021161027a5780634a74bb02146105845780635342acb41461059957806357a5802f146105b95780635d098b38146105ce57610376565b80633e07387c1461052f5780633ecad2711461054f57806346663b821461056f57610376565b806323b872dd1161030d5780632b112e49116102e75780632b112e49146104b8578063313ce567146104cd57806339509351146104ef5780633b97084a1461050f57610376565b806323b872dd1461046e5780632598cdb21461048e57806327c8f835146104a357610376565b806311ffeaf21161034957806311ffeaf2146103f55780631694505e1461041757806318160ddd1461042c5780631afe88921461044e57610376565b806306fdde031461037b578063095ea7b3146103a65780630ecc200f146103d357610376565b3661037657005b600080fd5b34801561038757600080fd5b5061039061097d565b60405161039d9190612169565b60405180910390f35b3480156103b257600080fd5b506103c66103c1366004611fa3565b610a0f565b60405161039d919061215e565b3480156103df57600080fd5b506103f36103ee366004611fce565b610a2d565b005b34801561040157600080fd5b5061040a610afb565b60405161039d919061210f565b34801561042357600080fd5b5061040a610b0a565b34801561043857600080fd5b50610441610b19565b60405161039d91906123bd565b34801561045a57600080fd5b506103f3610469366004611f6f565b610b1f565b34801561047a57600080fd5b506103c6610489366004611f2f565b610b7f565b34801561049a57600080fd5b5061040a610c08565b3480156104af57600080fd5b5061040a610c1c565b3480156104c457600080fd5b50610441610c40565b3480156104d957600080fd5b506104e2610c7c565b60405161039d9190612423565b3480156104fb57600080fd5b506103c661050a366004611fa3565b610c85565b34801561051b57600080fd5b506103f361052a366004612066565b610cd3565b34801561053b57600080fd5b506103f361054a36600461204c565b610d0d565b34801561055b57600080fd5b506103c661056a366004611ebf565b610d60565b34801561057b57600080fd5b506103c6610d75565b34801561059057600080fd5b506103c6610d85565b3480156105a557600080fd5b506103c66105b4366004611ebf565b610d95565b3480156105c557600080fd5b50610441610daa565b3480156105da57600080fd5b506103f36105e9366004611ebf565b610db0565b3480156105fa57600080fd5b50610441610e0d565b34801561060f57600080fd5b506103f361061e36600461204c565b610e13565b34801561062f57600080fd5b50610441610e66565b34801561064457600080fd5b506103f3610653366004611f6f565b610e6c565b34801561066457600080fd5b50610441610673366004611ebf565b610ecc565b34801561068457600080fd5b50610441610eeb565b34801561069957600080fd5b506103f36106a8366004611f6f565b610ef1565b3480156106b957600080fd5b50610441610f51565b3480156106ce57600080fd5b506103c66106dd366004611ebf565b610f57565b3480156106ee57600080fd5b5061040a610f6c565b34801561070357600080fd5b506103f3610f7b565b34801561071857600080fd5b50610390611000565b34801561072d57600080fd5b506103f361073c366004612066565b61100f565b34801561074d57600080fd5b50610441611067565b34801561076257600080fd5b5061044161106d565b34801561077757600080fd5b50610441611073565b34801561078c57600080fd5b506103c661079b366004611fa3565b611079565b3480156107ac57600080fd5b506104416110e1565b3480156107c157600080fd5b506103f36107d0366004611ebf565b6110e7565b3480156107e157600080fd5b506103c66107f0366004611fa3565b61113e565b34801561080157600080fd5b506103c661081036600461207e565b611152565b34801561082157600080fd5b50610441611157565b34801561083657600080fd5b506103f361084536600461204c565b61115d565b34801561085657600080fd5b506104416111e4565b34801561086b57600080fd5b5061040a6111ea565b34801561088057600080fd5b506104416111f9565b34801561089557600080fd5b506103c66108a4366004611ebf565b6111ff565b3480156108b557600080fd5b50610441611214565b3480156108ca57600080fd5b506103f36108d9366004612066565b61121a565b3480156108ea57600080fd5b506103c6611272565b3480156108ff57600080fd5b50610441611282565b34801561091457600080fd5b50610441610923366004611ef7565b611288565b34801561093457600080fd5b506103f3610943366004611f6f565b6112b3565b34801561095457600080fd5b50610441611313565b34801561096957600080fd5b506103f3610978366004611ebf565b611319565b60606001805461098c906125b6565b80601f01602080910402602001604051908101604052809291908181526020018280546109b8906125b6565b8015610a055780601f106109da57610100808354040283529160200191610a05565b820191906000526020600020905b8154815290600101906020018083116109e857829003601f168201915b5050505050905090565b6000610a23610a1c611485565b8484611489565b5060015b92915050565b610a35611485565b6000546001600160a01b03908116911614610a6b5760405162461bcd60e51b8152600401610a62906122ff565b60405180910390fd5b60c98210610a7857600080fd5b60005b82811015610af5578160076000868685818110610aa857634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610abd9190611ebf565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610aee816125f1565b9050610a7b565b50505050565b6004546001600160a01b031681565b601b546001600160a01b031681565b60175490565b610b27611485565b6000546001600160a01b03908116911614610b545760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610b8c84848461153d565b50610bfd84610b99611485565b610bf88560405180606001604052806028815260200161263b602891396001600160a01b038a16600090815260066020526040812090610bd7611485565b6001600160a01b031681526020810191909152604001600020549190611837565b611489565b5060015b9392505050565b60035461010090046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c77610c6e7f0000000000000000000000000000000000000000000000000000000000000000610ecc565b60175490611871565b905090565b60035460ff1690565b6000610a23610c92611485565b84610bf88560066000610ca3611485565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906113cf565b610cdb611485565b6000546001600160a01b03908116911614610d085760405162461bcd60e51b8152600401610a62906122ff565b601a55565b610d15611485565b6000546001600160a01b03908116911614610d425760405162461bcd60e51b8152600401610a62906122ff565b601c8054911515600160b01b0260ff60b01b19909216919091179055565b600a6020526000908152604090205460ff1681565b601c54600160b81b900460ff1681565b601c54600160a81b900460ff1681565b60076020526000908152604090205460ff1681565b60115481565b610db8611485565b6000546001600160a01b03908116911614610de55760405162461bcd60e51b8152600401610a62906122ff565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60125481565b610e1b611485565b6000546001600160a01b03908116911614610e485760405162461bcd60e51b8152600401610a62906122ff565b601c8054911515600160b81b0260ff60b81b19909216919091179055565b60185481565b610e74611485565b6000546001600160a01b03908116911614610ea15760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6001600160a01b0381166000908152600560205260409020545b919050565b60155481565b610ef9611485565b6000546001600160a01b03908116911614610f265760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b600e5481565b60096020526000908152604090205460ff1681565b6000546001600160a01b031690565b610f83611485565b6000546001600160a01b03908116911614610fb05760405162461bcd60e51b8152600401610a62906122ff565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b60606002805461098c906125b6565b611017611485565b6000546001600160a01b039081169116146110445760405162461bcd60e51b8152600401610a62906122ff565b61104c610c7c565b61105790600a6124af565b6110619082612580565b60195550565b60195481565b601a5490565b60165481565b6000610a23611086611485565b84610bf88560405180606001604052806025815260200161266360259139600660006110b0611485565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611837565b60135481565b6110ef611485565b6000546001600160a01b0390811691161461111c5760405162461bcd60e51b8152600401610a62906122ff565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610bfd61114b611485565b848461153d565b101590565b600d5481565b611165611485565b6000546001600160a01b039081169116146111925760405162461bcd60e51b8152600401610a62906122ff565b601c805460ff60a81b1916600160a81b831515021790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906111d990839061215e565b60405180910390a150565b600c5481565b601c546001600160a01b031681565b600f5481565b60086020526000908152604090205460ff1681565b60105481565b611222611485565b6000546001600160a01b0390811691161461124f5760405162461bcd60e51b8152600401610a62906122ff565b611257610c7c565b61126290600a6124af565b61126c9082612580565b60185550565b601c54600160b01b900460ff1681565b600b5481565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6112bb611485565b6000546001600160a01b039081169116146112e85760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60145481565b611321611485565b6000546001600160a01b0390811691161461134e5760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b0381166113745760405162461bcd60e51b8152600401610a62906121ff565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806113dc8385612431565b905083811015610c015760405162461bcd60e51b8152600401610a6290612287565b60008261140d57506000610a27565b60006114198385612580565b9050826114268583612449565b14610c015760405162461bcd60e51b8152600401610a62906122be565b6000610c0183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118b3565b3390565b6001600160a01b0383166114af5760405162461bcd60e51b8152600401610a6290612379565b6001600160a01b0382166114d55760405162461bcd60e51b8152600401610a6290612245565b6001600160a01b0380841660008181526006602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906115309085906123bd565b60405180910390a3505050565b60006001600160a01b0384166115655760405162461bcd60e51b8152600401610a6290612334565b6001600160a01b03831661158b5760405162461bcd60e51b8152600401610a62906121bc565b601c54600160a01b900460ff16156115af576115a88484846118e1565b9050610c01565b6001600160a01b03841660009081526009602052604090205460ff161580156115f157506001600160a01b03831660009081526009602052604090205460ff16155b1561160b5761160282601854611152565b61160b57600080fd5b600061161630610ecc565b601a54909150811080159081906116375750601c54600160a01b900460ff16155b801561165c57506001600160a01b0386166000908152600a602052604090205460ff16155b80156116715750601c54600160a81b900460ff165b1561169757601c54600160b01b900460ff161561168e57601a5491505b611697826119c5565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600590915291909120546116e9918690611837565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff168061173657506001600160a01b03861660009081526007602052604090205460ff165b15611742575083611750565b61174d878787611b00565b90505b601c54600160b81b900460ff16801561178257506001600160a01b03861660009081526008602052604090205460ff16155b156117ae576117a561179d8261179789610ecc565b906113cf565b601954611152565b6117ae57600080fd5b6001600160a01b0386166000908152600560205260409020546117d190826113cf565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118239085906123bd565b60405180910390a360019350505050610c01565b6000818484111561185b5760405162461bcd60e51b8152600401610a629190612169565b506000611868848661259f565b95945050505050565b6000610c0183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611837565b600081836118d45760405162461bcd60e51b8152600401610a629190612169565b5060006118688486612449565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611932918490611837565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461196190836113cf565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119b39086906123bd565b60405180910390a35060019392505050565b601c805460ff60a01b1916600160a01b1790556016546011546000916119fb916002916119f591829087906113fe565b90611443565b90506000611a098383611871565b9050611a1481611c04565b6011544790600090611a3490611a2b906002611443565b60165490611871565b90506000611a5660026119f5846119f5601154886113fe90919063ffffffff16565b90506000611a73836119f5601354876113fe90919063ffffffff16565b90506000611a8b82611a858786611871565b90611871565b90508015611aae57600354611aae9061010090046001600160a01b031682611dbc565b8115611aca57600454611aca906001600160a01b031683611dbc565b600083118015611ada5750600087115b15611ae957611ae98784611df7565b5050601c805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff1615611b4457611b3d60646119f5601454866113fe90919063ffffffff16565b9050611b82565b6001600160a01b0384166000908152600a602052604090205460ff1615611b8257611b7f60646119f5601554866113fe90919063ffffffff16565b90505b8015611bfa5730600090815260056020526040902054611ba290826113cf565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611bf19085906123bd565b60405180910390a35b6118688382611871565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c4757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c9b57600080fd5b505afa158015611caf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd39190611edb565b81600181518110611cf457634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601b54611d1a9130911684611489565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d539085906000908690309042906004016123e7565b600060405180830381600087803b158015611d6d57600080fd5b505af1925050508015611d7e575060015b507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611db09291906123c6565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611df2573d6000803e3d6000fd5b505050565b601b54611e0f9030906001600160a01b031684611489565b601b5460035460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611e5492309289926000928392610100900416904290600401612123565b6060604051808303818588803b158015611e6d57600080fd5b505af193505050508015611e9e575060408051601f3d908101601f19168201909252611e9b9181019061209f565b60015b611ea757611eab565b5050505b5050565b80358015158114610ee657600080fd5b600060208284031215611ed0578081fd5b8135610c0181612622565b600060208284031215611eec578081fd5b8151610c0181612622565b60008060408385031215611f09578081fd5b8235611f1481612622565b91506020830135611f2481612622565b809150509250929050565b600080600060608486031215611f43578081fd5b8335611f4e81612622565b92506020840135611f5e81612622565b929592945050506040919091013590565b60008060408385031215611f81578182fd5b8235611f8c81612622565b9150611f9a60208401611eaf565b90509250929050565b60008060408385031215611fb5578182fd5b8235611fc081612622565b946020939093013593505050565b600080600060408486031215611fe2578283fd5b833567ffffffffffffffff80821115611ff9578485fd5b818601915086601f83011261200c578485fd5b81358181111561201a578586fd5b876020808302850101111561202d578586fd5b6020928301955093506120439186019050611eaf565b90509250925092565b60006020828403121561205d578081fd5b610c0182611eaf565b600060208284031215612077578081fd5b5035919050565b60008060408385031215612090578182fd5b50508035926020909101359150565b6000806000606084860312156120b3578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156121045781516001600160a01b0316875295820195908201906001016120df565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b8181101561219557858101830151858201604001528201612179565b818111156121a65783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b90815260200190565b6000838252604060208301526123df60408301846120cc565b949350505050565b600086825285602083015260a0604083015261240660a08301866120cc565b6001600160a01b0394909416606083015250608001529392505050565b60ff91909116815260200190565b600082198211156124445761244461260c565b500190565b60008261246457634e487b7160e01b81526012600452602481fd5b500490565b80825b600180861161247b57506124a6565b81870482111561248d5761248d61260c565b8086161561249a57918102915b9490941c93800261246c565b94509492505050565b6000610c0160001960ff8516846000826124cb57506001610c01565b816124d857506000610c01565b81600181146124ee57600281146124f857612525565b6001915050610c01565b60ff8411156125095761250961260c565b6001841b91508482111561251f5761251f61260c565b50610c01565b5060208310610133831016604e8410600b8410161715612558575081810a838111156125535761255361260c565b610c01565b6125658484846001612469565b8086048211156125775761257761260c565b02949350505050565b600081600019048311821515161561259a5761259a61260c565b500290565b6000828210156125b1576125b161260c565b500390565b6002810460018216806125ca57607f821691505b602082108114156125eb57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156126055761260561260c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461263757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122035f74377e883c8780e127da83282bec1e475e71323013db9f9621187b27ff9b364736f6c63430008000033

Deployed Bytecode

0x60806040526004361061036f5760003560e01c806388790a68116101c6578063c469b6dd116100f7578063cdf7249311610095578063dd62ed3e1161006f578063dd62ed3e14610908578063e2f2a68614610928578063f0cd1dac14610948578063f2fde38b1461095d57610376565b8063cdf72493146108be578063d9419b73146108de578063dc44b6a0146108f357610376565b8063c816841b116100d1578063c816841b1461085f578063c860795214610874578063c867d60b14610889578063cab03471146108a957610376565b8063c469b6dd14610815578063c49b9a801461082a578063c5d241891461084a57610376565b8063a073d37f11610164578063a83f53a71161013e578063a83f53a7146107a0578063a8602fea146107b5578063a9059cbb146107d5578063a911928c146107f557610376565b8063a073d37f14610756578063a08e671f1461076b578063a457c2d71461078057610376565b8063914eb66a116101a0578063914eb66a146106f757806395d89b411461070c578063989200de146107215780639daec0bc1461074157610376565b806388790a68146106ad5780638b42507f146106c25780638da5cb5b146106e257610376565b80633e07387c116102a057806361a23c691161023e57806370a02c8b1161021857806370a02c8b1461063857806370a082311461065857806382eefb4314610678578063844d591c1461068d57610376565b806361a23c69146105ee57806362e8e50b146106035780636ad53b591461062357610376565b80634a74bb021161027a5780634a74bb02146105845780635342acb41461059957806357a5802f146105b95780635d098b38146105ce57610376565b80633e07387c1461052f5780633ecad2711461054f57806346663b821461056f57610376565b806323b872dd1161030d5780632b112e49116102e75780632b112e49146104b8578063313ce567146104cd57806339509351146104ef5780633b97084a1461050f57610376565b806323b872dd1461046e5780632598cdb21461048e57806327c8f835146104a357610376565b806311ffeaf21161034957806311ffeaf2146103f55780631694505e1461041757806318160ddd1461042c5780631afe88921461044e57610376565b806306fdde031461037b578063095ea7b3146103a65780630ecc200f146103d357610376565b3661037657005b600080fd5b34801561038757600080fd5b5061039061097d565b60405161039d9190612169565b60405180910390f35b3480156103b257600080fd5b506103c66103c1366004611fa3565b610a0f565b60405161039d919061215e565b3480156103df57600080fd5b506103f36103ee366004611fce565b610a2d565b005b34801561040157600080fd5b5061040a610afb565b60405161039d919061210f565b34801561042357600080fd5b5061040a610b0a565b34801561043857600080fd5b50610441610b19565b60405161039d91906123bd565b34801561045a57600080fd5b506103f3610469366004611f6f565b610b1f565b34801561047a57600080fd5b506103c6610489366004611f2f565b610b7f565b34801561049a57600080fd5b5061040a610c08565b3480156104af57600080fd5b5061040a610c1c565b3480156104c457600080fd5b50610441610c40565b3480156104d957600080fd5b506104e2610c7c565b60405161039d9190612423565b3480156104fb57600080fd5b506103c661050a366004611fa3565b610c85565b34801561051b57600080fd5b506103f361052a366004612066565b610cd3565b34801561053b57600080fd5b506103f361054a36600461204c565b610d0d565b34801561055b57600080fd5b506103c661056a366004611ebf565b610d60565b34801561057b57600080fd5b506103c6610d75565b34801561059057600080fd5b506103c6610d85565b3480156105a557600080fd5b506103c66105b4366004611ebf565b610d95565b3480156105c557600080fd5b50610441610daa565b3480156105da57600080fd5b506103f36105e9366004611ebf565b610db0565b3480156105fa57600080fd5b50610441610e0d565b34801561060f57600080fd5b506103f361061e36600461204c565b610e13565b34801561062f57600080fd5b50610441610e66565b34801561064457600080fd5b506103f3610653366004611f6f565b610e6c565b34801561066457600080fd5b50610441610673366004611ebf565b610ecc565b34801561068457600080fd5b50610441610eeb565b34801561069957600080fd5b506103f36106a8366004611f6f565b610ef1565b3480156106b957600080fd5b50610441610f51565b3480156106ce57600080fd5b506103c66106dd366004611ebf565b610f57565b3480156106ee57600080fd5b5061040a610f6c565b34801561070357600080fd5b506103f3610f7b565b34801561071857600080fd5b50610390611000565b34801561072d57600080fd5b506103f361073c366004612066565b61100f565b34801561074d57600080fd5b50610441611067565b34801561076257600080fd5b5061044161106d565b34801561077757600080fd5b50610441611073565b34801561078c57600080fd5b506103c661079b366004611fa3565b611079565b3480156107ac57600080fd5b506104416110e1565b3480156107c157600080fd5b506103f36107d0366004611ebf565b6110e7565b3480156107e157600080fd5b506103c66107f0366004611fa3565b61113e565b34801561080157600080fd5b506103c661081036600461207e565b611152565b34801561082157600080fd5b50610441611157565b34801561083657600080fd5b506103f361084536600461204c565b61115d565b34801561085657600080fd5b506104416111e4565b34801561086b57600080fd5b5061040a6111ea565b34801561088057600080fd5b506104416111f9565b34801561089557600080fd5b506103c66108a4366004611ebf565b6111ff565b3480156108b557600080fd5b50610441611214565b3480156108ca57600080fd5b506103f36108d9366004612066565b61121a565b3480156108ea57600080fd5b506103c6611272565b3480156108ff57600080fd5b50610441611282565b34801561091457600080fd5b50610441610923366004611ef7565b611288565b34801561093457600080fd5b506103f3610943366004611f6f565b6112b3565b34801561095457600080fd5b50610441611313565b34801561096957600080fd5b506103f3610978366004611ebf565b611319565b60606001805461098c906125b6565b80601f01602080910402602001604051908101604052809291908181526020018280546109b8906125b6565b8015610a055780601f106109da57610100808354040283529160200191610a05565b820191906000526020600020905b8154815290600101906020018083116109e857829003601f168201915b5050505050905090565b6000610a23610a1c611485565b8484611489565b5060015b92915050565b610a35611485565b6000546001600160a01b03908116911614610a6b5760405162461bcd60e51b8152600401610a62906122ff565b60405180910390fd5b60c98210610a7857600080fd5b60005b82811015610af5578160076000868685818110610aa857634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610abd9190611ebf565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610aee816125f1565b9050610a7b565b50505050565b6004546001600160a01b031681565b601b546001600160a01b031681565b60175490565b610b27611485565b6000546001600160a01b03908116911614610b545760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610b8c84848461153d565b50610bfd84610b99611485565b610bf88560405180606001604052806028815260200161263b602891396001600160a01b038a16600090815260066020526040812090610bd7611485565b6001600160a01b031681526020810191909152604001600020549190611837565b611489565b5060015b9392505050565b60035461010090046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610c77610c6e7f000000000000000000000000000000000000000000000000000000000000dead610ecc565b60175490611871565b905090565b60035460ff1690565b6000610a23610c92611485565b84610bf88560066000610ca3611485565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906113cf565b610cdb611485565b6000546001600160a01b03908116911614610d085760405162461bcd60e51b8152600401610a62906122ff565b601a55565b610d15611485565b6000546001600160a01b03908116911614610d425760405162461bcd60e51b8152600401610a62906122ff565b601c8054911515600160b01b0260ff60b01b19909216919091179055565b600a6020526000908152604090205460ff1681565b601c54600160b81b900460ff1681565b601c54600160a81b900460ff1681565b60076020526000908152604090205460ff1681565b60115481565b610db8611485565b6000546001600160a01b03908116911614610de55760405162461bcd60e51b8152600401610a62906122ff565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60125481565b610e1b611485565b6000546001600160a01b03908116911614610e485760405162461bcd60e51b8152600401610a62906122ff565b601c8054911515600160b81b0260ff60b81b19909216919091179055565b60185481565b610e74611485565b6000546001600160a01b03908116911614610ea15760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6001600160a01b0381166000908152600560205260409020545b919050565b60155481565b610ef9611485565b6000546001600160a01b03908116911614610f265760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b600e5481565b60096020526000908152604090205460ff1681565b6000546001600160a01b031690565b610f83611485565b6000546001600160a01b03908116911614610fb05760405162461bcd60e51b8152600401610a62906122ff565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b60606002805461098c906125b6565b611017611485565b6000546001600160a01b039081169116146110445760405162461bcd60e51b8152600401610a62906122ff565b61104c610c7c565b61105790600a6124af565b6110619082612580565b60195550565b60195481565b601a5490565b60165481565b6000610a23611086611485565b84610bf88560405180606001604052806025815260200161266360259139600660006110b0611485565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611837565b60135481565b6110ef611485565b6000546001600160a01b0390811691161461111c5760405162461bcd60e51b8152600401610a62906122ff565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610bfd61114b611485565b848461153d565b101590565b600d5481565b611165611485565b6000546001600160a01b039081169116146111925760405162461bcd60e51b8152600401610a62906122ff565b601c805460ff60a81b1916600160a81b831515021790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906111d990839061215e565b60405180910390a150565b600c5481565b601c546001600160a01b031681565b600f5481565b60086020526000908152604090205460ff1681565b60105481565b611222611485565b6000546001600160a01b0390811691161461124f5760405162461bcd60e51b8152600401610a62906122ff565b611257610c7c565b61126290600a6124af565b61126c9082612580565b60185550565b601c54600160b01b900460ff1681565b600b5481565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6112bb611485565b6000546001600160a01b039081169116146112e85760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60145481565b611321611485565b6000546001600160a01b0390811691161461134e5760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b0381166113745760405162461bcd60e51b8152600401610a62906121ff565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806113dc8385612431565b905083811015610c015760405162461bcd60e51b8152600401610a6290612287565b60008261140d57506000610a27565b60006114198385612580565b9050826114268583612449565b14610c015760405162461bcd60e51b8152600401610a62906122be565b6000610c0183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118b3565b3390565b6001600160a01b0383166114af5760405162461bcd60e51b8152600401610a6290612379565b6001600160a01b0382166114d55760405162461bcd60e51b8152600401610a6290612245565b6001600160a01b0380841660008181526006602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906115309085906123bd565b60405180910390a3505050565b60006001600160a01b0384166115655760405162461bcd60e51b8152600401610a6290612334565b6001600160a01b03831661158b5760405162461bcd60e51b8152600401610a62906121bc565b601c54600160a01b900460ff16156115af576115a88484846118e1565b9050610c01565b6001600160a01b03841660009081526009602052604090205460ff161580156115f157506001600160a01b03831660009081526009602052604090205460ff16155b1561160b5761160282601854611152565b61160b57600080fd5b600061161630610ecc565b601a54909150811080159081906116375750601c54600160a01b900460ff16155b801561165c57506001600160a01b0386166000908152600a602052604090205460ff16155b80156116715750601c54600160a81b900460ff165b1561169757601c54600160b01b900460ff161561168e57601a5491505b611697826119c5565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600590915291909120546116e9918690611837565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff168061173657506001600160a01b03861660009081526007602052604090205460ff165b15611742575083611750565b61174d878787611b00565b90505b601c54600160b81b900460ff16801561178257506001600160a01b03861660009081526008602052604090205460ff16155b156117ae576117a561179d8261179789610ecc565b906113cf565b601954611152565b6117ae57600080fd5b6001600160a01b0386166000908152600560205260409020546117d190826113cf565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118239085906123bd565b60405180910390a360019350505050610c01565b6000818484111561185b5760405162461bcd60e51b8152600401610a629190612169565b506000611868848661259f565b95945050505050565b6000610c0183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611837565b600081836118d45760405162461bcd60e51b8152600401610a629190612169565b5060006118688486612449565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611932918490611837565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461196190836113cf565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119b39086906123bd565b60405180910390a35060019392505050565b601c805460ff60a01b1916600160a01b1790556016546011546000916119fb916002916119f591829087906113fe565b90611443565b90506000611a098383611871565b9050611a1481611c04565b6011544790600090611a3490611a2b906002611443565b60165490611871565b90506000611a5660026119f5846119f5601154886113fe90919063ffffffff16565b90506000611a73836119f5601354876113fe90919063ffffffff16565b90506000611a8b82611a858786611871565b90611871565b90508015611aae57600354611aae9061010090046001600160a01b031682611dbc565b8115611aca57600454611aca906001600160a01b031683611dbc565b600083118015611ada5750600087115b15611ae957611ae98784611df7565b5050601c805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff1615611b4457611b3d60646119f5601454866113fe90919063ffffffff16565b9050611b82565b6001600160a01b0384166000908152600a602052604090205460ff1615611b8257611b7f60646119f5601554866113fe90919063ffffffff16565b90505b8015611bfa5730600090815260056020526040902054611ba290826113cf565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611bf19085906123bd565b60405180910390a35b6118688382611871565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c4757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c9b57600080fd5b505afa158015611caf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd39190611edb565b81600181518110611cf457634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601b54611d1a9130911684611489565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d539085906000908690309042906004016123e7565b600060405180830381600087803b158015611d6d57600080fd5b505af1925050508015611d7e575060015b507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611db09291906123c6565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611df2573d6000803e3d6000fd5b505050565b601b54611e0f9030906001600160a01b031684611489565b601b5460035460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611e5492309289926000928392610100900416904290600401612123565b6060604051808303818588803b158015611e6d57600080fd5b505af193505050508015611e9e575060408051601f3d908101601f19168201909252611e9b9181019061209f565b60015b611ea757611eab565b5050505b5050565b80358015158114610ee657600080fd5b600060208284031215611ed0578081fd5b8135610c0181612622565b600060208284031215611eec578081fd5b8151610c0181612622565b60008060408385031215611f09578081fd5b8235611f1481612622565b91506020830135611f2481612622565b809150509250929050565b600080600060608486031215611f43578081fd5b8335611f4e81612622565b92506020840135611f5e81612622565b929592945050506040919091013590565b60008060408385031215611f81578182fd5b8235611f8c81612622565b9150611f9a60208401611eaf565b90509250929050565b60008060408385031215611fb5578182fd5b8235611fc081612622565b946020939093013593505050565b600080600060408486031215611fe2578283fd5b833567ffffffffffffffff80821115611ff9578485fd5b818601915086601f83011261200c578485fd5b81358181111561201a578586fd5b876020808302850101111561202d578586fd5b6020928301955093506120439186019050611eaf565b90509250925092565b60006020828403121561205d578081fd5b610c0182611eaf565b600060208284031215612077578081fd5b5035919050565b60008060408385031215612090578182fd5b50508035926020909101359150565b6000806000606084860312156120b3578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156121045781516001600160a01b0316875295820195908201906001016120df565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b8181101561219557858101830151858201604001528201612179565b818111156121a65783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b90815260200190565b6000838252604060208301526123df60408301846120cc565b949350505050565b600086825285602083015260a0604083015261240660a08301866120cc565b6001600160a01b0394909416606083015250608001529392505050565b60ff91909116815260200190565b600082198211156124445761244461260c565b500190565b60008261246457634e487b7160e01b81526012600452602481fd5b500490565b80825b600180861161247b57506124a6565b81870482111561248d5761248d61260c565b8086161561249a57918102915b9490941c93800261246c565b94509492505050565b6000610c0160001960ff8516846000826124cb57506001610c01565b816124d857506000610c01565b81600181146124ee57600281146124f857612525565b6001915050610c01565b60ff8411156125095761250961260c565b6001841b91508482111561251f5761251f61260c565b50610c01565b5060208310610133831016604e8410600b8410161715612558575081810a838111156125535761255361260c565b610c01565b6125658484846001612469565b8086048211156125775761257761260c565b02949350505050565b600081600019048311821515161561259a5761259a61260c565b500290565b6000828210156125b1576125b161260c565b500390565b6002810460018216806125ca57607f821691505b602082108114156125eb57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156126055761260561260c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461263757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122035f74377e883c8780e127da83282bec1e475e71323013db9f9621187b27ff9b364736f6c63430008000033

Deployed Bytecode Sourcemap

18477:441:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8733:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10027:161;;;;;;;;;;-1:-1:-1;10027:161:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10960:260::-;;;;;;;;;;-1:-1:-1;10960:260:0;;;;;:::i;:::-;;:::i;:::-;;4601:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5718:41::-;;;;;;;;;;;;;:::i;9010:100::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10678:127::-;;;;;;;;;;-1:-1:-1;10678:127:0;;;;;:::i;:::-;;:::i;13026:313::-;;;;;;;;;;-1:-1:-1;13026:313:0;;;;;:::i;:::-;;:::i;4556:38::-;;;;;;;;;;;;;:::i;4645:81::-;;;;;;;;;;;;;:::i;12487:128::-;;;;;;;;;;;;;:::i;8919:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;9396:218::-;;;;;;;;;;-1:-1:-1;9396:218:0;;;;;:::i;:::-;;:::i;11775:124::-;;;;;;;;;;-1:-1:-1;11775:124:0;;;;;:::i;:::-;;:::i;12350:125::-;;;;;;;;;;-1:-1:-1;12350:125:0;;;;;:::i;:::-;;:::i;5039:45::-;;;;;;;;;;-1:-1:-1;5039:45:0;;;;;:::i;:::-;;:::i;5932:36::-;;;;;;;;;;;;;:::i;5833:40::-;;;;;;;;;;;;;:::i;4868:50::-;;;;;;;;;;-1:-1:-1;4868:50:0;;;;;:::i;:::-;;:::i;5322:30::-;;;;;;;;;;;;;:::i;11907:125::-;;;;;;;;;;-1:-1:-1;11907:125:0;;;;;:::i;:::-;;:::i;5359:30::-;;;;;;;;;;;;;:::i;11368:113::-;;;;;;;;;;-1:-1:-1;11368:113:0;;;;;:::i;:::-;;:::i;5592:29::-;;;;;;;;;;;;;:::i;11489:135::-;;;;;;;;;;-1:-1:-1;11489:135:0;;;;;:::i;:::-;;:::i;9118:119::-;;;;;;;;;;-1:-1:-1;9118:119:0;;;;;:::i;:::-;;:::i;5469:33::-;;;;;;;;;;;;;:::i;10541:129::-;;;;;;;;;;-1:-1:-1;10541:129:0;;;;;:::i;:::-;;:::i;5208:32::-;;;;;;;;;;;;;:::i;4984:48::-;;;;;;;;;;-1:-1:-1;4984:48:0;;;;;:::i;:::-;;:::i;2908:79::-;;;;;;;;;;;;;:::i;3133:155::-;;;;;;;;;;;;;:::i;8824:87::-;;;;;;;;;;;;;:::i;11632:135::-;;;;;;;;;;-1:-1:-1;11632:135:0;;;;;:::i;:::-;;:::i;5629:33::-;;;;;;;;;;;;;:::i;9899:120::-;;;;;;;;;;;;;:::i;5509:39::-;;;;;;;;;;;;;:::i;9622:269::-;;;;;;;;;;-1:-1:-1;9622:269:0;;;;;:::i;:::-;;:::i;5396:25::-;;;;;;;;;;;;;:::i;12040:123::-;;;;;;;;;;-1:-1:-1;12040:123:0;;;;;:::i;:::-;;:::i;12851:167::-;;;;;;;;;;-1:-1:-1;12851:167:0;;;;;:::i;:::-;;:::i;15135:86::-;;;;;;;;;;-1:-1:-1;15135:86:0;;;;;:::i;:::-;;:::i;5169:26::-;;;;;;;;;;;;;:::i;12171:171::-;;;;;;;;;;-1:-1:-1;12171:171:0;;;;;:::i;:::-;;:::i;5131:31::-;;;;;;;;;;;;;:::i;5766:26::-;;;;;;;;;;;;;:::i;5247:32::-;;;;;;;;;;;;;:::i;4925:52::-;;;;;;;;;;-1:-1:-1;4925:52:0;;;;;:::i;:::-;;:::i;5286:27::-;;;;;;;;;;;;;:::i;11232:128::-;;;;;;;;;;-1:-1:-1;11232:128:0;;;;;:::i;:::-;;:::i;5880:45::-;;;;;;;;;;;;;:::i;5093:31::-;;;;;;;;;;;;;:::i;9245:143::-;;;;;;;;;;-1:-1:-1;9245:143:0;;;;;:::i;:::-;;:::i;10817:135::-;;;;;;;;;;-1:-1:-1;10817:135:0;;;;;:::i;:::-;;:::i;5430:32::-;;;;;;;;;;;;;:::i;3296:244::-;;;;;;;;;;-1:-1:-1;3296:244:0;;;;;:::i;:::-;;:::i;8733:83::-;8770:13;8803:5;8796:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8733:83;:::o;10027:161::-;10102:4;10119:39;10128:12;:10;:12::i;:::-;10142:7;10151:6;10119:8;:39::i;:::-;-1:-1:-1;10176:4:0;10027:161;;;;;:::o;10960:260::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;;;;;;;;;11088:3:::1;11069:22:::0;::::1;11061:31;;;::::0;::::1;;11108:9;11103:110;11119:20:::0;;::::1;11103:110;;;11195:6;11161:17;:31;11179:9;;11189:1;11179:12;;;;;-1:-1:-1::0;;;11179:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11161:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11161:31:0;:40;;-1:-1:-1;;11161:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11141:3:::1;::::0;::::1;:::i;:::-;;;11103:110;;;;10960:260:::0;;;:::o;4601:37::-;;;-1:-1:-1;;;;;4601:37:0;;:::o;5718:41::-;;;-1:-1:-1;;;;;5718:41:0;;:::o;9010:100::-;9090:12;;9010:100;:::o;10678:127::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10765:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;10765:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10678:127::o;13026:313::-;13124:4;13141:36;13151:6;13159:9;13170:6;13141:9;:36::i;:::-;;13188:121;13197:6;13205:12;:10;:12::i;:::-;13219:89;13257:6;13219:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13219:19:0;;;;;;:11;:19;;;;;;13239:12;:10;:12::i;:::-;-1:-1:-1;;;;;13219:33:0;;;;;;;;;;;;-1:-1:-1;13219:33:0;;;:89;:37;:89::i;:::-;13188:8;:121::i;:::-;-1:-1:-1;13327:4:0;13026:313;;;;;;:::o;4556:38::-;;;;;;-1:-1:-1;;;;;4556:38:0;;:::o;4645:81::-;;;:::o;12487:128::-;12540:7;12567:40;12584:22;12594:11;12584:9;:22::i;:::-;12567:12;;;:16;:40::i;:::-;12560:47;;12487:128;:::o;8919:83::-;8985:9;;;;8919:83;:::o;9396:218::-;9484:4;9501:83;9510:12;:10;:12::i;:::-;9524:7;9533:50;9572:10;9533:11;:25;9545:12;:10;:12::i;:::-;-1:-1:-1;;;;;9533:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9533:25:0;;;:34;;;;;;;;;;;:38;:50::i;11775:124::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;11857:23:::1;:34:::0;11775:124::o;12350:125::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;12431:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;12431:36:0::1;-1:-1:-1::0;;;;12431:36:0;;::::1;::::0;;;::::1;::::0;;12350:125::o;5039:45::-;;;;;;;;;;;;;;;:::o;5932:36::-;;;-1:-1:-1;;;5932:36:0;;;;;:::o;5833:40::-;;;-1:-1:-1;;;5833:40:0;;;;;:::o;4868:50::-;;;;;;;;;;;;;;;:::o;5322:30::-;;;;:::o;11907:125::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;11987:15:::1;:37:::0;;-1:-1:-1;;;;;11987:37:0;;::::1;;;-1:-1:-1::0;;;;;;11987:37:0;;::::1;::::0;;;::::1;::::0;;11907:125::o;5359:30::-;;;;:::o;11368:113::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;11445:17:::1;:28:::0;;;::::1;;-1:-1:-1::0;;;11445:28:0::1;-1:-1:-1::0;;;;11445:28:0;;::::1;::::0;;;::::1;::::0;;11368:113::o;5592:29::-;;;;:::o;11489:135::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11580:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;11580:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11489:135::o;9118:119::-;-1:-1:-1;;;;;9211:18:0;;9184:7;9211:18;;;:9;:18;;;;;;9118:119;;;;:::o;5469:33::-;;;;:::o;10541:129::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10630:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;10630:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10541:129::o;5208:32::-;;;;:::o;4984:48::-;;;;;;;;;;;;;;;:::o;2908:79::-;2946:7;2973:6;-1:-1:-1;;;;;2973:6:0;2908:79;:::o;3133:155::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;3221:6:::1;::::0;;3200:45:::1;::::0;3237:6:::1;::::0;-1:-1:-1;;;;;3221:6:0;;::::1;::::0;3200:45:::1;::::0;::::1;3256:6;:24:::0;;-1:-1:-1;;;;;;3256:24:0::1;3273:6;3256:24;::::0;;3133:155::o;8824:87::-;8863:13;8896:7;8889:14;;;;;:::i;11632:135::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;11749:10:::1;:8;:10::i;:::-;11743:16;::::0;:2:::1;:16;:::i;:::-;11732:27;::::0;:8;:27:::1;:::i;:::-;11710:18;:49:::0;-1:-1:-1;11632:135:0:o;5629:33::-;;;;:::o;9899:120::-;9988:23;;9899:120;:::o;5509:39::-;;;;:::o;9622:269::-;9715:4;9732:129;9741:12;:10;:12::i;:::-;9755:7;9764:96;9803:15;9764:96;;;;;;;;;;;;;;;;;:11;:25;9776:12;:10;:12::i;:::-;-1:-1:-1;;;;;9764:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9764:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;5396:25::-;;;;:::o;12040:123::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;12119:14:::1;:36:::0;;-1:-1:-1;;;;;;12119:36:0::1;-1:-1:-1::0;;;;;12119:36:0;;;::::1;::::0;;;::::1;::::0;;12040:123::o;12851:167::-;12929:4;12946:42;12956:12;:10;:12::i;:::-;12970:9;12981:6;12946:9;:42::i;15135:86::-;-1:-1:-1;15214:4:0;;15135:86::o;5169:26::-;;;;:::o;12171:171::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;12248:21:::1;:32:::0;;-1:-1:-1;;;;12248:32:0::1;-1:-1:-1::0;;;12248:32:0;::::1;;;;::::0;;12296:38:::1;::::0;::::1;::::0;::::1;::::0;12248:32;;12296:38:::1;:::i;:::-;;;;;;;;12171:171:::0;:::o;5131:31::-;;;;:::o;5766:26::-;;;-1:-1:-1;;;;;5766:26:0;;:::o;5247:32::-;;;;:::o;4925:52::-;;;;;;;;;;;;;;;:::o;5286:27::-;;;;:::o;11232:128::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;11342:10:::1;:8;:10::i;:::-;11336:16;::::0;:2:::1;:16;:::i;:::-;11325:27;::::0;:8;:27:::1;:::i;:::-;11308:14;:44:::0;-1:-1:-1;11232:128:0:o;5880:45::-;;;-1:-1:-1;;;5880:45:0;;;;;:::o;5093:31::-;;;;:::o;9245:143::-;-1:-1:-1;;;;;9353:18:0;;;9326:7;9353:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9245:143::o;10817:135::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10907:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;10907:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10817:135::o;5430:32::-;;;;:::o;3296:244::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3385:22:0;::::1;3377:73;;;;-1:-1:-1::0;;;3377:73:0::1;;;;;;;:::i;:::-;3487:6;::::0;;3466:38:::1;::::0;-1:-1:-1;;;;;3466:38:0;;::::1;::::0;3487:6;::::1;::::0;3466:38:::1;::::0;::::1;3515:6;:17:::0;;-1:-1:-1;;;;;;3515:17:0::1;-1:-1:-1::0;;;;;3515:17:0;;;::::1;::::0;;;::::1;::::0;;3296:244::o;1151:181::-;1209:7;;1241:5;1245:1;1241;:5;:::i;:::-;1229:17;;1270:1;1265;:6;;1257:46;;;;-1:-1:-1;;;1257:46:0;;;;;;;:::i;1684:250::-;1742:7;1766:6;1762:47;;-1:-1:-1;1796:1:0;1789:8;;1762:47;1821:9;1833:5;1837:1;1833;:5;:::i;:::-;1821:17;-1:-1:-1;1866:1:0;1857:5;1861:1;1821:17;1857:5;:::i;:::-;:10;1849:56;;;;-1:-1:-1;;;1849:56:0;;;;;;;:::i;1942:132::-;2000:7;2027:39;2031:1;2034;2027:39;;;;;;;;;;;;;;;;;:3;:39::i;202:115::-;298:10;202:115;:::o;10196:337::-;-1:-1:-1;;;;;10289:19:0;;10281:68;;;;-1:-1:-1;;;10281:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10368:21:0;;10360:68;;;;-1:-1:-1;;;10360:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10441:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;10493:32;;;;;10471:6;;10493:32;:::i;:::-;;;;;;;;10196:337;;;:::o;13347:1780::-;13434:4;-1:-1:-1;;;;;13461:20:0;;13453:70;;;;-1:-1:-1;;;13453:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13542:23:0;;13534:71;;;;-1:-1:-1;;;13534:71:0;;;;;;;:::i;:::-;13621:16;;-1:-1:-1;;;13621:16:0;;;;13618:1502;;;13671:41;13686:6;13694:9;13705:6;13671:14;:41::i;:::-;13664:48;;;;13618:1502;-1:-1:-1;;;;;13768:23:0;;;;;;:15;:23;;;;;;;;13767:24;:55;;;;-1:-1:-1;;;;;;13796:26:0;;;;;;:15;:26;;;;;;;;13795:27;13767:55;13764:140;;;13851:36;13864:6;13872:14;;13851:12;:36::i;:::-;13843:45;;;;;;13932:28;13963:24;13981:4;13963:9;:24::i;:::-;14057:23;;13932:55;;-1:-1:-1;14033:47:0;;;;;;;14113:44;;-1:-1:-1;14141:16:0;;-1:-1:-1;;;14141:16:0;;;;14140:17;14113:44;:69;;;;-1:-1:-1;;;;;;14162:20:0;;;;;;:12;:20;;;;;;;;14161:21;14113:69;:94;;;;-1:-1:-1;14186:21:0;;-1:-1:-1;;;14186:21:0;;;;14113:94;14109:305;;;14245:25;;-1:-1:-1;;;14245:25:0;;;;14242:97;;;14316:23;;14293:46;;14242:97;14358:36;14373:20;14358:14;:36::i;:::-;14450:53;;;;;;;;;;;-1:-1:-1;;;14450:53:0;;;;;;;;-1:-1:-1;;;;;14450:17:0;;-1:-1:-1;14450:17:0;;;:9;:17;;;;;;;;:53;;14472:6;;14450:21;:53::i;:::-;-1:-1:-1;;;;;14430:17:0;;;;;;:9;:17;;;;;;;;:73;;;;14556:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;14585:28:0;;;;;;:17;:28;;;;;;;;14556:57;14552:207;;;-1:-1:-1;14648:6:0;14552:207;;;14709:34;14717:6;14725:9;14736:6;14709:7;:34::i;:::-;14695:48;;14552:207;14778:17;;-1:-1:-1;;;14778:17:0;;;;:52;;;;-1:-1:-1;;;;;;14800:30:0;;;;;;:19;:30;;;;;;;;14799:31;14778:52;14775:154;;;14857:71;14870:37;14895:11;14870:20;14880:9;14870;:20::i;:::-;:24;;:37::i;:::-;14909:18;;14857:12;:71::i;:::-;14849:80;;;;;;-1:-1:-1;;;;;14969:20:0;;;;;;:9;:20;;;;;;:37;;14994:11;14969:24;:37::i;:::-;-1:-1:-1;;;;;14946:20:0;;;;;;;:9;:20;;;;;;;:60;;;;15028:40;;;;;;;;;;15056:11;;15028:40;:::i;:::-;;;;;;;;15090:4;15083:11;;;;;;;1484:192;1570:7;1606:12;1598:6;;;;1590:29;;;;-1:-1:-1;;;1590:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1630:9:0;1642:5;1646:1;1642;:5;:::i;:::-;1630:17;1484:192;-1:-1:-1;;;;;1484:192:0:o;1340:136::-;1398:7;1425:43;1429:1;1432;1425:43;;;;;;;;;;;;;;;;;:3;:43::i;2082:189::-;2168:7;2203:12;2196:5;2188:28;;;;-1:-1:-1;;;2188:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2227:9:0;2239:5;2243:1;2239;:5;:::i;15229:330::-;15359:53;;;;;;;;;;;-1:-1:-1;;;15359:53:0;;;;;;;;-1:-1:-1;;;;;15359:17:0;;15322:4;15359:17;;;:9;:17;;;;;;;:53;;15381:6;;15359:21;:53::i;:::-;-1:-1:-1;;;;;15339:17:0;;;;;;;:9;:17;;;;;;:73;;;;15446:20;;;;;;;:32;;15471:6;15446:24;:32::i;:::-;-1:-1:-1;;;;;15423:20:0;;;;;;;:9;:20;;;;;;;:55;;;;15494:35;;;;;;;;;;15522:6;;15494:35;:::i;:::-;;;;;;;;-1:-1:-1;15547:4:0;15229:330;;;;;:::o;15567:1038::-;6391:16;:23;;-1:-1:-1;;;;6391:23:0;-1:-1:-1;;;6391:23:0;;;15704:24:::1;::::0;15683:15:::1;::::0;6391:23;;15671:65:::1;::::0;15734:1:::1;::::0;15671:58:::1;::::0;;;:7;;:11:::1;:28::i;:::-;:32:::0;::::1;:58::i;:65::-;15649:87:::0;-1:-1:-1;15747:21:0::1;15771:24;:7:::0;15649:87;15771:11:::1;:24::i;:::-;15747:48;;15808:31;15825:13;15808:16;:31::i;:::-;15960:15;::::0;15875:21:::1;::::0;15850:22:::1;::::0;15931:52:::1;::::0;15960:22:::1;::::0;15980:1:::1;15960:19;:22::i;:::-;15931:24;::::0;;:28:::1;:52::i;:::-;15909:74;;16004:26;16033:59;16090:1;16033:52;16073:11;16033:35;16052:15;;16033:14;:18;;:35;;;;:::i;:59::-;16004:88;;16103:21;16127:47;16162:11;16127:30;16146:10;;16127:14;:18;;:30;;;;:::i;:47::-;16103:71:::0;-1:-1:-1;16185:26:0::1;16214:57;16103:71:::0;16214:38:::1;:14:::0;16233:18;16214::::1;:38::i;:::-;:42:::0;::::1;:57::i;:::-;16185:86:::0;-1:-1:-1;16287:22:0;;16284:97:::1;;16345:15;::::0;16324:57:::1;::::0;16345:15:::1;::::0;::::1;-1:-1:-1::0;;;;;16345:15:0::1;16362:18:::0;16324:20:::1;:57::i;:::-;16397:17:::0;;16394:86:::1;;16450:14;::::0;16429:51:::1;::::0;-1:-1:-1;;;;;16450:14:0::1;16466:13:::0;16429:20:::1;:51::i;:::-;16517:1;16496:18;:22;:41;;;;;16536:1;16522:11;:15;16496:41;16493:104;;;16552:45;16565:11;16578:18;16552:12;:45::i;:::-;-1:-1:-1::0;;6437:16:0;:24;;-1:-1:-1;;;;6437:24:0;;;-1:-1:-1;;;;;;15567:1038:0:o;17848:622::-;-1:-1:-1;;;;;18009:20:0;;17934:7;18009:20;;;:12;:20;;;;;;17934:7;;18009:20;;18006:223;;;18058:38;18092:3;18058:29;18069:17;;18058:6;:10;;:29;;;;:::i;:38::-;18046:50;;18006:223;;;-1:-1:-1;;;;;18126:23:0;;;;;;:12;:23;;;;;;;;18123:106;;;18178:39;18213:3;18178:30;18189:18;;18178:6;:10;;:30;;;;:::i;:39::-;18166:51;;18123:106;18252:13;;18249:173;;18327:4;18309:24;;;;:9;:24;;;;;;:39;;18338:9;18309:28;:39::i;:::-;18300:4;18282:24;;;;:9;:24;;;;;;;:66;;;;18368:42;;-1:-1:-1;;;;;18368:42:0;;;;;;;18400:9;;18368:42;:::i;:::-;;;;;;;;18249:173;18441:21;:6;18452:9;18441:10;:21::i;16615:681::-;16765:16;;;16779:1;16765:16;;;;;;;;16741:21;;16765:16;;;;;;;;;;-1:-1:-1;16765:16:0;16741:40;;16810:4;16792;16797:1;16792:7;;;;;;-1:-1:-1;;;16792:7:0;;;;;;;;;-1:-1:-1;;;;;16792:23:0;;;:7;;;;;;;;;;:23;;;;16836:15;;:22;;;-1:-1:-1;;;16836:22:0;;;;:15;;;;;:20;;:22;;;;;16792:7;;16836:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16826:4;16831:1;16826:7;;;;;;-1:-1:-1;;;16826:7:0;;;;;;;;;-1:-1:-1;;;;;16826:32:0;;;:7;;;;;;;;;:32;16903:15;;16871:62;;16888:4;;16903:15;16921:11;16871:8;:62::i;:::-;16976:15;;:240;;-1:-1:-1;;;16976:240:0;;-1:-1:-1;;;;;16976:15:0;;;;:66;;:240;;17057:11;;16976:15;;17127:4;;17154;;17190:15;;16976:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16972:256;17253:35;17270:11;17283:4;17253:35;;;;;;;:::i;:::-;;;;;;;;16615:681;;:::o;12623:126::-;12715:26;;-1:-1:-1;;;;;12715:18:0;;;:26;;;;;12734:6;;12715:26;;;;12734:6;12715:18;:26;;;;;;;;;;;;;;;;;;;;;12623:126;;:::o;17304:536::-;17484:15;;17452:62;;17469:4;;-1:-1:-1;;;;;17484:15:0;17502:11;17452:8;:62::i;:::-;17561:15;;17765;;17561:260;;-1:-1:-1;;;17561:260:0;;-1:-1:-1;;;;;17561:15:0;;;;:31;;17600:9;;17561:260;;17633:4;;17653:11;;17561:15;;;;;17765;;;;17795;;17561:260;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17561:260:0;;;;;;;;-1:-1:-1;;17561:260:0;;;;;;;;;;;;:::i;:::-;;;17557:276;;;;;;;;;17304:536;;:::o;14:162:1:-;81:20;;137:13;;130:21;120:32;;110:2;;166:1;163;156:12;181:259;;293:2;281:9;272:7;268:23;264:32;261:2;;;314:6;306;299:22;261:2;358:9;345:23;377:33;404:5;377:33;:::i;445:263::-;;568:2;556:9;547:7;543:23;539:32;536:2;;;589:6;581;574:22;536:2;626:9;620:16;645:33;672:5;645:33;:::i;713:402::-;;;842:2;830:9;821:7;817:23;813:32;810:2;;;863:6;855;848:22;810:2;907:9;894:23;926:33;953:5;926:33;:::i;:::-;978:5;-1:-1:-1;1035:2:1;1020:18;;1007:32;1048:35;1007:32;1048:35;:::i;:::-;1102:7;1092:17;;;800:315;;;;;:::o;1120:470::-;;;;1266:2;1254:9;1245:7;1241:23;1237:32;1234:2;;;1287:6;1279;1272:22;1234:2;1331:9;1318:23;1350:33;1377:5;1350:33;:::i;:::-;1402:5;-1:-1:-1;1459:2:1;1444:18;;1431:32;1472:35;1431:32;1472:35;:::i;:::-;1224:366;;1526:7;;-1:-1:-1;;;1580:2:1;1565:18;;;;1552:32;;1224:366::o;1595:329::-;;;1721:2;1709:9;1700:7;1696:23;1692:32;1689:2;;;1742:6;1734;1727:22;1689:2;1786:9;1773:23;1805:33;1832:5;1805:33;:::i;:::-;1857:5;-1:-1:-1;1881:37:1;1914:2;1899:18;;1881:37;:::i;:::-;1871:47;;1679:245;;;;;:::o;1929:327::-;;;2058:2;2046:9;2037:7;2033:23;2029:32;2026:2;;;2079:6;2071;2064:22;2026:2;2123:9;2110:23;2142:33;2169:5;2142:33;:::i;:::-;2194:5;2246:2;2231:18;;;;2218:32;;-1:-1:-1;;;2016:240:1:o;2261:744::-;;;;2422:2;2410:9;2401:7;2397:23;2393:32;2390:2;;;2443:6;2435;2428:22;2390:2;2488:9;2475:23;2517:18;2558:2;2550:6;2547:14;2544:2;;;2579:6;2571;2564:22;2544:2;2622:6;2611:9;2607:22;2597:32;;2667:7;2660:4;2656:2;2652:13;2648:27;2638:2;;2694:6;2686;2679:22;2638:2;2739;2726:16;2765:2;2757:6;2754:14;2751:2;;;2786:6;2778;2771:22;2751:2;2849:7;2842:4;2834;2826:6;2822:17;2818:2;2814:26;2810:37;2807:50;2804:2;;;2875:6;2867;2860:22;2804:2;2911:4;2903:13;;;;-1:-1:-1;2935:6:1;-1:-1:-1;2960:39:1;;2978:20;;;-1:-1:-1;2960:39:1;:::i;:::-;2950:49;;2380:625;;;;;:::o;3010:192::-;;3119:2;3107:9;3098:7;3094:23;3090:32;3087:2;;;3140:6;3132;3125:22;3087:2;3168:28;3186:9;3168:28;:::i;3207:190::-;;3319:2;3307:9;3298:7;3294:23;3290:32;3287:2;;;3340:6;3332;3325:22;3287:2;-1:-1:-1;3368:23:1;;3277:120;-1:-1:-1;3277:120:1:o;3402:258::-;;;3531:2;3519:9;3510:7;3506:23;3502:32;3499:2;;;3552:6;3544;3537:22;3499:2;-1:-1:-1;;3580:23:1;;;3650:2;3635:18;;;3622:32;;-1:-1:-1;3489:171:1:o;3665:316::-;;;;3822:2;3810:9;3801:7;3797:23;3793:32;3790:2;;;3843:6;3835;3828:22;3790:2;3877:9;3871:16;3861:26;;3927:2;3916:9;3912:18;3906:25;3896:35;;3971:2;3960:9;3956:18;3950:25;3940:35;;3780:201;;;;;:::o;3986:469::-;;4083:5;4077:12;4110:6;4105:3;4098:19;4136:4;4165:2;4160:3;4156:12;4149:19;;4202:2;4195:5;4191:14;4223:3;4235:195;4249:6;4246:1;4243:13;4235:195;;;4314:13;;-1:-1:-1;;;;;4310:39:1;4298:52;;4370:12;;;;4405:15;;;;4346:1;4264:9;4235:195;;;-1:-1:-1;4446:3:1;;4053:402;-1:-1:-1;;;;;4053:402:1:o;4460:203::-;-1:-1:-1;;;;;4624:32:1;;;;4606:51;;4594:2;4579:18;;4561:102::o;4892:615::-;-1:-1:-1;;;;;5259:15:1;;;5241:34;;5306:2;5291:18;;5284:34;;;;5349:2;5334:18;;5327:34;;;;5392:2;5377:18;;5370:34;;;;5441:15;;;5435:3;5420:19;;5413:44;5221:3;5473:19;;5466:35;;;;5190:3;5175:19;;5157:350::o;5512:187::-;5677:14;;5670:22;5652:41;;5640:2;5625:18;;5607:92::o;5938:603::-;;6079:2;6108;6097:9;6090:21;6140:6;6134:13;6183:6;6178:2;6167:9;6163:18;6156:34;6208:4;6221:140;6235:6;6232:1;6229:13;6221:140;;;6330:14;;;6326:23;;6320:30;6296:17;;;6315:2;6292:26;6285:66;6250:10;;6221:140;;;6379:6;6376:1;6373:13;6370:2;;;6449:4;6444:2;6435:6;6424:9;6420:22;6416:31;6409:45;6370:2;-1:-1:-1;6525:2:1;6504:15;-1:-1:-1;;6500:29:1;6485:45;;;;6532:2;6481:54;;6059:482;-1:-1:-1;;;6059:482:1:o;6546:399::-;6748:2;6730:21;;;6787:2;6767:18;;;6760:30;6826:34;6821:2;6806:18;;6799:62;-1:-1:-1;;;6892:2:1;6877:18;;6870:33;6935:3;6920:19;;6720:225::o;6950:402::-;7152:2;7134:21;;;7191:2;7171:18;;;7164:30;7230:34;7225:2;7210:18;;7203:62;-1:-1:-1;;;7296:2:1;7281:18;;7274:36;7342:3;7327:19;;7124:228::o;7357:398::-;7559:2;7541:21;;;7598:2;7578:18;;;7571:30;7637:34;7632:2;7617:18;;7610:62;-1:-1:-1;;;7703:2:1;7688:18;;7681:32;7745:3;7730:19;;7531:224::o;7760:351::-;7962:2;7944:21;;;8001:2;7981:18;;;7974:30;8040:29;8035:2;8020:18;;8013:57;8102:2;8087:18;;7934:177::o;8116:397::-;8318:2;8300:21;;;8357:2;8337:18;;;8330:30;8396:34;8391:2;8376:18;;8369:62;-1:-1:-1;;;8462:2:1;8447:18;;8440:31;8503:3;8488:19;;8290:223::o;8518:356::-;8720:2;8702:21;;;8739:18;;;8732:30;8798:34;8793:2;8778:18;;8771:62;8865:2;8850:18;;8692:182::o;8879:401::-;9081:2;9063:21;;;9120:2;9100:18;;;9093:30;9159:34;9154:2;9139:18;;9132:62;-1:-1:-1;;;9225:2:1;9210:18;;9203:35;9270:3;9255:19;;9053:227::o;9285:400::-;9487:2;9469:21;;;9526:2;9506:18;;;9499:30;9565:34;9560:2;9545:18;;9538:62;-1:-1:-1;;;9631:2:1;9616:18;;9609:34;9675:3;9660:19;;9459:226::o;9690:177::-;9836:25;;;9824:2;9809:18;;9791:76::o;9872:338::-;;10079:6;10068:9;10061:25;10122:2;10117;10106:9;10102:18;10095:30;10142:62;10200:2;10189:9;10185:18;10177:6;10142:62;:::i;:::-;10134:70;10051:159;-1:-1:-1;;;;10051:159:1:o;10215:588::-;;10514:6;10503:9;10496:25;10557:6;10552:2;10541:9;10537:18;10530:34;10600:3;10595:2;10584:9;10580:18;10573:31;10621:63;10679:3;10668:9;10664:19;10656:6;10621:63;:::i;:::-;-1:-1:-1;;;;;10720:32:1;;;;10715:2;10700:18;;10693:60;-1:-1:-1;10784:3:1;10769:19;10762:35;10613:71;10486:317;-1:-1:-1;;;10486:317:1:o;10808:184::-;10980:4;10968:17;;;;10950:36;;10938:2;10923:18;;10905:87::o;10997:128::-;;11068:1;11064:6;11061:1;11058:13;11055:2;;;11074:18;;:::i;:::-;-1:-1:-1;11110:9:1;;11045:80::o;11130:217::-;;11196:1;11186:2;;-1:-1:-1;;;11221:31:1;;11275:4;11272:1;11265:15;11303:4;11228:1;11293:15;11186:2;-1:-1:-1;11332:9:1;;11176:171::o;11352:453::-;11448:6;11471:5;11485:314;11534:1;11571:2;11561:8;11558:16;11548:2;;11578:5;;;11548:2;11619:4;11614:3;11610:14;11604:4;11601:24;11598:2;;;11628:18;;:::i;:::-;11678:2;11668:8;11664:17;11661:2;;;11693:16;;;;11661:2;11772:17;;;;;11732:15;;11485:314;;;11429:376;;;;;;;:::o;11810:148::-;;11897:55;-1:-1:-1;;11938:4:1;11924:19;;11918:4;11963:922;12047:8;12037:2;;-1:-1:-1;12088:1:1;12102:5;;12037:2;12136:4;12126:2;;-1:-1:-1;12173:1:1;12187:5;;12126:2;12218:4;12236:1;12231:59;;;;12304:1;12299:183;;;;12211:271;;12231:59;12261:1;12252:10;;12275:5;;;12299:183;12336:3;12326:8;12323:17;12320:2;;;12343:18;;:::i;:::-;12399:1;12389:8;12385:16;12376:25;;12427:3;12420:5;12417:14;12414:2;;;12434:18;;:::i;:::-;12467:5;;;12211:271;;12566:2;12556:8;12553:16;12547:3;12541:4;12538:13;12534:36;12528:2;12518:8;12515:16;12510:2;12504:4;12501:12;12497:35;12494:77;12491:2;;;-1:-1:-1;12603:19:1;;;12638:14;;;12635:2;;;12655:18;;:::i;:::-;12688:5;;12491:2;12735:42;12773:3;12763:8;12757:4;12754:1;12735:42;:::i;:::-;12810:6;12805:3;12801:16;12792:7;12789:29;12786:2;;;12821:18;;:::i;:::-;12859:20;;12027:858;-1:-1:-1;;;;12027:858:1:o;12890:168::-;;12996:1;12992;12988:6;12984:14;12981:1;12978:21;12973:1;12966:9;12959:17;12955:45;12952:2;;;13003:18;;:::i;:::-;-1:-1:-1;13043:9:1;;12942:116::o;13063:125::-;;13131:1;13128;13125:8;13122:2;;;13136:18;;:::i;:::-;-1:-1:-1;13173:9:1;;13112:76::o;13193:380::-;13278:1;13268:12;;13325:1;13315:12;;;13336:2;;13390:4;13382:6;13378:17;13368:27;;13336:2;13443;13435:6;13432:14;13412:18;13409:38;13406:2;;;13489:10;13484:3;13480:20;13477:1;13470:31;13524:4;13521:1;13514:15;13552:4;13549:1;13542:15;13406:2;;13248:325;;;:::o;13578:135::-;;-1:-1:-1;;13638:17:1;;13635:2;;;13658:18;;:::i;:::-;-1:-1:-1;13705:1:1;13694:13;;13625:88::o;13718:127::-;13779:10;13774:3;13770:20;13767:1;13760:31;13810:4;13807:1;13800:15;13834:4;13831:1;13824:15;13850:133;-1:-1:-1;;;;;13927:31:1;;13917:42;;13907:2;;13973:1;13970;13963:12;13907:2;13897:86;:::o

Swarm Source

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