ETH Price: $2,389.25 (-4.62%)

Token

Fuck Zuck | FZuck.co (FZUCK)
 

Overview

Max Total Supply

1,000,000,000,000 FZUCK

Holders

129

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,241,430,550.494637718 FZUCK

Value
$0.00
0xafef43ece4a1897640340e9eecd570e1a766b9c6
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:
FZuck

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-12
*/

/**

$$$$$$$$\                  $$\             $$$$$$$$\                    $$\       
$$  _____|                 $$ |            \____$$  |                   $$ |      
$$ |   $$\   $$\  $$$$$$$\ $$ |  $$\           $$  /$$\   $$\  $$$$$$$\ $$ |  $$\ 
$$$$$\ $$ |  $$ |$$  _____|$$ | $$  |         $$  / $$ |  $$ |$$  _____|$$ | $$  |
$$  __|$$ |  $$ |$$ /      $$$$$$  /         $$  /  $$ |  $$ |$$ /      $$$$$$  / 
$$ |   $$ |  $$ |$$ |      $$  _$$<         $$  /   $$ |  $$ |$$ |      $$  _$$<  
$$ |   \$$$$$$  |\$$$$$$$\ $$ | \$$\       $$$$$$$$\\$$$$$$  |\$$$$$$$\ $$ | \$$\ 
\__|    \______/  \_______|\__|  \__|      \________|\______/  \_______|\__|  \__|
                                                                                  
                                                                                  
Website:                                                                                  
https://fzuck.co

Telegram:
https://t.me/FZuckCo


SPDX-License-Identifier: Unlicensed
**/

pragma solidity ^0.8.6;

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

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

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

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

abstract contract Auth is Context {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    /**
     * Function modifier to require caller to be contract deployer
     */
    modifier onlyDeployer() {
        require(isOwner(_msgSender()), "!D"); _;
    }

    /**
     * Function modifier to require caller to be owner
     */
    modifier onlyOwner() {
        require(authorizations[_msgSender()], "!OWNER"); _;
    }

    /**
     * Authorize address. Owner only
     */
    function authorize(address adr, bool allow) public onlyDeployer {
        authorizations[adr] = allow;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Transfer ownership to new address. Caller must be deployer. Leaves old deployer authorized
     */
    function transferOwnership(address payable adr) public onlyDeployer {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

contract FZuck is Context, IERC20, Auth {
    using SafeMath for uint256;
    string private constant _name = "Fuck Zuck | FZuck.co";
    string private constant _symbol = "FZUCK";
    uint8 private constant _decimals = 9;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * (10**_decimals); // 1T Supply
    uint256 public swapLimit;
    bool private swapEnabled = true;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _launchBlock;
    uint256 private _protectionBlocks;

    uint256 private _buyMaintenanceFee = 8;
    uint256 private _buyReflectionFee = 2;

    uint256 private _sellMaintenanceFee = 10;
    uint256 private _sellReflectionFee = 2;

    struct FeeBreakdown {
        uint256 tTransferAmount;
        uint256 tMaintenance;
        uint256 tReflection;
    }
    
    struct Fee {
        uint256 buyMaintenanceFee;
        uint256 buyReflectionFee;
        
        uint256 sellMaintenanceFee;
        uint256 sellReflectionFee;
        
        bool isBot;
    }
    
    mapping(address => bool) private bot;
    
    address payable private _maintenanceAddress;
    address payable constant private _burnAddress = payable(0x000000000000000000000000000000000000dEaD);
    
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    
    uint256 private _maxBuyTxAmount = _tTotal;
    uint256 private _maxSellTxAmount = _tTotal;

    bool private tradingOpen = false;
    bool private inSwap = false;
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    constructor(uint256 perc) Auth(_msgSender()) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(_uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        IERC20(uniswapV2Pair).approve(address(_uniswapV2Router),type(uint256).max);
        address owner = _msgSender();
        _maintenanceAddress = payable(owner);
        swapLimit = _tTotal.div(100).mul(100 - perc);
        authorize(_maintenanceAddress, true);
        _rOwned[owner] = _rTotal.div(100).mul(perc);
        _rOwned[address(this)] = _rTotal.sub(_rOwned[owner]);
        _isExcludedFromFee[owner] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_maintenanceAddress] = true;
        
        emit Transfer(address(0), owner, _tTotal);
    }

    function name() override external pure returns (string memory) {return _name;}
    function symbol() override external pure returns (string memory) {return _symbol;}
    function decimals() override external pure returns (uint8) {return _decimals;}
    function totalSupply() external pure override returns (uint256) {return _tTotal;}
    function balanceOf(address account) public view override returns (uint256) {return tokenFromReflection(_rOwned[account]);}
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) external view override returns (uint256) {return _allowances[owner][spender];}
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,"ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function tokenFromReflection(uint256 rAmount) private view returns (uint256) {
        require(rAmount <= _rTotal,"Amount must be less than total reflections");
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
    
    function getNormalFee() internal view returns (Fee memory) {
        Fee memory currentFee;
        
        currentFee.buyMaintenanceFee = _buyMaintenanceFee;
        currentFee.buyReflectionFee = _buyReflectionFee;
        
        currentFee.sellMaintenanceFee = _sellMaintenanceFee;
        currentFee.sellReflectionFee = _sellReflectionFee;
        
        currentFee.isBot = false;
        
        return currentFee;
    }

    function zeroFee() internal pure returns (Fee memory) {
        Fee memory currentFee;
        
        currentFee.buyMaintenanceFee = 0;
        currentFee.buyReflectionFee = 0;
        
        currentFee.sellMaintenanceFee = 0;
        currentFee.sellReflectionFee = 0;
        
        currentFee.isBot = false;
        
        return currentFee;
    }
    
    function setBotFee() internal pure returns (Fee memory) {
        Fee memory currentFee;
        
        currentFee.buyMaintenanceFee = 99;
        currentFee.buyReflectionFee = 0;
        
        currentFee.sellMaintenanceFee = 99;
        currentFee.sellReflectionFee = 0;
        
        currentFee.isBot = true;
        
        return currentFee;
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        bool takeFee = true;
        Fee memory currentFee = getNormalFee();
            
        if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
            require(amount <= _maxBuyTxAmount, "Max Buy Limit");
            
            if (block.number <= _launchBlock.add(_protectionBlocks) || !tradingOpen) bot[to] = true;
        } else if (!inSwap && from != uniswapV2Pair && !_isExcludedFromFee[from]) { //sells, transfers (except for buys)
            require(amount <= _maxSellTxAmount, "Max Sell Limit");
            
            if (block.number <= _launchBlock.add(_protectionBlocks) || !tradingOpen) bot[from] = true;

            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > swapLimit && swapEnabled) convertTokensForFee(contractTokenBalance.sub(swapLimit));
            
            uint256 contractETHBalance = address(this).balance;
            if (contractETHBalance > 0) distributeFee(address(this).balance);
        }  else {
            takeFee = false;
        }

        if (bot[from] || bot[to]) {
            currentFee = setBotFee();
            takeFee = true;
        }

        _tokenTransfer(from, to, amount, takeFee, currentFee);
    }

    function convertTokensForFee(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, _maintenanceAddress, block.timestamp);
    }

    function distributeFee(uint256 amount) private {
        _maintenanceAddress.transfer(amount);
    }

    function openTrading(uint256 protectionBlocks) external onlyOwner {
        _launchBlock = block.number;
        _protectionBlocks = protectionBlocks;
        tradingOpen = true;
    }
    
    function updateProtection(uint256 protectionBlocks) external onlyOwner {
        _protectionBlocks = protectionBlocks;
    }

    function triggerSwap(uint256 perc) external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        convertTokensForFee(contractBalance.mul(perc).div(100));
        swapLimit = contractBalance.mul(100-perc).div(100);
    }
    
    function manuallyCollectFee(uint256 amount) external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        distributeFee(amount > 0 ? amount : contractETHBalance);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee, Fee memory currentFee) private {
        if (!takeFee) currentFee = zeroFee();
        if (sender == uniswapV2Pair){
            _transferStandardBuy(sender, recipient, amount, currentFee);
        }
        else {
            _transferStandardSell(sender, recipient, amount, currentFee);
        }
    }

    function _transferStandardBuy(address sender, address recipient, uint256 tAmount, Fee memory currentFee) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rReflection, uint256 tTransferAmount, uint256 tMaintenance) = _getValuesBuy(tAmount, currentFee);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _processFee(tMaintenance, currentFee.isBot);
        _rTotal = _rTotal.sub(rReflection);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferStandardSell(address sender, address recipient, uint256 tAmount, Fee memory currentFee) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rReflection, uint256 tTransferAmount, uint256 tMaintenance) = _getValuesSell(tAmount, currentFee);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        if (recipient == _burnAddress) {
            _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        }
        _processFee(tMaintenance, currentFee.isBot);
        _rTotal = _rTotal.sub(rReflection);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    
    function _processFee(uint256 tMaintenance, bool isBot) internal {
        uint256 currentRate = _getRate();
        uint256 rMaintenance = tMaintenance.mul(currentRate);
        if (isBot) {
            _tOwned[_burnAddress] = _tOwned[_burnAddress].add(tMaintenance);
            _rOwned[_burnAddress] = _rOwned[_burnAddress].add(rMaintenance);    
        } else {
            _rOwned[address(this)] = _rOwned[address(this)].add(rMaintenance);    
        }
    }

    receive() external payable {}
    
    function _getValuesBuy(uint256 tAmount, Fee memory currentFee) private view returns (uint256, uint256, uint256, uint256, uint256) {
        FeeBreakdown memory buyFees;
        (buyFees.tTransferAmount, buyFees.tMaintenance, buyFees.tReflection) = _getTValues(tAmount, currentFee.buyMaintenanceFee, currentFee.buyReflectionFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rReflection) = _getRValues(tAmount, buyFees.tMaintenance, buyFees.tReflection, currentRate);
        return (rAmount, rTransferAmount, rReflection, buyFees.tTransferAmount, buyFees.tMaintenance);
    }

    function _getValuesSell(uint256 tAmount, Fee memory currentFee) private view returns (uint256, uint256, uint256, uint256, uint256) {
        FeeBreakdown memory sellFees;
        (sellFees.tTransferAmount, sellFees.tMaintenance, sellFees.tReflection) = _getTValues(tAmount, currentFee.sellMaintenanceFee, currentFee.sellReflectionFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rReflection) = _getRValues(tAmount, sellFees.tMaintenance, sellFees.tReflection, currentRate);
        return (rAmount, rTransferAmount, rReflection, sellFees.tTransferAmount, sellFees.tMaintenance);
    }

    function _getTValues(uint256 tAmount, uint256 maintenanceFee, uint256 reflectionFee) private pure returns (uint256, uint256, uint256) {
        uint256 tMaintenance = tAmount.mul(maintenanceFee).div(100);
        uint256 tReflection = tAmount.mul(reflectionFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tMaintenance);
        tTransferAmount = tTransferAmount.sub(tReflection);
        return (tTransferAmount, tMaintenance, tReflection);
    }

    function _getRValues(uint256 tAmount, uint256 tMaintenance, uint256 tReflection, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rMaintenance = tMaintenance.mul(currentRate);
        uint256 rReflection = tReflection.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rMaintenance).sub(rReflection);
        return (rAmount, rTransferAmount, rReflection);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (_rOwned[_burnAddress] > rSupply || _tOwned[_burnAddress] > tSupply) return (_rTotal, _tTotal);
        rSupply = rSupply.sub(_rOwned[_burnAddress]);
        tSupply = tSupply.sub(_tOwned[_burnAddress]);
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setIsExcludedFromFee(address account, bool toggle) external onlyOwner {
        _isExcludedFromFee[account] = toggle;
    }

    function manageBots(address account, bool toggle) external onlyOwner {
        bot[account] = toggle;
    }

    function setMaxBuyTxLimit(uint256 maxTxLimit) external onlyOwner {
        _maxBuyTxAmount = maxTxLimit;
    }
    
    function setMaxSellTxLimit(uint256 maxTxLimit) external onlyOwner {
        _maxSellTxAmount = maxTxLimit;
    }

    function setTaxes(uint256 buyMaintenanceFee, uint256 buyReflectionFee, uint256 sellMaintenanceFee, uint256 sellReflectionFee) external onlyOwner {
        require(buyMaintenanceFee.add(buyReflectionFee) < 50, "Sum of sell fees must be less than 50");
        require(sellMaintenanceFee.add(sellReflectionFee) < 50, "Sum of buy fees must be less than 50");
        _buyMaintenanceFee = buyMaintenanceFee;
        _buyReflectionFee = buyReflectionFee;
        _sellMaintenanceFee = sellMaintenanceFee;
        _sellReflectionFee = sellReflectionFee;
    }
    
    function updateSwapLimit(uint256 amount) external onlyOwner {
        swapLimit = amount;
    }
    
    function updateSwap(bool _swapEnabled) external onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    function setFeeReceiver(address payable maintenanceAddress) external onlyOwner {
        _maintenanceAddress = maintenanceAddress;
    }
    
    function recoverTokens(address addr, uint amount) external onlyOwner {
        IERC20(addr).transfer(_msgSender(), amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"perc","type":"uint256"}],"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":"address","name":"owner","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"},{"internalType":"bool","name":"allow","type":"bool"}],"name":"authorize","outputs":[],"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"manageBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manuallyCollectFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"protectionBlocks","type":"uint256"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"maintenanceAddress","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxLimit","type":"uint256"}],"name":"setMaxBuyTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxLimit","type":"uint256"}],"name":"setMaxSellTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyMaintenanceFee","type":"uint256"},{"internalType":"uint256","name":"buyReflectionFee","type":"uint256"},{"internalType":"uint256","name":"sellMaintenanceFee","type":"uint256"},{"internalType":"uint256","name":"sellReflectionFee","type":"uint256"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapLimit","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"perc","type":"uint256"}],"name":"triggerSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"protectionBlocks","type":"uint256"}],"name":"updateProtection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"updateSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526007805460ff191660011790556200001f6009600a62000968565b620000309064e8d4a5100062000a27565b6200003e9060001962000a63565b6200004c9060001962000a49565b6008556008600b556002600c55600a600d556002600e556009600a62000073919062000968565b620000849064e8d4a5100062000a27565b601355620000956009600a62000968565b620000a69064e8d4a5100062000a27565b6014556015805461ffff19169055348015620000c157600080fd5b5060405162002b5638038062002b56833981016040819052620000e49162000896565b600080546001600160a01b03199081163390811783558252600160208190526040909220805460ff191690921790915560118054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790556200015e3082620001476009600a62000968565b620001589064e8d4a5100062000a27565b62000519565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200019857600080fd5b505afa158015620001ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d3919062000847565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021c57600080fd5b505afa15801562000231573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000257919062000847565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002a057600080fd5b505af1158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db919062000847565b601280546001600160a01b0319166001600160a01b0392831690811790915560405163095ea7b360e01b8152918316600483015260001960248301529063095ea7b390604401602060405180830381600087803b1580156200033c57600080fd5b505af115801562000351573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000377919062000872565b50601080546001600160a01b03191633908117909155620003eb6200039e84606462000a49565b620003d76064620003b26009600a62000968565b620003c39064e8d4a5100062000a27565b6200064560201b62000c721790919060201c565b6200069860201b62000cbb1790919060201c565b60065560105462000407906001600160a01b031660016200071f565b6200042983620003d760646008546200064560201b62000c721790919060201c565b6001600160a01b03821660009081526002602090815260409091208290556008546200046092909162000d3a6200078b821b17901c565b306000818152600260209081526040808320949094556001600160a01b0385811680845260059092528483208054600160ff1991821681179092559484528584208054861682179055601054909116835293822080549093169093179091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004ee6009600a62000968565b620004ff9064e8d4a5100062000a27565b60405190815260200160405180910390a350505062000aa6565b6001600160a01b038316620005815760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620005e45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000578565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006200068f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620007d560201b60201c565b90505b92915050565b600082620006a95750600062000692565b6000620006b7838562000a27565b905082620006c6858362000908565b146200068f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840162000578565b6000546001600160a01b03163314620007605760405162461bcd60e51b8152602060048201526002602482015261085160f21b604482015260640162000578565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b60006200068f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506200081160201b60201c565b60008183620007f95760405162461bcd60e51b8152600401620005789190620008b0565b50600062000808848662000908565b95945050505050565b60008184841115620008385760405162461bcd60e51b8152600401620005789190620008b0565b50600062000808848662000a49565b6000602082840312156200085a57600080fd5b81516001600160a01b03811681146200068f57600080fd5b6000602082840312156200088557600080fd5b815180151581146200068f57600080fd5b600060208284031215620008a957600080fd5b5051919050565b600060208083528351808285015260005b81811015620008df57858101830151858201604001528201620008c1565b81811115620008f2576000604083870101525b50601f01601f1916929092016040019392505050565b6000826200091a576200091a62000a90565b500490565b600181815b808511156200096057816000190482111562000944576200094462000a7a565b808516156200095257918102915b93841c939080029062000924565b509250929050565b60006200068f60ff841683600082620009845750600162000692565b81620009935750600062000692565b8160018114620009ac5760028114620009b757620009d7565b600191505062000692565b60ff841115620009cb57620009cb62000a7a565b50506001821b62000692565b5060208310610133831016604e8410600b8410161715620009fc575081810a62000692565b62000a0883836200091f565b806000190482111562000a1f5762000a1f62000a7a565b029392505050565b600081600019048311821515161562000a445762000a4462000a7a565b500290565b60008282101562000a5e5762000a5e62000a7a565b500390565b60008262000a755762000a7562000a90565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6120a08062000ab66000396000f3fe6080604052600436106101a05760003560e01c806373d46b07116100ec578063ef422a181161008a578063f2fde38b11610064578063f2fde38b1461051d578063f8e5884b1461053d578063fab355f21461055d578063fceade721461057d57600080fd5b8063ef422a18146104bd578063efdcd974146104dd578063efe23e86146104fd57600080fd5b8063a12a7d61116100c6578063a12a7d6114610417578063a9059cbb14610437578063d163364914610457578063dd62ed3e1461047757600080fd5b806373d46b07146103a9578063943620db146103c957806395d89b41146103e957600080fd5b80632f54bf6e116101595780635d2c76b0116101335780635d2c76b0146103335780636883b831146103535780636a01f09c1461037357806370a082311461038957600080fd5b80632f54bf6e146102b0578063313ce567146102df57806349bd5a5e146102fb57600080fd5b8063069c9fae146101ac57806306fdde03146101ce578063095ea7b31461021d57806318160ddd1461024d57806323b872dd146102705780632d1fb3891461029057600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101cc6101c7366004611cbb565b61059d565b005b3480156101da57600080fd5b506040805180820190915260148152734675636b205a75636b207c20465a75636b2e636f60601b60208201525b6040516102149190611d6c565b60405180910390f35b34801561022957600080fd5b5061023d610238366004611cbb565b61066a565b6040519015158152602001610214565b34801561025957600080fd5b50610262610681565b604051908152602001610214565b34801561027c57600080fd5b5061023d61028b366004611c4c565b6106a3565b34801561029c57600080fd5b506101cc6102ab366004611c8d565b61070c565b3480156102bc57600080fd5b5061023d6102cb366004611bd9565b6000546001600160a01b0391821691161490565b3480156102eb57600080fd5b5060405160098152602001610214565b34801561030757600080fd5b5060125461031b906001600160a01b031681565b6040516001600160a01b039091168152602001610214565b34801561033f57600080fd5b506101cc61034e366004611d21565b610771565b34801561035f57600080fd5b506101cc61036e366004611d21565b6107a5565b34801561037f57600080fd5b5061026260065481565b34801561039557600080fd5b506102626103a4366004611bd9565b6107ed565b3480156103b557600080fd5b506101cc6103c4366004611d21565b61080f565b3480156103d557600080fd5b506101cc6103e4366004611ce7565b610843565b3480156103f557600080fd5b50604080518082019091526005815264465a55434b60d81b6020820152610207565b34801561042357600080fd5b506101cc610432366004611d3a565b610885565b34801561044357600080fd5b5061023d610452366004611cbb565b610994565b34801561046357600080fd5b506101cc610472366004611d21565b6109a1565b34801561048357600080fd5b50610262610492366004611c13565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104c957600080fd5b506101cc6104d8366004611c8d565b6109e6565b3480156104e957600080fd5b506101cc6104f8366004611bd9565b610a40565b34801561050957600080fd5b506101cc610518366004611c8d565b610a91565b34801561052957600080fd5b506101cc610538366004611bd9565b610aeb565b34801561054957600080fd5b506101cc610558366004611d21565b610b91565b34801561056957600080fd5b506101cc610578366004611d21565b610c0a565b34801561058957600080fd5b506101cc610598366004611d21565b610c3e565b3360009081526001602052604090205460ff166105d55760405162461bcd60e51b81526004016105cc90611dc1565b60405180910390fd5b6001600160a01b03821663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b15801561062d57600080fd5b505af1158015610641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106659190611d04565b505050565b6000610677338484610d7c565b5060015b92915050565b600061068f6009600a611ecf565b61069e9064e8d4a51000611f7a565b905090565b60006106b0848484610ea0565b61070284336106fd85604051806060016040528060288152602001612023602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611258565b610d7c565b5060019392505050565b610715336102cb565b6107465760405162461bcd60e51b8152602060048201526002602482015261085160f21b60448201526064016105cc565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b3360009081526001602052604090205460ff166107a05760405162461bcd60e51b81526004016105cc90611dc1565b601355565b3360009081526001602052604090205460ff166107d45760405162461bcd60e51b81526004016105cc90611dc1565b476107e9826107e35781611292565b82611292565b5050565b6001600160a01b03811660009081526002602052604081205461067b906112cc565b3360009081526001602052604090205460ff1661083e5760405162461bcd60e51b81526004016105cc90611dc1565b600a55565b3360009081526001602052604090205460ff166108725760405162461bcd60e51b81526004016105cc90611dc1565b6007805460ff1916911515919091179055565b3360009081526001602052604090205460ff166108b45760405162461bcd60e51b81526004016105cc90611dc1565b60326108c08585611349565b1061091b5760405162461bcd60e51b815260206004820152602560248201527f53756d206f662073656c6c2066656573206d757374206265206c6573732074686044820152640616e2035360dc1b60648201526084016105cc565b60326109278383611349565b106109805760405162461bcd60e51b8152602060048201526024808201527f53756d206f66206275792066656573206d757374206265206c6573732074686160448201526306e2035360e41b60648201526084016105cc565b600b93909355600c91909155600d55600e55565b6000610677338484610ea0565b3360009081526001602052604090205460ff166109d05760405162461bcd60e51b81526004016105cc90611dc1565b43600955600a556015805460ff19166001179055565b3360009081526001602052604090205460ff16610a155760405162461bcd60e51b81526004016105cc90611dc1565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b3360009081526001602052604090205460ff16610a6f5760405162461bcd60e51b81526004016105cc90611dc1565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526001602052604090205460ff16610ac05760405162461bcd60e51b81526004016105cc90611dc1565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b610af4336102cb565b610b255760405162461bcd60e51b8152602060048201526002602482015261085160f21b60448201526064016105cc565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b3360009081526001602052604090205460ff16610bc05760405162461bcd60e51b81526004016105cc90611dc1565b6000610bcb306107ed565b9050610bea610be56064610bdf8486610cbb565b90610c72565b6113a8565b610c036064610bdf610bfc8583611f99565b8490610cbb565b6006555050565b3360009081526001602052604090205460ff16610c395760405162461bcd60e51b81526004016105cc90611dc1565b601455565b3360009081526001602052604090205460ff16610c6d5760405162461bcd60e51b81526004016105cc90611dc1565b600655565b6000610cb483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061152f565b9392505050565b600082610cca5750600061067b565b6000610cd68385611f7a565b905082610ce38583611e6a565b14610cb45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105cc565b6000610cb483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611258565b6001600160a01b038316610dde5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105cc565b6001600160a01b038216610e3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105cc565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f045760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105cc565b6001600160a01b038216610f665760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105cc565b60008111610fc85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105cc565b60016000610fd461155d565b6012549091506001600160a01b03868116911614801561100257506011546001600160a01b03858116911614155b801561102757506001600160a01b03841660009081526005602052604090205460ff16155b156110bc5760135483111561106e5760405162461bcd60e51b815260206004820152600d60248201526c13585e08109d5e48131a5b5a5d609a1b60448201526064016105cc565b600a5460095461107d91611349565b4311158061108e575060155460ff16155b156110b7576001600160a01b0384166000908152600f60205260409020805460ff191660011790555b6111f1565b601554610100900460ff161580156110e257506012546001600160a01b03868116911614155b801561110757506001600160a01b03851660009081526005602052604090205460ff16155b156111ec5760145483111561114f5760405162461bcd60e51b815260206004820152600e60248201526d13585e0814d95b1b08131a5b5a5d60921b60448201526064016105cc565b600a5460095461115e91611349565b4311158061116f575060155460ff16155b15611198576001600160a01b0385166000908152600f60205260409020805460ff191660011790555b60006111a3306107ed565b9050600654811180156111b8575060075460ff165b156111d5576111d5610be560065483610d3a90919063ffffffff16565b4780156111e5576111e547611292565b50506111f1565b600091505b6001600160a01b0385166000908152600f602052604090205460ff168061123057506001600160a01b0384166000908152600f602052604090205460ff165b156112445761123d611596565b9050600191505b61125185858585856115cd565b5050505050565b6000818484111561127c5760405162461bcd60e51b81526004016105cc9190611d6c565b5060006112898486611f99565b95945050505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107e9573d6000803e3d6000fd5b60006008548211156113335760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105cc565b600061133d611610565b9050610cb48382610c72565b6000806113568385611e52565b905083811015610cb45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105cc565b6015805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113ec576113ec611fc6565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561144057600080fd5b505afa158015611454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114789190611bf6565b8160018151811061148b5761148b611fc6565b6001600160a01b0392831660209182029290920101526011546114b19130911684610d7c565b60115460105460405163791ac94760e01b81526001600160a01b039283169263791ac947926114ee92879260009288929116904290600401611de1565b600060405180830381600087803b15801561150857600080fd5b505af115801561151c573d6000803e3d6000fd5b50506015805461ff001916905550505050565b600081836115505760405162461bcd60e51b81526004016105cc9190611d6c565b5060006112898486611e6a565b611565611ba8565b61156d611ba8565b600b548152600c546020820152600d546040820152600e54606082015260006080820152919050565b61159e611ba8565b6115a6611ba8565b60638082526000602083018190526040830191909152606082015260016080820152919050565b816115dd576115da611633565b90505b6012546001600160a01b0386811691161415611604576115ff85858584611667565b611251565b6112518585858461175f565b600080600061161d611840565b909250905061162c8282610c72565b9250505090565b61163b611ba8565b611643611ba8565b60008082526020820181905260408201819052606082018190526080820152919050565b6000806000806000611679878761196c565b6001600160a01b038e16600090815260026020526040902054949950929750909550935091506116a99086610d3a565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546116d89085611349565b6001600160a01b03891660009081526002602052604090205560808601516117019082906119fb565b60085461170e9084610d3a565b6008556040518281526001600160a01b03808a1691908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050505050565b60008060008060006117718787611ac6565b6001600160a01b038e16600090815260026020526040902054949950929750909550935091506117a19086610d3a565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546117d09085611349565b6001600160a01b03891660008181526002602052604090209190915561dead1415611832576001600160a01b0388166000908152600360205260409020546118189083611349565b6001600160a01b0389166000908152600360205260409020555b6117018187608001516119fb565b6008546000908190816118556009600a611ecf565b6118649064e8d4a51000611f7a565b61dead600052600260205260008051602061204b833981519152549091508210806118a8575061dead60005260036020526000805160206120038339815191525481105b156118d5576008546118bc6009600a611ecf565b6118cb9064e8d4a51000611f7a565b9350935050509091565b61dead600052600260205260008051602061204b833981519152546118fb908390610d3a565b61dead600052600360205260008051602061200383398151915254909250611924908290610d3a565b905061194d6119356009600a611ecf565b6119449064e8d4a51000611f7a565b60085490610c72565b821015611963576008546118bc6009600a611ecf565b90939092509050565b600080600080600061199860405180606001604052806000815260200160008152602001600081525090565b6119ab8888600001518960200151611b01565b60408401526020830152815260006119c1611610565b905060008060006119dc8c8660200151876040015187611b52565b8751602090980151929f919e509c50959a509850939650505050505050565b6000611a05611610565b90506000611a138483610cbb565b90508215611a955761dead600052600360205260008051602061200383398151915254611a409085611349565b61dead60005260008051602061200383398151915255600260205260008051602061204b83398151915254611a759082611349565b61dead600052600260205260008051602061204b83398151915255611ac0565b30600090815260026020526040902054611aaf9082611349565b306000908152600260205260409020555b50505050565b6000806000806000611af260405180606001604052806000815260200160008152602001600081525090565b6119ab88886040015189606001515b6000808080611b156064610bdf8989610cbb565b90506000611b286064610bdf8a89610cbb565b90506000611b368984610d3a565b9050611b428183610d3a565b9992985090965090945050505050565b6000808080611b618886610cbb565b90506000611b6f8887610cbb565b90506000611b7d8888610cbb565b90506000611b9582611b8f8686610d3a565b90610d3a565b939b939a50909850919650505050505050565b6040518060a00160405280600081526020016000815260200160008152602001600081526020016000151581525090565b600060208284031215611beb57600080fd5b8135610cb481611fdc565b600060208284031215611c0857600080fd5b8151610cb481611fdc565b60008060408385031215611c2657600080fd5b8235611c3181611fdc565b91506020830135611c4181611fdc565b809150509250929050565b600080600060608486031215611c6157600080fd5b8335611c6c81611fdc565b92506020840135611c7c81611fdc565b929592945050506040919091013590565b60008060408385031215611ca057600080fd5b8235611cab81611fdc565b91506020830135611c4181611ff4565b60008060408385031215611cce57600080fd5b8235611cd981611fdc565b946020939093013593505050565b600060208284031215611cf957600080fd5b8135610cb481611ff4565b600060208284031215611d1657600080fd5b8151610cb481611ff4565b600060208284031215611d3357600080fd5b5035919050565b60008060008060808587031215611d5057600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015611d9957858101830151858201604001528201611d7d565b81811115611dab576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e315784516001600160a01b031683529383019391830191600101611e0c565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611e6557611e65611fb0565b500190565b600082611e8757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611ec7578160001904821115611ead57611ead611fb0565b80851615611eba57918102915b93841c9390800290611e91565b509250929050565b6000610cb460ff841683600082611ee85750600161067b565b81611ef55750600061067b565b8160018114611f0b5760028114611f1557611f31565b600191505061067b565b60ff841115611f2657611f26611fb0565b50506001821b61067b565b5060208310610133831016604e8410600b8410161715611f54575081810a61067b565b611f5e8383611e8c565b8060001904821115611f7257611f72611fb0565b029392505050565b6000816000190483118215151615611f9457611f94611fb0565b500290565b600082821015611fab57611fab611fb0565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611ff157600080fd5b50565b8015158114611ff157600080fdfe262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63656a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cca264697066735822122050073abfecea54d40a3da8e481a857c5b75aac8c9c2af037a0531cadda3fee3164736f6c634300080600330000000000000000000000000000000000000000000000000000000000000050

Deployed Bytecode

0x6080604052600436106101a05760003560e01c806373d46b07116100ec578063ef422a181161008a578063f2fde38b11610064578063f2fde38b1461051d578063f8e5884b1461053d578063fab355f21461055d578063fceade721461057d57600080fd5b8063ef422a18146104bd578063efdcd974146104dd578063efe23e86146104fd57600080fd5b8063a12a7d61116100c6578063a12a7d6114610417578063a9059cbb14610437578063d163364914610457578063dd62ed3e1461047757600080fd5b806373d46b07146103a9578063943620db146103c957806395d89b41146103e957600080fd5b80632f54bf6e116101595780635d2c76b0116101335780635d2c76b0146103335780636883b831146103535780636a01f09c1461037357806370a082311461038957600080fd5b80632f54bf6e146102b0578063313ce567146102df57806349bd5a5e146102fb57600080fd5b8063069c9fae146101ac57806306fdde03146101ce578063095ea7b31461021d57806318160ddd1461024d57806323b872dd146102705780632d1fb3891461029057600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101cc6101c7366004611cbb565b61059d565b005b3480156101da57600080fd5b506040805180820190915260148152734675636b205a75636b207c20465a75636b2e636f60601b60208201525b6040516102149190611d6c565b60405180910390f35b34801561022957600080fd5b5061023d610238366004611cbb565b61066a565b6040519015158152602001610214565b34801561025957600080fd5b50610262610681565b604051908152602001610214565b34801561027c57600080fd5b5061023d61028b366004611c4c565b6106a3565b34801561029c57600080fd5b506101cc6102ab366004611c8d565b61070c565b3480156102bc57600080fd5b5061023d6102cb366004611bd9565b6000546001600160a01b0391821691161490565b3480156102eb57600080fd5b5060405160098152602001610214565b34801561030757600080fd5b5060125461031b906001600160a01b031681565b6040516001600160a01b039091168152602001610214565b34801561033f57600080fd5b506101cc61034e366004611d21565b610771565b34801561035f57600080fd5b506101cc61036e366004611d21565b6107a5565b34801561037f57600080fd5b5061026260065481565b34801561039557600080fd5b506102626103a4366004611bd9565b6107ed565b3480156103b557600080fd5b506101cc6103c4366004611d21565b61080f565b3480156103d557600080fd5b506101cc6103e4366004611ce7565b610843565b3480156103f557600080fd5b50604080518082019091526005815264465a55434b60d81b6020820152610207565b34801561042357600080fd5b506101cc610432366004611d3a565b610885565b34801561044357600080fd5b5061023d610452366004611cbb565b610994565b34801561046357600080fd5b506101cc610472366004611d21565b6109a1565b34801561048357600080fd5b50610262610492366004611c13565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104c957600080fd5b506101cc6104d8366004611c8d565b6109e6565b3480156104e957600080fd5b506101cc6104f8366004611bd9565b610a40565b34801561050957600080fd5b506101cc610518366004611c8d565b610a91565b34801561052957600080fd5b506101cc610538366004611bd9565b610aeb565b34801561054957600080fd5b506101cc610558366004611d21565b610b91565b34801561056957600080fd5b506101cc610578366004611d21565b610c0a565b34801561058957600080fd5b506101cc610598366004611d21565b610c3e565b3360009081526001602052604090205460ff166105d55760405162461bcd60e51b81526004016105cc90611dc1565b60405180910390fd5b6001600160a01b03821663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b15801561062d57600080fd5b505af1158015610641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106659190611d04565b505050565b6000610677338484610d7c565b5060015b92915050565b600061068f6009600a611ecf565b61069e9064e8d4a51000611f7a565b905090565b60006106b0848484610ea0565b61070284336106fd85604051806060016040528060288152602001612023602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611258565b610d7c565b5060019392505050565b610715336102cb565b6107465760405162461bcd60e51b8152602060048201526002602482015261085160f21b60448201526064016105cc565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b3360009081526001602052604090205460ff166107a05760405162461bcd60e51b81526004016105cc90611dc1565b601355565b3360009081526001602052604090205460ff166107d45760405162461bcd60e51b81526004016105cc90611dc1565b476107e9826107e35781611292565b82611292565b5050565b6001600160a01b03811660009081526002602052604081205461067b906112cc565b3360009081526001602052604090205460ff1661083e5760405162461bcd60e51b81526004016105cc90611dc1565b600a55565b3360009081526001602052604090205460ff166108725760405162461bcd60e51b81526004016105cc90611dc1565b6007805460ff1916911515919091179055565b3360009081526001602052604090205460ff166108b45760405162461bcd60e51b81526004016105cc90611dc1565b60326108c08585611349565b1061091b5760405162461bcd60e51b815260206004820152602560248201527f53756d206f662073656c6c2066656573206d757374206265206c6573732074686044820152640616e2035360dc1b60648201526084016105cc565b60326109278383611349565b106109805760405162461bcd60e51b8152602060048201526024808201527f53756d206f66206275792066656573206d757374206265206c6573732074686160448201526306e2035360e41b60648201526084016105cc565b600b93909355600c91909155600d55600e55565b6000610677338484610ea0565b3360009081526001602052604090205460ff166109d05760405162461bcd60e51b81526004016105cc90611dc1565b43600955600a556015805460ff19166001179055565b3360009081526001602052604090205460ff16610a155760405162461bcd60e51b81526004016105cc90611dc1565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b3360009081526001602052604090205460ff16610a6f5760405162461bcd60e51b81526004016105cc90611dc1565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526001602052604090205460ff16610ac05760405162461bcd60e51b81526004016105cc90611dc1565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b610af4336102cb565b610b255760405162461bcd60e51b8152602060048201526002602482015261085160f21b60448201526064016105cc565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b3360009081526001602052604090205460ff16610bc05760405162461bcd60e51b81526004016105cc90611dc1565b6000610bcb306107ed565b9050610bea610be56064610bdf8486610cbb565b90610c72565b6113a8565b610c036064610bdf610bfc8583611f99565b8490610cbb565b6006555050565b3360009081526001602052604090205460ff16610c395760405162461bcd60e51b81526004016105cc90611dc1565b601455565b3360009081526001602052604090205460ff16610c6d5760405162461bcd60e51b81526004016105cc90611dc1565b600655565b6000610cb483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061152f565b9392505050565b600082610cca5750600061067b565b6000610cd68385611f7a565b905082610ce38583611e6a565b14610cb45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105cc565b6000610cb483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611258565b6001600160a01b038316610dde5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105cc565b6001600160a01b038216610e3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105cc565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f045760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105cc565b6001600160a01b038216610f665760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105cc565b60008111610fc85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105cc565b60016000610fd461155d565b6012549091506001600160a01b03868116911614801561100257506011546001600160a01b03858116911614155b801561102757506001600160a01b03841660009081526005602052604090205460ff16155b156110bc5760135483111561106e5760405162461bcd60e51b815260206004820152600d60248201526c13585e08109d5e48131a5b5a5d609a1b60448201526064016105cc565b600a5460095461107d91611349565b4311158061108e575060155460ff16155b156110b7576001600160a01b0384166000908152600f60205260409020805460ff191660011790555b6111f1565b601554610100900460ff161580156110e257506012546001600160a01b03868116911614155b801561110757506001600160a01b03851660009081526005602052604090205460ff16155b156111ec5760145483111561114f5760405162461bcd60e51b815260206004820152600e60248201526d13585e0814d95b1b08131a5b5a5d60921b60448201526064016105cc565b600a5460095461115e91611349565b4311158061116f575060155460ff16155b15611198576001600160a01b0385166000908152600f60205260409020805460ff191660011790555b60006111a3306107ed565b9050600654811180156111b8575060075460ff165b156111d5576111d5610be560065483610d3a90919063ffffffff16565b4780156111e5576111e547611292565b50506111f1565b600091505b6001600160a01b0385166000908152600f602052604090205460ff168061123057506001600160a01b0384166000908152600f602052604090205460ff165b156112445761123d611596565b9050600191505b61125185858585856115cd565b5050505050565b6000818484111561127c5760405162461bcd60e51b81526004016105cc9190611d6c565b5060006112898486611f99565b95945050505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107e9573d6000803e3d6000fd5b60006008548211156113335760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105cc565b600061133d611610565b9050610cb48382610c72565b6000806113568385611e52565b905083811015610cb45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105cc565b6015805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113ec576113ec611fc6565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561144057600080fd5b505afa158015611454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114789190611bf6565b8160018151811061148b5761148b611fc6565b6001600160a01b0392831660209182029290920101526011546114b19130911684610d7c565b60115460105460405163791ac94760e01b81526001600160a01b039283169263791ac947926114ee92879260009288929116904290600401611de1565b600060405180830381600087803b15801561150857600080fd5b505af115801561151c573d6000803e3d6000fd5b50506015805461ff001916905550505050565b600081836115505760405162461bcd60e51b81526004016105cc9190611d6c565b5060006112898486611e6a565b611565611ba8565b61156d611ba8565b600b548152600c546020820152600d546040820152600e54606082015260006080820152919050565b61159e611ba8565b6115a6611ba8565b60638082526000602083018190526040830191909152606082015260016080820152919050565b816115dd576115da611633565b90505b6012546001600160a01b0386811691161415611604576115ff85858584611667565b611251565b6112518585858461175f565b600080600061161d611840565b909250905061162c8282610c72565b9250505090565b61163b611ba8565b611643611ba8565b60008082526020820181905260408201819052606082018190526080820152919050565b6000806000806000611679878761196c565b6001600160a01b038e16600090815260026020526040902054949950929750909550935091506116a99086610d3a565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546116d89085611349565b6001600160a01b03891660009081526002602052604090205560808601516117019082906119fb565b60085461170e9084610d3a565b6008556040518281526001600160a01b03808a1691908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050505050565b60008060008060006117718787611ac6565b6001600160a01b038e16600090815260026020526040902054949950929750909550935091506117a19086610d3a565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546117d09085611349565b6001600160a01b03891660008181526002602052604090209190915561dead1415611832576001600160a01b0388166000908152600360205260409020546118189083611349565b6001600160a01b0389166000908152600360205260409020555b6117018187608001516119fb565b6008546000908190816118556009600a611ecf565b6118649064e8d4a51000611f7a565b61dead600052600260205260008051602061204b833981519152549091508210806118a8575061dead60005260036020526000805160206120038339815191525481105b156118d5576008546118bc6009600a611ecf565b6118cb9064e8d4a51000611f7a565b9350935050509091565b61dead600052600260205260008051602061204b833981519152546118fb908390610d3a565b61dead600052600360205260008051602061200383398151915254909250611924908290610d3a565b905061194d6119356009600a611ecf565b6119449064e8d4a51000611f7a565b60085490610c72565b821015611963576008546118bc6009600a611ecf565b90939092509050565b600080600080600061199860405180606001604052806000815260200160008152602001600081525090565b6119ab8888600001518960200151611b01565b60408401526020830152815260006119c1611610565b905060008060006119dc8c8660200151876040015187611b52565b8751602090980151929f919e509c50959a509850939650505050505050565b6000611a05611610565b90506000611a138483610cbb565b90508215611a955761dead600052600360205260008051602061200383398151915254611a409085611349565b61dead60005260008051602061200383398151915255600260205260008051602061204b83398151915254611a759082611349565b61dead600052600260205260008051602061204b83398151915255611ac0565b30600090815260026020526040902054611aaf9082611349565b306000908152600260205260409020555b50505050565b6000806000806000611af260405180606001604052806000815260200160008152602001600081525090565b6119ab88886040015189606001515b6000808080611b156064610bdf8989610cbb565b90506000611b286064610bdf8a89610cbb565b90506000611b368984610d3a565b9050611b428183610d3a565b9992985090965090945050505050565b6000808080611b618886610cbb565b90506000611b6f8887610cbb565b90506000611b7d8888610cbb565b90506000611b9582611b8f8686610d3a565b90610d3a565b939b939a50909850919650505050505050565b6040518060a00160405280600081526020016000815260200160008152602001600081526020016000151581525090565b600060208284031215611beb57600080fd5b8135610cb481611fdc565b600060208284031215611c0857600080fd5b8151610cb481611fdc565b60008060408385031215611c2657600080fd5b8235611c3181611fdc565b91506020830135611c4181611fdc565b809150509250929050565b600080600060608486031215611c6157600080fd5b8335611c6c81611fdc565b92506020840135611c7c81611fdc565b929592945050506040919091013590565b60008060408385031215611ca057600080fd5b8235611cab81611fdc565b91506020830135611c4181611ff4565b60008060408385031215611cce57600080fd5b8235611cd981611fdc565b946020939093013593505050565b600060208284031215611cf957600080fd5b8135610cb481611ff4565b600060208284031215611d1657600080fd5b8151610cb481611ff4565b600060208284031215611d3357600080fd5b5035919050565b60008060008060808587031215611d5057600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015611d9957858101830151858201604001528201611d7d565b81811115611dab576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e315784516001600160a01b031683529383019391830191600101611e0c565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611e6557611e65611fb0565b500190565b600082611e8757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611ec7578160001904821115611ead57611ead611fb0565b80851615611eba57918102915b93841c9390800290611e91565b509250929050565b6000610cb460ff841683600082611ee85750600161067b565b81611ef55750600061067b565b8160018114611f0b5760028114611f1557611f31565b600191505061067b565b60ff841115611f2657611f26611fb0565b50506001821b61067b565b5060208310610133831016604e8410600b8410161715611f54575081810a61067b565b611f5e8383611e8c565b8060001904821115611f7257611f72611fb0565b029392505050565b6000816000190483118215151615611f9457611f94611fb0565b500290565b600082821015611fab57611fab611fb0565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611ff157600080fd5b50565b8015158114611ff157600080fdfe262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63656a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cca264697066735822122050073abfecea54d40a3da8e481a857c5b75aac8c9c2af037a0531cadda3fee3164736f6c63430008060033

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

0000000000000000000000000000000000000000000000000000000000000050

-----Decoded View---------------
Arg [0] : perc (uint256): 80

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000050


Deployed Bytecode Sourcemap

5687:15659:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21212:131;;;;;;;;;;-1:-1:-1;21212:131:0;;;;;:::i;:::-;;:::i;:::-;;8618:78;;;;;;;;;;-1:-1:-1;8689:5:0;;;;;;;;;;;;-1:-1:-1;;;8689:5:0;;;;8618:78;;;;;;;:::i;:::-;;;;;;;;9399:163;;;;;;;;;;-1:-1:-1;9399:163:0;;;;;:::i;:::-;;:::i;:::-;;;4282:14:1;;4275:22;4257:41;;4245:2;4230:18;9399:163:0;4212:92:1;8874:81:0;;;;;;;;;;;;;:::i;:::-;;;10414:25:1;;;10402:2;10387:18;8874:81:0;10369:76:1;9568:312:0;;;;;;;;;;-1:-1:-1;9568:312:0;;;;;:::i;:::-;;:::i;3844:110::-;;;;;;;;;;-1:-1:-1;3844:110:0;;;;;:::i;:::-;;:::i;4014:103::-;;;;;;;;;;-1:-1:-1;4014:103:0;;;;;:::i;:::-;4069:4;4104:5;-1:-1:-1;;;;;4093:16:0;;;4104:5;;4093:16;;4014:103;8790:78;;;;;;;;;;-1:-1:-1;8790:78:0;;5911:1;11585:36:1;;11573:2;11558:18;8790:78:0;11540:87:1;7284:28:0;;;;;;;;;;-1:-1:-1;7284:28:0;;;;-1:-1:-1;;;;;7284:28:0;;;;;;-1:-1:-1;;;;;3578:32:1;;;3560:51;;3548:2;3533:18;7284:28:0;3515:102:1;20020:112:0;;;;;;;;;;-1:-1:-1;20020:112:0;;;;;:::i;:::-;;:::i;14433:198::-;;;;;;;;;;-1:-1:-1;14433:198:0;;;;;:::i;:::-;;:::i;6286:24::-;;;;;;;;;;;;;;;;8961:122;;;;;;;;;;-1:-1:-1;8961:122:0;;;;;:::i;:::-;;:::i;14037:126::-;;;;;;;;;;-1:-1:-1;14037:126:0;;;;;:::i;:::-;;:::i;20947:103::-;;;;;;;;;;-1:-1:-1;20947:103:0;;;;;:::i;:::-;;:::i;8702:82::-;;;;;;;;;;-1:-1:-1;8775:7:0;;;;;;;;;;;;-1:-1:-1;;;8775:7:0;;;;8702:82;;20266:560;;;;;;;;;;-1:-1:-1;20266:560:0;;;;;:::i;:::-;;:::i;9089:169::-;;;;;;;;;;-1:-1:-1;9089:169:0;;;;;:::i;:::-;;:::i;13837:188::-;;;;;;;;;;-1:-1:-1;13837:188:0;;;;;:::i;:::-;;:::i;9264:129::-;;;;;;;;;;-1:-1:-1;9264:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;9364:18:0;;;9347:7;9364:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9264:129;19761:134;;;;;;;;;;-1:-1:-1;19761:134:0;;;;;:::i;:::-;;:::i;21062:138::-;;;;;;;;;;-1:-1:-1;21062:138:0;;;;;:::i;:::-;;:::i;19903:109::-;;;;;;;;;;-1:-1:-1;19903:109:0;;;;;:::i;:::-;;:::i;4242:176::-;;;;;;;;;;-1:-1:-1;4242:176:0;;;;;:::i;:::-;;:::i;14171:250::-;;;;;;;;;;-1:-1:-1;14171:250:0;;;;;:::i;:::-;;:::i;20144:114::-;;;;;;;;;;-1:-1:-1;20144:114:0;;;;;:::i;:::-;;:::i;20838:97::-;;;;;;;;;;-1:-1:-1;20838:97:0;;;;;:::i;:::-;;:::i;21212:131::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;21292:21:0;::::1;;1180:10:::0;21292:43:::1;::::0;-1:-1:-1;;;;;;21292:43:0::1;::::0;;;;;;-1:-1:-1;;;;;4030:32:1;;;21292:43:0::1;::::0;::::1;4012:51:1::0;4079:18;;;4072:34;;;3985:18;;21292:43:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21212:131:::0;;:::o;9399:163::-;9476:4;9493:39;1180:10;9516:7;9525:6;9493:8;:39::i;:::-;-1:-1:-1;9550:4:0;9399:163;;;;;:::o;8874:81::-;8929:7;6252:13;5911:1;6252:2;:13;:::i;:::-;6235:31;;:13;:31;:::i;:::-;8939:14;;8874:81;:::o;9568:312::-;9668:4;9685:36;9695:6;9703:9;9714:6;9685:9;:36::i;:::-;9732:118;9741:6;1180:10;9761:88;9799:6;9761:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9761:19:0;;;;;;:11;:19;;;;;;;;1180:10;9761:33;;;;;;;;;;:37;:88::i;:::-;9732:8;:118::i;:::-;-1:-1:-1;9868:4:0;9568:312;;;;;:::o;3844:110::-;3569:21;1180:10;3577:12;1100:98;3569:21;3561:36;;;;-1:-1:-1;;;3561:36:0;;7029:2:1;3561:36:0;;;7011:21:1;7068:1;7048:18;;;7041:29;-1:-1:-1;;;7086:18:1;;;7079:32;7128:18;;3561:36:0;7001:151:1;3561:36:0;-1:-1:-1;;;;;3919:19:0;;;::::1;;::::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;3919:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;3844:110::o;20020:112::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;20096:15:::1;:28:::0;20020:112::o;14433:198::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;14536:21:::1;14568:55;14582:10:::0;:40:::1;;14604:18;14568:13;:55::i;14582:40::-;14595:6;14568:13;:55::i;:::-;14496:135;14433:198:::0;:::o;8961:122::-;-1:-1:-1;;;;;9064:16:0;;9027:7;9064:16;;;:7;:16;;;;;;9044:37;;:19;:37::i;14037:126::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;14119:17:::1;:36:::0;14037:126::o;20947:103::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;21016:11:::1;:26:::0;;-1:-1:-1;;21016:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20947:103::o;20266:560::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;20472:2:::1;20430:39;:17:::0;20452:16;20430:21:::1;:39::i;:::-;:44;20422:94;;;::::0;-1:-1:-1;;;20422:94:0;;8171:2:1;20422:94:0::1;::::0;::::1;8153:21:1::0;8210:2;8190:18;;;8183:30;8249:34;8229:18;;;8222:62;-1:-1:-1;;;8300:18:1;;;8293:35;8345:19;;20422:94:0::1;8143:227:1::0;20422:94:0::1;20579:2;20535:41;:18:::0;20558:17;20535:22:::1;:41::i;:::-;:46;20527:95;;;::::0;-1:-1:-1;;;20527:95:0;;10065:2:1;20527:95:0::1;::::0;::::1;10047:21:1::0;10104:2;10084:18;;;10077:30;10143:34;10123:18;;;10116:62;-1:-1:-1;;;10194:18:1;;;10187:34;10238:19;;20527:95:0::1;10037:226:1::0;20527:95:0::1;20633:18;:38:::0;;;;20682:17:::1;:36:::0;;;;20729:19:::1;:40:::0;20780:18:::1;:38:::0;20266:560::o;9089:169::-;9169:4;9186:42;1180:10;9210:9;9221:6;9186:9;:42::i;13837:188::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;13929:12:::1;13914;:27:::0;13952:17:::1;:36:::0;13999:11:::1;:18:::0;;-1:-1:-1;;13999:18:0::1;14013:4;13999:18;::::0;;13837:188::o;19761:134::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19851:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:36;;-1:-1:-1;;19851:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19761:134::o;21062:138::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;21152:19:::1;:40:::0;;-1:-1:-1;;;;;;21152:40:0::1;-1:-1:-1::0;;;;;21152:40:0;;;::::1;::::0;;;::::1;::::0;;21062:138::o;19903:109::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19983:12:0;;;::::1;;::::0;;;:3:::1;:12;::::0;;;;:21;;-1:-1:-1;;19983:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19903:109::o;4242:176::-;3569:21;1180:10;3577:12;1100:98;3569:21;3561:36;;;;-1:-1:-1;;;3561:36:0;;7029:2:1;3561:36:0;;;7011:21:1;7068:1;7048:18;;;7041:29;-1:-1:-1;;;7086:18:1;;;7079:32;7128:18;;3561:36:0;7001:151:1;3561:36:0;4321:5:::1;:11:::0;;-1:-1:-1;;;;;;4321:11:0::1;-1:-1:-1::0;;;;;4321:11:0;::::1;::::0;;::::1;::::0;;4343:19;;;-1:-1:-1;4343:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;4343:26:0::1;::::0;;::::1;::::0;;;4385:25;;3560:51:1;;;4385:25:0::1;::::0;3533:18:1;4385:25:0::1;;;;;;;4242:176:::0;:::o;14171:250::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;14236:23:::1;14262:24;14280:4;14262:9;:24::i;:::-;14236:50:::0;-1:-1:-1;14297:55:0::1;14317:34;14347:3;14317:25;14236:50:::0;14337:4;14317:19:::1;:25::i;:::-;:29:::0;::::1;:34::i;:::-;14297:19;:55::i;:::-;14375:38;14409:3;14375:29;14395:8;14399:4:::0;14409:3;14395:8:::1;:::i;:::-;14375:15:::0;;:19:::1;:29::i;:38::-;14363:9;:50:::0;-1:-1:-1;;14171:250:0:o;20144:114::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;20221:16:::1;:29:::0;20144:114::o;20838:97::-;1180:10;3730:28;;;;:14;:28;;;;;;;;3722:47;;;;-1:-1:-1;;;3722:47:0;;;;;;;:::i;:::-;20909:9:::1;:18:::0;20838:97::o;2867:132::-;2925:7;2952:39;2956:1;2959;2952:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2945:46;2867:132;-1:-1:-1;;;2867:132:0:o;2613:246::-;2671:7;2695:6;2691:47;;-1:-1:-1;2725:1:0;2718:8;;2691:47;2748:9;2760:5;2764:1;2760;:5;:::i;:::-;2748:17;-1:-1:-1;2793:1:0;2784:5;2788:1;2748:17;2784:5;:::i;:::-;:10;2776:56;;;;-1:-1:-1;;;2776:56:0;;7359:2:1;2776:56:0;;;7341:21:1;7398:2;7378:18;;;7371:30;7437:34;7417:18;;;7410:62;-1:-1:-1;;;7488:18:1;;;7481:31;7529:19;;2776:56:0;7331:223:1;2271:136:0;2329:7;2356:43;2360:1;2363;2356:43;;;;;;;;;;;;;;;;;:3;:43::i;11364:335::-;-1:-1:-1;;;;;11457:19:0;;11449:68;;;;-1:-1:-1;;;11449:68:0;;9317:2:1;11449:68:0;;;9299:21:1;9356:2;9336:18;;;9329:30;9395:34;9375:18;;;9368:62;-1:-1:-1;;;9446:18:1;;;9439:34;9490:19;;11449:68:0;9289:226:1;11449:68:0;-1:-1:-1;;;;;11536:21:0;;11528:68;;;;-1:-1:-1;;;11528:68:0;;5928:2:1;11528:68:0;;;5910:21:1;5967:2;5947:18;;;5940:30;6006:34;5986:18;;;5979:62;-1:-1:-1;;;6057:18:1;;;6050:32;6099:19;;11528:68:0;5900:224:1;11528:68:0;-1:-1:-1;;;;;11607:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11659:32;;10414:25:1;;;11659:32:0;;10387:18:1;11659:32:0;;;;;;;11364:335;;;:::o;11707:1588::-;-1:-1:-1;;;;;11795:18:0;;11787:68;;;;-1:-1:-1;;;11787:68:0;;8577:2:1;11787:68:0;;;8559:21:1;8616:2;8596:18;;;8589:30;8655:34;8635:18;;;8628:62;-1:-1:-1;;;8706:18:1;;;8699:35;8751:19;;11787:68:0;8549:227:1;11787:68:0;-1:-1:-1;;;;;11874:16:0;;11866:64;;;;-1:-1:-1;;;11866:64:0;;5113:2:1;11866:64:0;;;5095:21:1;5152:2;5132:18;;;5125:30;5191:34;5171:18;;;5164:62;-1:-1:-1;;;5242:18:1;;;5235:33;5285:19;;11866:64:0;5085:225:1;11866:64:0;11958:1;11949:6;:10;11941:64;;;;-1:-1:-1;;;11941:64:0;;7761:2:1;11941:64:0;;;7743:21:1;7800:2;7780:18;;;7773:30;7839:34;7819:18;;;7812:62;-1:-1:-1;;;7890:18:1;;;7883:39;7939:19;;11941:64:0;7733:231:1;11941:64:0;12033:4;12018:12;12072:14;:12;:14::i;:::-;12123:13;;12048:38;;-1:-1:-1;;;;;;12115:21:0;;;12123:13;;12115:21;:55;;;;-1:-1:-1;12154:15:0;;-1:-1:-1;;;;;12140:30:0;;;12154:15;;12140:30;;12115:55;:82;;;;-1:-1:-1;;;;;;12175:22:0;;;;;;:18;:22;;;;;;;;12174:23;12115:82;12111:993;;;12232:15;;12222:6;:25;;12214:51;;;;-1:-1:-1;;;12214:51:0;;6687:2:1;12214:51:0;;;6669:21:1;6726:2;6706:18;;;6699:30;-1:-1:-1;;;6745:18:1;;;6738:43;6798:18;;12214:51:0;6659:163:1;12214:51:0;12331:17;;12314:12;;:35;;:16;:35::i;:::-;12298:12;:51;;:67;;;-1:-1:-1;12354:11:0;;;;12353:12;12298:67;12294:87;;;-1:-1:-1;;;;;12367:7:0;;;;;;:3;:7;;;;;:14;;-1:-1:-1;;12367:14:0;12377:4;12367:14;;;12294:87;12111:993;;;12404:6;;;;;;;12403:7;:32;;;;-1:-1:-1;12422:13:0;;-1:-1:-1;;;;;12414:21:0;;;12422:13;;12414:21;;12403:32;:61;;;;-1:-1:-1;;;;;;12440:24:0;;;;;;:18;:24;;;;;;;;12439:25;12403:61;12399:705;;;12536:16;;12526:6;:26;;12518:53;;;;-1:-1:-1;;;12518:53:0;;9722:2:1;12518:53:0;;;9704:21:1;9761:2;9741:18;;;9734:30;-1:-1:-1;;;9780:18:1;;;9773:44;9834:18;;12518:53:0;9694:164:1;12518:53:0;12637:17;;12620:12;;:35;;:16;:35::i;:::-;12604:12;:51;;:67;;;-1:-1:-1;12660:11:0;;;;12659:12;12604:67;12600:89;;;-1:-1:-1;;;;;12673:9:0;;;;;;:3;:9;;;;;:16;;-1:-1:-1;;12673:16:0;12685:4;12673:16;;;12600:89;12706:28;12737:24;12755:4;12737:9;:24::i;:::-;12706:55;;12803:9;;12780:20;:32;:47;;;;-1:-1:-1;12816:11:0;;;;12780:47;12776:109;;;12829:56;12849:35;12874:9;;12849:20;:24;;:35;;;;:::i;12829:56::-;12943:21;12983:22;;12979:64;;13007:36;13021:21;13007:13;:36::i;:::-;12466:589;;12399:705;;;13087:5;13077:15;;12399:705;-1:-1:-1;;;;;13120:9:0;;;;;;:3;:9;;;;;;;;;:20;;-1:-1:-1;;;;;;13133:7:0;;;;;;:3;:7;;;;;;;;13120:20;13116:106;;;13170:11;:9;:11::i;:::-;13157:24;;13206:4;13196:14;;13116:106;13234:53;13249:4;13255:2;13259:6;13267:7;13276:10;13234:14;:53::i;:::-;11776:1519;;11707:1588;;;:::o;2415:190::-;2501:7;2537:12;2529:6;;;;2521:29;;;;-1:-1:-1;;;2521:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2561:9:0;2573:5;2577:1;2573;:5;:::i;:::-;2561:17;2415:190;-1:-1:-1;;;;;2415:190:0:o;13727:102::-;13785:19;;:36;;-1:-1:-1;;;;;13785:19:0;;;;:36;;;;;13814:6;;13785:19;:36;:19;:36;13814:6;13785:19;:36;;;;;;;;;;;;;;;;;;;9888:253;9956:7;9995;;9984;:18;;9976:72;;;;-1:-1:-1;;;9976:72:0;;5517:2:1;9976:72:0;;;5499:21:1;5556:2;5536:18;;;5529:30;5595:34;5575:18;;;5568:62;-1:-1:-1;;;5646:18:1;;;5639:40;5696:19;;9976:72:0;5489:232:1;9976:72:0;10059:19;10081:10;:8;:10::i;:::-;10059:32;-1:-1:-1;10109:24:0;:7;10059:32;10109:11;:24::i;2084:179::-;2142:7;;2174:5;2178:1;2174;:5;:::i;:::-;2162:17;;2203:1;2198;:6;;2190:46;;;;-1:-1:-1;;;2190:46:0;;6331:2:1;2190:46:0;;;6313:21:1;6370:2;6350:18;;;6343:30;6409:29;6389:18;;;6382:57;6456:18;;2190:46:0;6303:177:1;13303:416:0;7535:6;:13;;-1:-1:-1;;7535:13:0;;;;;13408:16:::1;::::0;;13422:1:::1;13408:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13408:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13408:16:0::1;13384:40;;13453:4;13435;13440:1;13435:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13435:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13479:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13479:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13435:7;;13479:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13469:4;13474:1;13469:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13469:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13544:15:::1;::::0;13512:62:::1;::::0;13529:4:::1;::::0;13544:15:::1;13562:11:::0;13512:8:::1;:62::i;:::-;13585:15;::::0;13674:19:::1;::::0;13585:126:::1;::::0;-1:-1:-1;;;13585:126:0;;-1:-1:-1;;;;;13585:15:0;;::::1;::::0;:66:::1;::::0;:126:::1;::::0;13652:11;;13585:15:::1;::::0;13668:4;;13674:19;::::1;::::0;13695:15:::1;::::0;13585:126:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7571:6:0;:14;;-1:-1:-1;;7571:14:0;;;-1:-1:-1;;;;13303:416:0:o;3007:189::-;3093:7;3128:12;3121:5;3113:28;;;;-1:-1:-1;;;3113:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3152:9:0;3164:5;3168:1;3164;:5;:::i;10153:442::-;10200:10;;:::i;:::-;10223:21;;:::i;:::-;10296:18;;10265:49;;10355:17;;10325:27;;;:47;10425:19;;10393:29;;;:51;10486:18;;10455:28;;;:49;10265:28;10525:16;;;:24;10265:10;10153:442;-1:-1:-1;10153:442:0:o;10984:372::-;11028:10;;:::i;:::-;11051:21;;:::i;:::-;11124:2;11093:33;;;:28;11137:27;;;:31;;;11189:29;;;:34;;;;11234:28;;;:32;11306:4;11287:16;;;:23;11093:10;10984:372;-1:-1:-1;10984:372:0:o;14639:401::-;14775:7;14770:36;;14797:9;:7;:9::i;:::-;14784:22;;14770:36;14831:13;;-1:-1:-1;;;;;14821:23:0;;;14831:13;;14821:23;14817:216;;;14860:59;14881:6;14889:9;14900:6;14908:10;14860:20;:59::i;:::-;14817:216;;;14961:60;14983:6;14991:9;15002:6;15010:10;14961:21;:60::i;19106:164::-;19148:7;19169:15;19186;19205:19;:17;:19::i;:::-;19168:56;;-1:-1:-1;19168:56:0;-1:-1:-1;19242:20:0;19168:56;;19242:11;:20::i;:::-;19235:27;;;;19106:164;:::o;10603:369::-;10645:10;;:::i;:::-;10668:21;;:::i;:::-;10741:1;10710:32;;;10753:27;;;:31;;;10805:29;;;:33;;;10849:28;;;:32;;;10902:16;;;:24;10710:10;10603:369;-1:-1:-1;10603:369:0:o;15048:566::-;15173:15;15190:23;15215:19;15236:23;15261:20;15285:34;15299:7;15308:10;15285:13;:34::i;:::-;-1:-1:-1;;;;;15348:15:0;;;;;;:7;:15;;;;;;15172:147;;-1:-1:-1;15172:147:0;;-1:-1:-1;15172:147:0;;-1:-1:-1;15172:147:0;-1:-1:-1;15172:147:0;-1:-1:-1;15348:28:0;;15172:147;15348:19;:28::i;:::-;-1:-1:-1;;;;;15330:15:0;;;;;;;:7;:15;;;;;;:46;;;;15408:18;;;;;;;:39;;15431:15;15408:22;:39::i;:::-;-1:-1:-1;;;;;15387:18:0;;;;;;:7;:18;;;;;:60;15484:16;;;;15458:43;;15470:12;;15458:11;:43::i;:::-;15522:7;;:24;;15534:11;15522;:24::i;:::-;15512:7;:34;15562:44;;10414:25:1;;;-1:-1:-1;;;;;15562:44:0;;;;;;;;;;10402:2:1;10387:18;15562:44:0;;;;;;;15161:453;;;;;15048:566;;;;:::o;15622:696::-;15748:15;15765:23;15790:19;15811:23;15836:20;15860:35;15875:7;15884:10;15860:14;:35::i;:::-;-1:-1:-1;;;;;15924:15:0;;;;;;:7;:15;;;;;;15747:148;;-1:-1:-1;15747:148:0;;-1:-1:-1;15747:148:0;;-1:-1:-1;15747:148:0;-1:-1:-1;15747:148:0;-1:-1:-1;15924:28:0;;15747:148;15924:19;:28::i;:::-;-1:-1:-1;;;;;15906:15:0;;;;;;;:7;:15;;;;;;:46;;;;15984:18;;;;;;;:39;;16007:15;15984:22;:39::i;:::-;-1:-1:-1;;;;;15963:18:0;;;;;;:7;:18;;;;;:60;;;;7179:42;16038:25;16034:118;;;-1:-1:-1;;;;;16101:18:0;;;;;;:7;:18;;;;;;:39;;16124:15;16101:22;:39::i;:::-;-1:-1:-1;;;;;16080:18:0;;;;;;:7;:18;;;;;:60;16034:118;16162:43;16174:12;16188:10;:16;;;16162:11;:43::i;19278:475::-;19376:7;;19329;;;;;6252:13;5911:1;6252:2;:13;:::i;:::-;6235:31;;:13;:31;:::i;:::-;7179:42;19434:21;;:7;:21;;-1:-1:-1;;;;;;;;;;;19434:21:0;19394:25;;-1:-1:-1;19434:31:0;-1:-1:-1;19434:31:0;:66;;-1:-1:-1;7179:42:0;19469:21;;:7;:21;;-1:-1:-1;;;;;;;;;;;19469:21:0;:31;-1:-1:-1;19434:66:0;19430:97;;;19510:7;;6252:13;5911:1;6252:2;:13;:::i;:::-;6235:31;;:13;:31;:::i;:::-;19502:25;;;;;;19278:475;;:::o;19430:97::-;7179:42;19560:21;;:7;:21;;-1:-1:-1;;;;;;;;;;;19560:21:0;19548:34;;:7;;:11;:34::i;:::-;7179:42;19615:21;;:7;:21;;-1:-1:-1;;;;;;;;;;;19615:21:0;19538:44;;-1:-1:-1;19603:34:0;;:7;;:11;:34::i;:::-;19593:44;-1:-1:-1;19662:20:0;6252:13;5911:1;6252:2;:13;:::i;:::-;6235:31;;:13;:31;:::i;:::-;19662:7;;;:11;:20::i;:::-;19652:7;:30;19648:61;;;19692:7;;6252:13;5911:1;6252:2;:13;:::i;19648:61::-;19728:7;;19737;;-1:-1:-1;19278:475:0;-1:-1:-1;19278:475:0:o;16852:637::-;16937:7;16946;16955;16964;16973;16993:27;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;16993:27:0;17102:79;17114:7;17123:10;:28;;;17153:10;:27;;;17102:11;:79::i;:::-;17079:19;;;17031:150;17057:20;;;17031:150;;;17032:23;17214:10;:8;:10::i;:::-;17192:32;;17236:15;17253:23;17278:19;17301:76;17313:7;17322;:20;;;17344:7;:19;;;17365:11;17301;:76::i;:::-;17435:23;;17460:20;;;;;17235:142;;;;-1:-1:-1;17235:142:0;-1:-1:-1;17435:23:0;;-1:-1:-1;17460:20:0;-1:-1:-1;16852:637:0;;-1:-1:-1;;;;;;;16852:637:0:o;16330:473::-;16405:19;16427:10;:8;:10::i;:::-;16405:32;-1:-1:-1;16448:20:0;16471:29;:12;16405:32;16471:16;:29::i;:::-;16448:52;;16515:5;16511:285;;;7179:42;16561:21;;:7;:21;;-1:-1:-1;;;;;;;;;;;16561:21:0;:39;;16587:12;16561:25;:39::i;:::-;7179:42;16537:21;;-1:-1:-1;;;;;;;;;;;16537:63:0;16639:7;16537:21;16639;-1:-1:-1;;;;;;;;;;;16639:21:0;:39;;16665:12;16639:25;:39::i;:::-;7179:42;16615:21;;:7;:21;;-1:-1:-1;;;;;;;;;;;16615:63:0;16511:285;;;16756:4;16740:22;;;;:7;:22;;;;;;:40;;16767:12;16740:26;:40::i;:::-;16731:4;16715:22;;;;:7;:22;;;;;:65;16511:285;16394:409;;16330:473;;:::o;17497:648::-;17583:7;17592;17601;17610;17619;17639:28;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;17639:28:0;17752:81;17764:7;17773:10;:29;;;17804:10;:28;;;18153:465;18260:7;;;;18321:36;18353:3;18321:27;:7;18333:14;18321:11;:27::i;:36::-;18298:59;-1:-1:-1;18368:19:0;18390:35;18421:3;18390:26;:7;18402:13;18390:11;:26::i;:35::-;18368:57;-1:-1:-1;18436:23:0;18462:25;:7;18474:12;18462:11;:25::i;:::-;18436:51;-1:-1:-1;18516:32:0;18436:51;18536:11;18516:19;:32::i;:::-;18498:50;18584:12;;-1:-1:-1;18598:11:0;;-1:-1:-1;18153:465:0;;-1:-1:-1;;;;;18153:465:0:o;18626:472::-;18750:7;;;;18806:24;:7;18818:11;18806;:24::i;:::-;18788:42;-1:-1:-1;18841:20:0;18864:29;:12;18881:11;18864:16;:29::i;:::-;18841:52;-1:-1:-1;18904:19:0;18926:28;:11;18942;18926:15;:28::i;:::-;18904:50;-1:-1:-1;18965:23:0;18991:42;18904:50;18991:25;:7;19003:12;18991:11;:25::i;:::-;:29;;:42::i;:::-;19052:7;;;;-1:-1:-1;19078:11:0;;-1:-1:-1;18626:472:0;;-1:-1:-1;;;;;;;18626:472:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;782:388::-;850:6;858;911:2;899:9;890:7;886:23;882:32;879:2;;;927:1;924;917:12;879:2;966:9;953:23;985:31;1010:5;985:31;:::i;:::-;1035:5;-1:-1:-1;1092:2:1;1077:18;;1064:32;1105:33;1064:32;1105:33;:::i;:::-;1157:7;1147:17;;;869:301;;;;;:::o;1175:456::-;1252:6;1260;1268;1321:2;1309:9;1300:7;1296:23;1292:32;1289:2;;;1337:1;1334;1327:12;1289:2;1376:9;1363:23;1395:31;1420:5;1395:31;:::i;:::-;1445:5;-1:-1:-1;1502:2:1;1487:18;;1474:32;1515:33;1474:32;1515:33;:::i;:::-;1279:352;;1567:7;;-1:-1:-1;;;1621:2:1;1606:18;;;;1593:32;;1279:352::o;1636:382::-;1701:6;1709;1762:2;1750:9;1741:7;1737:23;1733:32;1730:2;;;1778:1;1775;1768:12;1730:2;1817:9;1804:23;1836:31;1861:5;1836:31;:::i;:::-;1886:5;-1:-1:-1;1943:2:1;1928:18;;1915:32;1956:30;1915:32;1956:30;:::i;2023:315::-;2091:6;2099;2152:2;2140:9;2131:7;2127:23;2123:32;2120:2;;;2168:1;2165;2158:12;2120:2;2207:9;2194:23;2226:31;2251:5;2226:31;:::i;:::-;2276:5;2328:2;2313:18;;;;2300:32;;-1:-1:-1;;;2110:228:1:o;2343:241::-;2399:6;2452:2;2440:9;2431:7;2427:23;2423:32;2420:2;;;2468:1;2465;2458:12;2420:2;2507:9;2494:23;2526:28;2548:5;2526:28;:::i;2589:245::-;2656:6;2709:2;2697:9;2688:7;2684:23;2680:32;2677:2;;;2725:1;2722;2715:12;2677:2;2757:9;2751:16;2776:28;2798:5;2776:28;:::i;2839:180::-;2898:6;2951:2;2939:9;2930:7;2926:23;2922:32;2919:2;;;2967:1;2964;2957:12;2919:2;-1:-1:-1;2990:23:1;;2909:110;-1:-1:-1;2909:110:1:o;3024:385::-;3110:6;3118;3126;3134;3187:3;3175:9;3166:7;3162:23;3158:33;3155:2;;;3204:1;3201;3194:12;3155:2;-1:-1:-1;;3227:23:1;;;3297:2;3282:18;;3269:32;;-1:-1:-1;3348:2:1;3333:18;;3320:32;;3399:2;3384:18;3371:32;;-1:-1:-1;3145:264:1;-1:-1:-1;3145:264:1:o;4309:597::-;4421:4;4450:2;4479;4468:9;4461:21;4511:6;4505:13;4554:6;4549:2;4538:9;4534:18;4527:34;4579:1;4589:140;4603:6;4600:1;4597:13;4589:140;;;4698:14;;;4694:23;;4688:30;4664:17;;;4683:2;4660:26;4653:66;4618:10;;4589:140;;;4747:6;4744:1;4741:13;4738:2;;;4817:1;4812:2;4803:6;4792:9;4788:22;4784:31;4777:42;4738:2;-1:-1:-1;4890:2:1;4869:15;-1:-1:-1;;4865:29:1;4850:45;;;;4897:2;4846:54;;4430:476;-1:-1:-1;;;4430:476:1:o;8781:329::-;8983:2;8965:21;;;9022:1;9002:18;;;8995:29;-1:-1:-1;;;9055:2:1;9040:18;;9033:36;9101:2;9086:18;;8955:155::o;10450:988::-;10720:4;10768:3;10757:9;10753:19;10799:6;10788:9;10781:25;10825:2;10863:6;10858:2;10847:9;10843:18;10836:34;10906:3;10901:2;10890:9;10886:18;10879:31;10930:6;10965;10959:13;10996:6;10988;10981:22;11034:3;11023:9;11019:19;11012:26;;11073:2;11065:6;11061:15;11047:29;;11094:1;11104:195;11118:6;11115:1;11112:13;11104:195;;;11183:13;;-1:-1:-1;;;;;11179:39:1;11167:52;;11274:15;;;;11239:12;;;;11215:1;11133:9;11104:195;;;-1:-1:-1;;;;;;;11355:32:1;;;;11350:2;11335:18;;11328:60;-1:-1:-1;;;11419:3:1;11404:19;11397:35;11316:3;10729:709;-1:-1:-1;;;10729:709:1:o;11632:128::-;11672:3;11703:1;11699:6;11696:1;11693:13;11690:2;;;11709:18;;:::i;:::-;-1:-1:-1;11745:9:1;;11680:80::o;11765:217::-;11805:1;11831;11821:2;;11875:10;11870:3;11866:20;11863:1;11856:31;11910:4;11907:1;11900:15;11938:4;11935:1;11928:15;11821:2;-1:-1:-1;11967:9:1;;11811:171::o;11987:422::-;12076:1;12119:5;12076:1;12133:270;12154:7;12144:8;12141:21;12133:270;;;12213:4;12209:1;12205:6;12201:17;12195:4;12192:27;12189:2;;;12222:18;;:::i;:::-;12272:7;12262:8;12258:22;12255:2;;;12292:16;;;;12255:2;12371:22;;;;12331:15;;;;12133:270;;;12137:3;12051:358;;;;;:::o;12414:140::-;12472:5;12501:47;12542:4;12532:8;12528:19;12522:4;12608:5;12638:8;12628:2;;-1:-1:-1;12679:1:1;12693:5;;12628:2;12727:4;12717:2;;-1:-1:-1;12764:1:1;12778:5;;12717:2;12809:4;12827:1;12822:59;;;;12895:1;12890:130;;;;12802:218;;12822:59;12852:1;12843:10;;12866:5;;;12890:130;12927:3;12917:8;12914:17;12911:2;;;12934:18;;:::i;:::-;-1:-1:-1;;12990:1:1;12976:16;;13005:5;;12802:218;;13104:2;13094:8;13091:16;13085:3;13079:4;13076:13;13072:36;13066:2;13056:8;13053:16;13048:2;13042:4;13039:12;13035:35;13032:77;13029:2;;;-1:-1:-1;13141:19:1;;;13173:5;;13029:2;13220:34;13245:8;13239:4;13220:34;:::i;:::-;13290:6;13286:1;13282:6;13278:19;13269:7;13266:32;13263:2;;;13301:18;;:::i;:::-;13339:20;;12618:747;-1:-1:-1;;;12618:747:1:o;13370:168::-;13410:7;13476:1;13472;13468:6;13464:14;13461:1;13458:21;13453:1;13446:9;13439:17;13435:45;13432:2;;;13483:18;;:::i;:::-;-1:-1:-1;13523:9:1;;13422:116::o;13543:125::-;13583:4;13611:1;13608;13605:8;13602:2;;;13616:18;;:::i;:::-;-1:-1:-1;13653:9:1;;13592:76::o;13673:127::-;13734:10;13729:3;13725:20;13722:1;13715:31;13765:4;13762:1;13755:15;13789:4;13786:1;13779:15;13805:127;13866:10;13861:3;13857:20;13854:1;13847:31;13897:4;13894:1;13887:15;13921:4;13918:1;13911:15;14069:131;-1:-1:-1;;;;;14144:31:1;;14134:42;;14124:2;;14190:1;14187;14180:12;14124:2;14114:86;:::o;14205:118::-;14291:5;14284:13;14277:21;14270:5;14267:32;14257:2;;14313:1;14310;14303:12

Swarm Source

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