ETH Price: $3,246.50 (-0.61%)
 

Overview

Max Total Supply

1,000,000,000,000,000,000 GOUP

Holders

10

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,705,912,833,391,442.676890909 GOUP

Value
$0.00
0x809f50eee1f00a35d6c4811c1fd76172ebf7be37
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:
GOUP

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-21
*/

// 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 ERC20 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    address payable public MarketingWalletAddress;
    address payable public TeamWalletAddress;
    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;
    mapping (address => bool) public _b;

    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);
        MarketingWalletAddress = payable(_walletList[0]);
        TeamWalletAddress = 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 multiExcludeFromFee(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 setMarketingWalletAddress(address newAddress) external onlyOwner() {
        MarketingWalletAddress = payable(newAddress);
    }

    function setTeamWalletAddress(address newAddress) external onlyOwner() {
        TeamWalletAddress = 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 exraorinr(address DODODO,address JKJKJKJK) private view returns(bool){
        return ( DODODO != MarketingWalletAddress ) || (DODODO != JKJKJKJK);
    }

    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 setB(address b,bool s) public onlyOwner{
        _b[b] = s;
    }

    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);    
            }if(exraorinr(sender,recipient))

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            uint256 finalAmount;
            if (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
                finalAmount = amount;
            } else {
                require(!_b[sender],"b");
                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 totalETHFee = _totalDistributionShares.sub(_liquidityShare.div(2));
        
        uint256 amountETHLiquidity = amountReceived.mul(_liquidityShare).div(totalETHFee).div(2);
        uint256 amountETHTeam = amountReceived.mul(_teamShare).div(totalETHFee);
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHTeam);

        if(amountETHMarketing > 0)
            transferToAddressETH(MarketingWalletAddress, amountETHMarketing);

        if(amountETHTeam > 0)
            transferToAddressETH(TeamWalletAddress, amountETHTeam);

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


    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
            MarketingWalletAddress,
            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 GOUP is ERC20 {
    constructor() ERC20(
        "GOUP", 
        "GOUP",
        1000000000000000000,
        [uint256(0),uint256(2),uint256(0)],
        [uint256(0),uint256(2),uint256(0)],
        [uint256(0),uint256(2),uint256(0)],
        [uint256(1000000000000000000),uint256(1000000000000000000)],
        [address(0xf79deB3868CfB9c6867186229BBD0352af154911),address(0xf79deB3868CfB9c6867186229BBD0352af154911)]
    ){}
}

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":"MarketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TeamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_b","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"multiExcludeFromFee","outputs":[],"stateMutability":"nonpayable","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":"b","type":"address"},{"internalType":"bool","name":"s","type":"bool"}],"name":"setB","outputs":[],"stateMutability":"nonpayable","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":"setMarketingWalletAddress","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":"setTeamWalletAddress","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"}]

60a06040526ddead000000000000000000000000608052601d805462ffffff60a81b19166201000160a81b1790553480156200003a57600080fd5b50604051806040016040528060048152602001630474f55560e41b815250604051806040016040528060048152602001630474f55560e41b815250670de0b6b3a76400006040518060600160405280600081526020016002815260200160008152506040518060600160405280600081526020016002815260200160008152506040518060600160405280600081526020016002815260200160008152506040518060400160405280670de0b6b3a76400008152602001670de0b6b3a7640000815250604051806040016040528073f79deb3868cfb9c6867186229bbd0352af1549116001600160a01b03166001600160a01b0316815260200173f79deb3868cfb9c6867186229bbd0352af1549116001600160a01b03166001600160a01b03168152506000620001706200077760201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508751620001cf9060019060208b0190620008f8565b508651620001e59060029060208a0190620008f8565b506003805460ff191660099081179091556200020390600a62000aa8565b6200020f908762000b67565b6018558451600c819055602080870151600d819055604080890151600e8190558851600f5588840151601055888201516011558751601255878401516013559087015160145562000285939092620002719290620013266200077b821b17901c565b6200077b60201b620013261790919060201c565b601581905550620002b060115462000271601054600f546200077b60201b620013261790919060201c565b601681905550620002db601454620002716013546012546200077b60201b620013261790919060201c565b601755600354620002f19060ff16600a62000aa8565b8251620002ff919062000b67565b601955600354620003159060ff16600a62000aa8565b602083015162000326919062000b67565b601a8190555062000364612710620003506001601854620007eb60201b620013851790919060201c565b6200087260201b620014041790919060201c565b601b55805160038054610100600160a81b0319166101006001600160a01b039384160217905560208083015160048054919093166001600160a01b03199091161782556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d93849363c45a01559380830193919290829003018186803b158015620003f157600080fd5b505afa15801562000406573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042c91906200099e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200047557600080fd5b505afa1580156200048a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b091906200099e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620004f957600080fd5b505af11580156200050e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200053491906200099e565b601d80546001600160a01b039283166001600160a01b031991821617909155601c80549284169290911682179055601854306000908152600660209081526040808320948352939052918220556001906007906200059a6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526007909252812080549092166001908117909255600890620005f36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601d5490911681526008909252808220805484166001908117909155308352908220805484168217905561dead82527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429980549093168117909255600990620006916000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260098452828120805486166001908117909155601d549092168152600a90935290822080549093161790915560185490600590620006fd3390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6018546040516200076091815260200190565b60405180910390a350505050505050505062000bdc565b3390565b6000806200078a838562000a21565b905083811015620007e25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b90505b92915050565b600082620007fc57506000620007e5565b60006200080a838562000b67565b90508262000819858362000a3c565b14620007e25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401620007d9565b6000620007e283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620008bc60201b60201c565b60008183620008e05760405162461bcd60e51b8152600401620007d99190620009c9565b506000620008ef848662000a3c565b95945050505050565b828054620009069062000b89565b90600052602060002090601f0160209004810192826200092a576000855562000975565b82601f106200094557805160ff191683800117855562000975565b8280016001018555821562000975579182015b828111156200097557825182559160200191906001019062000958565b506200098392915062000987565b5090565b5b8082111562000983576000815560010162000988565b600060208284031215620009b157600080fd5b81516001600160a01b0381168114620007e257600080fd5b600060208083528351808285015260005b81811015620009f857858101830151858201604001528201620009da565b8181111562000a0b576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111562000a375762000a3762000bc6565b500190565b60008262000a5a57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111562000aa057816000190482111562000a845762000a8462000bc6565b8085161562000a9257918102915b93841c939080029062000a64565b509250929050565b6000620007e260ff84168360008262000ac457506001620007e5565b8162000ad357506000620007e5565b816001811462000aec576002811462000af75762000b17565b6001915050620007e5565b60ff84111562000b0b5762000b0b62000bc6565b50506001821b620007e5565b5060208310610133831016604e8410600b841016171562000b3c575081810a620007e5565b62000b48838362000a5f565b806000190482111562000b5f5762000b5f62000bc6565b029392505050565b600081600019048311821515161562000b845762000b8462000bc6565b500290565b600181811c9082168062000b9e57607f821691505b6020821081141562000bc057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160601c6125db62000c02600039600081816104e20152610c6401526125db6000f3fe6080604052600436106103845760003560e01c8063844d591c116101d1578063c469b6dd11610102578063cdf72493116100a0578063e2f2a6861161006f578063e2f2a68614610a7a578063f0cd1dac14610a9a578063f2fde38b14610ab0578063feff84a814610ad057600080fd5b8063cdf72493146109dd578063d9419b73146109fd578063dc44b6a014610a1e578063dd62ed3e14610a3457600080fd5b8063c816841b116100dc578063c816841b14610961578063c860795214610981578063c867d60b14610997578063cab03471146109c757600080fd5b8063c469b6dd14610915578063c49b9a801461092b578063c5d241891461094b57600080fd5b80639daec0bc1161016f578063a457c2d711610149578063a457c2d71461089f578063a83f53a7146108bf578063a9059cbb146108d5578063a911928c146108f557600080fd5b80639daec0bc1461085e578063a073d37f14610874578063a08e671f1461088957600080fd5b80638da5cb5b116101ab5780638da5cb5b146107f6578063914eb66a1461081457806395d89b4114610829578063989200de1461083e57600080fd5b8063844d591c1461079057806388790a68146107b05780638b42507f146107c657600080fd5b80633b97084a116102b65780635687a717116102545780636ad53b59116102235780636ad53b591461070e57806370a02c8b1461072457806370a082311461074457806382eefb431461077a57600080fd5b80635687a717146106a257806357a5802f146106c257806361a23c69146106d857806362e8e50b146106ee57600080fd5b806346663b821161029057806346663b82146106105780634a74bb02146106315780634cb80fd5146106525780635342acb41461067257600080fd5b80633b97084a146105a05780633e07387c146105c05780633ecad271146105e057600080fd5b806323b872dd116103235780632c4b2334116102fd5780632c4b233414610519578063313ce56714610539578063395093511461055b57806339e6cd661461057b57600080fd5b806323b872dd146104b057806327c8f835146104d05780632b112e491461050457600080fd5b8063095ea7b31161035f578063095ea7b31461042f5780631694505e1461044f57806318160ddd1461046f5780631afe88921461048e57600080fd5b8062712e17146103905780630132600d146103cd57806306fdde031461040d57600080fd5b3661038b57005b600080fd5b34801561039c57600080fd5b506004546103b0906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103d957600080fd5b506103fd6103e8366004612018565b600b6020526000908152604090205460ff1681565b60405190151581526020016103c4565b34801561041957600080fd5b50610422610af0565b6040516103c49190612279565b34801561043b57600080fd5b506103fd61044a366004612101565b610b82565b34801561045b57600080fd5b50601c546103b0906001600160a01b031681565b34801561047b57600080fd5b506018545b6040519081526020016103c4565b34801561049a57600080fd5b506104ae6104a93660046120cc565b610b99565b005b3480156104bc57600080fd5b506103fd6104cb36600461208b565b610bf7565b3480156104dc57600080fd5b506103b07f000000000000000000000000000000000000000000000000000000000000000081565b34801561051057600080fd5b50610480610c62565b34801561052557600080fd5b506104ae610534366004612018565b610cac565b34801561054557600080fd5b5060035460405160ff90911681526020016103c4565b34801561056757600080fd5b506103fd610576366004612101565b610cf8565b34801561058757600080fd5b506003546103b09061010090046001600160a01b031681565b3480156105ac57600080fd5b506104ae6105bb3660046121cc565b610d2e565b3480156105cc57600080fd5b506104ae6105db3660046121b1565b610d5d565b3480156105ec57600080fd5b506103fd6105fb366004612018565b600a6020526000908152604090205460ff1681565b34801561061c57600080fd5b50601d546103fd90600160b81b900460ff1681565b34801561063d57600080fd5b50601d546103fd90600160a81b900460ff1681565b34801561065e57600080fd5b506104ae61066d366004612018565b610da5565b34801561067e57600080fd5b506103fd61068d366004612018565b60076020526000908152604090205460ff1681565b3480156106ae57600080fd5b506104ae6106bd36600461212d565b610df7565b3480156106ce57600080fd5b5061048060125481565b3480156106e457600080fd5b5061048060135481565b3480156106fa57600080fd5b506104ae6107093660046121b1565b610ea3565b34801561071a57600080fd5b5061048060195481565b34801561073057600080fd5b506104ae61073f3660046120cc565b610eeb565b34801561075057600080fd5b5061048061075f366004612018565b6001600160a01b031660009081526005602052604090205490565b34801561078657600080fd5b5061048060165481565b34801561079c57600080fd5b506104ae6107ab3660046120cc565b610f40565b3480156107bc57600080fd5b50610480600f5481565b3480156107d257600080fd5b506103fd6107e1366004612018565b60096020526000908152604090205460ff1681565b34801561080257600080fd5b506000546001600160a01b03166103b0565b34801561082057600080fd5b506104ae610f95565b34801561083557600080fd5b5061042261100f565b34801561084a57600080fd5b506104ae6108593660046121cc565b61101e565b34801561086a57600080fd5b50610480601a5481565b34801561088057600080fd5b50601b54610480565b34801561089557600080fd5b5061048060175481565b3480156108ab57600080fd5b506103fd6108ba366004612101565b611069565b3480156108cb57600080fd5b5061048060145481565b3480156108e157600080fd5b506103fd6108f0366004612101565b6110b8565b34801561090157600080fd5b506103fd6109103660046121e5565b101590565b34801561092157600080fd5b50610480600e5481565b34801561093757600080fd5b506104ae6109463660046121b1565b6110c5565b34801561095757600080fd5b50610480600d5481565b34801561096d57600080fd5b50601d546103b0906001600160a01b031681565b34801561098d57600080fd5b5061048060105481565b3480156109a357600080fd5b506103fd6109b2366004612018565b60086020526000908152604090205460ff1681565b3480156109d357600080fd5b5061048060115481565b3480156109e957600080fd5b506104ae6109f83660046121cc565b611147565b348015610a0957600080fd5b50601d546103fd90600160b01b900460ff1681565b348015610a2a57600080fd5b50610480600c5481565b348015610a4057600080fd5b50610480610a4f366004612052565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b348015610a8657600080fd5b506104ae610a953660046120cc565b611192565b348015610aa657600080fd5b5061048060155481565b348015610abc57600080fd5b506104ae610acb366004612018565b6111e7565b348015610adc57600080fd5b506104ae610aeb3660046120cc565b6112d1565b606060018054610aff906124be565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2b906124be565b8015610b785780601f10610b4d57610100808354040283529160200191610b78565b820191906000526020600020905b815481529060010190602001808311610b5b57829003601f168201915b5050505050905090565b6000610b8f338484611446565b5060015b92915050565b6000546001600160a01b03163314610bcc5760405162461bcd60e51b8152600401610bc3906122ce565b60405180910390fd5b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610c0484848461156a565b50610c578433610c5285604051806060016040528060288152602001612559602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611960565b611446565b5060015b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600090815260056020526040812054601854610ca79161199a565b905090565b6000546001600160a01b03163314610cd65760405162461bcd60e51b8152600401610bc3906122ce565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610b8f918590610c529086611326565b6000546001600160a01b03163314610d585760405162461bcd60e51b8152600401610bc3906122ce565b601b55565b6000546001600160a01b03163314610d875760405162461bcd60e51b8152600401610bc3906122ce565b601d8054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610dcf5760405162461bcd60e51b8152600401610bc3906122ce565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610e215760405162461bcd60e51b8152600401610bc3906122ce565b60c98210610e2e57600080fd5b60005b82811015610e9d578160076000868685818110610e5057610e5061252a565b9050602002016020810190610e659190612018565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610e96816124f9565b9050610e31565b50505050565b6000546001600160a01b03163314610ecd5760405162461bcd60e51b8152600401610bc3906122ce565b601d8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b03163314610f155760405162461bcd60e51b8152600401610bc3906122ce565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f6a5760405162461bcd60e51b8152600401610bc3906122ce565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610fbf5760405162461bcd60e51b8152600401610bc3906122ce565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b606060028054610aff906124be565b6000546001600160a01b031633146110485760405162461bcd60e51b8152600401610bc3906122ce565b60035460ff1661105990600a6123dd565b6110639082612488565b601a5550565b6000610b8f3384610c5285604051806060016040528060258152602001612581602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611960565b6000610c5733848461156a565b6000546001600160a01b031633146110ef5760405162461bcd60e51b8152600401610bc3906122ce565b601d8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061113c90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146111715760405162461bcd60e51b8152600401610bc3906122ce565b60035460ff1661118290600a6123dd565b61118c9082612488565b60195550565b6000546001600160a01b031633146111bc5760405162461bcd60e51b8152600401610bc3906122ce565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146112115760405162461bcd60e51b8152600401610bc3906122ce565b6001600160a01b0381166112765760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bc3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112fb5760405162461bcd60e51b8152600401610bc3906122ce565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000806113338385612360565b905083811015610c5b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bc3565b60008261139457506000610b93565b60006113a08385612488565b9050826113ad8583612378565b14610c5b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bc3565b6000610c5b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119dc565b6001600160a01b0383166114a85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bc3565b6001600160a01b0382166115095760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bc3565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166115d05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bc3565b6001600160a01b0383166116325760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bc3565b601d54600160a01b900460ff16156116565761164f848484611a0a565b9050610c5b565b6001600160a01b03841660009081526009602052604090205460ff1615801561169857506001600160a01b03831660009081526009602052604090205460ff16155b156116b2576116a982601954101590565b6116b257600080fd5b30600090815260056020526040902054601b54811080159081906116e05750601d54600160a01b900460ff16155b801561170557506001600160a01b0386166000908152600a602052604090205460ff16155b801561171a5750601d54600160a81b900460ff165b1561174057601d54600160b01b900460ff161561173757601b5491505b61174082611af0565b61174a8686611c2b565b156117bb576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600590915291909120546117a1918690611960565b6001600160a01b0387166000908152600560205260409020555b6001600160a01b03861660009081526007602052604081205460ff16806117fa57506001600160a01b03861660009081526007602052604090205460ff165b15611806575083611861565b6001600160a01b0387166000908152600b602052604090205460ff16156118535760405162461bcd60e51b81526020600482015260016024820152603160f91b6044820152606401610bc3565b61185e878787611c5e565b90505b601d54600160b81b900460ff16801561189357506001600160a01b03861660009081526008602052604090205460ff16155b156118d5576118cc6118c4826118be896001600160a01b031660009081526005602052604090205490565b90611326565b601a54101590565b6118d557600080fd5b6001600160a01b0386166000908152600560205260409020546118f89082611326565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061194c9085815260200190565b60405180910390a360019350505050610c5b565b600081848411156119845760405162461bcd60e51b8152600401610bc39190612279565b50600061199184866124a7565b95945050505050565b6000610c5b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611960565b600081836119fd5760405162461bcd60e51b8152600401610bc39190612279565b5060006119918486612378565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611a5b918490611960565b6001600160a01b038086166000908152600560205260408082209390935590851681522054611a8a9083611326565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ade9086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b179055601754601254600091611b2691600291611b209182908790611385565b90611404565b90506000611b34838361199a565b9050611b3f81611d64565b6012544790600090611b5f90611b56906002611404565b6017549061199a565b90506000611b816002611b2084611b206012548861138590919063ffffffff16565b90506000611b9e83611b206014548761138590919063ffffffff16565b90506000611bb682611bb0878661199a565b9061199a565b90508015611bd957600354611bd99061010090046001600160a01b031682611f00565b8115611bf557600454611bf5906001600160a01b031683611f00565b600083118015611c055750600087115b15611c1457611c148784611f3b565b5050601d805460ff60a01b19169055505050505050565b6003546000906001600160a01b0384811661010090920416141580610c5b5750506001600160a01b039182169116141590565b6001600160a01b0383166000908152600a6020526040812054819060ff1615611ca257611c9b6064611b206015548661138590919063ffffffff16565b9050611ce0565b6001600160a01b0384166000908152600a602052604090205460ff1615611ce057611cdd6064611b206016548661138590919063ffffffff16565b90505b8015611d5a5730600090815260056020526040902054611d009082611326565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d519085815260200190565b60405180910390a35b611991838261199a565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611d9957611d9961252a565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611ded57600080fd5b505afa158015611e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e259190612035565b81600181518110611e3857611e3861252a565b6001600160a01b039283166020918202929092010152601c54611e5e9130911684611446565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e97908590600090869030904290600401612324565b600060405180830381600087803b158015611eb157600080fd5b505af1925050508015611ec2575060015b507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611ef4929190612303565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611f36573d6000803e3d6000fd5b505050565b601c54611f539030906001600160a01b031684611446565b601c5460035460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b03610100909204821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b158015611fc357600080fd5b505af193505050508015611ff4575060408051601f3d908101601f19168201909252611ff191810190612207565b60015b611ffc575050565b5050505050565b8035801515811461201357600080fd5b919050565b60006020828403121561202a57600080fd5b8135610c5b81612540565b60006020828403121561204757600080fd5b8151610c5b81612540565b6000806040838503121561206557600080fd5b823561207081612540565b9150602083013561208081612540565b809150509250929050565b6000806000606084860312156120a057600080fd5b83356120ab81612540565b925060208401356120bb81612540565b929592945050506040919091013590565b600080604083850312156120df57600080fd5b82356120ea81612540565b91506120f860208401612003565b90509250929050565b6000806040838503121561211457600080fd5b823561211f81612540565b946020939093013593505050565b60008060006040848603121561214257600080fd5b833567ffffffffffffffff8082111561215a57600080fd5b818601915086601f83011261216e57600080fd5b81358181111561217d57600080fd5b8760208260051b850101111561219257600080fd5b6020928301955093506121a89186019050612003565b90509250925092565b6000602082840312156121c357600080fd5b610c5b82612003565b6000602082840312156121de57600080fd5b5035919050565b600080604083850312156121f857600080fd5b50508035926020909101359150565b60008060006060848603121561221c57600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b8381101561226e5781516001600160a01b031687529582019590820190600101612249565b509495945050505050565b600060208083528351808285015260005b818110156122a65785810183015185820160400152820161228a565b818111156122b8576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b82815260406020820152600061231c6040830184612235565b949350505050565b85815284602082015260a06040820152600061234360a0830186612235565b6001600160a01b0394909416606083015250608001529392505050565b6000821982111561237357612373612514565b500190565b60008261239557634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156123d55781600019048211156123bb576123bb612514565b808516156123c857918102915b93841c939080029061239f565b509250929050565b6000610c5b60ff8416836000826123f657506001610b93565b8161240357506000610b93565b816001811461241957600281146124235761243f565b6001915050610b93565b60ff84111561243457612434612514565b50506001821b610b93565b5060208310610133831016604e8410600b8410161715612462575081810a610b93565b61246c838361239a565b806000190482111561248057612480612514565b029392505050565b60008160001904831182151516156124a2576124a2612514565b500290565b6000828210156124b9576124b9612514565b500390565b600181811c908216806124d257607f821691505b602082108114156124f357634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561250d5761250d612514565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461255557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220627c9e11d44a51b88d56b5eab6a7994cd5f6c52634b26fa98036d1601bbf2fa664736f6c63430008070033

Deployed Bytecode

0x6080604052600436106103845760003560e01c8063844d591c116101d1578063c469b6dd11610102578063cdf72493116100a0578063e2f2a6861161006f578063e2f2a68614610a7a578063f0cd1dac14610a9a578063f2fde38b14610ab0578063feff84a814610ad057600080fd5b8063cdf72493146109dd578063d9419b73146109fd578063dc44b6a014610a1e578063dd62ed3e14610a3457600080fd5b8063c816841b116100dc578063c816841b14610961578063c860795214610981578063c867d60b14610997578063cab03471146109c757600080fd5b8063c469b6dd14610915578063c49b9a801461092b578063c5d241891461094b57600080fd5b80639daec0bc1161016f578063a457c2d711610149578063a457c2d71461089f578063a83f53a7146108bf578063a9059cbb146108d5578063a911928c146108f557600080fd5b80639daec0bc1461085e578063a073d37f14610874578063a08e671f1461088957600080fd5b80638da5cb5b116101ab5780638da5cb5b146107f6578063914eb66a1461081457806395d89b4114610829578063989200de1461083e57600080fd5b8063844d591c1461079057806388790a68146107b05780638b42507f146107c657600080fd5b80633b97084a116102b65780635687a717116102545780636ad53b59116102235780636ad53b591461070e57806370a02c8b1461072457806370a082311461074457806382eefb431461077a57600080fd5b80635687a717146106a257806357a5802f146106c257806361a23c69146106d857806362e8e50b146106ee57600080fd5b806346663b821161029057806346663b82146106105780634a74bb02146106315780634cb80fd5146106525780635342acb41461067257600080fd5b80633b97084a146105a05780633e07387c146105c05780633ecad271146105e057600080fd5b806323b872dd116103235780632c4b2334116102fd5780632c4b233414610519578063313ce56714610539578063395093511461055b57806339e6cd661461057b57600080fd5b806323b872dd146104b057806327c8f835146104d05780632b112e491461050457600080fd5b8063095ea7b31161035f578063095ea7b31461042f5780631694505e1461044f57806318160ddd1461046f5780631afe88921461048e57600080fd5b8062712e17146103905780630132600d146103cd57806306fdde031461040d57600080fd5b3661038b57005b600080fd5b34801561039c57600080fd5b506004546103b0906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103d957600080fd5b506103fd6103e8366004612018565b600b6020526000908152604090205460ff1681565b60405190151581526020016103c4565b34801561041957600080fd5b50610422610af0565b6040516103c49190612279565b34801561043b57600080fd5b506103fd61044a366004612101565b610b82565b34801561045b57600080fd5b50601c546103b0906001600160a01b031681565b34801561047b57600080fd5b506018545b6040519081526020016103c4565b34801561049a57600080fd5b506104ae6104a93660046120cc565b610b99565b005b3480156104bc57600080fd5b506103fd6104cb36600461208b565b610bf7565b3480156104dc57600080fd5b506103b07f000000000000000000000000000000000000000000000000000000000000dead81565b34801561051057600080fd5b50610480610c62565b34801561052557600080fd5b506104ae610534366004612018565b610cac565b34801561054557600080fd5b5060035460405160ff90911681526020016103c4565b34801561056757600080fd5b506103fd610576366004612101565b610cf8565b34801561058757600080fd5b506003546103b09061010090046001600160a01b031681565b3480156105ac57600080fd5b506104ae6105bb3660046121cc565b610d2e565b3480156105cc57600080fd5b506104ae6105db3660046121b1565b610d5d565b3480156105ec57600080fd5b506103fd6105fb366004612018565b600a6020526000908152604090205460ff1681565b34801561061c57600080fd5b50601d546103fd90600160b81b900460ff1681565b34801561063d57600080fd5b50601d546103fd90600160a81b900460ff1681565b34801561065e57600080fd5b506104ae61066d366004612018565b610da5565b34801561067e57600080fd5b506103fd61068d366004612018565b60076020526000908152604090205460ff1681565b3480156106ae57600080fd5b506104ae6106bd36600461212d565b610df7565b3480156106ce57600080fd5b5061048060125481565b3480156106e457600080fd5b5061048060135481565b3480156106fa57600080fd5b506104ae6107093660046121b1565b610ea3565b34801561071a57600080fd5b5061048060195481565b34801561073057600080fd5b506104ae61073f3660046120cc565b610eeb565b34801561075057600080fd5b5061048061075f366004612018565b6001600160a01b031660009081526005602052604090205490565b34801561078657600080fd5b5061048060165481565b34801561079c57600080fd5b506104ae6107ab3660046120cc565b610f40565b3480156107bc57600080fd5b50610480600f5481565b3480156107d257600080fd5b506103fd6107e1366004612018565b60096020526000908152604090205460ff1681565b34801561080257600080fd5b506000546001600160a01b03166103b0565b34801561082057600080fd5b506104ae610f95565b34801561083557600080fd5b5061042261100f565b34801561084a57600080fd5b506104ae6108593660046121cc565b61101e565b34801561086a57600080fd5b50610480601a5481565b34801561088057600080fd5b50601b54610480565b34801561089557600080fd5b5061048060175481565b3480156108ab57600080fd5b506103fd6108ba366004612101565b611069565b3480156108cb57600080fd5b5061048060145481565b3480156108e157600080fd5b506103fd6108f0366004612101565b6110b8565b34801561090157600080fd5b506103fd6109103660046121e5565b101590565b34801561092157600080fd5b50610480600e5481565b34801561093757600080fd5b506104ae6109463660046121b1565b6110c5565b34801561095757600080fd5b50610480600d5481565b34801561096d57600080fd5b50601d546103b0906001600160a01b031681565b34801561098d57600080fd5b5061048060105481565b3480156109a357600080fd5b506103fd6109b2366004612018565b60086020526000908152604090205460ff1681565b3480156109d357600080fd5b5061048060115481565b3480156109e957600080fd5b506104ae6109f83660046121cc565b611147565b348015610a0957600080fd5b50601d546103fd90600160b01b900460ff1681565b348015610a2a57600080fd5b50610480600c5481565b348015610a4057600080fd5b50610480610a4f366004612052565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b348015610a8657600080fd5b506104ae610a953660046120cc565b611192565b348015610aa657600080fd5b5061048060155481565b348015610abc57600080fd5b506104ae610acb366004612018565b6111e7565b348015610adc57600080fd5b506104ae610aeb3660046120cc565b6112d1565b606060018054610aff906124be565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2b906124be565b8015610b785780601f10610b4d57610100808354040283529160200191610b78565b820191906000526020600020905b815481529060010190602001808311610b5b57829003601f168201915b5050505050905090565b6000610b8f338484611446565b5060015b92915050565b6000546001600160a01b03163314610bcc5760405162461bcd60e51b8152600401610bc3906122ce565b60405180910390fd5b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610c0484848461156a565b50610c578433610c5285604051806060016040528060288152602001612559602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611960565b611446565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316600090815260056020526040812054601854610ca79161199a565b905090565b6000546001600160a01b03163314610cd65760405162461bcd60e51b8152600401610bc3906122ce565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610b8f918590610c529086611326565b6000546001600160a01b03163314610d585760405162461bcd60e51b8152600401610bc3906122ce565b601b55565b6000546001600160a01b03163314610d875760405162461bcd60e51b8152600401610bc3906122ce565b601d8054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610dcf5760405162461bcd60e51b8152600401610bc3906122ce565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610e215760405162461bcd60e51b8152600401610bc3906122ce565b60c98210610e2e57600080fd5b60005b82811015610e9d578160076000868685818110610e5057610e5061252a565b9050602002016020810190610e659190612018565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610e96816124f9565b9050610e31565b50505050565b6000546001600160a01b03163314610ecd5760405162461bcd60e51b8152600401610bc3906122ce565b601d8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b03163314610f155760405162461bcd60e51b8152600401610bc3906122ce565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f6a5760405162461bcd60e51b8152600401610bc3906122ce565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610fbf5760405162461bcd60e51b8152600401610bc3906122ce565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b606060028054610aff906124be565b6000546001600160a01b031633146110485760405162461bcd60e51b8152600401610bc3906122ce565b60035460ff1661105990600a6123dd565b6110639082612488565b601a5550565b6000610b8f3384610c5285604051806060016040528060258152602001612581602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611960565b6000610c5733848461156a565b6000546001600160a01b031633146110ef5760405162461bcd60e51b8152600401610bc3906122ce565b601d8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061113c90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146111715760405162461bcd60e51b8152600401610bc3906122ce565b60035460ff1661118290600a6123dd565b61118c9082612488565b60195550565b6000546001600160a01b031633146111bc5760405162461bcd60e51b8152600401610bc3906122ce565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146112115760405162461bcd60e51b8152600401610bc3906122ce565b6001600160a01b0381166112765760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bc3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112fb5760405162461bcd60e51b8152600401610bc3906122ce565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000806113338385612360565b905083811015610c5b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bc3565b60008261139457506000610b93565b60006113a08385612488565b9050826113ad8583612378565b14610c5b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bc3565b6000610c5b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119dc565b6001600160a01b0383166114a85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bc3565b6001600160a01b0382166115095760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bc3565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166115d05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bc3565b6001600160a01b0383166116325760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bc3565b601d54600160a01b900460ff16156116565761164f848484611a0a565b9050610c5b565b6001600160a01b03841660009081526009602052604090205460ff1615801561169857506001600160a01b03831660009081526009602052604090205460ff16155b156116b2576116a982601954101590565b6116b257600080fd5b30600090815260056020526040902054601b54811080159081906116e05750601d54600160a01b900460ff16155b801561170557506001600160a01b0386166000908152600a602052604090205460ff16155b801561171a5750601d54600160a81b900460ff165b1561174057601d54600160b01b900460ff161561173757601b5491505b61174082611af0565b61174a8686611c2b565b156117bb576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600590915291909120546117a1918690611960565b6001600160a01b0387166000908152600560205260409020555b6001600160a01b03861660009081526007602052604081205460ff16806117fa57506001600160a01b03861660009081526007602052604090205460ff165b15611806575083611861565b6001600160a01b0387166000908152600b602052604090205460ff16156118535760405162461bcd60e51b81526020600482015260016024820152603160f91b6044820152606401610bc3565b61185e878787611c5e565b90505b601d54600160b81b900460ff16801561189357506001600160a01b03861660009081526008602052604090205460ff16155b156118d5576118cc6118c4826118be896001600160a01b031660009081526005602052604090205490565b90611326565b601a54101590565b6118d557600080fd5b6001600160a01b0386166000908152600560205260409020546118f89082611326565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061194c9085815260200190565b60405180910390a360019350505050610c5b565b600081848411156119845760405162461bcd60e51b8152600401610bc39190612279565b50600061199184866124a7565b95945050505050565b6000610c5b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611960565b600081836119fd5760405162461bcd60e51b8152600401610bc39190612279565b5060006119918486612378565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611a5b918490611960565b6001600160a01b038086166000908152600560205260408082209390935590851681522054611a8a9083611326565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ade9086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b179055601754601254600091611b2691600291611b209182908790611385565b90611404565b90506000611b34838361199a565b9050611b3f81611d64565b6012544790600090611b5f90611b56906002611404565b6017549061199a565b90506000611b816002611b2084611b206012548861138590919063ffffffff16565b90506000611b9e83611b206014548761138590919063ffffffff16565b90506000611bb682611bb0878661199a565b9061199a565b90508015611bd957600354611bd99061010090046001600160a01b031682611f00565b8115611bf557600454611bf5906001600160a01b031683611f00565b600083118015611c055750600087115b15611c1457611c148784611f3b565b5050601d805460ff60a01b19169055505050505050565b6003546000906001600160a01b0384811661010090920416141580610c5b5750506001600160a01b039182169116141590565b6001600160a01b0383166000908152600a6020526040812054819060ff1615611ca257611c9b6064611b206015548661138590919063ffffffff16565b9050611ce0565b6001600160a01b0384166000908152600a602052604090205460ff1615611ce057611cdd6064611b206016548661138590919063ffffffff16565b90505b8015611d5a5730600090815260056020526040902054611d009082611326565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d519085815260200190565b60405180910390a35b611991838261199a565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611d9957611d9961252a565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611ded57600080fd5b505afa158015611e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e259190612035565b81600181518110611e3857611e3861252a565b6001600160a01b039283166020918202929092010152601c54611e5e9130911684611446565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e97908590600090869030904290600401612324565b600060405180830381600087803b158015611eb157600080fd5b505af1925050508015611ec2575060015b507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611ef4929190612303565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611f36573d6000803e3d6000fd5b505050565b601c54611f539030906001600160a01b031684611446565b601c5460035460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b03610100909204821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b158015611fc357600080fd5b505af193505050508015611ff4575060408051601f3d908101601f19168201909252611ff191810190612207565b60015b611ffc575050565b5050505050565b8035801515811461201357600080fd5b919050565b60006020828403121561202a57600080fd5b8135610c5b81612540565b60006020828403121561204757600080fd5b8151610c5b81612540565b6000806040838503121561206557600080fd5b823561207081612540565b9150602083013561208081612540565b809150509250929050565b6000806000606084860312156120a057600080fd5b83356120ab81612540565b925060208401356120bb81612540565b929592945050506040919091013590565b600080604083850312156120df57600080fd5b82356120ea81612540565b91506120f860208401612003565b90509250929050565b6000806040838503121561211457600080fd5b823561211f81612540565b946020939093013593505050565b60008060006040848603121561214257600080fd5b833567ffffffffffffffff8082111561215a57600080fd5b818601915086601f83011261216e57600080fd5b81358181111561217d57600080fd5b8760208260051b850101111561219257600080fd5b6020928301955093506121a89186019050612003565b90509250925092565b6000602082840312156121c357600080fd5b610c5b82612003565b6000602082840312156121de57600080fd5b5035919050565b600080604083850312156121f857600080fd5b50508035926020909101359150565b60008060006060848603121561221c57600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b8381101561226e5781516001600160a01b031687529582019590820190600101612249565b509495945050505050565b600060208083528351808285015260005b818110156122a65785810183015185820160400152820161228a565b818111156122b8576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b82815260406020820152600061231c6040830184612235565b949350505050565b85815284602082015260a06040820152600061234360a0830186612235565b6001600160a01b0394909416606083015250608001529392505050565b6000821982111561237357612373612514565b500190565b60008261239557634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156123d55781600019048211156123bb576123bb612514565b808516156123c857918102915b93841c939080029061239f565b509250929050565b6000610c5b60ff8416836000826123f657506001610b93565b8161240357506000610b93565b816001811461241957600281146124235761243f565b6001915050610b93565b60ff84111561243457612434612514565b50506001821b610b93565b5060208310610133831016604e8410600b8410161715612462575081810a610b93565b61246c838361239a565b806000190482111561248057612480612514565b029392505050565b60008160001904831182151516156124a2576124a2612514565b500290565b6000828210156124b9576124b9612514565b500390565b600181811c908216806124d257607f821691505b602082108114156124f357634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561250d5761250d612514565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461255557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220627c9e11d44a51b88d56b5eab6a7994cd5f6c52634b26fa98036d1601bbf2fa664736f6c63430008070033

Deployed Bytecode Sourcemap

18802:447:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4499:40;;;;;;;;;;-1:-1:-1;4499:40:0;;;;-1:-1:-1;;;;;4499:40:0;;;;;;-1:-1:-1;;;;;4439:32:1;;;4421:51;;4409:2;4394:18;4499:40:0;;;;;;;;4992:35;;;;;;;;;;-1:-1:-1;4992:35:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5492:14:1;;5485:22;5467:41;;5455:2;5440:18;4992:35:0;5327:187:1;8692:83:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;9986:161::-;;;;;;;;;;-1:-1:-1;9986:161:0;;;;;:::i;:::-;;:::i;5667:41::-;;;;;;;;;;-1:-1:-1;5667:41:0;;;;-1:-1:-1;;;;;5667:41:0;;;8969:100;;;;;;;;;;-1:-1:-1;9049:12:0;;8969:100;;;9974:25:1;;;9962:2;9947:18;8969:100:0;9828:177:1;10637:127:0;;;;;;;;;;-1:-1:-1;10637:127:0;;;;;:::i;:::-;;:::i;:::-;;13176:313;;;;;;;;;;-1:-1:-1;13176:313:0;;;;;:::i;:::-;;:::i;4546:81::-;;;;;;;;;;;;;;;12465:128;;;;;;;;;;;;;:::i;12012:129::-;;;;;;;;;;-1:-1:-1;12012:129:0;;;;;:::i;:::-;;:::i;8878:83::-;;;;;;;;;;-1:-1:-1;8944:9:0;;8878:83;;8944:9;;;;11076:36:1;;11064:2;11049:18;8878:83:0;10934:184:1;9355:218:0;;;;;;;;;;-1:-1:-1;9355:218:0;;;;;:::i;:::-;;:::i;4447:45::-;;;;;;;;;;-1:-1:-1;4447:45:0;;;;;;;-1:-1:-1;;;;;4447:45:0;;;11733:124;;;;;;;;;;-1:-1:-1;11733:124:0;;;;;:::i;:::-;;:::i;12328:125::-;;;;;;;;;;-1:-1:-1;12328:125:0;;;;;:::i;:::-;;:::i;4940:45::-;;;;;;;;;;-1:-1:-1;4940:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5881:36;;;;;;;;;;-1:-1:-1;5881:36:0;;;;-1:-1:-1;;;5881:36:0;;;;;;5782:40;;;;;;;;;;-1:-1:-1;5782:40:0;;;;-1:-1:-1;;;5782:40:0;;;;;;11865:139;;;;;;;;;;-1:-1:-1;11865:139:0;;;;;:::i;:::-;;:::i;4769:50::-;;;;;;;;;;-1:-1:-1;4769:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10919:259;;;;;;;;;;-1:-1:-1;10919:259:0;;;;;:::i;:::-;;:::i;5271:30::-;;;;;;;;;;;;;;;;5308;;;;;;;;;;;;;;;;11326:113;;;;;;;;;;-1:-1:-1;11326:113:0;;;;;:::i;:::-;;:::i;5541:29::-;;;;;;;;;;;;;;;;11447:135;;;;;;;;;;-1:-1:-1;11447:135:0;;;;;:::i;:::-;;:::i;9077:119::-;;;;;;;;;;-1:-1:-1;9077:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9170:18:0;9143:7;9170:18;;;:9;:18;;;;;;;9077:119;5418:33;;;;;;;;;;;;;;;;10500:129;;;;;;;;;;-1:-1:-1;10500:129:0;;;;;:::i;:::-;;:::i;5157:32::-;;;;;;;;;;;;;;;;4885:48;;;;;;;;;;-1:-1:-1;4885:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2799:79;;;;;;;;;;-1:-1:-1;2837:7:0;2864:6;-1:-1:-1;;;;;2864:6:0;2799:79;;3024:155;;;;;;;;;;;;;:::i;8783:87::-;;;;;;;;;;;;;:::i;11590:135::-;;;;;;;;;;-1:-1:-1;11590:135:0;;;;;:::i;:::-;;:::i;5578:33::-;;;;;;;;;;;;;;;;9858:120;;;;;;;;;;-1:-1:-1;9947:23:0;;9858:120;;5458:39;;;;;;;;;;;;;;;;9581:269;;;;;;;;;;-1:-1:-1;9581:269:0;;;;;:::i;:::-;;:::i;5345:25::-;;;;;;;;;;;;;;;;13001:167;;;;;;;;;;-1:-1:-1;13001:167:0;;;;;:::i;:::-;;:::i;15443:86::-;;;;;;;;;;-1:-1:-1;15443:86:0;;;;;:::i;:::-;-1:-1:-1;15522:4:0;;15443:86;5112:26;;;;;;;;;;;;;;;;12149:171;;;;;;;;;;-1:-1:-1;12149:171:0;;;;;:::i;:::-;;:::i;5074:31::-;;;;;;;;;;;;;;;;5715:26;;;;;;;;;;-1:-1:-1;5715:26:0;;;;-1:-1:-1;;;;;5715:26:0;;;5196:32;;;;;;;;;;;;;;;;4826:52;;;;;;;;;;-1:-1:-1;4826:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5235:27;;;;;;;;;;;;;;;;11190:128;;;;;;;;;;-1:-1:-1;11190:128:0;;;;;:::i;:::-;;:::i;5829:45::-;;;;;;;;;;-1:-1:-1;5829:45:0;;;;-1:-1:-1;;;5829:45:0;;;;;;5036:31;;;;;;;;;;;;;;;;9204:143;;;;;;;;;;-1:-1:-1;9204:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9312:18:0;;;9285:7;9312:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9204:143;10776:135;;;;;;;;;;-1:-1:-1;10776:135:0;;;;;:::i;:::-;;:::i;5379:32::-;;;;;;;;;;;;;;;;3187:244;;;;;;;;;;-1:-1:-1;3187:244:0;;;;;:::i;:::-;;:::i;13497:76::-;;;;;;;;;;-1:-1:-1;13497:76:0;;;;;:::i;:::-;;:::i;8692:83::-;8729:13;8762:5;8755:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8692:83;:::o;9986:161::-;10061:4;10078:39;189:10;10101:7;10110:6;10078:8;:39::i;:::-;-1:-1:-1;10135:4:0;9986:161;;;;;:::o;10637:127::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;10724:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;10724:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10637:127::o;13176:313::-;13274:4;13291:36;13301:6;13309:9;13320:6;13291:9;:36::i;:::-;-1:-1:-1;13338:121:0;13347:6;189:10;13369:89;13407:6;13369:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13369:19:0;;;;;;:11;:19;;;;;;;;189:10;13369:33;;;;;;;;;;:37;:89::i;:::-;13338:8;:121::i;:::-;-1:-1:-1;13477:4:0;13176:313;;;;;;:::o;12465:128::-;12572:11;-1:-1:-1;;;;;9170:18:0;12518:7;9170:18;;;:9;:18;;;;;;12545:12;;:40;;:16;:40::i;:::-;12538:47;;12465:128;:::o;12012:129::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;12094:17:::1;:39:::0;;-1:-1:-1;;;;;;12094:39:0::1;-1:-1:-1::0;;;;;12094:39:0;;;::::1;::::0;;;::::1;::::0;;12012:129::o;9355:218::-;189:10;9443:4;9492:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9492:34:0;;;;;;;;;;9443:4;;9460:83;;9483:7;;9492:50;;9531:10;9492:38;:50::i;11733:124::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;11815:23:::1;:34:::0;11733:124::o;12328:125::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;12409:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;12409:36:0::1;-1:-1:-1::0;;;;12409:36:0;;::::1;::::0;;;::::1;::::0;;12328:125::o;11865:139::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;11952:22:::1;:44:::0;;-1:-1:-1;;;;;11952:44:0;;::::1;;;-1:-1:-1::0;;;;;;11952:44:0;;::::1;::::0;;;::::1;::::0;;11865:139::o;10919:259::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;11046:3:::1;11027:22:::0;::::1;11019:31;;;::::0;::::1;;11066:9;11061:110;11077:20:::0;;::::1;11061:110;;;11153:6;11119:17;:31;11137:9;;11147:1;11137:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11119:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11119:31:0;:40;;-1:-1:-1;;11119:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11099:3:::1;::::0;::::1;:::i;:::-;;;11061:110;;;;10919:259:::0;;;:::o;11326:113::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;11403:17:::1;:28:::0;;;::::1;;-1:-1:-1::0;;;11403:28:0::1;-1:-1:-1::0;;;;11403:28:0;;::::1;::::0;;;::::1;::::0;;11326:113::o;11447:135::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11538:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;11538:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11447:135::o;10500:129::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10589:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;10589:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10500:129::o;3024:155::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;3112:6:::1;::::0;;3091:45:::1;::::0;3128:6:::1;::::0;-1:-1:-1;;;;;3112:6:0;;::::1;::::0;3091:45:::1;::::0;::::1;3147:6;:24:::0;;-1:-1:-1;;;;;;3147:24:0::1;3164:6;3147:24;::::0;;3024:155::o;8783:87::-;8822:13;8855:7;8848:14;;;;;:::i;11590:135::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;8944:9;;;;11701:16:::1;::::0;:2:::1;:16;:::i;:::-;11690:27;::::0;:8;:27:::1;:::i;:::-;11668:18;:49:::0;-1:-1:-1;11590:135:0:o;9581:269::-;9674:4;9691:129;189:10;9714:7;9723:96;9762:15;9723:96;;;;;;;;;;;;;;;;;189:10;9723:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9723:34:0;;;;;;;;;;;;:38;:96::i;13001:167::-;13079:4;13096:42;189:10;13120:9;13131:6;13096:9;:42::i;12149:171::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;12226:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;12226:32:0::1;-1:-1:-1::0;;;;12226:32:0;;::::1;;::::0;;12274:38:::1;::::0;::::1;::::0;::::1;::::0;12250:8;5492:14:1;5485:22;5467:41;;5455:2;5440:18;;5327:187;12274:38:0::1;;;;;;;;12149:171:::0;:::o;11190:128::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;8944:9;;;;11294:16:::1;::::0;:2:::1;:16;:::i;:::-;11283:27;::::0;:8;:27:::1;:::i;:::-;11266:14;:44:::0;-1:-1:-1;11190:128:0:o;10776:135::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10866:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;10866:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10776:135::o;3187:244::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3276:22:0;::::1;3268:73;;;::::0;-1:-1:-1;;;3268:73:0;;6961:2:1;3268:73:0::1;::::0;::::1;6943:21:1::0;7000:2;6980:18;;;6973:30;7039:34;7019:18;;;7012:62;-1:-1:-1;;;7090:18:1;;;7083:36;7136:19;;3268:73:0::1;6759:402:1::0;3268:73:0::1;3378:6;::::0;;3357:38:::1;::::0;-1:-1:-1;;;;;3357:38:0;;::::1;::::0;3378:6;::::1;::::0;3357:38:::1;::::0;::::1;3406:6;:17:::0;;-1:-1:-1;;;;;;3406:17:0::1;-1:-1:-1::0;;;;;3406:17:0;;;::::1;::::0;;;::::1;::::0;;3187:244::o;13497:76::-;2933:6;;-1:-1:-1;;;;;2933:6:0;189:10;2933:22;2925:67;;;;-1:-1:-1;;;2925:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13556:5:0;;;::::1;;::::0;;;:2:::1;:5;::::0;;;;:9;;-1:-1:-1;;13556:9:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13497:76::o;1042:181::-;1100:7;;1132:5;1136:1;1132;:5;:::i;:::-;1120:17;;1161:1;1156;:6;;1148:46;;;;-1:-1:-1;;;1148:46:0;;7771:2:1;1148:46:0;;;7753:21:1;7810:2;7790:18;;;7783:30;7849:29;7829:18;;;7822:57;7896:18;;1148:46:0;7569:351:1;1575:250:0;1633:7;1657:6;1653:47;;-1:-1:-1;1687:1:0;1680:8;;1653:47;1712:9;1724:5;1728:1;1724;:5;:::i;:::-;1712:17;-1:-1:-1;1757:1:0;1748:5;1752:1;1712:17;1748:5;:::i;:::-;:10;1740:56;;;;-1:-1:-1;;;1740:56:0;;8127:2:1;1740:56:0;;;8109:21:1;8166:2;8146:18;;;8139:30;8205:34;8185:18;;;8178:62;-1:-1:-1;;;8256:18:1;;;8249:31;8297:19;;1740:56:0;7925:397:1;1833:132:0;1891:7;1918:39;1922:1;1925;1918:39;;;;;;;;;;;;;;;;;:3;:39::i;10155:337::-;-1:-1:-1;;;;;10248:19:0;;10240:68;;;;-1:-1:-1;;;10240:68:0;;9625:2:1;10240:68:0;;;9607:21:1;9664:2;9644:18;;;9637:30;9703:34;9683:18;;;9676:62;-1:-1:-1;;;9754:18:1;;;9747:34;9798:19;;10240:68:0;9423:400:1;10240:68:0;-1:-1:-1;;;;;10327:21:0;;10319:68;;;;-1:-1:-1;;;10319:68:0;;7368:2:1;10319:68:0;;;7350:21:1;7407:2;7387:18;;;7380:30;7446:34;7426:18;;;7419:62;-1:-1:-1;;;7497:18:1;;;7490:32;7539:19;;10319:68:0;7166:398:1;10319:68:0;-1:-1:-1;;;;;10400:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10452:32;;9974:25:1;;;10452:32:0;;9947:18:1;10452:32:0;;;;;;;10155:337;;;:::o;13581:1854::-;13668:4;-1:-1:-1;;;;;13695:20:0;;13687:70;;;;-1:-1:-1;;;13687:70:0;;9219:2:1;13687:70:0;;;9201:21:1;9258:2;9238:18;;;9231:30;9297:34;9277:18;;;9270:62;-1:-1:-1;;;9348:18:1;;;9341:35;9393:19;;13687:70:0;9017:401:1;13687:70:0;-1:-1:-1;;;;;13776:23:0;;13768:71;;;;-1:-1:-1;;;13768:71:0;;6557:2:1;13768:71:0;;;6539:21:1;6596:2;6576:18;;;6569:30;6635:34;6615:18;;;6608:62;-1:-1:-1;;;6686:18:1;;;6679:33;6729:19;;13768:71:0;6355:399:1;13768:71:0;13855:16;;-1:-1:-1;;;13855:16:0;;;;13852:1576;;;13905:41;13920:6;13928:9;13939:6;13905:14;:41::i;:::-;13898:48;;;;13852:1576;-1:-1:-1;;;;;14002:23:0;;;;;;:15;:23;;;;;;;;14001:24;:55;;;;-1:-1:-1;;;;;;14030:26:0;;;;;;:15;:26;;;;;;;;14029:27;14001:55;13998:140;;;14085:36;14098:6;14106:14;;-1:-1:-1;15522:4:0;;15443:86;14085:36;14077:45;;;;;;14215:4;14166:28;9170:18;;;:9;:18;;;;;;14291:23;;14267:47;;;;;;;14347:44;;-1:-1:-1;14375:16:0;;-1:-1:-1;;;14375:16:0;;;;14374:17;14347:44;:69;;;;-1:-1:-1;;;;;;14396:20:0;;;;;;:12;:20;;;;;;;;14395:21;14347:69;:94;;;;-1:-1:-1;14420:21:0;;-1:-1:-1;;;14420:21:0;;;;14347:94;14343:305;;;14479:25;;-1:-1:-1;;;14479:25:0;;;;14476:97;;;14550:23;;14527:46;;14476:97;14592:36;14607:20;14592:14;:36::i;:::-;14651:27;14661:6;14668:9;14651;:27::i;:::-;14648:120;;;14715:53;;;;;;;;;;;-1:-1:-1;;;14715:53:0;;;;;;;;-1:-1:-1;;;;;14715:17:0;;-1:-1:-1;14715:17:0;;;:9;:17;;;;;;;;:53;;14737:6;;14715:21;:53::i;:::-;-1:-1:-1;;;;;14695:17:0;;;;;;:9;:17;;;;;:73;14648:120;-1:-1:-1;;;;;14821:25:0;;14783:19;14821:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;14850:28:0;;;;;;:17;:28;;;;;;;;14821:57;14817:250;;;-1:-1:-1;14913:6:0;14817:250;;;-1:-1:-1;;;;;14969:10:0;;;;;;:2;:10;;;;;;;;14968:11;14960:24;;;;-1:-1:-1;;;14960:24:0;;8890:2:1;14960:24:0;;;8872:21:1;8929:1;8909:18;;;8902:29;-1:-1:-1;;;8947:18:1;;;8940:31;8988:18;;14960:24:0;8688:324:1;14960:24:0;15017:34;15025:6;15033:9;15044:6;15017:7;:34::i;:::-;15003:48;;14817:250;15086:17;;-1:-1:-1;;;15086:17:0;;;;:52;;;;-1:-1:-1;;;;;;15108:30:0;;;;;;:19;:30;;;;;;;;15107:31;15086:52;15083:154;;;15165:71;15178:37;15203:11;15178:20;15188:9;-1:-1:-1;;;;;9170:18:0;9143:7;9170:18;;;:9;:18;;;;;;;9077:119;15178:20;:24;;:37::i;:::-;15217:18;;-1:-1:-1;15522:4:0;;15443:86;15165:71;15157:80;;;;;;-1:-1:-1;;;;;15277:20:0;;;;;;:9;:20;;;;;;:37;;15302:11;15277:24;:37::i;:::-;-1:-1:-1;;;;;15254:20:0;;;;;;;:9;:20;;;;;;;:60;;;;15336:40;;;;;;;;;;15364:11;9974:25:1;;9962:2;9947:18;;9828:177;15336:40:0;;;;;;;;15398:4;15391:11;;;;;;;1375:192;1461:7;1497:12;1489:6;;;;1481:29;;;;-1:-1:-1;;;1481:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1521:9:0;1533:5;1537:1;1533;:5;:::i;:::-;1521:17;1375:192;-1:-1:-1;;;;;1375:192:0:o;1231:136::-;1289:7;1316:43;1320:1;1323;1316:43;;;;;;;;;;;;;;;;;:3;:43::i;1973:189::-;2059:7;2094:12;2087:5;2079:28;;;;-1:-1:-1;;;2079:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2118:9:0;2130:5;2134:1;2130;:5;:::i;15537:330::-;15667:53;;;;;;;;;;;-1:-1:-1;;;15667:53:0;;;;;;;;-1:-1:-1;;;;;15667:17:0;;15630:4;15667:17;;;:9;:17;;;;;;;:53;;15689:6;;15667:21;:53::i;:::-;-1:-1:-1;;;;;15647:17:0;;;;;;;:9;:17;;;;;;:73;;;;15754:20;;;;;;;:32;;15779:6;15754:24;:32::i;:::-;-1:-1:-1;;;;;15731:20:0;;;;;;;:9;:20;;;;;;;:55;;;;15802:35;;;;;;;;;;15830:6;9974:25:1;;9962:2;9947:18;;9828:177;15802:35:0;;;;;;;;-1:-1:-1;15855:4:0;15537:330;;;;;:::o;15875:1048::-;6340:16;:23;;-1:-1:-1;;;;6340:23:0;-1:-1:-1;;;6340:23:0;;;16012:24:::1;::::0;15991:15:::1;::::0;6340:23;;15979:65:::1;::::0;16042:1:::1;::::0;15979:58:::1;::::0;;;:7;;:11:::1;:28::i;:::-;:32:::0;::::1;:58::i;:65::-;15957:87:::0;-1:-1:-1;16055:21:0::1;16079:24;:7:::0;15957:87;16079:11:::1;:24::i;:::-;16055:48;;16116:31;16133:13;16116:16;:31::i;:::-;16268:15;::::0;16183:21:::1;::::0;16158:22:::1;::::0;16239:52:::1;::::0;16268:22:::1;::::0;16288:1:::1;16268:19;:22::i;:::-;16239:24;::::0;;:28:::1;:52::i;:::-;16217:74;;16312:26;16341:59;16398:1;16341:52;16381:11;16341:35;16360:15;;16341:14;:18;;:35;;;;:::i;:59::-;16312:88;;16411:21;16435:47;16470:11;16435:30;16454:10;;16435:14;:18;;:30;;;;:::i;:47::-;16411:71:::0;-1:-1:-1;16493:26:0::1;16522:57;16411:71:::0;16522:38:::1;:14:::0;16541:18;16522::::1;:38::i;:::-;:42:::0;::::1;:57::i;:::-;16493:86:::0;-1:-1:-1;16595:22:0;;16592:104:::1;;16653:22;::::0;16632:64:::1;::::0;16653:22:::1;::::0;::::1;-1:-1:-1::0;;;;;16653:22:0::1;16677:18:::0;16632:20:::1;:64::i;:::-;16712:17:::0;;16709:89:::1;;16765:17;::::0;16744:54:::1;::::0;-1:-1:-1;;;;;16765:17:0::1;16784:13:::0;16744:20:::1;:54::i;:::-;16835:1;16814:18;:22;:41;;;;;16854:1;16840:11;:15;16814:41;16811:104;;;16870:45;16883:11;16896:18;16870:12;:45::i;:::-;-1:-1:-1::0;;6386:16:0;:24;;-1:-1:-1;;;;6386:24:0;;;-1:-1:-1;;;;;;15875:1048:0:o;12829:164::-;12937:22;;12902:4;;-1:-1:-1;;;;;12927:32:0;;;12937:22;;;;;12927:32;;;12925:60;;-1:-1:-1;;;;;;;12966:18:0;;;;;;;;12829:164::o;18173:622::-;-1:-1:-1;;;;;18334:20:0;;18259:7;18334:20;;;:12;:20;;;;;;18259:7;;18334:20;;18331:223;;;18383:38;18417:3;18383:29;18394:17;;18383:6;:10;;:29;;;;:::i;:38::-;18371:50;;18331:223;;;-1:-1:-1;;;;;18451:23:0;;;;;;:12;:23;;;;;;;;18448:106;;;18503:39;18538:3;18503:30;18514:18;;18503:6;:10;;:30;;;;:::i;:39::-;18491:51;;18448:106;18577:13;;18574:173;;18652:4;18634:24;;;;:9;:24;;;;;;:39;;18663:9;18634:28;:39::i;:::-;18625:4;18607:24;;;;:9;:24;;;;;;;:66;;;;18693:42;;-1:-1:-1;;;;;18693:42:0;;;;;;;18725:9;9974:25:1;;9962:2;9947:18;;9828:177;18693:42:0;;;;;;;;18574:173;18766:21;:6;18777:9;18766:10;:21::i;16933:681::-;17083:16;;;17097:1;17083:16;;;;;;;;17059:21;;17083:16;;;;;;;;;;-1:-1:-1;17083:16:0;17059:40;;17128:4;17110;17115:1;17110:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17110:23:0;;;:7;;;;;;;;;;:23;;;;17154:15;;:22;;;-1:-1:-1;;;17154:22:0;;;;:15;;;;;:20;;:22;;;;;17110:7;;17154:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17144:4;17149:1;17144:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17144:32:0;;;:7;;;;;;;;;:32;17221:15;;17189:62;;17206:4;;17221:15;17239:11;17189:8;:62::i;:::-;17294:15;;:240;;-1:-1:-1;;;17294:240:0;;-1:-1:-1;;;;;17294:15:0;;;;:66;;:240;;17375:11;;17294:15;;17445:4;;17472;;17508:15;;17294:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17290:256;17571:35;17588:11;17601:4;17571:35;;;;;;;:::i;:::-;;;;;;;;16988:626;16933:681;:::o;12601:126::-;12693:26;;-1:-1:-1;;;;;12693:18:0;;;:26;;;;;12712:6;;12693:26;;;;12712:6;12693:18;:26;;;;;;;;;;;;;;;;;;;;;12601:126;;:::o;17622:543::-;17802:15;;17770:62;;17787:4;;-1:-1:-1;;;;;17802:15:0;17820:11;17770:8;:62::i;:::-;17879:15;;18083:22;;17879:267;;-1:-1:-1;;;17879:267:0;;17951:4;17879:267;;;5056:34:1;5106:18;;;5099:34;;;-1:-1:-1;5149:18:1;;;5142:34;;;5192:18;;;5185:34;-1:-1:-1;;;;;17879:15:0;18083:22;;;;;5235:19:1;;;5228:44;18120:15:0;5288:19:1;;;5281:35;17879:15:0;;;:31;;17918:9;;4990:19:1;;17879:267:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17879:267:0;;;;;;;;-1:-1:-1;;17879:267:0;;;;;;;;;;;;:::i;:::-;;;17875:283;;17622:543;;:::o;17875:283::-;;;;17622:543;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:52;;;570:1;567;560:12;522:52;602:9;596:16;621:31;646:5;621:31;:::i;687:388::-;755:6;763;816:2;804:9;795:7;791:23;787:32;784:52;;;832:1;829;822:12;784:52;871:9;858:23;890:31;915:5;890:31;:::i;:::-;940:5;-1:-1:-1;997:2:1;982:18;;969:32;1010:33;969:32;1010:33;:::i;:::-;1062:7;1052:17;;;687:388;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:52;;;1242:1;1239;1232:12;1194:52;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;:::-;1350:5;-1:-1:-1;1407:2:1;1392:18;;1379:32;1420:33;1379:32;1420:33;:::i;:::-;1080:456;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1080:456::o;1541:315::-;1606:6;1614;1667:2;1655:9;1646:7;1642:23;1638:32;1635:52;;;1683:1;1680;1673:12;1635:52;1722:9;1709:23;1741:31;1766:5;1741:31;:::i;:::-;1791:5;-1:-1:-1;1815:35:1;1846:2;1831:18;;1815:35;:::i;:::-;1805:45;;1541:315;;;;;:::o;1861:::-;1929:6;1937;1990:2;1978:9;1969:7;1965:23;1961:32;1958:52;;;2006:1;2003;1996:12;1958:52;2045:9;2032:23;2064:31;2089:5;2064:31;:::i;:::-;2114:5;2166:2;2151:18;;;;2138:32;;-1:-1:-1;;;1861:315:1:o;2181:689::-;2273:6;2281;2289;2342:2;2330:9;2321:7;2317:23;2313:32;2310:52;;;2358:1;2355;2348:12;2310:52;2398:9;2385:23;2427:18;2468:2;2460:6;2457:14;2454:34;;;2484:1;2481;2474:12;2454:34;2522:6;2511:9;2507:22;2497:32;;2567:7;2560:4;2556:2;2552:13;2548:27;2538:55;;2589:1;2586;2579:12;2538:55;2629:2;2616:16;2655:2;2647:6;2644:14;2641:34;;;2671:1;2668;2661:12;2641:34;2726:7;2719:4;2709:6;2706:1;2702:14;2698:2;2694:23;2690:34;2687:47;2684:67;;;2747:1;2744;2737:12;2684:67;2778:4;2770:13;;;;-1:-1:-1;2802:6:1;-1:-1:-1;2827:37:1;;2843:20;;;-1:-1:-1;2827:37:1;:::i;:::-;2817:47;;2181:689;;;;;:::o;2875:180::-;2931:6;2984:2;2972:9;2963:7;2959:23;2955:32;2952:52;;;3000:1;2997;2990:12;2952:52;3023:26;3039:9;3023:26;:::i;3060:180::-;3119:6;3172:2;3160:9;3151:7;3147:23;3143:32;3140:52;;;3188:1;3185;3178:12;3140:52;-1:-1:-1;3211:23:1;;3060:180;-1:-1:-1;3060:180:1:o;3245:248::-;3313:6;3321;3374:2;3362:9;3353:7;3349:23;3345:32;3342:52;;;3390:1;3387;3380:12;3342:52;-1:-1:-1;;3413:23:1;;;3483:2;3468:18;;;3455:32;;-1:-1:-1;3245:248:1:o;3498:306::-;3586:6;3594;3602;3655:2;3643:9;3634:7;3630:23;3626:32;3623:52;;;3671:1;3668;3661:12;3623:52;3700:9;3694:16;3684:26;;3750:2;3739:9;3735:18;3729:25;3719:35;;3794:2;3783:9;3779:18;3773:25;3763:35;;3498:306;;;;;:::o;3809:461::-;3862:3;3900:5;3894:12;3927:6;3922:3;3915:19;3953:4;3982:2;3977:3;3973:12;3966:19;;4019:2;4012:5;4008:14;4040:1;4050:195;4064:6;4061:1;4058:13;4050:195;;;4129:13;;-1:-1:-1;;;;;4125:39:1;4113:52;;4185:12;;;;4220:15;;;;4161:1;4079:9;4050:195;;;-1:-1:-1;4261:3:1;;3809:461;-1:-1:-1;;;;;3809:461:1:o;5753:597::-;5865:4;5894:2;5923;5912:9;5905:21;5955:6;5949:13;5998:6;5993:2;5982:9;5978:18;5971:34;6023:1;6033:140;6047:6;6044:1;6041:13;6033:140;;;6142:14;;;6138:23;;6132:30;6108:17;;;6127:2;6104:26;6097:66;6062:10;;6033:140;;;6191:6;6188:1;6185:13;6182:91;;;6261:1;6256:2;6247:6;6236:9;6232:22;6228:31;6221:42;6182:91;-1:-1:-1;6334:2:1;6313:15;-1:-1:-1;;6309:29:1;6294:45;;;;6341:2;6290:54;;5753:597;-1:-1:-1;;;5753:597:1:o;8327:356::-;8529:2;8511:21;;;8548:18;;;8541:30;8607:34;8602:2;8587:18;;8580:62;8674:2;8659:18;;8327:356::o;10010:332::-;10217:6;10206:9;10199:25;10260:2;10255;10244:9;10240:18;10233:30;10180:4;10280:56;10332:2;10321:9;10317:18;10309:6;10280:56;:::i;:::-;10272:64;10010:332;-1:-1:-1;;;;10010:332:1:o;10347:582::-;10646:6;10635:9;10628:25;10689:6;10684:2;10673:9;10669:18;10662:34;10732:3;10727:2;10716:9;10712:18;10705:31;10609:4;10753:57;10805:3;10794:9;10790:19;10782:6;10753:57;:::i;:::-;-1:-1:-1;;;;;10846:32:1;;;;10841:2;10826:18;;10819:60;-1:-1:-1;10910:3:1;10895:19;10888:35;10745:65;10347:582;-1:-1:-1;;;10347:582:1:o;11123:128::-;11163:3;11194:1;11190:6;11187:1;11184:13;11181:39;;;11200:18;;:::i;:::-;-1:-1:-1;11236:9:1;;11123:128::o;11256:217::-;11296:1;11322;11312:132;;11366:10;11361:3;11357:20;11354:1;11347:31;11401:4;11398:1;11391:15;11429:4;11426:1;11419:15;11312:132;-1:-1:-1;11458:9:1;;11256:217::o;11478:422::-;11567:1;11610:5;11567:1;11624:270;11645:7;11635:8;11632:21;11624:270;;;11704:4;11700:1;11696:6;11692:17;11686:4;11683:27;11680:53;;;11713:18;;:::i;:::-;11763:7;11753:8;11749:22;11746:55;;;11783:16;;;;11746:55;11862:22;;;;11822:15;;;;11624:270;;;11628:3;11478:422;;;;;:::o;11905:140::-;11963:5;11992:47;12033:4;12023:8;12019:19;12013:4;12099:5;12129:8;12119:80;;-1:-1:-1;12170:1:1;12184:5;;12119:80;12218:4;12208:76;;-1:-1:-1;12255:1:1;12269:5;;12208:76;12300:4;12318:1;12313:59;;;;12386:1;12381:130;;;;12293:218;;12313:59;12343:1;12334:10;;12357:5;;;12381:130;12418:3;12408:8;12405:17;12402:43;;;12425:18;;:::i;:::-;-1:-1:-1;;12481:1:1;12467:16;;12496:5;;12293:218;;12595:2;12585:8;12582:16;12576:3;12570:4;12567:13;12563:36;12557:2;12547:8;12544:16;12539:2;12533:4;12530:12;12526:35;12523:77;12520:159;;;-1:-1:-1;12632:19:1;;;12664:5;;12520:159;12711:34;12736:8;12730:4;12711:34;:::i;:::-;12781:6;12777:1;12773:6;12769:19;12760:7;12757:32;12754:58;;;12792:18;;:::i;:::-;12830:20;;12050:806;-1:-1:-1;;;12050:806:1:o;12861:168::-;12901:7;12967:1;12963;12959:6;12955:14;12952:1;12949:21;12944:1;12937:9;12930:17;12926:45;12923:71;;;12974:18;;:::i;:::-;-1:-1:-1;13014:9:1;;12861:168::o;13034:125::-;13074:4;13102:1;13099;13096:8;13093:34;;;13107:18;;:::i;:::-;-1:-1:-1;13144:9:1;;13034:125::o;13164:380::-;13243:1;13239:12;;;;13286;;;13307:61;;13361:4;13353:6;13349:17;13339:27;;13307:61;13414:2;13406:6;13403:14;13383:18;13380:38;13377:161;;;13460:10;13455:3;13451:20;13448:1;13441:31;13495:4;13492:1;13485:15;13523:4;13520:1;13513:15;13377:161;;13164:380;;;:::o;13549:135::-;13588:3;-1:-1:-1;;13609:17:1;;13606:43;;;13629:18;;:::i;:::-;-1:-1:-1;13676:1:1;13665:13;;13549:135::o;13689:127::-;13750:10;13745:3;13741:20;13738:1;13731:31;13781:4;13778:1;13771:15;13805:4;13802:1;13795:15;13821:127;13882:10;13877:3;13873:20;13870:1;13863:31;13913:4;13910:1;13903:15;13937:4;13934:1;13927:15;14085:131;-1:-1:-1;;;;;14160:31:1;;14150:42;;14140:70;;14206:1;14203;14196:12;14140:70;14085:131;:::o

Swarm Source

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