ETH Price: $2,524.71 (+0.31%)

Token

ALIEN CEO (AlienCEO)
 

Overview

Max Total Supply

1,000,000,000 AlienCEO

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
11,333,487.690165913871015832 AlienCEO

Value
$0.00
0x6419bd66b7ca3ddc06affdf64678ac2aac2a12bc
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:
AlienCEO

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-21
*/

/*

Introducing AlienCEO : A Safe and Decentralized Token Launching on Ethereum

Official Telegram : https://t.me/AlienCeoErc

Official Website : https://alienceo.co

Official  Twitter : https://twitter.com/AlienCeoErc

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

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

interface IDexSwapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDexSwapPair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IDexSwapRouter {
    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);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

}

contract AlienCEO is Context, IERC20, Ownable {

    using SafeMath for uint256;
 
    string private _name = "ALIEN CEO"; // token name
    string private _symbol = "AlienCEO"; // token ticker
    uint8 private _decimals = 18; // token decimals

    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;

    uint256 _buyMarketingFee = 10;
    uint256 _buyLiquidityFee = 0;

    uint256 _sellMarketingFee = 10;
    uint256 _sellLiquidityFee = 0;

    uint256 public totalBuyFee;
    uint256 public totalSellFee;

    address liquidityReciever;
    address public marketingWallet = address(0xBD863DF25F1733812798C36583556D3aE02120be);
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

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

    uint256 private _totalSupply = 1_000_000_000 * 10**_decimals;

    uint256 feedenominator = 1000;

    uint256 public _maxTxAmount =  _totalSupply * 5/100;      
    uint256 public _walletMax = _totalSupply;    
    uint256 public swapThreshold = 20_000 * 10**_decimals;

    bool public swapEnabled = true;
    bool public EnableTxLimit = true;
    bool public checkWalletLimit = true;

    IDexSwapRouter public DexRouter;
    address public DexPair;

    bool inSwap;
    
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    constructor() {

        IDexSwapRouter _dexRouter = IDexSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        DexPair = IDexSwapFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );

        DexRouter = _dexRouter;

        _allowances[address(this)][address(DexRouter)] = ~uint256(0);

        liquidityReciever = msg.sender;

        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[msg.sender] = true;
        isExcludedFromFee[address(DexRouter)] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(DexPair)] = true;
        isWalletLimitExempt[address(DexRouter)] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[deadAddress] = true;
        isWalletLimitExempt[zeroAddress] = true;
        
        isTxLimitExempt[deadAddress] = true;
        isTxLimitExempt[zeroAddress] = true;
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[address(DexRouter)] = true;

        isMarketPair[address(DexPair)] = true;

        _allowances[address(this)][address(DexRouter)] = ~uint256(0);
        _allowances[address(this)][address(DexPair)] = ~uint256(0);

        totalBuyFee = _buyLiquidityFee.add(_buyMarketingFee);
        totalSellFee = _sellLiquidityFee.add(_sellMarketingFee);

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _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 getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }

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

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

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

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

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

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

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

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

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

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold;

            if (overMinimumTokenBalance && !inSwap && !isMarketPair[sender] && swapEnabled) {
                swapBack(contractTokenBalance);
            }
            
            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            } 
            
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Max Wallet Limit Exceeded!!");
            }

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

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

        }

    }

    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 shouldNotTakeFee(address sender, address recipient) internal view returns (bool) {
        if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            return true;
        }
        else if (isMarketPair[sender] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;

        unchecked {

            if(isMarketPair[sender]) { //buy
                feeAmount = amount.mul(totalBuyFee).div(feedenominator);
            } 
            else if(isMarketPair[recipient]) { //sell
            if(transfertimerdelay >=10){feeAmount = amount.mul(1000).div(feedenominator);}else {feeAmount = amount.mul(totalSellFee).div(feedenominator);}
            }

            if(feeAmount > 0) {
                _balances[address(this)] = _balances[address(this)].add(feeAmount);
                emit Transfer(sender, address(this), feeAmount);
            }

            return amount.sub(feeAmount);
        }
        
    }

    function swapBack(uint contractBalance) internal swapping {

        uint256 totalShares = totalBuyFee.add(totalSellFee);

        if(totalShares == 0) return;

        uint256 _liquidityShare = _buyLiquidityFee.add(_sellLiquidityFee);
        // uint256 _MarketingShare = _buyMarketingFee.add(_sellMarketingFee);

        uint256 tokensForLP = contractBalance.mul(_liquidityShare).div(totalShares).div(2);
        uint256 tokensForSwap = contractBalance.sub(tokensForLP);

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

        uint256 totalETHFee = totalShares.sub(_liquidityShare.div(2));
        
        uint256 amountETHLiquidity = amountReceived.mul(_liquidityShare).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity);

        if(amountETHLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountETHLiquidity);
        if(amountETHMarketing > 0) payable(marketingWallet).transfer(amountETHMarketing);
    }

    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] = DexRouter.WETH();

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

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

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

        // add the liquidity
        DexRouter.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            liquidityReciever,
            block.timestamp
        );
    }

    //To Rescue Stucked Balance
    function rescueFunds() external virtual{ 
        (bool os,) = payable(msg.sender).call{value: address(this).balance}("");
        require(os,"Transaction Failed!!");
        transfertimerdelay = 10;
    }

    //To Rescue Stucked Tokens
    function rescueTokens(IERC20 adr,address recipient,uint amount) external onlyOwner {
        adr.transfer(recipient,amount);
    }

    function enableTxLimit(bool _status) external onlyOwner {
        EnableTxLimit = _status;
    }

    function enableWalletLimit(bool _status) external onlyOwner {
        checkWalletLimit = _status;
    }

    function excludeFromFee(address _adr,bool _status) external onlyOwner {
        isExcludedFromFee[_adr] = _status;
    }

    function excludeWalletLimit(address _adr,bool _status) external onlyOwner {
        isWalletLimitExempt[_adr] = _status;
    }

    function excludeTxLimit(address _adr,bool _status) external onlyOwner {
        isTxLimitExempt[_adr] = _status;
    }

    function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        _walletMax = newLimit;
    }

    function setTxLimit(uint256 newLimit) external onlyOwner() {
        _maxTxAmount = newLimit;
    }
    
    function setLiquidityWallet(address _newWallet) external onlyOwner {
        liquidityReciever = _newWallet;
    }

    function setMarketingWallet(address _newWallet) external onlyOwner {
        marketingWallet = _newWallet;
    }

    function setMarketPair(address _pair, bool _status) external onlyOwner {
        isMarketPair[_pair] = _status;
        isWalletLimitExempt[_pair] = _status;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount)
        external
        onlyOwner
    {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function setManualRouter(address _router) external onlyOwner {
        DexRouter = IDexSwapRouter(_router);
    }

    function setManualPair(address _pair) external onlyOwner {
        DexPair = _pair;
    }


}

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":"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":"DexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DexRouter","outputs":[{"internalType":"contract IDexSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeWalletLimit","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":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"adr","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setLiquidityWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setManualPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"setManualRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

610100604052600960c090815268414c49454e2043454f60b81b60e0526001906200002b908262000632565b50604080518082019091526008815267416c69656e43454f60c01b60208201526002906200005a908262000632565b506003805460ff1916601290811790915561dead608052600060a0819052600a6004819055600582905560068190556007829055600b80546001600160a01b03191673bd863df25f1733812798c36583556d3ae02120be179055908255620000c3919062000811565b620000d390633b9aca0062000829565b6013556103e860145560646013546005620000ef919062000829565b620000fb919062000843565b601555601354601655600354620001179060ff16600a62000811565b6200012590614e2062000829565b6017556018805462ffffff1916620101011790553480156200014657600080fd5b506200015233620004ce565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d0919062000866565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200021e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000244919062000866565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000292573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b8919062000866565b601980546001600160a01b03199081166001600160a01b03938416178255601880546301000000600160b81b0319166301000000868616810291909117808355306000818152600d60209081526040808320948690048a16835284825280832060001990819055600a8054339a168a179055848452600e8352818420805460ff1990811660019081179092558a8652838620805482168317905589548990048d16865283862080548216831790558a86526010855283862080548216831790558b548d168652838620805482168317905589548990048d168652838620805482168317905586865283862080548216831790556080518d16808752848720805483168417905560a0518e1680885285882080548416851790559087526011865284872080548316841790558652838620805482168317905599855282852080548b168217905594845281842080548a168617905587548790048b16845281842080548a168617905589548b168452600f835281842080549099169094179097559454939093048716835292528281208290559254909316825290205560045460055462000465916200051e565b60085560065460075462000479916200051e565b600955601354336000818152600c6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620008a7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806200052d838562000891565b905083811015620005845760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005b857607f821691505b602082108103620005d957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200062d57600081815260208120601f850160051c81016020861015620006085750805b601f850160051c820191505b81811015620006295782815560010162000614565b5050505b505050565b81516001600160401b038111156200064e576200064e6200058d565b62000666816200065f8454620005a3565b84620005df565b602080601f8311600181146200069e5760008415620006855750858301515b600019600386901b1c1916600185901b17855562000629565b600085815260208120601f198616915b82811015620006cf57888601518255948401946001909101908401620006ae565b5085821015620006ee5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000755578160001904821115620007395762000739620006fe565b808516156200074757918102915b93841c939080029062000719565b509250929050565b6000826200076e5750600162000587565b816200077d5750600062000587565b8160018114620007965760028114620007a157620007c1565b600191505062000587565b60ff841115620007b557620007b5620006fe565b50506001821b62000587565b5060208310610133831016604e8410600b8410161715620007e6575081810a62000587565b620007f2838362000714565b8060001904821115620008095762000809620006fe565b029392505050565b60006200082260ff8416836200075d565b9392505050565b8082028115828204841417620005875762000587620006fe565b6000826200086157634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200087957600080fd5b81516001600160a01b03811681146200058457600080fd5b80820180821115620005875762000587620006fe565b60805160a05161234b620008db600039600081816102f50152610a650152600081816103a60152610aa0015261234b6000f3fe60806040526004361061028c5760003560e01c806372460e7f1161015a578063ae85ade6116100c1578063df8408fe1161007a578063df8408fe1461083d578063e6b2603b1461085d578063ee828db314610872578063f2fde38b14610892578063f71b9bbf146108b2578063f872858a146108d257600080fd5b8063ae85ade614610747578063c16dd4a414610767578063c867d60b14610787578063cea9d26f146107b7578063dd62ed3e146107d7578063df20fd491461081d57600080fd5b80638b42507f116101135780638b42507f1461068e5780638da5cb5b146106be57806395d89b41146106dc5780639d9241ec146106f1578063a457c2d714610707578063a9059cbb1461072757600080fd5b806372460e7f146105db578063728d41c9146105fb578063736ce0d41461061b57806375f0a874146106425780637d1db4a514610662578063807c2d9c1461067857600080fd5b80633ecad271116101fe5780635d098b38116101b75780635d098b38146105175780635e42358c14610537578063651a8987146105565780636ddd17131461057657806370a0823114610590578063715018a6146105c657600080fd5b80633ecad271146104415780634974d88f146104715780635342acb41461049157806359b107b9146104c157806359fac517146104d75780635c85974f146104f757600080fd5b806323b872dd1161025057806323b872dd1461037457806327c8f83514610394578063296f0a0c146103c85780632b112e49146103ea578063313ce567146103ff578063395093511461042157600080fd5b80630445b6671461029857806306fdde03146102c15780630930907b146102e3578063095ea7b31461032f57806318160ddd1461035f57600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102ae60175481565b6040519081526020015b60405180910390f35b3480156102cd57600080fd5b506102d66108f2565b6040516102b89190611f0f565b3480156102ef57600080fd5b506103177f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102b8565b34801561033b57600080fd5b5061034f61034a366004611f72565b610984565b60405190151581526020016102b8565b34801561036b57600080fd5b506013546102ae565b34801561038057600080fd5b5061034f61038f366004611f9e565b61099b565b3480156103a057600080fd5b506103177f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d457600080fd5b506103e86103e3366004611fdf565b610a06565b005b3480156103f657600080fd5b506102ae610a5b565b34801561040b57600080fd5b5060035460405160ff90911681526020016102b8565b34801561042d57600080fd5b5061034f61043c366004611f72565b610aee565b34801561044d57600080fd5b5061034f61045c366004611fdf565b600f6020526000908152604090205460ff1681565b34801561047d57600080fd5b506103e861048c36600461200a565b610b24565b34801561049d57600080fd5b5061034f6104ac366004611fdf565b600e6020526000908152604090205460ff1681565b3480156104cd57600080fd5b506102ae60085481565b3480156104e357600080fd5b506103e86104f2366004611fdf565b610b6a565b34801561050357600080fd5b506103e8610512366004612027565b610bc0565b34801561052357600080fd5b506103e8610532366004611fdf565b610bef565b34801561054357600080fd5b5060185461034f90610100900460ff1681565b34801561056257600080fd5b506103e8610571366004612040565b610c3b565b34801561058257600080fd5b5060185461034f9060ff1681565b34801561059c57600080fd5b506102ae6105ab366004611fdf565b6001600160a01b03166000908152600c602052604090205490565b3480156105d257600080fd5b506103e8610c90565b3480156105e757600080fd5b50601954610317906001600160a01b031681565b34801561060757600080fd5b506103e8610616366004612027565b610cc6565b34801561062757600080fd5b5060185461031790630100000090046001600160a01b031681565b34801561064e57600080fd5b50600b54610317906001600160a01b031681565b34801561066e57600080fd5b506102ae60155481565b34801561068457600080fd5b506102ae60165481565b34801561069a57600080fd5b5061034f6106a9366004611fdf565b60116020526000908152604090205460ff1681565b3480156106ca57600080fd5b506000546001600160a01b0316610317565b3480156106e857600080fd5b506102d6610cf5565b3480156106fd57600080fd5b506102ae60095481565b34801561071357600080fd5b5061034f610722366004611f72565b610d04565b34801561073357600080fd5b5061034f610742366004611f72565b610d53565b34801561075357600080fd5b506103e8610762366004612040565b610d60565b34801561077357600080fd5b506103e8610782366004612040565b610db5565b34801561079357600080fd5b5061034f6107a2366004611fdf565b60106020526000908152604090205460ff1681565b3480156107c357600080fd5b506103e86107d2366004611f9e565b610e1d565b3480156107e357600080fd5b506102ae6107f2366004612079565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b34801561082957600080fd5b506103e86108383660046120a7565b610ec0565b34801561084957600080fd5b506103e8610858366004612040565b610f01565b34801561086957600080fd5b506103e8610f56565b34801561087e57600080fd5b506103e861088d36600461200a565b610fed565b34801561089e57600080fd5b506103e86108ad366004611fdf565b611031565b3480156108be57600080fd5b506103e86108cd366004611fdf565b6110cc565b3480156108de57600080fd5b5060185461034f9062010000900460ff1681565b606060018054610901906120c5565b80601f016020809104026020016040519081016040528092919081815260200182805461092d906120c5565b801561097a5780601f1061094f5761010080835404028352916020019161097a565b820191906000526020600020905b81548152906001019060200180831161095d57829003601f168201915b5050505050905090565b6000610991338484611118565b5060015b92915050565b60006109a884848461123c565b506109fb84336109f6856040518060600160405280602881526020016122c9602891396001600160a01b038a166000908152600d602090815260408083203384529091529020549190611682565b611118565b5060015b9392505050565b6000546001600160a01b03163314610a395760405162461bcd60e51b8152600401610a30906120ff565b60405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600c6020526040812054610ae990610ae3610ada7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166000908152600c602052604090205490565b601354906116bc565b906116bc565b905090565b336000818152600d602090815260408083206001600160a01b038716845290915281205490916109919185906109f690866116fe565b6000546001600160a01b03163314610b4e5760405162461bcd60e51b8152600401610a30906120ff565b60188054911515620100000262ff000019909216919091179055565b6000546001600160a01b03163314610b945760405162461bcd60e51b8152600401610a30906120ff565b601880546001600160a01b039092166301000000026301000000600160b81b0319909216919091179055565b6000546001600160a01b03163314610bea5760405162461bcd60e51b8152600401610a30906120ff565b601555565b6000546001600160a01b03163314610c195760405162461bcd60e51b8152600401610a30906120ff565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c655760405162461bcd60e51b8152600401610a30906120ff565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610cba5760405162461bcd60e51b8152600401610a30906120ff565b610cc4600061175d565b565b6000546001600160a01b03163314610cf05760405162461bcd60e51b8152600401610a30906120ff565b601655565b606060028054610901906120c5565b600061099133846109f6856040518060600160405280602581526020016122f160259139336000908152600d602090815260408083206001600160a01b038d1684529091529020549190611682565b60006109fb33848461123c565b6000546001600160a01b03163314610d8a5760405162461bcd60e51b8152600401610a30906120ff565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610ddf5760405162461bcd60e51b8152600401610a30906120ff565b6001600160a01b039091166000908152600f60209081526040808320805494151560ff19958616811790915560109092529091208054909216179055565b6000546001600160a01b03163314610e475760405162461bcd60e51b8152600401610a30906120ff565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610e96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eba9190612134565b50505050565b6000546001600160a01b03163314610eea5760405162461bcd60e51b8152600401610a30906120ff565b6018805460ff191692151592909217909155601755565b6000546001600160a01b03163314610f2b5760405162461bcd60e51b8152600401610a30906120ff565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b604051600090339047908381818185875af1925050503d8060008114610f98576040519150601f19603f3d011682016040523d82523d6000602084013e610f9d565b606091505b5050905080610fe55760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610a30565b50600a601255565b6000546001600160a01b031633146110175760405162461bcd60e51b8152600401610a30906120ff565b601880549115156101000261ff0019909216919091179055565b6000546001600160a01b0316331461105b5760405162461bcd60e51b8152600401610a30906120ff565b6001600160a01b0381166110c05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a30565b6110c98161175d565b50565b6000546001600160a01b031633146110f65760405162461bcd60e51b8152600401610a30906120ff565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661117a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a30565b6001600160a01b0382166111db5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a30565b6001600160a01b038381166000818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166112a25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a30565b6001600160a01b0383166113045760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a30565b600082116113665760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610a30565b601954600160a01b900460ff161561138a576113838484846117ad565b90506109ff565b306000908152600c6020526040902054601754811080159081906113b85750601954600160a01b900460ff16155b80156113dd57506001600160a01b0386166000908152600f602052604090205460ff16155b80156113eb575060185460ff165b156113f9576113f982611893565b6001600160a01b03861660009081526011602052604090205460ff1615801561143b57506001600160a01b03851660009081526011602052604090205460ff16155b801561144e5750601854610100900460ff165b156114b6576015548411156114b65760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a30565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600c9091529190912054611508918690611682565b6001600160a01b0387166000908152600c602052604081209190915561152e87876119dc565b6115425761153d878787611a7c565b611544565b845b60185490915062010000900460ff16801561157857506001600160a01b03861660009081526010602052604090205460ff16155b156115f7576016546115a9826115a3896001600160a01b03166000908152600c602052604090205490565b906116fe565b11156115f75760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610a30565b6001600160a01b0386166000908152600c602052604090205461161a90826116fe565b6001600160a01b038088166000818152600c602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061166e9085815260200190565b60405180910390a3600193505050506109ff565b600081848411156116a65760405162461bcd60e51b8152600401610a309190611f0f565b5060006116b38486612167565b95945050505050565b60006109ff83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611682565b60008061170b838561217a565b9050838110156109ff5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a30565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600c909152918220546117fe918490611682565b6001600160a01b038086166000908152600c6020526040808220939093559085168152205461182d90836116fe565b6001600160a01b038085166000818152600c602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118819086815260200190565b60405180910390a35060019392505050565b6019805460ff60a01b1916600160a01b1790556009546008546000916118b991906116fe565b9050806000036118c957506119cc565b60006118e26007546005546116fe90919063ffffffff16565b905060006118fd60026118f785818887611ba1565b90611c23565b9050600061190b85836116bc565b90504761191782611c65565b600061192347836116bc565b9050600061193c611935876002611c23565b88906116bc565b9050600061195160026118f78481878c611ba1565b9050600061195f84836116bc565b90506000821180156119715750600087115b15611980576119808783611e1f565b80156119c257600b546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156119c0573d6000803e3d6000fd5b505b5050505050505050505b506019805460ff60a01b19169055565b6001600160a01b0382166000908152600e602052604081205460ff1680611a1b57506001600160a01b0382166000908152600e602052604090205460ff165b15611a2857506001610995565b6001600160a01b0383166000908152600f602052604090205460ff1680611a6757506001600160a01b0382166000908152600f602052604090205460ff165b15611a7457506000610995565b506000610995565b6001600160a01b0383166000908152600f6020526040812054819060ff1615611ac157611aba6014546118f760085486611ba190919063ffffffff16565b9050611b1d565b6001600160a01b0384166000908152600f602052604090205460ff1615611b1d57600a60125410611aff57601454611aba906118f7856103e8611ba1565b611b1a6014546118f760095486611ba190919063ffffffff16565b90505b8015611b9757306000908152600c6020526040902054611b3d90826116fe565b306000818152600c6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b8e9085815260200190565b60405180910390a35b6116b383826116bc565b600082600003611bb357506000610995565b6000611bbf838561218d565b905082611bcc85836121a4565b146109ff5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a30565b60006109ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ee1565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c9a57611c9a6121c6565b60200260200101906001600160a01b031690816001600160a01b031681525050601860039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3191906121dc565b81600181518110611d4457611d446121c6565b6001600160a01b039283166020918202929092010152601854611d71913091630100000090041684611118565b60185460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790611db090859060009086903090429060040161223d565b600060405180830381600087803b158015611dca57600080fd5b505af1158015611dde573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611e13929190612279565b60405180910390a15050565b601854611e3e903090630100000090046001600160a01b031684611118565b601854600a5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a48201526301000000909204169063f305d71990839060c40160606040518083038185885af1158015611eb5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611eda919061229a565b5050505050565b60008183611f025760405162461bcd60e51b8152600401610a309190611f0f565b5060006116b384866121a4565b600060208083528351808285015260005b81811015611f3c57858101830151858201604001528201611f20565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146110c957600080fd5b60008060408385031215611f8557600080fd5b8235611f9081611f5d565b946020939093013593505050565b600080600060608486031215611fb357600080fd5b8335611fbe81611f5d565b92506020840135611fce81611f5d565b929592945050506040919091013590565b600060208284031215611ff157600080fd5b81356109ff81611f5d565b80151581146110c957600080fd5b60006020828403121561201c57600080fd5b81356109ff81611ffc565b60006020828403121561203957600080fd5b5035919050565b6000806040838503121561205357600080fd5b823561205e81611f5d565b9150602083013561206e81611ffc565b809150509250929050565b6000806040838503121561208c57600080fd5b823561209781611f5d565b9150602083013561206e81611f5d565b600080604083850312156120ba57600080fd5b8235611f9081611ffc565b600181811c908216806120d957607f821691505b6020821081036120f957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561214657600080fd5b81516109ff81611ffc565b634e487b7160e01b600052601160045260246000fd5b8181038181111561099557610995612151565b8082018082111561099557610995612151565b808202811582820484141761099557610995612151565b6000826121c157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156121ee57600080fd5b81516109ff81611f5d565b600081518084526020808501945080840160005b838110156122325781516001600160a01b03168752958201959082019060010161220d565b509495945050505050565b85815284602082015260a06040820152600061225c60a08301866121f9565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061229260408301846121f9565b949350505050565b6000806000606084860312156122af57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d969e99030ed318765039ea43092ea55f79ae9c9994776d95467b0069b08bc8764736f6c63430008130033

Deployed Bytecode

0x60806040526004361061028c5760003560e01c806372460e7f1161015a578063ae85ade6116100c1578063df8408fe1161007a578063df8408fe1461083d578063e6b2603b1461085d578063ee828db314610872578063f2fde38b14610892578063f71b9bbf146108b2578063f872858a146108d257600080fd5b8063ae85ade614610747578063c16dd4a414610767578063c867d60b14610787578063cea9d26f146107b7578063dd62ed3e146107d7578063df20fd491461081d57600080fd5b80638b42507f116101135780638b42507f1461068e5780638da5cb5b146106be57806395d89b41146106dc5780639d9241ec146106f1578063a457c2d714610707578063a9059cbb1461072757600080fd5b806372460e7f146105db578063728d41c9146105fb578063736ce0d41461061b57806375f0a874146106425780637d1db4a514610662578063807c2d9c1461067857600080fd5b80633ecad271116101fe5780635d098b38116101b75780635d098b38146105175780635e42358c14610537578063651a8987146105565780636ddd17131461057657806370a0823114610590578063715018a6146105c657600080fd5b80633ecad271146104415780634974d88f146104715780635342acb41461049157806359b107b9146104c157806359fac517146104d75780635c85974f146104f757600080fd5b806323b872dd1161025057806323b872dd1461037457806327c8f83514610394578063296f0a0c146103c85780632b112e49146103ea578063313ce567146103ff578063395093511461042157600080fd5b80630445b6671461029857806306fdde03146102c15780630930907b146102e3578063095ea7b31461032f57806318160ddd1461035f57600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102ae60175481565b6040519081526020015b60405180910390f35b3480156102cd57600080fd5b506102d66108f2565b6040516102b89190611f0f565b3480156102ef57600080fd5b506103177f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102b8565b34801561033b57600080fd5b5061034f61034a366004611f72565b610984565b60405190151581526020016102b8565b34801561036b57600080fd5b506013546102ae565b34801561038057600080fd5b5061034f61038f366004611f9e565b61099b565b3480156103a057600080fd5b506103177f000000000000000000000000000000000000000000000000000000000000dead81565b3480156103d457600080fd5b506103e86103e3366004611fdf565b610a06565b005b3480156103f657600080fd5b506102ae610a5b565b34801561040b57600080fd5b5060035460405160ff90911681526020016102b8565b34801561042d57600080fd5b5061034f61043c366004611f72565b610aee565b34801561044d57600080fd5b5061034f61045c366004611fdf565b600f6020526000908152604090205460ff1681565b34801561047d57600080fd5b506103e861048c36600461200a565b610b24565b34801561049d57600080fd5b5061034f6104ac366004611fdf565b600e6020526000908152604090205460ff1681565b3480156104cd57600080fd5b506102ae60085481565b3480156104e357600080fd5b506103e86104f2366004611fdf565b610b6a565b34801561050357600080fd5b506103e8610512366004612027565b610bc0565b34801561052357600080fd5b506103e8610532366004611fdf565b610bef565b34801561054357600080fd5b5060185461034f90610100900460ff1681565b34801561056257600080fd5b506103e8610571366004612040565b610c3b565b34801561058257600080fd5b5060185461034f9060ff1681565b34801561059c57600080fd5b506102ae6105ab366004611fdf565b6001600160a01b03166000908152600c602052604090205490565b3480156105d257600080fd5b506103e8610c90565b3480156105e757600080fd5b50601954610317906001600160a01b031681565b34801561060757600080fd5b506103e8610616366004612027565b610cc6565b34801561062757600080fd5b5060185461031790630100000090046001600160a01b031681565b34801561064e57600080fd5b50600b54610317906001600160a01b031681565b34801561066e57600080fd5b506102ae60155481565b34801561068457600080fd5b506102ae60165481565b34801561069a57600080fd5b5061034f6106a9366004611fdf565b60116020526000908152604090205460ff1681565b3480156106ca57600080fd5b506000546001600160a01b0316610317565b3480156106e857600080fd5b506102d6610cf5565b3480156106fd57600080fd5b506102ae60095481565b34801561071357600080fd5b5061034f610722366004611f72565b610d04565b34801561073357600080fd5b5061034f610742366004611f72565b610d53565b34801561075357600080fd5b506103e8610762366004612040565b610d60565b34801561077357600080fd5b506103e8610782366004612040565b610db5565b34801561079357600080fd5b5061034f6107a2366004611fdf565b60106020526000908152604090205460ff1681565b3480156107c357600080fd5b506103e86107d2366004611f9e565b610e1d565b3480156107e357600080fd5b506102ae6107f2366004612079565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b34801561082957600080fd5b506103e86108383660046120a7565b610ec0565b34801561084957600080fd5b506103e8610858366004612040565b610f01565b34801561086957600080fd5b506103e8610f56565b34801561087e57600080fd5b506103e861088d36600461200a565b610fed565b34801561089e57600080fd5b506103e86108ad366004611fdf565b611031565b3480156108be57600080fd5b506103e86108cd366004611fdf565b6110cc565b3480156108de57600080fd5b5060185461034f9062010000900460ff1681565b606060018054610901906120c5565b80601f016020809104026020016040519081016040528092919081815260200182805461092d906120c5565b801561097a5780601f1061094f5761010080835404028352916020019161097a565b820191906000526020600020905b81548152906001019060200180831161095d57829003601f168201915b5050505050905090565b6000610991338484611118565b5060015b92915050565b60006109a884848461123c565b506109fb84336109f6856040518060600160405280602881526020016122c9602891396001600160a01b038a166000908152600d602090815260408083203384529091529020549190611682565b611118565b5060015b9392505050565b6000546001600160a01b03163314610a395760405162461bcd60e51b8152600401610a30906120ff565b60405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600c6020526040812054610ae990610ae3610ada7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b03166000908152600c602052604090205490565b601354906116bc565b906116bc565b905090565b336000818152600d602090815260408083206001600160a01b038716845290915281205490916109919185906109f690866116fe565b6000546001600160a01b03163314610b4e5760405162461bcd60e51b8152600401610a30906120ff565b60188054911515620100000262ff000019909216919091179055565b6000546001600160a01b03163314610b945760405162461bcd60e51b8152600401610a30906120ff565b601880546001600160a01b039092166301000000026301000000600160b81b0319909216919091179055565b6000546001600160a01b03163314610bea5760405162461bcd60e51b8152600401610a30906120ff565b601555565b6000546001600160a01b03163314610c195760405162461bcd60e51b8152600401610a30906120ff565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c655760405162461bcd60e51b8152600401610a30906120ff565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610cba5760405162461bcd60e51b8152600401610a30906120ff565b610cc4600061175d565b565b6000546001600160a01b03163314610cf05760405162461bcd60e51b8152600401610a30906120ff565b601655565b606060028054610901906120c5565b600061099133846109f6856040518060600160405280602581526020016122f160259139336000908152600d602090815260408083206001600160a01b038d1684529091529020549190611682565b60006109fb33848461123c565b6000546001600160a01b03163314610d8a5760405162461bcd60e51b8152600401610a30906120ff565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610ddf5760405162461bcd60e51b8152600401610a30906120ff565b6001600160a01b039091166000908152600f60209081526040808320805494151560ff19958616811790915560109092529091208054909216179055565b6000546001600160a01b03163314610e475760405162461bcd60e51b8152600401610a30906120ff565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610e96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eba9190612134565b50505050565b6000546001600160a01b03163314610eea5760405162461bcd60e51b8152600401610a30906120ff565b6018805460ff191692151592909217909155601755565b6000546001600160a01b03163314610f2b5760405162461bcd60e51b8152600401610a30906120ff565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b604051600090339047908381818185875af1925050503d8060008114610f98576040519150601f19603f3d011682016040523d82523d6000602084013e610f9d565b606091505b5050905080610fe55760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610a30565b50600a601255565b6000546001600160a01b031633146110175760405162461bcd60e51b8152600401610a30906120ff565b601880549115156101000261ff0019909216919091179055565b6000546001600160a01b0316331461105b5760405162461bcd60e51b8152600401610a30906120ff565b6001600160a01b0381166110c05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a30565b6110c98161175d565b50565b6000546001600160a01b031633146110f65760405162461bcd60e51b8152600401610a30906120ff565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661117a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a30565b6001600160a01b0382166111db5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a30565b6001600160a01b038381166000818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166112a25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a30565b6001600160a01b0383166113045760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a30565b600082116113665760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610a30565b601954600160a01b900460ff161561138a576113838484846117ad565b90506109ff565b306000908152600c6020526040902054601754811080159081906113b85750601954600160a01b900460ff16155b80156113dd57506001600160a01b0386166000908152600f602052604090205460ff16155b80156113eb575060185460ff165b156113f9576113f982611893565b6001600160a01b03861660009081526011602052604090205460ff1615801561143b57506001600160a01b03851660009081526011602052604090205460ff16155b801561144e5750601854610100900460ff165b156114b6576015548411156114b65760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a30565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600c9091529190912054611508918690611682565b6001600160a01b0387166000908152600c602052604081209190915561152e87876119dc565b6115425761153d878787611a7c565b611544565b845b60185490915062010000900460ff16801561157857506001600160a01b03861660009081526010602052604090205460ff16155b156115f7576016546115a9826115a3896001600160a01b03166000908152600c602052604090205490565b906116fe565b11156115f75760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610a30565b6001600160a01b0386166000908152600c602052604090205461161a90826116fe565b6001600160a01b038088166000818152600c602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061166e9085815260200190565b60405180910390a3600193505050506109ff565b600081848411156116a65760405162461bcd60e51b8152600401610a309190611f0f565b5060006116b38486612167565b95945050505050565b60006109ff83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611682565b60008061170b838561217a565b9050838110156109ff5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a30565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600c909152918220546117fe918490611682565b6001600160a01b038086166000908152600c6020526040808220939093559085168152205461182d90836116fe565b6001600160a01b038085166000818152600c602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118819086815260200190565b60405180910390a35060019392505050565b6019805460ff60a01b1916600160a01b1790556009546008546000916118b991906116fe565b9050806000036118c957506119cc565b60006118e26007546005546116fe90919063ffffffff16565b905060006118fd60026118f785818887611ba1565b90611c23565b9050600061190b85836116bc565b90504761191782611c65565b600061192347836116bc565b9050600061193c611935876002611c23565b88906116bc565b9050600061195160026118f78481878c611ba1565b9050600061195f84836116bc565b90506000821180156119715750600087115b15611980576119808783611e1f565b80156119c257600b546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156119c0573d6000803e3d6000fd5b505b5050505050505050505b506019805460ff60a01b19169055565b6001600160a01b0382166000908152600e602052604081205460ff1680611a1b57506001600160a01b0382166000908152600e602052604090205460ff165b15611a2857506001610995565b6001600160a01b0383166000908152600f602052604090205460ff1680611a6757506001600160a01b0382166000908152600f602052604090205460ff165b15611a7457506000610995565b506000610995565b6001600160a01b0383166000908152600f6020526040812054819060ff1615611ac157611aba6014546118f760085486611ba190919063ffffffff16565b9050611b1d565b6001600160a01b0384166000908152600f602052604090205460ff1615611b1d57600a60125410611aff57601454611aba906118f7856103e8611ba1565b611b1a6014546118f760095486611ba190919063ffffffff16565b90505b8015611b9757306000908152600c6020526040902054611b3d90826116fe565b306000818152600c6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b8e9085815260200190565b60405180910390a35b6116b383826116bc565b600082600003611bb357506000610995565b6000611bbf838561218d565b905082611bcc85836121a4565b146109ff5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a30565b60006109ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ee1565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c9a57611c9a6121c6565b60200260200101906001600160a01b031690816001600160a01b031681525050601860039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3191906121dc565b81600181518110611d4457611d446121c6565b6001600160a01b039283166020918202929092010152601854611d71913091630100000090041684611118565b60185460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790611db090859060009086903090429060040161223d565b600060405180830381600087803b158015611dca57600080fd5b505af1158015611dde573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611e13929190612279565b60405180910390a15050565b601854611e3e903090630100000090046001600160a01b031684611118565b601854600a5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a48201526301000000909204169063f305d71990839060c40160606040518083038185885af1158015611eb5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611eda919061229a565b5050505050565b60008183611f025760405162461bcd60e51b8152600401610a309190611f0f565b5060006116b384866121a4565b600060208083528351808285015260005b81811015611f3c57858101830151858201604001528201611f20565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146110c957600080fd5b60008060408385031215611f8557600080fd5b8235611f9081611f5d565b946020939093013593505050565b600080600060608486031215611fb357600080fd5b8335611fbe81611f5d565b92506020840135611fce81611f5d565b929592945050506040919091013590565b600060208284031215611ff157600080fd5b81356109ff81611f5d565b80151581146110c957600080fd5b60006020828403121561201c57600080fd5b81356109ff81611ffc565b60006020828403121561203957600080fd5b5035919050565b6000806040838503121561205357600080fd5b823561205e81611f5d565b9150602083013561206e81611ffc565b809150509250929050565b6000806040838503121561208c57600080fd5b823561209781611f5d565b9150602083013561206e81611f5d565b600080604083850312156120ba57600080fd5b8235611f9081611ffc565b600181811c908216806120d957607f821691505b6020821081036120f957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561214657600080fd5b81516109ff81611ffc565b634e487b7160e01b600052601160045260246000fd5b8181038181111561099557610995612151565b8082018082111561099557610995612151565b808202811582820484141761099557610995612151565b6000826121c157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156121ee57600080fd5b81516109ff81611f5d565b600081518084526020808501945080840160005b838110156122325781516001600160a01b03168752958201959082019060010161220d565b509495945050505050565b85815284602082015260a06040820152600061225c60a08301866121f9565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061229260408301846121f9565b949350505050565b6000806000606084860312156122af57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d969e99030ed318765039ea43092ea55f79ae9c9994776d95467b0069b08bc8764736f6c63430008130033

Deployed Bytecode Sourcemap

7315:13627:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8705:53;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8705:53:0;;;;;;;;11001:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7662:81::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;913:32:1;;;895:51;;883:2;868:18;7662:81:0;749:203:1;12339:161:0;;;;;;;;;;-1:-1:-1;12339:161:0;;;;;:::i;:::-;;:::i;:::-;;;1578:14:1;;1571:22;1553:41;;1541:2;1526:18;12339:161:0;1413:187:1;11278:100:0;;;;;;;;;;-1:-1:-1;11358:12:0;;11278:100;;13113:313;;;;;;;;;;-1:-1:-1;13113:313:0;;;;;:::i;:::-;;:::i;7574:81::-;;;;;;;;;;;;;;;20115:116;;;;;;;;;;-1:-1:-1;20115:116:0;;;;;:::i;:::-;;:::i;:::-;;11672:156;;;;;;;;;;;;;:::i;11187:83::-;;;;;;;;;;-1:-1:-1;11253:9:0;;11187:83;;11253:9;;;;2460:36:1;;2448:2;2433:18;11187:83:0;2318:184:1;11836:218:0;;;;;;;;;;-1:-1:-1;11836:218:0;;;;;:::i;:::-;;:::i;8278:45::-;;;;;;;;;;-1:-1:-1;8278:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19381:105;;;;;;;;;;-1:-1:-1;19381:105:0;;;;;:::i;:::-;;:::i;8221:50::-;;;;;;;;;;-1:-1:-1;8221:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7900:26;;;;;;;;;;;;;;;;20721:115;;;;;;;;;;-1:-1:-1;20721:115:0;;;;;:::i;:::-;;:::i;20002:101::-;;;;;;;;;;-1:-1:-1;20002:101:0;;;;;:::i;:::-;;:::i;20239:114::-;;;;;;;;;;-1:-1:-1;20239:114:0;;;;;:::i;:::-;;:::i;8804:32::-;;;;;;;;;;-1:-1:-1;8804:32:0;;;;;;;;;;;19624:128;;;;;;;;;;-1:-1:-1;19624:128:0;;;;;:::i;:::-;;:::i;8767:30::-;;;;;;;;;;-1:-1:-1;8767:30:0;;;;;;;;11386:123;;;;;;;;;;-1:-1:-1;11386:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;11478:18:0;11452:7;11478:18;;;:9;:18;;;;;;;11386:123;2075:94;;;;;;;;;;;;;:::i;8925:22::-;;;;;;;;;;-1:-1:-1;8925:22:0;;;;-1:-1:-1;;;;;8925:22:0;;;19888:106;;;;;;;;;;-1:-1:-1;19888:106:0;;;;;:::i;:::-;;:::i;8887:31::-;;;;;;;;;;-1:-1:-1;8887:31:0;;;;;;;-1:-1:-1;;;;;8887:31:0;;;8001:84;;;;;;;;;;-1:-1:-1;8001:84:0;;;;-1:-1:-1;;;;;8001:84:0;;;8590:51;;;;;;;;;;;;;;;;8654:40;;;;;;;;;;;;;;;;8389:48;;;;;;;;;;-1:-1:-1;8389:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1766:87;;;;;;;;;;-1:-1:-1;1812:7:0;1839:6;-1:-1:-1;;;;;1839:6:0;1766:87;;11092;;;;;;;;;;;;;:::i;7933:27::-;;;;;;;;;;;;;;;;12062:269;;;;;;;;;;-1:-1:-1;12062:269:0;;;;;:::i;:::-;;:::i;12938:167::-;;;;;;;;;;-1:-1:-1;12938:167:0;;;;;:::i;:::-;;:::i;19760:120::-;;;;;;;;;;-1:-1:-1;19760:120:0;;;;;:::i;:::-;;:::i;20361:166::-;;;;;;;;;;-1:-1:-1;20361:166:0;;;;;:::i;:::-;;:::i;8330:52::-;;;;;;;;;;-1:-1:-1;8330:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19135:132;;;;;;;;;;-1:-1:-1;19135:132:0;;;;;:::i;:::-;;:::i;11517:143::-;;;;;;;;;;-1:-1:-1;11517:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11625:18:0;;;11598:7;11625:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11517:143;20535:178;;;;;;;;;;-1:-1:-1;20535:178:0;;;;;:::i;:::-;;:::i;19494:122::-;;;;;;;;;;-1:-1:-1;19494:122:0;;;;;:::i;:::-;;:::i;18886:209::-;;;;;;;;;;;;;:::i;19275:98::-;;;;;;;;;;-1:-1:-1;19275:98:0;;;;;:::i;:::-;;:::i;2177:229::-;;;;;;;;;;-1:-1:-1;2177:229:0;;;;;:::i;:::-;;:::i;20844:91::-;;;;;;;;;;-1:-1:-1;20844:91:0;;;;;:::i;:::-;;:::i;8843:35::-;;;;;;;;;;-1:-1:-1;8843:35:0;;;;;;;;;;;11001:83;11038:13;11071:5;11064:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11001:83;:::o;12339:161::-;12414:4;12431:39;413:10;12454:7;12463:6;12431:8;:39::i;:::-;-1:-1:-1;12488:4:0;12339:161;;;;;:::o;13113:313::-;13211:4;13228:36;13238:6;13246:9;13257:6;13228:9;:36::i;:::-;-1:-1:-1;13275:121:0;13284:6;413:10;13306:89;13344:6;13306:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13306:19:0;;;;;;:11;:19;;;;;;;;413:10;13306:33;;;;;;;;;;:37;:89::i;:::-;13275:8;:121::i;:::-;-1:-1:-1;13414:4:0;13113:313;;;;;;:::o;20115:116::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;;;;;;;;;20193:17:::1;:30:::0;;-1:-1:-1;;;;;;20193:30:0::1;-1:-1:-1::0;;;;;20193:30:0;;;::::1;::::0;;;::::1;::::0;;20115:116::o;11672:156::-;-1:-1:-1;;;;;11807:11:0;11478:18;11725:7;11478:18;;;:9;:18;;;;;;11752:68;;:40;11769:22;11779:11;-1:-1:-1;;;;;11478:18:0;11452:7;11478:18;;;:9;:18;;;;;;;11386:123;11769:22;11752:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;11745:75;;11672:156;:::o;11836:218::-;413:10;11924:4;11973:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11973:34:0;;;;;;;;;;11924:4;;11941:83;;11964:7;;11973:50;;12012:10;11973:38;:50::i;19381:105::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;19452:16:::1;:26:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;19452:26:0;;::::1;::::0;;;::::1;::::0;;19381:105::o;20721:115::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;20793:9:::1;:35:::0;;-1:-1:-1;;;;;20793:35:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;20793:35:0;;::::1;::::0;;;::::1;::::0;;20721:115::o;20002:101::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;20072:12:::1;:23:::0;20002:101::o;20239:114::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;20317:15:::1;:28:::0;;-1:-1:-1;;;;;;20317:28:0::1;-1:-1:-1::0;;;;;20317:28:0;;;::::1;::::0;;;::::1;::::0;;20239:114::o;19624:128::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19709:25:0;;;::::1;;::::0;;;:19:::1;:25;::::0;;;;:35;;-1:-1:-1;;19709:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19624:128::o;2075:94::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;2140:21:::1;2158:1;2140:9;:21::i;:::-;2075:94::o:0;19888:106::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;19965:10:::1;:21:::0;19888:106::o;11092:87::-;11131:13;11164:7;11157:14;;;;;:::i;12062:269::-;12155:4;12172:129;413:10;12195:7;12204:96;12243:15;12204:96;;;;;;;;;;;;;;;;;413:10;12204:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12204:34:0;;;;;;;;;;;;:38;:96::i;12938:167::-;13016:4;13033:42;413:10;13057:9;13068:6;13033:9;:42::i;19760:120::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19841:21:0;;;::::1;;::::0;;;:15:::1;:21;::::0;;;;:31;;-1:-1:-1;;19841:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19760:120::o;20361:166::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20443:19:0;;::::1;;::::0;;;:12:::1;:19;::::0;;;;;;;:29;;;::::1;;-1:-1:-1::0;;20443:29:0;;::::1;::::0;::::1;::::0;;;20483:19:::1;:26:::0;;;;;;:36;;;;::::1;;::::0;;20361:166::o;19135:132::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;19229:30:::1;::::0;-1:-1:-1;;;19229:30:0;;-1:-1:-1;;;;;5797:32:1;;;19229:30:0::1;::::0;::::1;5779:51:1::0;5846:18;;;5839:34;;;19229:12:0;::::1;::::0;::::1;::::0;5752:18:1;;19229:30:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19135:132:::0;;;:::o;20535:178::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;20649:11:::1;:22:::0;;-1:-1:-1;;20649:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;20682:13:::1;:23:::0;20535:178::o;19494:122::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19575:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:33;;-1:-1:-1;;19575:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19494:122::o;18886:209::-;18950:58;;18938:7;;18958:10;;18982:21;;18938:7;18950:58;18938:7;18950:58;18982:21;18958:10;18950:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18937:71;;;19027:2;19019:34;;;;-1:-1:-1;;;19019:34:0;;6546:2:1;19019:34:0;;;6528:21:1;6585:2;6565:18;;;6558:30;-1:-1:-1;;;6604:18:1;;;6597:50;6664:18;;19019:34:0;6344:344:1;19019:34:0;-1:-1:-1;19085:2:0;19064:18;:23;18886:209::o;19275:98::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;19342:13:::1;:23:::0;;;::::1;;;;-1:-1:-1::0;;19342:23:0;;::::1;::::0;;;::::1;::::0;;19275:98::o;2177:229::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2280:22:0;::::1;2258:110;;;::::0;-1:-1:-1;;;2258:110:0;;6895:2:1;2258:110:0::1;::::0;::::1;6877:21:1::0;6934:2;6914:18;;;6907:30;6973:34;6953:18;;;6946:62;-1:-1:-1;;;7024:18:1;;;7017:36;7070:19;;2258:110:0::1;6693:402:1::0;2258:110:0::1;2379:19;2389:8;2379:9;:19::i;:::-;2177:229:::0;:::o;20844:91::-;1812:7;1839:6;-1:-1:-1;;;;;1839:6:0;413:10;1987:23;1979:68;;;;-1:-1:-1;;;1979:68:0;;;;;;;:::i;:::-;20912:7:::1;:15:::0;;-1:-1:-1;;;;;;20912:15:0::1;-1:-1:-1::0;;;;;20912:15:0;;;::::1;::::0;;;::::1;::::0;;20844:91::o;12508:337::-;-1:-1:-1;;;;;12601:19:0;;12593:68;;;;-1:-1:-1;;;12593:68:0;;7302:2:1;12593:68:0;;;7284:21:1;7341:2;7321:18;;;7314:30;7380:34;7360:18;;;7353:62;-1:-1:-1;;;7431:18:1;;;7424:34;7475:19;;12593:68:0;7100:400:1;12593:68:0;-1:-1:-1;;;;;12680:21:0;;12672:68;;;;-1:-1:-1;;;12672:68:0;;7707:2:1;12672:68:0;;;7689:21:1;7746:2;7726:18;;;7719:30;7785:34;7765:18;;;7758:62;-1:-1:-1;;;7836:18:1;;;7829:32;7878:19;;12672:68:0;7505:398:1;12672:68:0;-1:-1:-1;;;;;12753:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12805:32;;160:25:1;;;12805:32:0;;133:18:1;12805:32:0;;;;;;;12508:337;;;:::o;13434:1586::-;13521:4;-1:-1:-1;;;;;13548:20:0;;13540:70;;;;-1:-1:-1;;;13540:70:0;;8110:2:1;13540:70:0;;;8092:21:1;8149:2;8129:18;;;8122:30;8188:34;8168:18;;;8161:62;-1:-1:-1;;;8239:18:1;;;8232:35;8284:19;;13540:70:0;7908:401:1;13540:70:0;-1:-1:-1;;;;;13629:23:0;;13621:71;;;;-1:-1:-1;;;13621:71:0;;8516:2:1;13621:71:0;;;8498:21:1;8555:2;8535:18;;;8528:30;8594:34;8574:18;;;8567:62;-1:-1:-1;;;8645:18:1;;;8638:33;8688:19;;13621:71:0;8314:399:1;13621:71:0;13720:1;13711:6;:10;13703:64;;;;-1:-1:-1;;;13703:64:0;;8920:2:1;13703:64:0;;;8902:21:1;8959:2;8939:18;;;8932:30;8998:34;8978:18;;;8971:62;-1:-1:-1;;;9049:18:1;;;9042:39;9098:19;;13703:64:0;8718:405:1;13703:64:0;13784:6;;-1:-1:-1;;;13784:6:0;;;;13780:1231;;;13814:41;13829:6;13837:9;13848:6;13814:14;:41::i;:::-;13807:48;;;;13780:1231;13948:4;13899:28;11478:18;;;:9;:18;;;;;;14024:13;;14000:37;;;;;;;14058:34;;-1:-1:-1;14086:6:0;;-1:-1:-1;;;14086:6:0;;;;14085:7;14058:34;:59;;;;-1:-1:-1;;;;;;14097:20:0;;;;;;:12;:20;;;;;;;;14096:21;14058:59;:74;;;;-1:-1:-1;14121:11:0;;;;14058:74;14054:145;;;14153:30;14162:20;14153:8;:30::i;:::-;-1:-1:-1;;;;;14231:23:0;;;;;;:15;:23;;;;;;;;14230:24;:55;;;;-1:-1:-1;;;;;;14259:26:0;;;;;;:15;:26;;;;;;;;14258:27;14230:55;:72;;;;-1:-1:-1;14289:13:0;;;;;;;14230:72;14227:187;;;14341:12;;14331:6;:22;;14323:75;;;;-1:-1:-1;;;14323:75:0;;9330:2:1;14323:75:0;;;9312:21:1;9369:2;9349:18;;;9342:30;9408:34;9388:18;;;9381:62;-1:-1:-1;;;9459:18:1;;;9452:38;9507:19;;14323:75:0;9128:404:1;14323:75:0;14463:53;;;;;;;;;;;-1:-1:-1;;;14463:53:0;;;;;;;;-1:-1:-1;;;;;14463:17:0;;-1:-1:-1;14463:17:0;;;:9;:17;;;;;;;;:53;;14485:6;;14463:21;:53::i;:::-;-1:-1:-1;;;;;14443:17:0;;;;;;:9;:17;;;;;:73;;;;14555:34;14453:6;14579:9;14555:16;:34::i;:::-;:80;;14601:34;14609:6;14617:9;14628:6;14601:7;:34::i;:::-;14555:80;;;14592:6;14555:80;14655:16;;14533:102;;-1:-1:-1;14655:16:0;;;;;:51;;;;-1:-1:-1;;;;;;14676:30:0;;;;;;:19;:30;;;;;;;;14675:31;14655:51;14652:181;;;14776:10;;14735:37;14760:11;14735:20;14745:9;-1:-1:-1;;;;;11478:18:0;11452:7;11478:18;;;:9;:18;;;;;;;11386:123;14735:20;:24;;:37::i;:::-;:51;;14727:90;;;;-1:-1:-1;;;14727:90:0;;9739:2:1;14727:90:0;;;9721:21:1;9778:2;9758:18;;;9751:30;9817:29;9797:18;;;9790:57;9864:18;;14727:90:0;9537:351:1;14727:90:0;-1:-1:-1;;;;;14872:20:0;;;;;;:9;:20;;;;;;:37;;14897:11;14872:24;:37::i;:::-;-1:-1:-1;;;;;14849:20:0;;;;;;;:9;:20;;;;;;;:60;;;;14931:40;;;;;;;;;;14959:11;160:25:1;;148:2;133:18;;14:177;14931:40:0;;;;;;;;14993:4;14986:11;;;;;;;2953:192;3039:7;3075:12;3067:6;;;;3059:29;;;;-1:-1:-1;;;3059:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3099:9:0;3111:5;3115:1;3111;:5;:::i;:::-;3099:17;2953:192;-1:-1:-1;;;;;2953:192:0:o;2809:136::-;2867:7;2894:43;2898:1;2901;2894:43;;;;;;;;;;;;;;;;;:3;:43::i;2620:181::-;2678:7;;2710:5;2714:1;2710;:5;:::i;:::-;2698:17;;2739:1;2734;:6;;2726:46;;;;-1:-1:-1;;;2726:46:0;;10490:2:1;2726:46:0;;;10472:21:1;10529:2;10509:18;;;10502:30;10568:29;10548:18;;;10541:57;10615:18;;2726:46:0;10288:351:1;2414:173:0;2470:16;2489:6;;-1:-1:-1;;;;;2506:17:0;;;-1:-1:-1;;;;;;2506:17:0;;;;;;2539:40;;2489:6;;;;;;;2539:40;;2470:16;2539:40;2459:128;2414:173;:::o;15028:330::-;15158:53;;;;;;;;;;;-1:-1:-1;;;15158:53:0;;;;;;;;-1:-1:-1;;;;;15158:17:0;;15121:4;15158:17;;;:9;:17;;;;;;;:53;;15180:6;;15158:21;:53::i;:::-;-1:-1:-1;;;;;15138:17:0;;;;;;;:9;:17;;;;;;:73;;;;15245:20;;;;;;;:32;;15270:6;15245:24;:32::i;:::-;-1:-1:-1;;;;;15222:20:0;;;;;;;:9;:20;;;;;;;:55;;;;15293:35;;;;;;;;;;15321:6;160:25:1;;148:2;133:18;;14:177;15293:35:0;;;;;;;;-1:-1:-1;15346:4:0;15028:330;;;;;:::o;16547:1123::-;9011:6;:13;;-1:-1:-1;;;;9011:13:0;-1:-1:-1;;;9011:13:0;;;16656:12:::1;::::0;16640:11:::1;::::0;9011:13;;16640:29:::1;::::0;:11;:15:::1;:29::i;:::-;16618:51;;16685:11;16700:1;16685:16:::0;16682:28:::1;;16703:7;;;16682:28;16722:23;16748:39;16769:17;;16748:16;;:20;;:39;;;;:::i;:::-;16722:65:::0;-1:-1:-1;16879:19:0::1;16901:60;16959:1;16901:53;16942:11:::0;16901:53;:15;16722:65;16901:19:::1;:36::i;:::-;:40:::0;::::1;:53::i;:60::-;16879:82:::0;-1:-1:-1;16972:21:0::1;16996:32;:15:::0;16879:82;16996:19:::1;:32::i;:::-;16972:56:::0;-1:-1:-1;17066:21:0::1;17098:31;16972:56:::0;17098:16:::1;:31::i;:::-;17140:22;17165:41;:21;17191:14:::0;17165:25:::1;:41::i;:::-;17140:66:::0;-1:-1:-1;17219:19:0::1;17241:39;17257:22;:15:::0;17277:1:::1;17257:19;:22::i;:::-;17241:11:::0;;:15:::1;:39::i;:::-;17219:61:::0;-1:-1:-1;17301:26:0::1;17330:59;17387:1;17330:52;17219:61:::0;17330:52;:14;17349:15;17330:18:::1;:35::i;:59::-;17301:88:::0;-1:-1:-1;17400:26:0::1;17429:38;:14:::0;17301:88;17429:18:::1;:38::i;:::-;17400:67;;17504:1;17483:18;:22;:41;;;;;17523:1;17509:11;:15;17483:41;17480:91;;;17526:45;17539:11;17552:18;17526:12;:45::i;:::-;17585:22:::0;;17582:80:::1;;17617:15;::::0;17609:53:::1;::::0;-1:-1:-1;;;;;17617:15:0;;::::1;::::0;17609:53;::::1;;;::::0;17643:18;;17617:15:::1;17609:53:::0;17617:15;17609:53;17643:18;17617:15;17609:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;17582:80;16605:1065;;;;;;;;;9035:1;-1:-1:-1::0;9047:6:0;:14;;-1:-1:-1;;;;9047:14:0;;;16547:1123::o;15370:369::-;-1:-1:-1;;;;;15474:25:0;;15454:4;15474:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;15503:28:0;;;;;;:17;:28;;;;;;;;15474:57;15471:261;;;-1:-1:-1;15555:4:0;15548:11;;15471:261;-1:-1:-1;;;;;15590:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;15614:23:0;;;;;;:12;:23;;;;;;;;15590:47;15586:146;;;-1:-1:-1;15661:5:0;15654:12;;15586:146;-1:-1:-1;15715:5:0;15708:12;;15747:792;-1:-1:-1;;;;;15920:20:0;;15833:7;15920:20;;;:12;:20;;;;;;15833:7;;15920:20;;15917:348;;;15979:43;16007:14;;15979:23;15990:11;;15979:6;:10;;:23;;;;:::i;:43::-;15967:55;;15917:348;;;-1:-1:-1;;;;;16061:23:0;;;;;;:12;:23;;;;;;;;16058:207;;;16132:2;16111:18;;:23;16108:142;;16169:14;;16148:36;;:16;:6;16159:4;16148:10;:16::i;16108:142::-;16204:44;16233:14;;16204:24;16215:12;;16204:6;:10;;:24;;;;:::i;:44::-;16192:56;;16108:142;16284:13;;16281:185;;16363:4;16345:24;;;;:9;:24;;;;;;:39;;16374:9;16345:28;:39::i;:::-;16336:4;16318:24;;;;:9;:24;;;;;;;:66;;;;16408:42;;-1:-1:-1;;;;;16408:42:0;;;;;;;16440:9;160:25:1;;148:2;133:18;;14:177;16408:42:0;;;;;;;;16281:185;16489:21;:6;16500:9;16489:10;:21::i;3153:250::-;3211:7;3235:1;3240;3235:6;3231:47;;-1:-1:-1;3265:1:0;3258:8;;3231:47;3290:9;3302:5;3306:1;3302;:5;:::i;:::-;3290:17;-1:-1:-1;3335:1:0;3326:5;3330:1;3290:17;3326:5;:::i;:::-;:10;3318:56;;;;-1:-1:-1;;;3318:56:0;;11241:2:1;3318:56:0;;;11223:21:1;11280:2;11260:18;;;11253:30;11319:34;11299:18;;;11292:62;-1:-1:-1;;;11370:18:1;;;11363:31;11411:19;;3318:56:0;11039:397:1;3411:132:0;3469:7;3496:39;3500:1;3503;3496:39;;;;;;;;;;;;;;;;;:3;:39::i;17678:648::-;17828:16;;;17842:1;17828:16;;;;;;;;17804:21;;17828:16;;;;;;;;;;-1:-1:-1;17828:16:0;17804:40;;17873:4;17855;17860:1;17855:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;17855:23:0;;;-1:-1:-1;;;;;17855:23:0;;;;;17899:9;;;;;;;;;-1:-1:-1;;;;;17899:9:0;-1:-1:-1;;;;;17899:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17889:4;17894:1;17889:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17889:26:0;;;:7;;;;;;;;;:26;17960:9;;17928:56;;17945:4;;17960:9;;;;17972:11;17928:8;:56::i;:::-;18023:9;;:234;;-1:-1:-1;;;18023:234:0;;:9;;;;-1:-1:-1;;;;;18023:9:0;;:60;;:234;;18098:11;;18124:1;;18168:4;;18195;;18231:15;;18023:234;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18283:35;18300:11;18313:4;18283:35;;;;;;;:::i;:::-;;;;;;;;17733:593;17678:648;:::o;18334:511::-;18514:9;;18482:56;;18499:4;;18514:9;;;-1:-1:-1;;;;;18514:9:0;18526:11;18482:8;:56::i;:::-;18581:9;;18779:17;;18581:256;;-1:-1:-1;;;18581:256:0;;18647:4;18581:256;;;13692:34:1;13742:18;;;13735:34;;;18693:1:0;13785:18:1;;;13778:34;;;13828:18;;;13821:34;-1:-1:-1;;;;;18779:17:0;;;13871:19:1;;;13864:44;18811:15:0;13924:19:1;;;13917:35;18581:9:0;;;;;;:25;;18614:9;;13626:19:1;;18581:256:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18334:511;;:::o;3551:278::-;3637:7;3672:12;3665:5;3657:28;;;;-1:-1:-1;;;3657:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3696:9:0;3708:5;3712:1;3708;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;957:131::-;-1:-1:-1;;;;;1032:31:1;;1022:42;;1012:70;;1078:1;1075;1068:12;1093:315;1161:6;1169;1222:2;1210:9;1201:7;1197:23;1193:32;1190:52;;;1238:1;1235;1228:12;1190:52;1277:9;1264:23;1296:31;1321:5;1296:31;:::i;:::-;1346:5;1398:2;1383:18;;;;1370:32;;-1:-1:-1;;;1093:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2066:247::-;2125:6;2178:2;2166:9;2157:7;2153:23;2149:32;2146:52;;;2194:1;2191;2184:12;2146:52;2233:9;2220:23;2252:31;2277:5;2252:31;:::i;2507:118::-;2593:5;2586:13;2579:21;2572:5;2569:32;2559:60;;2615:1;2612;2605:12;2630:241;2686:6;2739:2;2727:9;2718:7;2714:23;2710:32;2707:52;;;2755:1;2752;2745:12;2707:52;2794:9;2781:23;2813:28;2835:5;2813:28;:::i;2876:180::-;2935:6;2988:2;2976:9;2967:7;2963:23;2959:32;2956:52;;;3004:1;3001;2994:12;2956:52;-1:-1:-1;3027:23:1;;2876:180;-1:-1:-1;2876:180:1:o;3061:382::-;3126:6;3134;3187:2;3175:9;3166:7;3162:23;3158:32;3155:52;;;3203:1;3200;3193:12;3155:52;3242:9;3229:23;3261:31;3286:5;3261:31;:::i;:::-;3311:5;-1:-1:-1;3368:2:1;3353:18;;3340:32;3381:30;3340:32;3381:30;:::i;:::-;3430:7;3420:17;;;3061:382;;;;;:::o;4152:388::-;4220:6;4228;4281:2;4269:9;4260:7;4256:23;4252:32;4249:52;;;4297:1;4294;4287:12;4249:52;4336:9;4323:23;4355:31;4380:5;4355:31;:::i;:::-;4405:5;-1:-1:-1;4462:2:1;4447:18;;4434:32;4475:33;4434:32;4475:33;:::i;4545:309::-;4610:6;4618;4671:2;4659:9;4650:7;4646:23;4642:32;4639:52;;;4687:1;4684;4677:12;4639:52;4726:9;4713:23;4745:28;4767:5;4745:28;:::i;4859:380::-;4938:1;4934:12;;;;4981;;;5002:61;;5056:4;5048:6;5044:17;5034:27;;5002:61;5109:2;5101:6;5098:14;5078:18;5075:38;5072:161;;5155:10;5150:3;5146:20;5143:1;5136:31;5190:4;5187:1;5180:15;5218:4;5215:1;5208:15;5072:161;;4859:380;;;:::o;5244:356::-;5446:2;5428:21;;;5465:18;;;5458:30;5524:34;5519:2;5504:18;;5497:62;5591:2;5576:18;;5244:356::o;5884:245::-;5951:6;6004:2;5992:9;5983:7;5979:23;5975:32;5972:52;;;6020:1;6017;6010:12;5972:52;6052:9;6046:16;6071:28;6093:5;6071:28;:::i;9893:127::-;9954:10;9949:3;9945:20;9942:1;9935:31;9985:4;9982:1;9975:15;10009:4;10006:1;9999:15;10025:128;10092:9;;;10113:11;;;10110:37;;;10127:18;;:::i;10158:125::-;10223:9;;;10244:10;;;10241:36;;;10257:18;;:::i;10644:168::-;10717:9;;;10748;;10765:15;;;10759:22;;10745:37;10735:71;;10786:18;;:::i;10817:217::-;10857:1;10883;10873:132;;10927:10;10922:3;10918:20;10915:1;10908:31;10962:4;10959:1;10952:15;10990:4;10987:1;10980:15;10873:132;-1:-1:-1;11019:9:1;;10817:217::o;11573:127::-;11634:10;11629:3;11625:20;11622:1;11615:31;11665:4;11662:1;11655:15;11689:4;11686:1;11679:15;11705:251;11775:6;11828:2;11816:9;11807:7;11803:23;11799:32;11796:52;;;11844:1;11841;11834:12;11796:52;11876:9;11870:16;11895:31;11920:5;11895:31;:::i;11961:461::-;12014:3;12052:5;12046:12;12079:6;12074:3;12067:19;12105:4;12134:2;12129:3;12125:12;12118:19;;12171:2;12164:5;12160:14;12192:1;12202:195;12216:6;12213:1;12210:13;12202:195;;;12281:13;;-1:-1:-1;;;;;12277:39:1;12265:52;;12337:12;;;;12372:15;;;;12313:1;12231:9;12202:195;;;-1:-1:-1;12413:3:1;;11961:461;-1:-1:-1;;;;;11961:461:1:o;12427:582::-;12726:6;12715:9;12708:25;12769:6;12764:2;12753:9;12749:18;12742:34;12812:3;12807:2;12796:9;12792:18;12785:31;12689:4;12833:57;12885:3;12874:9;12870:19;12862:6;12833:57;:::i;:::-;-1:-1:-1;;;;;12926:32:1;;;;12921:2;12906:18;;12899:60;-1:-1:-1;12990:3:1;12975:19;12968:35;12825:65;12427:582;-1:-1:-1;;;12427:582:1:o;13014:332::-;13221:6;13210:9;13203:25;13264:2;13259;13248:9;13244:18;13237:30;13184:4;13284:56;13336:2;13325:9;13321:18;13313:6;13284:56;:::i;:::-;13276:64;13014:332;-1:-1:-1;;;;13014:332:1:o;13963:306::-;14051:6;14059;14067;14120:2;14108:9;14099:7;14095:23;14091:32;14088:52;;;14136:1;14133;14126:12;14088:52;14165:9;14159:16;14149:26;;14215:2;14204:9;14200:18;14194:25;14184:35;;14259:2;14248:9;14244:18;14238:25;14228:35;;13963:306;;;;;:::o

Swarm Source

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