ETH Price: $3,392.92 (+0.80%)

Token

Avax Inu (AVAX)
 

Overview

Max Total Supply

100,000,000,000 AVAX

Holders

81

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
151,905,531.621320704 AVAX

Value
$0.00
0xE970eb8Ab78E2f439d0eea8e6B9297D93418ac81
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:
AVAXINU

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-12
*/

/*
    - https://t.me/Avax_Inu
    - https://avaxinu.xyz/
    - https://medium.com/@AvaxInu
    - https://twitter.com/Avax_Inu
*/

// SPDX-License-Identifier: MIT


pragma solidity ^0.8.11;

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

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

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

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

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

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

contract Ownable is Context {
    address public _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

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

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

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

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

interface InterfaceLP {
    function sync() external;
}

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

    address WETH;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    

    string constant _name = "Avax Inu";
    string constant _symbol = "AVAX";
    uint8 constant _decimals = 9; 

    uint256 _totalSupply = 1 * 10**11 * 10**_decimals;

    uint256 public _maxTxAmount = _totalSupply.mul(1).div(100);
    uint256 public _maxWalletToken = _totalSupply.mul(1).div(100);

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    bool public blacklistMode = true;
    mapping (address => bool) public isblacklisted;


    mapping (address => bool) isFeeExempt;
    mapping (address => bool) public isTxLimitExempt;

    uint256 private liquidityFee    = 2;
    uint256 private marketingFee    = 2;
    uint256 private devFee          = 0;
    uint256 private teamFee         = 0; 
    uint256 private burnFee         = 0;
    uint256 public totalFee        = teamFee + marketingFee + liquidityFee + devFee + burnFee;
    uint256 private feeDenominator  = 100;

    uint256 sellMultiplier = 2400;
    uint256 buyMultiplier = 1600;
    uint256 transferMultiplier = 1000; 

    address private autoLiquidityReceiver;
    address private marketingFeeReceiver;
    address private devFeeReceiver;
    address private teamFeeReceiver;
    address private burnFeeReceiver;

    uint256 targetLiquidity = 30;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;
    
    bool public TradingOpen = false;    

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 30 / 1000; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
    
    constructor () {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        pairContract = InterfaceLP(pair);
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;
        isFeeExempt[devFeeReceiver] = true;
            
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[pair] = true;
        isTxLimitExempt[devFeeReceiver] = true;
        isTxLimitExempt[marketingFeeReceiver] = true;
        isTxLimitExempt[address(this)] = true;
        
        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = 0xB57681228Bde10fdEA5AF95483d14738178EDA79;
        devFeeReceiver = msg.sender;
        teamFeeReceiver = msg.sender;
        burnFeeReceiver = DEAD; 

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) {return owner();}
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

        function updateMaxWallet(uint256 maxWallPercent) external onlyOwner {
         require(_maxWalletToken >= _totalSupply / 1000); //no less than .1%
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
                
    }

    function updateMaxTransaction(uint256 maxTXPercent) external onlyOwner {
         require(_maxTxAmount >= _totalSupply / 1000); //anti honeypot no less than .1%
        _maxTxAmount = (_totalSupply * maxTXPercent ) / 1000;
    }

  
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(TradingOpen,"Trading not open yet");
        
           }
        
                      
        if(blacklistMode){
            require(!isblacklisted[sender],"blacklisted");    
        }

        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient]){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}

        // Checks max transaction limit
        checkTxLimit(sender, amount); 

        if(shouldSwapBack()){ swapBack(); }
                    
         //Exchange tokens
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);
        _balances[recipient] = _balances[recipient].add(amountReceived);

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

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        
        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);
        uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);

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

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function clearStuckBalance(uint256 amountPercentage) external {
        uint256 amountETH = address(this).balance;
        payable(marketingFeeReceiver).transfer(amountETH * amountPercentage / 100);
    }

     function manualSwap() external onlyOwner {
              swapBack();
    
    }

    function removeLimits() external onlyOwner { 
        _maxWalletToken = _totalSupply;
        _maxTxAmount = _totalSupply;

    }

    function manualSend() external { 
        require(isTxLimitExempt[msg.sender]);
        payable(devFeeReceiver).transfer(address(this).balance);

    }

    function clearStuckToken(address tokenAddress, uint256 tokens) public returns (bool) {
        require(isTxLimitExempt[msg.sender]);
     if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function setTax(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
        transferMultiplier = _trans;    
          
    }

    function allowTrading() public onlyOwner {
        TradingOpen = true;
    }

        
    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance.sub(balanceBefore);

        uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHteam = amountETH.mul(teamFee).div(totalETHFee);
        uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
        (tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}("");
        
        tmpSuccess = false;

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function set_blacklist(bool _status) public onlyOwner {
        blacklistMode = _status;
    }

   
    function manage_bot(address[] calldata addresses, bool status) public onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            isblacklisted[addresses[i]] = status;
        }
    }
    
    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

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

    function setStructure(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        teamFee = _teamFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_devFee).add(_burnFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/2, "Fees cannot be more than 50%"); //antihoneypot
    }

    function setReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _teamFeeReceiver) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
        burnFeeReceiver = _burnFeeReceiver;
        teamFeeReceiver = _teamFeeReceiver;
    }

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

    function setoverLiquified(uint256 _target, uint256 _denominator) external onlyOwner {
        targetLiquidity = _target;
        targetLiquidityDenominator = _denominator;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }




event AutoLiquify(uint256 amountETH, uint256 amountTokens);

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allowTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"configSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isblacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_bot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"set_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setoverLiquified","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercent","type":"uint256"}],"name":"updateMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600380546001600160a01b031990811661dead17909155600480549091169055620000326009600a620006e4565b620000439064174876e800620006f5565b6005556200007d6064620000696001600554620004b460201b6200129f1790919060201c565b6200054b60201b620013211790919060201c565b600655620000a36064620000696001600554620004b460201b6200129f1790919060201c565b600755600a805460ff191660011790556002600e819055600f8190556000601081905560118190556012819055908190620000df818362000717565b620000eb919062000717565b620000f7919062000717565b62000103919062000717565b601355606460148190556109606015556106406016556103e86017819055601e601d8190559182556021805461ffff60a01b1916600160a81b1790556005549091620001509190620006f5565b6200015c919062000732565b6022553480156200016c57600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156200022c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000252919062000755565b600280546001600160a01b0319166001600160a01b03928316179055601f546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620002b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d7919062000755565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000329573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034f919062000755565b602180546001600160a01b039283166001600160a01b0319918216811783556020805483169091178155306000818152600983526040808220601f54881683528452808220600019905533808352600c8552818320805460ff199081166001908117909255601a80548b1686528486208054831684179055838652600d8852848620805483168417905598548a168552838520805482168317905588548a1685528385208054821683179055601980548b168652848620805483168417905595855283852080549091169091179055601880548716821790558354861673b57681228bde10fdea5af95483d14738178eda7917909355855485168317909555601b8054851683179055600354601c80549095169616959095179092556005548285526008825283852081905592519283529092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620007d8565b600082600003620004c85750600062000545565b6000620004d68385620006f5565b905082620004e5858362000732565b14620005425760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200054283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200059560201b60201c565b60008183620005b95760405162461bcd60e51b815260040162000539919062000780565b506000620005c8848662000732565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006285781600019048211156200060c576200060c620005d1565b808516156200061a57918102915b93841c9390800290620005ec565b509250929050565b600082620006415750600162000545565b81620006505750600062000545565b8160018114620006695760028114620006745762000694565b600191505062000545565b60ff841115620006885762000688620005d1565b50506001821b62000545565b5060208310610133831016604e8410600b8410161715620006b9575081810a62000545565b620006c58383620005e7565b8060001904821115620006dc57620006dc620005d1565b029392505050565b60006200054260ff84168362000630565b6000816000190483118215151615620007125762000712620005d1565b500290565b600082198211156200072d576200072d620005d1565b500190565b6000826200075057634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200076857600080fd5b81516001600160a01b03811681146200054257600080fd5b600060208083528351808285015260005b81811015620007af5785810183015185820160400152820162000791565b81811115620007c2576000604083870101525b50601f01601f1916929092016040019392505050565b61247e80620007e86000396000f3fe6080604052600436106102815760003560e01c8063715018a61161014f5780639cb7004c116100c1578063dd62ed3e1161007a578063dd62ed3e1461079d578063eb855ec3146107e3578063ed6a596514610803578063f2fde38b14610833578063f429389014610853578063f887ea401461086857600080fd5b80639cb7004c146106dd578063a8aa1b31146106fd578063a9059cbb1461071d578063a983e4c81461073d578063b2bdfa7b1461075d578063d51ed1c81461077d57600080fd5b8063848367781161011357806384836778146105f6578063893d20e814610616578063896648c1146106485780638b42507f146106625780638da5cb5b1461069257806395d89b41146106b057600080fd5b8063715018a614610580578063751039fc1461059557806377b54bad146105aa57806378109e54146105ca5780637d1db4a5146105e057600080fd5b80632b112e49116101f357806351bc3c85116101ac57806351bc3c85146104b4578063571ac8b0146104c9578063658d4b7f146104e95780636cfcc86e146105095780636ddd17131461052957806370a082311461054a57600080fd5b80632b112e491461040e5780632e5b4c4314610423578063313ce567146104385780633554dd3c146104545780633d56ddc21461047457806340a24e6c1461049457600080fd5b80631161ae39116102455780631161ae391461036357806318160ddd146103835780631c499ab0146103985780631da1db5e146103b85780631df4ccfc146103d857806323b872dd146103ee57600080fd5b80630445b6671461028d5780630517d13d146102b657806306fdde03146102d857806308fd3d0514610312578063095ea7b31461034357600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a360225481565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b506102d66102d1366004611f2f565b610888565b005b3480156102e457600080fd5b506040805180820190915260088152674176617820496e7560c01b60208201525b6040516102ad9190611f48565b34801561031e57600080fd5b5060215461033390600160a01b900460ff1681565b60405190151581526020016102ad565b34801561034f57600080fd5b5061033361035e366004611fb9565b6108fa565b34801561036f57600080fd5b5061033361037e366004611fe3565b610967565b34801561038f57600080fd5b506005546102a3565b3480156103a457600080fd5b506102d66103b3366004611f2f565b61097b565b3480156103c457600080fd5b506102d66103d3366004611f2f565b6109e4565b3480156103e457600080fd5b506102a360135481565b3480156103fa57600080fd5b50610333610409366004612005565b610a38565b34801561041a57600080fd5b506102a3610afa565b34801561042f57600080fd5b506102d6610b4c565b34801561044457600080fd5b50604051600981526020016102ad565b34801561046057600080fd5b506102d661046f366004612041565b610b8b565b34801561048057600080fd5b506102d661048f366004611fe3565b610c14565b3480156104a057600080fd5b506102d66104af3660046120b4565b610c49565b3480156104c057600080fd5b506102d6610c9e565b3480156104d557600080fd5b506103336104e43660046120eb565b610cd2565b3480156104f557600080fd5b506102d66105043660046120b4565b610ce0565b34801561051557600080fd5b506102d6610524366004612106565b610d35565b34801561053557600080fd5b5060215461033390600160a81b900460ff1681565b34801561055657600080fd5b506102a36105653660046120eb565b6001600160a01b031660009081526008602052604090205490565b34801561058c57600080fd5b506102d6610dd4565b3480156105a157600080fd5b506102d6610e48565b3480156105b657600080fd5b506103336105c5366004611fb9565b610e7f565b3480156105d657600080fd5b506102a360075481565b3480156105ec57600080fd5b506102a360065481565b34801561060257600080fd5b506102d661061136600461218c565b610f7f565b34801561062257600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102ad565b34801561065457600080fd5b50600a546103339060ff1681565b34801561066e57600080fd5b5061033361067d3660046120eb565b600d6020526000908152604090205460ff1681565b34801561069e57600080fd5b506000546001600160a01b0316610630565b3480156106bc57600080fd5b50604080518082019091526004815263082ac82b60e31b6020820152610305565b3480156106e957600080fd5b506102d66106f83660046121cf565b611045565b34801561070957600080fd5b50602154610630906001600160a01b031681565b34801561072957600080fd5b50610333610738366004611fb9565b611091565b34801561074957600080fd5b506102d66107583660046121ed565b61109e565b34801561076957600080fd5b50600054610630906001600160a01b031681565b34801561078957600080fd5b506102a3610798366004611f2f565b6110d9565b3480156107a957600080fd5b506102a36107b8366004612219565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156107ef57600080fd5b506102d66107fe36600461224c565b611120565b34801561080f57600080fd5b5061033361081e3660046120eb565b600b6020526000908152604090205460ff1681565b34801561083f57600080fd5b506102d661084e3660046120eb565b61115d565b34801561085f57600080fd5b506102d6611247565b34801561087457600080fd5b50601f54610630906001600160a01b031681565b6000546001600160a01b031633146108bb5760405162461bcd60e51b81526004016108b290612269565b60405180910390fd5b6103e86005546108cb91906122b4565b60065410156108d957600080fd5b6103e8816005546108ea91906122d6565b6108f491906122b4565b60065550565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109559086815260200190565b60405180910390a35060015b92915050565b600082610973836110d9565b119392505050565b6000546001600160a01b031633146109a55760405162461bcd60e51b81526004016108b290612269565b6103e86005546109b591906122b4565b60075410156109c357600080fd5b6103e8816005546109d491906122d6565b6109de91906122b4565b60075550565b60195447906001600160a01b03166108fc6064610a0185856122d6565b610a0b91906122b4565b6040518115909202916000818181858888f19350505050158015610a33573d6000803e3d6000fd5b505050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610ae5576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610ac0918490611363565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610af084848461139d565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610b47906003546001600160a01b0316600090815260086020526040902054610b419060055490611765565b90611765565b905090565b6000546001600160a01b03163314610b765760405162461bcd60e51b81526004016108b290612269565b6021805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610bb55760405162461bcd60e51b81526004016108b290612269565b601880546001600160a01b03199081166001600160a01b039788161790915560198054821695871695909517909455601a8054851693861693909317909255601c80548416918516919091179055601b80549092169216919091179055565b6000546001600160a01b03163314610c3e5760405162461bcd60e51b81526004016108b290612269565b601d91909155601e55565b6000546001600160a01b03163314610c735760405162461bcd60e51b81526004016108b290612269565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610cc85760405162461bcd60e51b81526004016108b290612269565b610cd06117a7565b565b6000610961826000196108fa565b6000546001600160a01b03163314610d0a5760405162461bcd60e51b81526004016108b290612269565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d5f5760405162461bcd60e51b81526004016108b290612269565b60005b82811015610dce5781600b6000868685818110610d8157610d816122f5565b9050602002016020810190610d9691906120eb565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610dc78161230b565b9050610d62565b50505050565b6000546001600160a01b03163314610dfe5760405162461bcd60e51b81526004016108b290612269565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610e725760405162461bcd60e51b81526004016108b290612269565b6005546007819055600655565b336000908152600d602052604081205460ff16610e9b57600080fd5b81600003610f0e576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ee7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0b9190612324565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610f5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af3919061233d565b6000546001600160a01b03163314610fa95760405162461bcd60e51b81526004016108b290612269565b600e8690556011859055600f84905560108390556012829055610fda82610fd4858188818c8c611b8e565b90611b8e565b6013556014819055610fed6002826122b4565b6013541061103d5760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e203530250000000060448201526064016108b2565b505050505050565b6000546001600160a01b0316331461106f5760405162461bcd60e51b81526004016108b290612269565b60218054921515600160a81b0260ff60a81b1990931692909217909155602255565b6000610af333848461139d565b6000546001600160a01b031633146110c85760405162461bcd60e51b81526004016108b290612269565b601591909155601691909155601755565b60006109616110e6610afa565b6021546001600160a01b031660009081526008602052604090205461111a90611113906002905b9061129f565b859061129f565b90611321565b6000546001600160a01b0316331461114a5760405162461bcd60e51b81526004016108b290612269565b600a805460ff1916911515919091179055565b6000546001600160a01b031633146111875760405162461bcd60e51b81526004016108b290612269565b6001600160a01b0381166111ec5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108b2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600d602052604090205460ff1661126357600080fd5b601a546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561129c573d6000803e3d6000fd5b50565b6000826000036112b157506000610961565b60006112bd83856122d6565b9050826112ca85836122b4565b14610af35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108b2565b6000610af383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bed565b600081848411156113875760405162461bcd60e51b81526004016108b29190611f48565b506000611394848661235a565b95945050505050565b60235460009060ff16156113bd576113b6848484611c1b565b9050610af3565b6001600160a01b03841660009081526001602052604090205460ff161580156113ff57506001600160a01b03831660009081526001602052604090205460ff16155b1561145457602154600160a01b900460ff166114545760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016108b2565b600a5460ff16156114b6576001600160a01b0384166000908152600b602052604090205460ff16156114b65760405162461bcd60e51b815260206004820152600b60248201526a189b1858dadb1a5cdd195960aa1b60448201526064016108b2565b6001600160a01b03841660009081526001602052604090205460ff161580156114e857506001600160a01b0383163014155b801561150257506003546001600160a01b03848116911614155b801561151c57506021546001600160a01b03848116911614155b80156115365750601c546001600160a01b03848116911614155b801561155057506019546001600160a01b03848116911614155b801561157557506001600160a01b0383166000908152600d602052604090205460ff16155b15611616576001600160a01b0383166000908152600860205260409020546007546115a08483612371565b11156116145760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016108b2565b505b6116208483611cef565b611628611d5c565b15611635576116356117a7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611687918490611363565b6001600160a01b038516600090815260086020908152604080832093909355600c90529081205460ff16806116d457506001600160a01b0384166000908152600c602052604090205460ff165b6116e8576116e3858486611db2565b6116ea565b825b6001600160a01b0385166000908152600860205260409020549091506117109082611b8e565b6001600160a01b038086166000818152600860205260409081902093909355915190871690600080516020612429833981519152906117529085815260200190565b60405180910390a3506001949350505050565b6000610af383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611363565b6023805460ff19166001179055601d54601e546000916117c691610967565b6117d257600e546117d5565b60005b905060006117f9600261111a60135461111a8660225461129f90919063ffffffff16565b905060006118128260225461176590919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061184c5761184c6122f5565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061187d5761187d6122f5565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b81524792919091169063791ac947906118c7908690600090879030904290600401612389565b600060405180830381600087803b1580156118e157600080fd5b505af11580156118f5573d6000803e3d6000fd5b50505050600061190e824761176590919063ffffffff16565b90506000611929611920886002611321565b60135490611765565b9050600061193e600261111a8481878d61129f565b9050600061195b8361111a600f548761129f90919063ffffffff16565b905060006119788461111a6011548861129f90919063ffffffff16565b905060006119958561111a6010548961129f90919063ffffffff16565b6019546040519192506000916001600160a01b039091169085908381818185875af1925050503d80600081146119e7576040519150601f19603f3d011682016040523d82523d6000602084013e6119ec565b606091505b5050601a546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611a3c576040519150601f19603f3d011682016040523d82523d6000602084013e611a41565b606091505b5050601b546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611a91576040519150601f19603f3d011682016040523d82523d6000602084013e611a96565b606091505b5060009250508b159050611b7657601f5460185460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611b14573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b3991906123fa565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b600080611b9b8385612371565b905083811015610af35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108b2565b60008183611c0e5760405162461bcd60e51b81526004016108b29190611f48565b50600061139484866122b4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611c6c918490611363565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611c9b9083611b8e565b6001600160a01b03808516600081815260086020526040908190209390935591519086169060008051602061242983398151915290611cdd9086815260200190565b60405180910390a35060019392505050565b60065481111580611d1857506001600160a01b0382166000908152600d602052604090205460ff165b611d585760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108b2565b5050565b6021546000906001600160a01b03163314801590611d7d575060235460ff16155b8015611d925750602154600160a81b900460ff165b8015610b4757505060225430600090815260086020526040902054101590565b601754602154600091906001600160a01b0390811690841603611dd85750601554611df3565b6021546001600160a01b0390811690861603611df357506016545b6000611e206014546064611e0791906122d6565b61111a8461110d6013548a61129f90919063ffffffff16565b90506000611e3f60135461111a6012548561129f90919063ffffffff16565b90506000611e4d8383611765565b30600090815260086020526040902054909150611e6a9082611b8e565b3060009081526008602052604080822092909255601c546001600160a01b031681522054611e989083611b8e565b601c546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b1691600080516020612429833981519152910160405180910390a38115611f1957601c546040518381526001600160a01b03918216918a16906000805160206124298339815191529060200160405180910390a35b611f238784611765565b98975050505050505050565b600060208284031215611f4157600080fd5b5035919050565b600060208083528351808285015260005b81811015611f7557858101830151858201604001528201611f59565b81811115611f87576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114611fb457600080fd5b919050565b60008060408385031215611fcc57600080fd5b611fd583611f9d565b946020939093013593505050565b60008060408385031215611ff657600080fd5b50508035926020909101359150565b60008060006060848603121561201a57600080fd5b61202384611f9d565b925061203160208501611f9d565b9150604084013590509250925092565b600080600080600060a0868803121561205957600080fd5b61206286611f9d565b945061207060208701611f9d565b935061207e60408701611f9d565b925061208c60608701611f9d565b915061209a60808701611f9d565b90509295509295909350565b801515811461129c57600080fd5b600080604083850312156120c757600080fd5b6120d083611f9d565b915060208301356120e0816120a6565b809150509250929050565b6000602082840312156120fd57600080fd5b610af382611f9d565b60008060006040848603121561211b57600080fd5b833567ffffffffffffffff8082111561213357600080fd5b818601915086601f83011261214757600080fd5b81358181111561215657600080fd5b8760208260051b850101111561216b57600080fd5b60209283019550935050840135612181816120a6565b809150509250925092565b60008060008060008060c087890312156121a557600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156121e257600080fd5b8235611fd5816120a6565b60008060006060848603121561220257600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561222c57600080fd5b61223583611f9d565b915061224360208401611f9d565b90509250929050565b60006020828403121561225e57600080fd5b8135610af3816120a6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826122d157634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156122f0576122f061229e565b500290565b634e487b7160e01b600052603260045260246000fd5b60006001820161231d5761231d61229e565b5060010190565b60006020828403121561233657600080fd5b5051919050565b60006020828403121561234f57600080fd5b8151610af3816120a6565b60008282101561236c5761236c61229e565b500390565b600082198211156123845761238461229e565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156123d95784516001600160a01b0316835293830193918301916001016123b4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561240f57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209a06293d06f934d593ed999b4ce47858015b76ab05b72146f5e3b852511f41f464736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106102815760003560e01c8063715018a61161014f5780639cb7004c116100c1578063dd62ed3e1161007a578063dd62ed3e1461079d578063eb855ec3146107e3578063ed6a596514610803578063f2fde38b14610833578063f429389014610853578063f887ea401461086857600080fd5b80639cb7004c146106dd578063a8aa1b31146106fd578063a9059cbb1461071d578063a983e4c81461073d578063b2bdfa7b1461075d578063d51ed1c81461077d57600080fd5b8063848367781161011357806384836778146105f6578063893d20e814610616578063896648c1146106485780638b42507f146106625780638da5cb5b1461069257806395d89b41146106b057600080fd5b8063715018a614610580578063751039fc1461059557806377b54bad146105aa57806378109e54146105ca5780637d1db4a5146105e057600080fd5b80632b112e49116101f357806351bc3c85116101ac57806351bc3c85146104b4578063571ac8b0146104c9578063658d4b7f146104e95780636cfcc86e146105095780636ddd17131461052957806370a082311461054a57600080fd5b80632b112e491461040e5780632e5b4c4314610423578063313ce567146104385780633554dd3c146104545780633d56ddc21461047457806340a24e6c1461049457600080fd5b80631161ae39116102455780631161ae391461036357806318160ddd146103835780631c499ab0146103985780631da1db5e146103b85780631df4ccfc146103d857806323b872dd146103ee57600080fd5b80630445b6671461028d5780630517d13d146102b657806306fdde03146102d857806308fd3d0514610312578063095ea7b31461034357600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a360225481565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b506102d66102d1366004611f2f565b610888565b005b3480156102e457600080fd5b506040805180820190915260088152674176617820496e7560c01b60208201525b6040516102ad9190611f48565b34801561031e57600080fd5b5060215461033390600160a01b900460ff1681565b60405190151581526020016102ad565b34801561034f57600080fd5b5061033361035e366004611fb9565b6108fa565b34801561036f57600080fd5b5061033361037e366004611fe3565b610967565b34801561038f57600080fd5b506005546102a3565b3480156103a457600080fd5b506102d66103b3366004611f2f565b61097b565b3480156103c457600080fd5b506102d66103d3366004611f2f565b6109e4565b3480156103e457600080fd5b506102a360135481565b3480156103fa57600080fd5b50610333610409366004612005565b610a38565b34801561041a57600080fd5b506102a3610afa565b34801561042f57600080fd5b506102d6610b4c565b34801561044457600080fd5b50604051600981526020016102ad565b34801561046057600080fd5b506102d661046f366004612041565b610b8b565b34801561048057600080fd5b506102d661048f366004611fe3565b610c14565b3480156104a057600080fd5b506102d66104af3660046120b4565b610c49565b3480156104c057600080fd5b506102d6610c9e565b3480156104d557600080fd5b506103336104e43660046120eb565b610cd2565b3480156104f557600080fd5b506102d66105043660046120b4565b610ce0565b34801561051557600080fd5b506102d6610524366004612106565b610d35565b34801561053557600080fd5b5060215461033390600160a81b900460ff1681565b34801561055657600080fd5b506102a36105653660046120eb565b6001600160a01b031660009081526008602052604090205490565b34801561058c57600080fd5b506102d6610dd4565b3480156105a157600080fd5b506102d6610e48565b3480156105b657600080fd5b506103336105c5366004611fb9565b610e7f565b3480156105d657600080fd5b506102a360075481565b3480156105ec57600080fd5b506102a360065481565b34801561060257600080fd5b506102d661061136600461218c565b610f7f565b34801561062257600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102ad565b34801561065457600080fd5b50600a546103339060ff1681565b34801561066e57600080fd5b5061033361067d3660046120eb565b600d6020526000908152604090205460ff1681565b34801561069e57600080fd5b506000546001600160a01b0316610630565b3480156106bc57600080fd5b50604080518082019091526004815263082ac82b60e31b6020820152610305565b3480156106e957600080fd5b506102d66106f83660046121cf565b611045565b34801561070957600080fd5b50602154610630906001600160a01b031681565b34801561072957600080fd5b50610333610738366004611fb9565b611091565b34801561074957600080fd5b506102d66107583660046121ed565b61109e565b34801561076957600080fd5b50600054610630906001600160a01b031681565b34801561078957600080fd5b506102a3610798366004611f2f565b6110d9565b3480156107a957600080fd5b506102a36107b8366004612219565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156107ef57600080fd5b506102d66107fe36600461224c565b611120565b34801561080f57600080fd5b5061033361081e3660046120eb565b600b6020526000908152604090205460ff1681565b34801561083f57600080fd5b506102d661084e3660046120eb565b61115d565b34801561085f57600080fd5b506102d6611247565b34801561087457600080fd5b50601f54610630906001600160a01b031681565b6000546001600160a01b031633146108bb5760405162461bcd60e51b81526004016108b290612269565b60405180910390fd5b6103e86005546108cb91906122b4565b60065410156108d957600080fd5b6103e8816005546108ea91906122d6565b6108f491906122b4565b60065550565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109559086815260200190565b60405180910390a35060015b92915050565b600082610973836110d9565b119392505050565b6000546001600160a01b031633146109a55760405162461bcd60e51b81526004016108b290612269565b6103e86005546109b591906122b4565b60075410156109c357600080fd5b6103e8816005546109d491906122d6565b6109de91906122b4565b60075550565b60195447906001600160a01b03166108fc6064610a0185856122d6565b610a0b91906122b4565b6040518115909202916000818181858888f19350505050158015610a33573d6000803e3d6000fd5b505050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610ae5576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610ac0918490611363565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610af084848461139d565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610b47906003546001600160a01b0316600090815260086020526040902054610b419060055490611765565b90611765565b905090565b6000546001600160a01b03163314610b765760405162461bcd60e51b81526004016108b290612269565b6021805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610bb55760405162461bcd60e51b81526004016108b290612269565b601880546001600160a01b03199081166001600160a01b039788161790915560198054821695871695909517909455601a8054851693861693909317909255601c80548416918516919091179055601b80549092169216919091179055565b6000546001600160a01b03163314610c3e5760405162461bcd60e51b81526004016108b290612269565b601d91909155601e55565b6000546001600160a01b03163314610c735760405162461bcd60e51b81526004016108b290612269565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610cc85760405162461bcd60e51b81526004016108b290612269565b610cd06117a7565b565b6000610961826000196108fa565b6000546001600160a01b03163314610d0a5760405162461bcd60e51b81526004016108b290612269565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d5f5760405162461bcd60e51b81526004016108b290612269565b60005b82811015610dce5781600b6000868685818110610d8157610d816122f5565b9050602002016020810190610d9691906120eb565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610dc78161230b565b9050610d62565b50505050565b6000546001600160a01b03163314610dfe5760405162461bcd60e51b81526004016108b290612269565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610e725760405162461bcd60e51b81526004016108b290612269565b6005546007819055600655565b336000908152600d602052604081205460ff16610e9b57600080fd5b81600003610f0e576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ee7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0b9190612324565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610f5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af3919061233d565b6000546001600160a01b03163314610fa95760405162461bcd60e51b81526004016108b290612269565b600e8690556011859055600f84905560108390556012829055610fda82610fd4858188818c8c611b8e565b90611b8e565b6013556014819055610fed6002826122b4565b6013541061103d5760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e203530250000000060448201526064016108b2565b505050505050565b6000546001600160a01b0316331461106f5760405162461bcd60e51b81526004016108b290612269565b60218054921515600160a81b0260ff60a81b1990931692909217909155602255565b6000610af333848461139d565b6000546001600160a01b031633146110c85760405162461bcd60e51b81526004016108b290612269565b601591909155601691909155601755565b60006109616110e6610afa565b6021546001600160a01b031660009081526008602052604090205461111a90611113906002905b9061129f565b859061129f565b90611321565b6000546001600160a01b0316331461114a5760405162461bcd60e51b81526004016108b290612269565b600a805460ff1916911515919091179055565b6000546001600160a01b031633146111875760405162461bcd60e51b81526004016108b290612269565b6001600160a01b0381166111ec5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108b2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600d602052604090205460ff1661126357600080fd5b601a546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561129c573d6000803e3d6000fd5b50565b6000826000036112b157506000610961565b60006112bd83856122d6565b9050826112ca85836122b4565b14610af35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108b2565b6000610af383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bed565b600081848411156113875760405162461bcd60e51b81526004016108b29190611f48565b506000611394848661235a565b95945050505050565b60235460009060ff16156113bd576113b6848484611c1b565b9050610af3565b6001600160a01b03841660009081526001602052604090205460ff161580156113ff57506001600160a01b03831660009081526001602052604090205460ff16155b1561145457602154600160a01b900460ff166114545760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016108b2565b600a5460ff16156114b6576001600160a01b0384166000908152600b602052604090205460ff16156114b65760405162461bcd60e51b815260206004820152600b60248201526a189b1858dadb1a5cdd195960aa1b60448201526064016108b2565b6001600160a01b03841660009081526001602052604090205460ff161580156114e857506001600160a01b0383163014155b801561150257506003546001600160a01b03848116911614155b801561151c57506021546001600160a01b03848116911614155b80156115365750601c546001600160a01b03848116911614155b801561155057506019546001600160a01b03848116911614155b801561157557506001600160a01b0383166000908152600d602052604090205460ff16155b15611616576001600160a01b0383166000908152600860205260409020546007546115a08483612371565b11156116145760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016108b2565b505b6116208483611cef565b611628611d5c565b15611635576116356117a7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611687918490611363565b6001600160a01b038516600090815260086020908152604080832093909355600c90529081205460ff16806116d457506001600160a01b0384166000908152600c602052604090205460ff165b6116e8576116e3858486611db2565b6116ea565b825b6001600160a01b0385166000908152600860205260409020549091506117109082611b8e565b6001600160a01b038086166000818152600860205260409081902093909355915190871690600080516020612429833981519152906117529085815260200190565b60405180910390a3506001949350505050565b6000610af383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611363565b6023805460ff19166001179055601d54601e546000916117c691610967565b6117d257600e546117d5565b60005b905060006117f9600261111a60135461111a8660225461129f90919063ffffffff16565b905060006118128260225461176590919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061184c5761184c6122f5565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061187d5761187d6122f5565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b81524792919091169063791ac947906118c7908690600090879030904290600401612389565b600060405180830381600087803b1580156118e157600080fd5b505af11580156118f5573d6000803e3d6000fd5b50505050600061190e824761176590919063ffffffff16565b90506000611929611920886002611321565b60135490611765565b9050600061193e600261111a8481878d61129f565b9050600061195b8361111a600f548761129f90919063ffffffff16565b905060006119788461111a6011548861129f90919063ffffffff16565b905060006119958561111a6010548961129f90919063ffffffff16565b6019546040519192506000916001600160a01b039091169085908381818185875af1925050503d80600081146119e7576040519150601f19603f3d011682016040523d82523d6000602084013e6119ec565b606091505b5050601a546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611a3c576040519150601f19603f3d011682016040523d82523d6000602084013e611a41565b606091505b5050601b546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611a91576040519150601f19603f3d011682016040523d82523d6000602084013e611a96565b606091505b5060009250508b159050611b7657601f5460185460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611b14573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b3991906123fa565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b600080611b9b8385612371565b905083811015610af35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108b2565b60008183611c0e5760405162461bcd60e51b81526004016108b29190611f48565b50600061139484866122b4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611c6c918490611363565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611c9b9083611b8e565b6001600160a01b03808516600081815260086020526040908190209390935591519086169060008051602061242983398151915290611cdd9086815260200190565b60405180910390a35060019392505050565b60065481111580611d1857506001600160a01b0382166000908152600d602052604090205460ff165b611d585760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108b2565b5050565b6021546000906001600160a01b03163314801590611d7d575060235460ff16155b8015611d925750602154600160a81b900460ff165b8015610b4757505060225430600090815260086020526040902054101590565b601754602154600091906001600160a01b0390811690841603611dd85750601554611df3565b6021546001600160a01b0390811690861603611df357506016545b6000611e206014546064611e0791906122d6565b61111a8461110d6013548a61129f90919063ffffffff16565b90506000611e3f60135461111a6012548561129f90919063ffffffff16565b90506000611e4d8383611765565b30600090815260086020526040902054909150611e6a9082611b8e565b3060009081526008602052604080822092909255601c546001600160a01b031681522054611e989083611b8e565b601c546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b1691600080516020612429833981519152910160405180910390a38115611f1957601c546040518381526001600160a01b03918216918a16906000805160206124298339815191529060200160405180910390a35b611f238784611765565b98975050505050505050565b600060208284031215611f4157600080fd5b5035919050565b600060208083528351808285015260005b81811015611f7557858101830151858201604001528201611f59565b81811115611f87576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114611fb457600080fd5b919050565b60008060408385031215611fcc57600080fd5b611fd583611f9d565b946020939093013593505050565b60008060408385031215611ff657600080fd5b50508035926020909101359150565b60008060006060848603121561201a57600080fd5b61202384611f9d565b925061203160208501611f9d565b9150604084013590509250925092565b600080600080600060a0868803121561205957600080fd5b61206286611f9d565b945061207060208701611f9d565b935061207e60408701611f9d565b925061208c60608701611f9d565b915061209a60808701611f9d565b90509295509295909350565b801515811461129c57600080fd5b600080604083850312156120c757600080fd5b6120d083611f9d565b915060208301356120e0816120a6565b809150509250929050565b6000602082840312156120fd57600080fd5b610af382611f9d565b60008060006040848603121561211b57600080fd5b833567ffffffffffffffff8082111561213357600080fd5b818601915086601f83011261214757600080fd5b81358181111561215657600080fd5b8760208260051b850101111561216b57600080fd5b60209283019550935050840135612181816120a6565b809150509250925092565b60008060008060008060c087890312156121a557600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156121e257600080fd5b8235611fd5816120a6565b60008060006060848603121561220257600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561222c57600080fd5b61223583611f9d565b915061224360208401611f9d565b90509250929050565b60006020828403121561225e57600080fd5b8135610af3816120a6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826122d157634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156122f0576122f061229e565b500290565b634e487b7160e01b600052603260045260246000fd5b60006001820161231d5761231d61229e565b5060010190565b60006020828403121561233657600080fd5b5051919050565b60006020828403121561234f57600080fd5b8151610af3816120a6565b60008282101561236c5761236c61229e565b500390565b600082198211156123845761238461229e565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156123d95784516001600160a01b0316835293830193918301916001016123b4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561240f57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209a06293d06f934d593ed999b4ce47858015b76ab05b72146f5e3b852511f41f464736f6c634300080e0033

Deployed Bytecode Sourcemap

5112:13930:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6903:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6903:55:0;;;;;;;;9964:231;;;;;;;;;;-1:-1:-1;9964:231:0;;;;;:::i;:::-;;:::i;:::-;;8394:80;;;;;;;;;;-1:-1:-1;8466:5:0;;;;;;;;;;;;-1:-1:-1;;;8466:5:0;;;;8394:80;;;;;;;:::i;6822:31::-;;;;;;;;;;-1:-1:-1;6822:31:0;;;;-1:-1:-1;;;6822:31:0;;;;;;;;;1148:14:1;;1141:22;1123:41;;1111:2;1096:18;6822:31:0;983:187:1;8816:216:0;;;;;;;;;;-1:-1:-1;8816:216:0;;;;;:::i;:::-;;:::i;18818:150::-;;;;;;;;;;-1:-1:-1;18818:150:0;;;;;:::i;:::-;;:::i;8124:88::-;;;;;;;;;;-1:-1:-1;8197:12:0;;8124:88;;9716:240;;;;;;;;;;-1:-1:-1;9716:240:0;;;;;:::i;:::-;;:::i;13437:207::-;;;;;;;;;;-1:-1:-1;13437:207:0;;;;;:::i;:::-;;:::i;6178:89::-;;;;;;;;;;;;;;;;9334:370;;;;;;;;;;-1:-1:-1;9334:370:0;;;;;:::i;:::-;;:::i;18493:142::-;;;;;;;;;;;;;:::i;14577:78::-;;;;;;;;;;;;;:::i;8218:80::-;;;;;;;;;;-1:-1:-1;8218:80:0;;5451:1;2340:36:1;;2328:2;2313:18;8218:80:0;2198:184:1;17701:434:0;;;;;;;;;;-1:-1:-1;17701:434:0;;;;;:::i;:::-;;:::i;18301:180::-;;;;;;;;;;-1:-1:-1;18301:180:0;;;;;:::i;:::-;;:::i;16994:123::-;;;;;;;;;;-1:-1:-1;16994:123:0;;;;;:::i;:::-;;:::i;13653:82::-;;;;;;;;;;;;;:::i;9040:122::-;;;;;;;;;;-1:-1:-1;9040:122:0;;;;;:::i;:::-;;:::i;16867:119::-;;;;;;;;;;-1:-1:-1;16867:119:0;;;;;:::i;:::-;;:::i;16651:204::-;;;;;;;;;;-1:-1:-1;16651:204:0;;;;;:::i;:::-;;:::i;6866:30::-;;;;;;;;;;-1:-1:-1;6866:30:0;;;;-1:-1:-1;;;6866:30:0;;;;;;8564:105;;;;;;;;;;-1:-1:-1;8564:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8648:18:0;8630:7;8648:18;;;:9;:18;;;;;;;8564:105;3169:148;;;;;;;;;;;;;:::i;13743:133::-;;;;;;;;;;;;;:::i;14047:308::-;;;;;;;;;;-1:-1:-1;14047:308:0;;;;;:::i;:::-;;:::i;5585:61::-;;;;;;;;;;;;;;;;5520:58;;;;;;;;;;;;;;;;17125:568;;;;;;;;;;-1:-1:-1;17125:568:0;;;;;:::i;:::-;;:::i;8480:78::-;;;;;;;;;;-1:-1:-1;8532:7:0;3020:6;-1:-1:-1;;;;;3020:6:0;8480:78;;;-1:-1:-1;;;;;4957:32:1;;;4939:51;;4927:2;4912:18;8480:78:0;4793:203:1;5770:32:0;;;;;;;;;;-1:-1:-1;5770:32:0;;;;;;;;5910:48;;;;;;;;;;-1:-1:-1;5910:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2955:79;;;;;;;;;;-1:-1:-1;2993:7:0;3020:6;-1:-1:-1;;;;;3020:6:0;2955:79;;8304:84;;;;;;;;;;-1:-1:-1;8378:7:0;;;;;;;;;;;;-1:-1:-1;;;8378:7:0;;;;8304:84;;18143:150;;;;;;;;;;-1:-1:-1;18143:150:0;;;;;:::i;:::-;;:::i;6790:19::-;;;;;;;;;;-1:-1:-1;6790:19:0;;;;-1:-1:-1;;;;;6790:19:0;;;9170:156;;;;;;;;;;-1:-1:-1;9170:156:0;;;;;:::i;:::-;;:::i;14363:206::-;;;;;;;;;;-1:-1:-1;14363:206:0;;;;;:::i;:::-;;:::i;2575:21::-;;;;;;;;;;-1:-1:-1;2575:21:0;;;;-1:-1:-1;;;;;2575:21:0;;;18643:167;;;;;;;;;;-1:-1:-1;18643:167:0;;;;;:::i;:::-;;:::i;8675:133::-;;;;;;;;;;-1:-1:-1;8675:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8777:19:0;;;8759:7;8777:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8675:133;16542:96;;;;;;;;;;-1:-1:-1;16542:96:0;;;;;:::i;:::-;;:::i;5809:46::-;;;;;;;;;;-1:-1:-1;5809:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3325:244;;;;;;;;;;-1:-1:-1;3325:244:0;;;;;:::i;:::-;;:::i;13884:155::-;;;;;;;;;;;;;:::i;6720:24::-;;;;;;;;;;-1:-1:-1;6720:24:0;;;;-1:-1:-1;;;;;6720:24:0;;;9964:231;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;;;;;;;;;10086:4:::1;10071:12;;:19;;;;:::i;:::-;10055:12;;:35;;10047:44;;;::::0;::::1;;10183:4;10166:12;10151;;:27;;;;:::i;:::-;10150:37;;;;:::i;:::-;10135:12;:52:::0;-1:-1:-1;9964:231:0:o;8816:216::-;8920:10;8891:4;8908:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8908:32:0;;;;;;;;;;:41;;;8965:37;8891:4;;8908:32;;8965:37;;;;8943:6;160:25:1;;148:2;133:18;;14:177;8965:37:0;;;;;;;;-1:-1:-1;9020:4:0;8816:216;;;;;:::o;18818:150::-;18898:4;18954:6;18922:29;18942:8;18922:19;:29::i;:::-;:38;;18818:150;-1:-1:-1;;;18818:150:0:o;9716:240::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;9838:4:::1;9823:12;;:19;;;;:::i;:::-;9804:15;;:38;;9796:47;;;::::0;::::1;;9926:4;9907:14;9892:12;;:29;;;;:::i;:::-;9891:39;;;;:::i;:::-;9873:15;:57:::0;-1:-1:-1;9716:240:0:o;13437:207::-;13570:20;;13530:21;;-1:-1:-1;;;;;13570:20:0;13562:74;13632:3;13601:28;13613:16;13530:21;13601:28;:::i;:::-;:34;;;;:::i;:::-;13562:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13499:145;13437:207;:::o;9334:370::-;-1:-1:-1;;;;;9454:19:0;;9434:4;9454:19;;;:11;:19;;;;;;;;9474:10;9454:31;;;;;;;;-1:-1:-1;;9454:52:0;9451:186;;9556:69;;;;;;;;;;;-1:-1:-1;;;9556:69:0;;;;;;;;-1:-1:-1;;;;;9556:19:0;;-1:-1:-1;9556:19:0;;;:11;:19;;;;;9576:10;9556:31;;;;;;;;;;:69;;9592:6;;9556:35;:69::i;:::-;-1:-1:-1;;;;;9522:19:0;;;;;;:11;:19;;;;;;;;9542:10;9522:31;;;;;;;:103;9451:186;9656:40;9670:6;9678:9;9689:6;9656:13;:40::i;:::-;9649:47;;9334:370;;;;;;:::o;18493:142::-;18621:4;;-1:-1:-1;;;;;18621:4:0;18546:7;8648:18;;;:9;:18;;;;;;18573:54;;18600:4;;-1:-1:-1;;;;;18600:4:0;8630:7;8648:18;;;:9;:18;;;;;;18573:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;18566:61;;18493:142;:::o;14577:78::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;14629:11:::1;:18:::0;;-1:-1:-1;;;;14629:18:0::1;-1:-1:-1::0;;;14629:18:0::1;::::0;;14577:78::o;17701:434::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;17893:21:::1;:46:::0;;-1:-1:-1;;;;;;17893:46:0;;::::1;-1:-1:-1::0;;;;;17893:46:0;;::::1;;::::0;;;17950:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18005:14:::1;:32:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18048:15:::1;:34:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;18093:15:::1;:34:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;17701:434::o;18301:180::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;18396:15:::1;:25:::0;;;;18432:26:::1;:41:::0;18301:180::o;16994:123::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17077:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;17077:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16994:123::o;13653:82::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;13711:10:::1;:8;:10::i;:::-;13653:82::o:0;9040:122::-;9095:4;9119:35;9127:7;-1:-1:-1;;9119:7:0;:35::i;16867:119::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16950:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;16950:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16867:119::o;16651:204::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;16747:9:::1;16742:106;16758:20:::0;;::::1;16742:106;;;16830:6;16800:13;:27;16814:9;;16824:1;16814:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16800:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;16800:27:0;:36;;-1:-1:-1;;16800:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16780:3:::1;::::0;::::1;:::i;:::-;;;16742:106;;;;16651:204:::0;;;:::o;3169:148::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;3276:1:::1;3260:6:::0;;3239:40:::1;::::0;-1:-1:-1;;;;;3260:6:0;;::::1;::::0;3239:40:::1;::::0;3276:1;;3239:40:::1;3307:1;3290:19:::0;;-1:-1:-1;;;;;;3290:19:0::1;::::0;;3169:148::o;13743:133::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;13816:12:::1;::::0;13798:15:::1;:30:::0;;;13839:12:::1;:27:::0;13743:133::o;14047:308::-;14167:10;14126:4;14151:27;;;:15;:27;;;;;;;;14143:36;;;;;;14190:6;14200:1;14190:11;14187:95;;14226:44;;-1:-1:-1;;;14226:44:0;;14264:4;14226:44;;;4939:51:1;-1:-1:-1;;;;;14226:29:0;;;;;4912:18:1;;14226:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14217:53;;14187:95;14299:48;;-1:-1:-1;;;14299:48:0;;14328:10;14299:48;;;7896:51:1;7963:18;;;7956:34;;;-1:-1:-1;;;;;14299:28:0;;;;;7869:18:1;;14299:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17125:568::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;17301:12:::1;:28:::0;;;17340:7:::1;:18:::0;;;17369:12:::1;:28:::0;;;17408:6:::1;:16:::0;;;17435:7:::1;:18:::0;;;17475:73:::1;17445:8:::0;17475:59:::1;17417:7:::0;17475:59;17384:13;17475:59;17316:13;17350:8;17475:17:::1;:27::i;:::-;:31:::0;::::1;:46::i;:73::-;17464:8;:84:::0;17559:14:::1;:32:::0;;;17621:16:::1;17636:1;17576:15:::0;17621:16:::1;:::i;:::-;17610:8;;:27;17602:68;;;::::0;-1:-1:-1;;;17602:68:0;;8453:2:1;17602:68:0::1;::::0;::::1;8435:21:1::0;8492:2;8472:18;;;8465:30;8531;8511:18;;;8504:58;8579:18;;17602:68:0::1;8251:352:1::0;17602:68:0::1;17125:568:::0;;;;;;:::o;18143:150::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;18229:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;18229:22:0::1;-1:-1:-1::0;;;;18229:22:0;;::::1;::::0;;;::::1;::::0;;;18262:13:::1;:23:::0;18143:150::o;9170:156::-;9250:4;9274:44;9288:10;9300:9;9311:6;9274:13;:44::i;14363:206::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;14454:14:::1;:22:::0;;;;14487:13:::1;:20:::0;;;;14518:18:::1;:27:::0;14363:206::o;18643:167::-;18711:7;18738:64;18779:22;:20;:22::i;:::-;18761:4;;-1:-1:-1;;;;;18761:4:0;8630:7;8648:18;;;:9;:18;;;;;;18738:36;;18751:22;;18771:1;;18751:15;:19;;:22::i;:::-;18738:8;;:12;:36::i;:::-;:40;;:64::i;16542:96::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;16607:13:::1;:23:::0;;-1:-1:-1;;16607:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16542:96::o;3325:244::-;3082:6;;-1:-1:-1;;;;;3082:6:0;2392:10;3082:22;3074:67;;;;-1:-1:-1;;;3074:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3414:22:0;::::1;3406:73;;;::::0;-1:-1:-1;;;3406:73:0;;8810:2:1;3406:73:0::1;::::0;::::1;8792:21:1::0;8849:2;8829:18;;;8822:30;8888:34;8868:18;;;8861:62;-1:-1:-1;;;8939:18:1;;;8932:36;8985:19;;3406:73:0::1;8608:402:1::0;3406:73:0::1;3516:6;::::0;;3495:38:::1;::::0;-1:-1:-1;;;;;3495:38:0;;::::1;::::0;3516:6;::::1;::::0;3495:38:::1;::::0;::::1;3544:6;:17:::0;;-1:-1:-1;;;;;;3544:17:0::1;-1:-1:-1::0;;;;;3544:17:0;;;::::1;::::0;;;::::1;::::0;;3325:244::o;13884:155::-;13951:10;13935:27;;;;:15;:27;;;;;;;;13927:36;;;;;;13982:14;;13974:55;;-1:-1:-1;;;;;13982:14:0;;;;14007:21;13974:55;;;;;13982:14;13974:55;13982:14;13974:55;14007:21;13982:14;13974:55;;;;;;;;;;;;;;;;;;;;;13884:155::o;754:250::-;812:7;836:1;841;836:6;832:47;;-1:-1:-1;866:1:0;859:8;;832:47;891:9;903:5;907:1;903;:5;:::i;:::-;891:17;-1:-1:-1;936:1:0;927:5;931:1;891:17;927:5;:::i;:::-;:10;919:56;;;;-1:-1:-1;;;919:56:0;;9217:2:1;919:56:0;;;9199:21:1;9256:2;9236:18;;;9229:30;9295:34;9275:18;;;9268:62;-1:-1:-1;;;9346:18:1;;;9339:31;9387:19;;919:56:0;9015:397:1;1010:132:0;1068:7;1095:39;1099:1;1102;1095:39;;;;;;;;;;;;;;;;;:3;:39::i;556:192::-;642:7;678:12;670:6;;;;662:29;;;;-1:-1:-1;;;662:29:0;;;;;;;;:::i;:::-;-1:-1:-1;702:9:0;714:5;718:1;714;:5;:::i;:::-;702:17;556:192;-1:-1:-1;;;;;556:192:0:o;10207:1429::-;10319:6;;10299:4;;10319:6;;10316:63;;;10335:41;10350:6;10358:9;10369:6;10335:14;:41::i;:::-;10328:48;;;;10316:63;-1:-1:-1;;;;;10395:22:0;;;;;;:14;:22;;;;;;;;10394:23;:53;;;;-1:-1:-1;;;;;;10422:25:0;;;;;;:14;:25;;;;;;;;10421:26;10394:53;10391:140;;;10471:11;;-1:-1:-1;;;10471:11:0;;;;10463:43;;;;-1:-1:-1;;;10463:43:0;;9749:2:1;10463:43:0;;;9731:21:1;9788:2;9768:18;;;9761:30;-1:-1:-1;;;9807:18:1;;;9800:50;9867:18;;10463:43:0;9547:344:1;10463:43:0;10578:13;;;;10575:93;;;-1:-1:-1;;;;;10616:21:0;;;;;;:13;:21;;;;;;;;10615:22;10607:45;;;;-1:-1:-1;;;10607:45:0;;10098:2:1;10607:45:0;;;10080:21:1;10137:2;10117:18;;;10110:30;-1:-1:-1;;;10156:18:1;;;10149:41;10207:18;;10607:45:0;9896:335:1;10607:45:0;-1:-1:-1;;;;;10685:22:0;;;;;;:14;:22;;;;;;;;10684:23;:53;;;;-1:-1:-1;;;;;;10711:26:0;;10732:4;10711:26;;10684:53;:84;;;;-1:-1:-1;10763:4:0;;-1:-1:-1;;;;;10742:26:0;;;10763:4;;10742:26;;10684:84;:105;;;;-1:-1:-1;10785:4:0;;-1:-1:-1;;;;;10772:17:0;;;10785:4;;10772:17;;10684:105;:137;;;;-1:-1:-1;10806:15:0;;-1:-1:-1;;;;;10793:28:0;;;10806:15;;10793:28;;10684:137;:174;;;;-1:-1:-1;10838:20:0;;-1:-1:-1;;;;;10825:33:0;;;10838:20;;10825:33;;10684:174;:205;;;;-1:-1:-1;;;;;;10863:26:0;;;;;;:15;:26;;;;;;;;10862:27;10684:205;10680:397;;;-1:-1:-1;;;;;8648:18:0;;10905;8648;;;:9;:18;;;;;;10994:15;;10970:19;10983:6;8648:18;10970:19;:::i;:::-;10969:40;;10961:114;;;;-1:-1:-1;;;10961:114:0;;10571:2:1;10961:114:0;;;10553:21:1;10610:2;10590:18;;;10583:30;10649:34;10629:18;;;10622:62;10720:32;10700:18;;;10693:60;10770:19;;10961:114:0;10369:426:1;10961:114:0;10890:187;10680:397;11130:28;11143:6;11151;11130:12;:28::i;:::-;11175:16;:14;:16::i;:::-;11172:35;;;11194:10;:8;:10::i;:::-;11287:53;;;;;;;;;;;-1:-1:-1;;;11287:53:0;;;;;;;;-1:-1:-1;;;;;11287:17:0;;-1:-1:-1;11287:17:0;;;:9;:17;;;;;;;;:53;;11309:6;;11287:21;:53::i;:::-;-1:-1:-1;;;;;11267:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11379:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;11402:22:0;;;;;;:11;:22;;;;;;;;11379:45;11378:93;;11437:34;11445:6;11453;11461:9;11437:7;:34::i;:::-;11378:93;;;11428:6;11378:93;-1:-1:-1;;;;;11505:20:0;;;;;;:9;:20;;;;;;11353:118;;-1:-1:-1;11505:40:0;;11353:118;11505:24;:40::i;:::-;-1:-1:-1;;;;;11482:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11563:43;;;;;;-1:-1:-1;;;;;;;;;;;11563:43:0;;;11591:14;160:25:1;;148:2;133:18;;14:177;11563:43:0;;;;;;;;-1:-1:-1;11624:4:0;;10207:1429;-1:-1:-1;;;;10207:1429:0:o;414:136::-;472:7;499:43;503:1;506;499:43;;;;;;;;;;;;;;;;;:3;:43::i;14673:1861::-;7006:6;:13;;-1:-1:-1;;7006:13:0;7015:4;7006:13;;;14768:15:::1;::::0;14785:26:::1;::::0;7006:6;;14752:60:::1;::::0;:15:::1;:60::i;:::-;:79;;14819:12;;14752:79;;;14815:1;14752:79;14722:109;;14842:23;14868:59;14925:1;14868:52;14911:8;;14868:38;14886:19;14868:13;;:17;;:38;;;;:::i;:59::-;14842:85;;14938:20;14961:34;14979:15;14961:13;;:17;;:34;;;;:::i;:::-;15032:16;::::0;;15046:1:::1;15032:16:::0;;;;;::::1;::::0;;14938:57;;-1:-1:-1;15008:21:0::1;::::0;15032:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15032:16:0::1;15008:40;;15077:4;15059;15064:1;15059:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15059:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15103:4:::1;::::0;15093:7;;15103:4;::::1;::::0;15093;;15103;;15093:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15093:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15178:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15178:188:0;;15144:21:::1;::::0;15178:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15250:12;;15120:21:::1;::::0;15293:4;;15320::::1;::::0;15340:15:::1;::::0;15178:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15379:17;15399:40;15425:13;15399:21;:25;;:40;;;;:::i;:::-;15379:60:::0;-1:-1:-1;15452:19:0::1;15474:40;15487:26;:19:::0;15511:1:::1;15487:23;:26::i;:::-;15474:8;::::0;;:12:::1;:40::i;:::-;15452:62:::0;-1:-1:-1;15535:26:0::1;15564:58;15620:1;15564:51;15452:62:::0;15564:51;:9;15578:19;15564:13:::1;:34::i;:58::-;15535:87;;15633:26;15662:44;15694:11;15662:27;15676:12;;15662:9;:13;;:27;;;;:::i;:44::-;15633:73;;15717:21;15741:39;15768:11;15741:22;15755:7;;15741:9;:13;;:22;;;;:::i;:39::-;15717:63;;15791:20;15814:38;15840:11;15814:21;15828:6;;15814:9;:13;;:21;;;;:::i;:38::-;15894:20;::::0;15886:65:::1;::::0;15791:61;;-1:-1:-1;15866:15:0::1;::::0;-1:-1:-1;;;;;15894:20:0;;::::1;::::0;15928:18;;15866:15;15886:65;15866:15;15886:65;15928:18;15894:20;15886:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15986:14:0::1;::::0;15978:53:::1;::::0;15865:86;;-1:-1:-1;;;;;;15986:14:0::1;::::0;16014:12;;15978:53:::1;::::0;;;16014:12;15986:14;15978:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16066:15:0::1;::::0;16058:55:::1;::::0;15962:69;;-1:-1:-1;;;;;;16066:15:0::1;::::0;16095:13;;16058:55:::1;::::0;;;16095:13;16066:15;16058:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16147:5:0::1;::::0;-1:-1:-1;;16168:19:0;;;-1:-1:-1;16165:362:0::1;;16203:6;::::0;16377:21:::1;::::0;16203:244:::1;::::0;-1:-1:-1;;;16203:244:0;;16279:4:::1;16203:244;::::0;::::1;12468:34:1::0;12518:18;;;12511:34;;;16203:6:0::1;12561:18:1::0;;;12554:34;;;12604:18;;;12597:34;-1:-1:-1;;;;;16377:21:0;;::::1;12647:19:1::0;;;12640:44;16417:15:0::1;12700:19:1::0;;;12693:35;16203:6:0;::::1;::::0;:22:::1;::::0;16233:18;;12402:19:1;;16203:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16467:48:0::1;::::0;;13224:25:1;;;13280:2;13265:18;;13258:34;;;16467:48:0::1;::::0;-1:-1:-1;13197:18:1;16467:48:0::1;;;;;;;16165:362;-1:-1:-1::0;;7024:6:0;:14;;-1:-1:-1;;7024:14:0;;;-1:-1:-1;;;;;;;;;;14673:1861:0:o;227:181::-;285:7;;317:5;321:1;317;:5;:::i;:::-;305:17;;346:1;341;:6;;333:46;;;;-1:-1:-1;;;333:46:0;;13505:2:1;333:46:0;;;13487:21:1;13544:2;13524:18;;;13517:30;13583:29;13563:18;;;13556:57;13630:18;;333:46:0;13303:351:1;1148:189:0;1234:7;1269:12;1262:5;1254:28;;;;-1:-1:-1;;;1254:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1293:9:0;1305:5;1309:1;1305;:5;:::i;11648:330::-;11778:53;;;;;;;;;;;-1:-1:-1;;;11778:53:0;;;;;;;;-1:-1:-1;;;;;11778:17:0;;11741:4;11778:17;;;:9;:17;;;;;;;:53;;11800:6;;11778:21;:53::i;:::-;-1:-1:-1;;;;;11758:17:0;;;;;;;:9;:17;;;;;;:73;;;;11865:20;;;;;;;:32;;11890:6;11865:24;:32::i;:::-;-1:-1:-1;;;;;11842:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11913:35;;;;;;-1:-1:-1;;;;;;;;;;;11913:35:0;;;11941:6;160:25:1;;148:2;133:18;;14:177;11913:35:0;;;;;;;;-1:-1:-1;11966:4:0;11648:330;;;;;:::o;11986:166::-;12083:12;;12073:6;:22;;:49;;;-1:-1:-1;;;;;;12099:23:0;;;;;;:15;:23;;;;;;;;12073:49;12065:79;;;;-1:-1:-1;;;12065:79:0;;13861:2:1;12065:79:0;;;13843:21:1;13900:2;13880:18;;;13873:30;-1:-1:-1;;;13919:18:1;;;13912:47;13976:18;;12065:79:0;13659:341:1;12065:79:0;11986:166;;:::o;13232:197::-;13319:4;;13281;;-1:-1:-1;;;;;13319:4:0;13305:10;:18;;;;:38;;-1:-1:-1;13337:6:0;;;;13336:7;13305:38;:62;;;;-1:-1:-1;13356:11:0;;-1:-1:-1;;;13356:11:0;;;;13305:62;:116;;;;-1:-1:-1;;13408:13:0;;13398:4;13380:24;;;;:9;:24;;;;;;:41;;;13232:197::o;12282:942::-;12419:18;;12466:4;;12368:7;;12419:18;-1:-1:-1;;;;;12466:4:0;;;12453:17;;;;12450:154;;-1:-1:-1;12500:14:0;;12450:154;;;12545:4;;-1:-1:-1;;;;;12545:4:0;;;12535:14;;;;12532:72;;-1:-1:-1;12579:13:0;;12532:72;12616:17;12636:62;12677:14;;12694:3;12677:20;;;;:::i;:::-;12636:36;12661:10;12636:20;12647:8;;12636:6;:10;;:20;;;;:::i;:62::-;12616:82;;12709:18;12730:36;12757:8;;12730:22;12744:7;;12730:9;:13;;:22;;;;:::i;:36::-;12709:57;-1:-1:-1;12777:22:0;12802:25;:9;12709:57;12802:13;:25::i;:::-;12885:4;12867:24;;;;:9;:24;;;;;;12777:50;;-1:-1:-1;12867:44:0;;12777:50;12867:28;:44::i;:::-;12858:4;12840:24;;;;:9;:24;;;;;;:71;;;;12961:15;;-1:-1:-1;;;;;12961:15:0;12951:26;;;;:42;;12982:10;12951:30;:42::i;:::-;12932:15;;-1:-1:-1;;;;;12932:15:0;;;12922:26;;;;:9;:26;;;;;;;;;:71;;;;13009:47;160:25:1;;;13034:4:0;;13009:47;;;;-1:-1:-1;;;;;;;;;;;13009:47:0;133:18:1;13009:47:0;;;;;;;13080:14;;13077:99;;13132:15;;13115:45;;160:25:1;;;-1:-1:-1;;;;;13132:15:0;;;;13115:45;;;-1:-1:-1;;;;;;;;;;;13115:45:0;148:2:1;133:18;13115:45:0;;;;;;;13077:99;13195:21;:6;13206:9;13195:10;:21::i;:::-;13188:28;12282:942;-1:-1:-1;;;;;;;;12282:942:0:o;196:180:1:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:1;;196:180;-1:-1:-1;196:180:1:o;381:597::-;493:4;522:2;551;540:9;533:21;583:6;577:13;626:6;621:2;610:9;606:18;599:34;651:1;661:140;675:6;672:1;669:13;661:140;;;770:14;;;766:23;;760:30;736:17;;;755:2;732:26;725:66;690:10;;661:140;;;819:6;816:1;813:13;810:91;;;889:1;884:2;875:6;864:9;860:22;856:31;849:42;810:91;-1:-1:-1;962:2:1;941:15;-1:-1:-1;;937:29:1;922:45;;;;969:2;918:54;;381:597;-1:-1:-1;;;381:597:1:o;1175:173::-;1243:20;;-1:-1:-1;;;;;1292:31:1;;1282:42;;1272:70;;1338:1;1335;1328:12;1272:70;1175:173;;;:::o;1353:254::-;1421:6;1429;1482:2;1470:9;1461:7;1457:23;1453:32;1450:52;;;1498:1;1495;1488:12;1450:52;1521:29;1540:9;1521:29;:::i;:::-;1511:39;1597:2;1582:18;;;;1569:32;;-1:-1:-1;;;1353:254:1:o;1612:248::-;1680:6;1688;1741:2;1729:9;1720:7;1716:23;1712:32;1709:52;;;1757:1;1754;1747:12;1709:52;-1:-1:-1;;1780:23:1;;;1850:2;1835:18;;;1822:32;;-1:-1:-1;1612:248:1:o;1865:328::-;1942:6;1950;1958;2011:2;1999:9;1990:7;1986:23;1982:32;1979:52;;;2027:1;2024;2017:12;1979:52;2050:29;2069:9;2050:29;:::i;:::-;2040:39;;2098:38;2132:2;2121:9;2117:18;2098:38;:::i;:::-;2088:48;;2183:2;2172:9;2168:18;2155:32;2145:42;;1865:328;;;;;:::o;2387:484::-;2482:6;2490;2498;2506;2514;2567:3;2555:9;2546:7;2542:23;2538:33;2535:53;;;2584:1;2581;2574:12;2535:53;2607:29;2626:9;2607:29;:::i;:::-;2597:39;;2655:38;2689:2;2678:9;2674:18;2655:38;:::i;:::-;2645:48;;2712:38;2746:2;2735:9;2731:18;2712:38;:::i;:::-;2702:48;;2769:38;2803:2;2792:9;2788:18;2769:38;:::i;:::-;2759:48;;2826:39;2860:3;2849:9;2845:19;2826:39;:::i;:::-;2816:49;;2387:484;;;;;;;;:::o;2876:118::-;2962:5;2955:13;2948:21;2941:5;2938:32;2928:60;;2984:1;2981;2974:12;2999:315;3064:6;3072;3125:2;3113:9;3104:7;3100:23;3096:32;3093:52;;;3141:1;3138;3131:12;3093:52;3164:29;3183:9;3164:29;:::i;:::-;3154:39;;3243:2;3232:9;3228:18;3215:32;3256:28;3278:5;3256:28;:::i;:::-;3303:5;3293:15;;;2999:315;;;;;:::o;3319:186::-;3378:6;3431:2;3419:9;3410:7;3406:23;3402:32;3399:52;;;3447:1;3444;3437:12;3399:52;3470:29;3489:9;3470:29;:::i;3510:750::-;3602:6;3610;3618;3671:2;3659:9;3650:7;3646:23;3642:32;3639:52;;;3687:1;3684;3677:12;3639:52;3727:9;3714:23;3756:18;3797:2;3789:6;3786:14;3783:34;;;3813:1;3810;3803:12;3783:34;3851:6;3840:9;3836:22;3826:32;;3896:7;3889:4;3885:2;3881:13;3877:27;3867:55;;3918:1;3915;3908:12;3867:55;3958:2;3945:16;3984:2;3976:6;3973:14;3970:34;;;4000:1;3997;3990:12;3970:34;4055:7;4048:4;4038:6;4035:1;4031:14;4027:2;4023:23;4019:34;4016:47;4013:67;;;4076:1;4073;4066:12;4013:67;4107:4;4099:13;;;;-1:-1:-1;4131:6:1;-1:-1:-1;;4172:20:1;;4159:34;4202:28;4159:34;4202:28;:::i;:::-;4249:5;4239:15;;;3510:750;;;;;:::o;4265:523::-;4369:6;4377;4385;4393;4401;4409;4462:3;4450:9;4441:7;4437:23;4433:33;4430:53;;;4479:1;4476;4469:12;4430:53;-1:-1:-1;;4502:23:1;;;4572:2;4557:18;;4544:32;;-1:-1:-1;4623:2:1;4608:18;;4595:32;;4674:2;4659:18;;4646:32;;-1:-1:-1;4725:3:1;4710:19;;4697:33;;-1:-1:-1;4777:3:1;4762:19;4749:33;;-1:-1:-1;4265:523:1;-1:-1:-1;4265:523:1:o;5001:309::-;5066:6;5074;5127:2;5115:9;5106:7;5102:23;5098:32;5095:52;;;5143:1;5140;5133:12;5095:52;5182:9;5169:23;5201:28;5223:5;5201:28;:::i;5315:316::-;5392:6;5400;5408;5461:2;5449:9;5440:7;5436:23;5432:32;5429:52;;;5477:1;5474;5467:12;5429:52;-1:-1:-1;;5500:23:1;;;5570:2;5555:18;;5542:32;;-1:-1:-1;5621:2:1;5606:18;;;5593:32;;5315:316;-1:-1:-1;5315:316:1:o;5636:260::-;5704:6;5712;5765:2;5753:9;5744:7;5740:23;5736:32;5733:52;;;5781:1;5778;5771:12;5733:52;5804:29;5823:9;5804:29;:::i;:::-;5794:39;;5852:38;5886:2;5875:9;5871:18;5852:38;:::i;:::-;5842:48;;5636:260;;;;;:::o;5901:241::-;5957:6;6010:2;5998:9;5989:7;5985:23;5981:32;5978:52;;;6026:1;6023;6016:12;5978:52;6065:9;6052:23;6084:28;6106:5;6084:28;:::i;6373:356::-;6575:2;6557:21;;;6594:18;;;6587:30;6653:34;6648:2;6633:18;;6626:62;6720:2;6705:18;;6373:356::o;6734:127::-;6795:10;6790:3;6786:20;6783:1;6776:31;6826:4;6823:1;6816:15;6850:4;6847:1;6840:15;6866:217;6906:1;6932;6922:132;;6976:10;6971:3;6967:20;6964:1;6957:31;7011:4;7008:1;7001:15;7039:4;7036:1;7029:15;6922:132;-1:-1:-1;7068:9:1;;6866:217::o;7088:168::-;7128:7;7194:1;7190;7186:6;7182:14;7179:1;7176:21;7171:1;7164:9;7157:17;7153:45;7150:71;;;7201:18;;:::i;:::-;-1:-1:-1;7241:9:1;;7088:168::o;7261:127::-;7322:10;7317:3;7313:20;7310:1;7303:31;7353:4;7350:1;7343:15;7377:4;7374:1;7367:15;7393:135;7432:3;7453:17;;;7450:43;;7473:18;;:::i;:::-;-1:-1:-1;7520:1:1;7509:13;;7393:135::o;7533:184::-;7603:6;7656:2;7644:9;7635:7;7631:23;7627:32;7624:52;;;7672:1;7669;7662:12;7624:52;-1:-1:-1;7695:16:1;;7533:184;-1:-1:-1;7533:184:1:o;8001:245::-;8068:6;8121:2;8109:9;8100:7;8096:23;8092:32;8089:52;;;8137:1;8134;8127:12;8089:52;8169:9;8163:16;8188:28;8210:5;8188:28;:::i;9417:125::-;9457:4;9485:1;9482;9479:8;9476:34;;;9490:18;;:::i;:::-;-1:-1:-1;9527:9:1;;9417:125::o;10236:128::-;10276:3;10307:1;10303:6;10300:1;10297:13;10294:39;;;10313:18;;:::i;:::-;-1:-1:-1;10349:9:1;;10236:128::o;10932:980::-;11194:4;11242:3;11231:9;11227:19;11273:6;11262:9;11255:25;11299:2;11337:6;11332:2;11321:9;11317:18;11310:34;11380:3;11375:2;11364:9;11360:18;11353:31;11404:6;11439;11433:13;11470:6;11462;11455:22;11508:3;11497:9;11493:19;11486:26;;11547:2;11539:6;11535:15;11521:29;;11568:1;11578:195;11592:6;11589:1;11586:13;11578:195;;;11657:13;;-1:-1:-1;;;;;11653:39:1;11641:52;;11748:15;;;;11713:12;;;;11689:1;11607:9;11578:195;;;-1:-1:-1;;;;;;;11829:32:1;;;;11824:2;11809:18;;11802:60;-1:-1:-1;;;11893:3:1;11878:19;11871:35;11790:3;10932:980;-1:-1:-1;;;10932:980:1:o;12739:306::-;12827:6;12835;12843;12896:2;12884:9;12875:7;12871:23;12867:32;12864:52;;;12912:1;12909;12902:12;12864:52;12941:9;12935:16;12925:26;;12991:2;12980:9;12976:18;12970:25;12960:35;;13035:2;13024:9;13020:18;13014:25;13004:35;;12739:306;;;;;:::o

Swarm Source

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