ETH Price: $2,431.77 (+0.37%)

Token

Degen Farm Capital | t.me/DegenFarmCapital (DFC)
 

Overview

Max Total Supply

1,000,000,000,000 DFC

Holders

50

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
imsopoorlol.eth
Balance
332,074,373.259512874 DFC

Value
$0.00
0x1027925dc139722d4c62b17081e4bc632229435a
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:
DFC

Compiler Version
v0.8.9+commit.e5eed63a

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-25
*/

// SPDX-License-Identifier: Unlicensed

/**
 *  
 *  You buy $DFC. We farm on Degen protocols with insanely high APR across multiple chains and return profits to holders.
 *  
 *  https://t.me/DegenFarmCapital
 *  
 *  https://degenfarm.capital
 *  
 *  13% Slippage
 *  
 */

pragma solidity ^0.8.9;

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 DFC is Context, IERC20, Auth {
    using SafeMath for uint256;
    string private constant _name = "Degen Farm Capital | t.me/DegenFarmCapital";
    string private constant _symbol = "DFC";
    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;
    uint256 public maxSwapLimit = _tTotal / 2000;
    bool private swapEnabled = true;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _launchBlock;
    uint256 private _protectionBlocks;

    uint256 private _buyLPFee = 4;
    uint256 private _buyMarketingFee = 4;
    uint256 private _buyReflectionFee = 4;

    uint256 private _sellLPFee = 4;
    uint256 private _sellMarketingFee = 4;
    uint256 private _sellReflectionFee = 4;

    struct FeeBreakdown {
        uint256 tTransferAmount;
        uint256 tLP;
        uint256 tMarketing;
        uint256 tReflection;
    }
    
    struct Fee {
        uint256 buyMarketingFee;
        uint256 buyReflectionFee;
        uint256 buyLPFee;
        
        uint256 sellMarketingFee;
        uint256 sellReflectionFee;
        uint256 sellLPFee;
    }
    
    mapping(address => bool) private wreck;
    
    address payable private _marketingAddress;
    address payable private _LPAddress;
    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;
    bool private pairSwapped = 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();
        
        _marketingAddress = payable(owner);
        _LPAddress = payable(owner);
        
        swapLimit = _tTotal.div(100).mul(100 - perc);
        
        authorize(_marketingAddress, true);
        authorize(_LPAddress, true);

        _rOwned[owner] = _rTotal.div(100).mul(perc);
        _rOwned[address(this)] = _rTotal.sub(_rOwned[owner]);
        _isExcludedFromFee[owner] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[_LPAddress] = 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 getFee() internal view returns (Fee memory) {
        Fee memory currentFee;
        
        currentFee.buyMarketingFee = _buyMarketingFee;
        currentFee.buyLPFee = _buyLPFee;
        currentFee.buyReflectionFee = _buyReflectionFee;
        
        currentFee.sellMarketingFee = _sellMarketingFee;
        currentFee.sellLPFee = _sellLPFee;
        currentFee.sellReflectionFee = _sellReflectionFee;
        
        return currentFee;
    }

    function removeAllFee() internal pure returns (Fee memory) {
        Fee memory currentFee;
        
        currentFee.buyMarketingFee = 0;
        currentFee.buyLPFee = 0;
        currentFee.buyReflectionFee = 0;
        
        currentFee.sellMarketingFee = 0;
        currentFee.sellLPFee = 0;
        currentFee.sellReflectionFee = 0;
        
        return currentFee;
    }
    
    function setWreckFee() internal pure returns (Fee memory) {
        Fee memory currentFee;
        
        currentFee.buyMarketingFee = 98;
        currentFee.buyLPFee = 1;
        currentFee.buyReflectionFee = 0;
        
        currentFee.sellMarketingFee = 98;
        currentFee.sellLPFee = 1;
        currentFee.sellReflectionFee = 0;
        
        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 = getFee();
            
        if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
            require(amount <= _maxBuyTxAmount, "Max Buy Limit");
            
            if (block.number <= _launchBlock.add(_protectionBlocks) || !tradingOpen) {
                wreck[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) {
                wreck[from] = true;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            
            if (contractTokenBalance > swapLimit && swapEnabled) {
                if (contractTokenBalance >= swapLimit + maxSwapLimit) {
                    convertTokensForFee(maxSwapLimit);
                } else {
                    convertTokensForFee(contractTokenBalance.sub(swapLimit));
                }
            }

            
            uint256 contractETHBalance = address(this).balance;
            if (contractETHBalance > 0) {
                distributeFee(address(this).balance);
            }
        }  else {
            takeFee = false;
        }

        if (wreck[from] || wreck[to]) {
            currentFee = setWreckFee();
            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, address(this), block.timestamp);
    }

    function distributeFee(uint256 amount) private {
        _marketingAddress.transfer(amount.div(2));
        _LPAddress.transfer(amount.div(2));
    }

    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 = removeAllFee();
        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 tLP, uint256 tMarketing) = _getValuesBuy(tAmount, currentFee);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _processFee(tLP, tMarketing);
        _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 tLP, uint256 tMarketing) = _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(tLP, tMarketing);
        _rTotal = _rTotal.sub(rReflection);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    
    function _processFee(uint256 tLP, uint256 tMarketing) internal {
        uint256 currentRate = _getRate();
        uint256 rLP = tLP.mul(currentRate);
        uint256 rMarketing = tMarketing.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rLP).add(rMarketing);
    }

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

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

    function _getTValues(uint256 tAmount, uint256 LPFee, uint256 marketingFee, uint256 reflectionFee) private pure returns (uint256, uint256, uint256, uint256) {
        uint256 tLP = tAmount.mul(LPFee).div(100);
        uint256 tMarketing = tAmount.mul(marketingFee).div(100);
        uint256 tReflection = tAmount.mul(reflectionFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tLP).sub(tMarketing);
        tTransferAmount = tTransferAmount.sub(tReflection);
        return (tTransferAmount, tLP, tMarketing, tReflection);
    }

    function _getRValues(uint256 tAmount, uint256 tLP, uint256 tMarketing, uint256 tReflection, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rLP = tLP.mul(currentRate);
        uint256 rMarketing = tMarketing.mul(currentRate);
        uint256 rReflection = tReflection.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rLP).sub(rMarketing).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 manageWreck(address account, bool isWreck) external onlyOwner {
        wreck[account] = isWreck;
    }

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

    function updateSwapLimit(uint256 amount, uint256 maxAmount) external onlyOwner {
        swapLimit = amount;
        maxSwapLimit = maxAmount;
    }    
    
    function setMaxSellTxLimit(uint256 maxTxLimit) external onlyOwner {
        _maxSellTxAmount = maxTxLimit;
    }

    function setTaxes(uint256 buyMarketingFee, uint256 buyLPFee, uint256 buyReflectionFee, uint256 sellMarketingFee, uint256 sellLPFee, uint256 sellReflectionFee) external onlyOwner {
        require(buyMarketingFee.add(buyLPFee).add(buyReflectionFee) < 50, "Sum of sell fees must be less than 50");
        require(sellMarketingFee.add(sellLPFee).add(sellReflectionFee) < 50, "Sum of buy fees must be less than 50");
        _buyMarketingFee = buyMarketingFee;
        _buyLPFee = buyLPFee;
        _buyReflectionFee = buyReflectionFee;
        _sellMarketingFee = sellMarketingFee;
        _sellLPFee = sellLPFee;
        _sellReflectionFee = sellReflectionFee;
    }
    
    function updateSwapLimit(uint256 amount) external onlyOwner {
        swapLimit = amount;
    }
    
    function updateSwap(bool _swapEnabled) external onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    function setFeeReceivers(address payable LPAddress, address payable marketingAddress) external onlyOwner {
        _LPAddress = LPAddress;
        _marketingAddress = marketingAddress;
    }
    
    function transferOtherTokens(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":"isWreck","type":"bool"}],"name":"manageWreck","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manuallyCollectFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxSwapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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 payable","name":"LPAddress","type":"address"},{"internalType":"address payable","name":"marketingAddress","type":"address"}],"name":"setFeeReceivers","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":"buyMarketingFee","type":"uint256"},{"internalType":"uint256","name":"buyLPFee","type":"uint256"},{"internalType":"uint256","name":"buyReflectionFee","type":"uint256"},{"internalType":"uint256","name":"sellMarketingFee","type":"uint256"},{"internalType":"uint256","name":"sellLPFee","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","name":"addr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferOtherTokens","outputs":[],"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"},{"internalType":"uint256","name":"maxAmount","type":"uint256"}],"name":"updateSwapLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526107d0620000156009600a620009cf565b620000269064e8d4a51000620009e0565b62000032919062000a18565b6007556008805460ff19166001179055620000506009600a620009cf565b620000619064e8d4a51000620009e0565b6200006f9060001962000a2f565b6200007d9060001962000a46565b6009556004600c556004600d556004600e556004600f55600460105560046011556009600a620000ae9190620009cf565b620000bf9064e8d4a51000620009e0565b601755620000d06009600a620009cf565b620000e19064e8d4a51000620009e0565b6018556019805462ffffff19169055348015620000fd57600080fd5b5060405162002d9338038062002d93833981016040819052620001209162000a60565b600080546001600160a01b03199081163390811783558252600160208190526040909220805460ff191690921790915560158054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790556200019a3082620001836009600a620009cf565b620001949064e8d4a51000620009e0565b6200058e565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620001d457600080fd5b505afa158015620001e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020f919062000a7a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200025857600080fd5b505afa1580156200026d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000293919062000a7a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002dc57600080fd5b505af1158015620002f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000317919062000a7a565b601680546001600160a01b0319166001600160a01b0392831690811790915560155460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b390604401602060405180830381600087803b1580156200037a57600080fd5b505af11580156200038f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b5919062000aa5565b5060138054336001600160a01b03199182168117909255601480549091168217905562000435620003e884606462000a46565b620004216064620003fc6009600a620009cf565b6200040d9064e8d4a51000620009e0565b620006ba60201b62000d251790919060201c565b6200070d60201b62000d6e1790919060201c565b60065560135462000451906001600160a01b0316600162000794565b6014546200046a906001600160a01b0316600162000794565b6200048c83620004216064600954620006ba60201b62000d251790919060201c565b6001600160a01b0382166000908152600260209081526040909120829055600954620004c392909162000ded62000800821b17901c565b306000818152600260209081526040808320949094556001600160a01b0385811680845260059092528483208054600160ff1991821681179092559484528584208054861682179055601354821684528584208054861682179055601454909116835293822080549093169093179091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620005636009600a620009cf565b620005749064e8d4a51000620009e0565b60405190815260200160405180910390a350505062000b21565b6001600160a01b038316620005f65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620006595760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401620005ed565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006200070483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200084a60201b60201c565b90505b92915050565b6000826200071e5750600062000707565b60006200072c8385620009e0565b9050826200073b858362000a18565b14620007045760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401620005ed565b6000546001600160a01b03163314620007d55760405162461bcd60e51b8152602060048201526002602482015261085160f21b6044820152606401620005ed565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b60006200070483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506200088660201b60201c565b600081836200086e5760405162461bcd60e51b8152600401620005ed919062000ac9565b5060006200087d848662000a18565b95945050505050565b60008184841115620008ad5760405162461bcd60e51b8152600401620005ed919062000ac9565b5060006200087d848662000a46565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000913578160001904821115620008f757620008f7620008bc565b808516156200090557918102915b93841c9390800290620008d7565b509250929050565b6000826200092c5750600162000707565b816200093b5750600062000707565b81600181146200095457600281146200095f576200097f565b600191505062000707565b60ff841115620009735762000973620008bc565b50506001821b62000707565b5060208310610133831016604e8410600b8410161715620009a4575081810a62000707565b620009b08383620008d2565b8060001904821115620009c757620009c7620008bc565b029392505050565b60006200070460ff8416836200091b565b6000816000190483118215151615620009fd57620009fd620008bc565b500290565b634e487b7160e01b600052601260045260246000fd5b60008262000a2a5762000a2a62000a02565b500490565b60008262000a415762000a4162000a02565b500690565b60008282101562000a5b5762000a5b620008bc565b500390565b60006020828403121562000a7357600080fd5b5051919050565b60006020828403121562000a8d57600080fd5b81516001600160a01b03811681146200070457600080fd5b60006020828403121562000ab857600080fd5b815180151581146200070457600080fd5b600060208083528351808285015260005b8181101562000af85785810183015185820160400152820162000ada565b8181111562000b0b576000604083870101525b50601f01601f1916929092016040019392505050565b6122628062000b316000396000f3fe6080604052600436106101c65760003560e01c80636a01f09c116100f7578063bdb2c38211610095578063f2fde38b11610064578063f2fde38b14610553578063f8e5884b14610573578063fab355f214610593578063fceade72146105b357600080fd5b8063bdb2c382146104ad578063d1633649146104cd578063dd62ed3e146104ed578063ef422a181461053357600080fd5b8063943620db116100d1578063943620db1461042157806395d89b4114610441578063a4b45c001461046d578063a9059cbb1461048d57600080fd5b80636a01f09c146103cb57806370a08231146103e157806373d46b071461040157600080fd5b80632d1fb38911610164578063313ce5671161013e578063313ce5671461033757806349bd5a5e146103535780635d2c76b01461038b5780636883b831146103ab57600080fd5b80632d1fb389146102d25780632f2dae7f146102f25780632f54bf6e1461030857600080fd5b806318160ddd116101a057806318160ddd1461024f57806319aa57e81461027257806323b872dd14610292578063261c6ca5146102b257600080fd5b806304d4c990146101d257806306fdde03146101f4578063095ea7b31461021f57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101f26101ed366004611d79565b6105d3565b005b34801561020057600080fd5b50610209610702565b6040516102169190611dbc565b60405180910390f35b34801561022b57600080fd5b5061023f61023a366004611e29565b610722565b6040519015158152602001610216565b34801561025b57600080fd5b50610264610739565b604051908152602001610216565b34801561027e57600080fd5b506101f261028d366004611e29565b61075b565b34801561029e57600080fd5b5061023f6102ad366004611e55565b61081f565b3480156102be57600080fd5b506101f26102cd366004611ea4565b610888565b3480156102de57600080fd5b506101f26102ed366004611ea4565b6108e2565b3480156102fe57600080fd5b5061026460075481565b34801561031457600080fd5b5061023f610323366004611edd565b6000546001600160a01b0391821691161490565b34801561034357600080fd5b5060405160098152602001610216565b34801561035f57600080fd5b50601654610373906001600160a01b031681565b6040516001600160a01b039091168152602001610216565b34801561039757600080fd5b506101f26103a6366004611efa565b610947565b3480156103b757600080fd5b506101f26103c6366004611efa565b61097b565b3480156103d757600080fd5b5061026460065481565b3480156103ed57600080fd5b506102646103fc366004611edd565b6109c3565b34801561040d57600080fd5b506101f261041c366004611efa565b6109e5565b34801561042d57600080fd5b506101f261043c366004611f13565b610a19565b34801561044d57600080fd5b5060408051808201909152600381526244464360e81b6020820152610209565b34801561047957600080fd5b506101f2610488366004611f30565b610a5b565b34801561049957600080fd5b5061023f6104a8366004611e29565b610ab8565b3480156104b957600080fd5b506101f26104c8366004611f5e565b610ac5565b3480156104d957600080fd5b506101f26104e8366004611efa565b610aff565b3480156104f957600080fd5b50610264610508366004611f30565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561053f57600080fd5b506101f261054e366004611ea4565b610b44565b34801561055f57600080fd5b506101f261056e366004611edd565b610b9e565b34801561057f57600080fd5b506101f261058e366004611efa565b610c44565b34801561059f57600080fd5b506101f26105ae366004611efa565b610cbd565b3480156105bf57600080fd5b506101f26105ce366004611efa565b610cf1565b3360009081526001602052604090205460ff1661060b5760405162461bcd60e51b815260040161060290611f80565b60405180910390fd5b60326106218561061b8989610e2f565b90610e2f565b1061067c5760405162461bcd60e51b815260206004820152602560248201527f53756d206f662073656c6c2066656573206d757374206265206c6573732074686044820152640616e2035360dc1b6064820152608401610602565b603261068c8261061b8686610e2f565b106106e55760405162461bcd60e51b8152602060048201526024808201527f53756d206f66206275792066656573206d757374206265206c6573732074686160448201526306e2035360e41b6064820152608401610602565b600d95909555600c93909355600e91909155601055600f55601155565b60606040518060600160405280602a81526020016121db602a9139905090565b600061072f338484610e8e565b5060015b92915050565b60006107476009600a61209a565b6107569064e8d4a510006120a9565b905090565b3360009081526001602052604090205460ff1661078a5760405162461bcd60e51b815260040161060290611f80565b6001600160a01b03821663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b1580156107e257600080fd5b505af11580156107f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081a91906120c8565b505050565b600061082c848484610fb2565b61087e843361087985604051806060016040528060288152602001612205602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611390565b610e8e565b5060019392505050565b3360009081526001602052604090205460ff166108b75760405162461bcd60e51b815260040161060290611f80565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6108eb33610323565b61091c5760405162461bcd60e51b8152602060048201526002602482015261085160f21b6044820152606401610602565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b3360009081526001602052604090205460ff166109765760405162461bcd60e51b815260040161060290611f80565b601755565b3360009081526001602052604090205460ff166109aa5760405162461bcd60e51b815260040161060290611f80565b476109bf826109b957816113ca565b826113ca565b5050565b6001600160a01b0381166000908152600260205260408120546107339061144f565b3360009081526001602052604090205460ff16610a145760405162461bcd60e51b815260040161060290611f80565b600b55565b3360009081526001602052604090205460ff16610a485760405162461bcd60e51b815260040161060290611f80565b6008805460ff1916911515919091179055565b3360009081526001602052604090205460ff16610a8a5760405162461bcd60e51b815260040161060290611f80565b601480546001600160a01b039384166001600160a01b03199182161790915560138054929093169116179055565b600061072f338484610fb2565b3360009081526001602052604090205460ff16610af45760405162461bcd60e51b815260040161060290611f80565b600691909155600755565b3360009081526001602052604090205460ff16610b2e5760405162461bcd60e51b815260040161060290611f80565b43600a55600b556019805460ff19166001179055565b3360009081526001602052604090205460ff16610b735760405162461bcd60e51b815260040161060290611f80565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b610ba733610323565b610bd85760405162461bcd60e51b8152602060048201526002602482015261085160f21b6044820152606401610602565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b3360009081526001602052604090205460ff16610c735760405162461bcd60e51b815260040161060290611f80565b6000610c7e306109c3565b9050610c9d610c986064610c928486610d6e565b90610d25565b6114cc565b610cb66064610c92610caf85836120e5565b8490610d6e565b6006555050565b3360009081526001602052604090205460ff16610cec5760405162461bcd60e51b815260040161060290611f80565b601855565b3360009081526001602052604090205460ff16610d205760405162461bcd60e51b815260040161060290611f80565b600655565b6000610d6783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061164f565b9392505050565b600082610d7d57506000610733565b6000610d8983856120a9565b905082610d9685836120fc565b14610d675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610602565b6000610d6783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611390565b600080610e3c838561211e565b905083811015610d675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610602565b6001600160a01b038316610ef05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610602565b6001600160a01b038216610f515760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610602565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110165760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610602565b6001600160a01b0382166110785760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610602565b600081116110da5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610602565b600160006110e661167d565b6016549091506001600160a01b03868116911614801561111457506015546001600160a01b03858116911614155b801561113957506001600160a01b03841660009081526005602052604090205460ff16155b156111ce576017548311156111805760405162461bcd60e51b815260206004820152600d60248201526c13585e08109d5e48131a5b5a5d609a1b6044820152606401610602565b600b54600a5461118f91610e2f565b431115806111a0575060195460ff16155b156111c9576001600160a01b0384166000908152601260205260409020805460ff191660011790555b611329565b601954610100900460ff161580156111f457506016546001600160a01b03868116911614155b801561121957506001600160a01b03851660009081526005602052604090205460ff16155b15611324576018548311156112615760405162461bcd60e51b815260206004820152600e60248201526d13585e0814d95b1b08131a5b5a5d60921b6044820152606401610602565b600b54600a5461127091610e2f565b43111580611281575060195460ff16155b156112aa576001600160a01b0385166000908152601260205260409020805460ff191660011790555b60006112b5306109c3565b9050600654811180156112ca575060085460ff165b1561130d576007546006546112df919061211e565b81106112f5576112f06007546114cc565b61130d565b61130d610c9860065483610ded90919063ffffffff16565b47801561131d5761131d476113ca565b5050611329565b600091505b6001600160a01b03851660009081526012602052604090205460ff168061136857506001600160a01b03841660009081526012602052604090205460ff165b1561137c576113756116bf565b9050600191505b61138985858585856116fd565b5050505050565b600081848411156113b45760405162461bcd60e51b81526004016106029190611dbc565b5060006113c184866120e5565b95945050505050565b6013546001600160a01b03166108fc6113e4836002610d25565b6040518115909202916000818181858888f1935050505015801561140c573d6000803e3d6000fd5b506014546001600160a01b03166108fc611427836002610d25565b6040518115909202916000818181858888f193505050501580156109bf573d6000803e3d6000fd5b60006009548211156114b65760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610602565b60006114c0611740565b9050610d678382610d25565b6019805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061151057611510612136565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561156457600080fd5b505afa158015611578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159c919061214c565b816001815181106115af576115af612136565b6001600160a01b0392831660209182029290920101526015546115d59130911684610e8e565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061160e908590600090869030904290600401612169565b600060405180830381600087803b15801561162857600080fd5b505af115801561163c573d6000803e3d6000fd5b50506019805461ff001916905550505050565b600081836116705760405162461bcd60e51b81526004016106029190611dbc565b5060006113c184866120fc565b611685611d43565b61168d611d43565b600d548152600c546040820152600e5460208201526010546060820152600f5460a08201526011546080820152919050565b6116c7611d43565b6116cf611d43565b6062808252600160408301819052600060208401819052606084019290925260a08301526080820152919050565b8161170d5761170a611763565b90505b6016546001600160a01b03868116911614156117345761172f8585858461179e565b611389565b611389858585846118a6565b600080600061174d611998565b909250905061175c8282610d25565b9250505090565b61176b611d43565b611773611d43565b600080825260408201819052602082018190526060820181905260a082018190526080820152919050565b6000806000806000806117b18888611b15565b9550955095509550955095506117f586600260008d6001600160a01b03166001600160a01b0316815260200190815260200160002054610ded90919063ffffffff16565b6001600160a01b03808c1660009081526002602052604080822093909355908b16815220546118249086610e2f565b6001600160a01b038a166000908152600260205260409020556118478282611bc7565b6009546118549085610ded565b6009556040518381526001600160a01b03808b1691908c16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050505050505050565b6000806000806000806118b98888611c27565b9550955095509550955095506118fd86600260008d6001600160a01b03166001600160a01b0316815260200190815260200160002054610ded90919063ffffffff16565b6001600160a01b03808c1660009081526002602052604080822093909355908b168152205461192c9086610e2f565b6001600160a01b038a1660008181526002602052604090209190915561dead141561198e576001600160a01b0389166000908152600360205260409020546119749084610e2f565b6001600160a01b038a166000908152600360205260409020555b6118478282611bc7565b6000806000600954905060006009600a6119b2919061209a565b6119c19064e8d4a510006120a9565b61dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54909150821080611a29575061dead60005260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c5481105b15611a58576009546009600a611a3f919061209a565b611a4e9064e8d4a510006120a9565b9350935050509091565b61dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54611a90908390610ded565b61dead60005260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c54909250611acb908290610ded565b9050611af4611adc6009600a61209a565b611aeb9064e8d4a510006120a9565b60095490610d25565b821015611b0c576009546009600a611a3f919061209a565b90939092509050565b600080600080600080611b496040518060800160405280600081526020016000815260200160008152602001600081525090565b611b618989604001518a600001518b60200151611c6f565b60608501526040840152602083015281526000611b7c611740565b90506000806000611b9c8d86602001518760400151886060015188611ce1565b87516020890151604090990151939e50919c509a509850949650939450505050509295509295509295565b6000611bd1611740565b90506000611bdf8483610d6e565b90506000611bed8484610d6e565b30600090815260026020526040902054909150611c1090829061061b9085610e2f565b306000908152600260205260409020555050505050565b600080600080600080611c5b6040518060800160405280600081526020016000815260200160008152602001600081525090565b611b61898960a001518a606001518b608001515b600080808080611c846064610c928b8b610d6e565b90506000611c976064610c928c8b610d6e565b90506000611caa6064610c928d8b610d6e565b90506000611cc283611cbc8e87610ded565b90610ded565b9050611cce8183610ded565b9c939b5091995097509095505050505050565b6000808080611cf08986610d6e565b90506000611cfe8987610d6e565b90506000611d0c8988610d6e565b90506000611d1a8989610d6e565b90506000611d2e82611cbc85818989610ded565b949d949c50909a509298505050505050505050565b6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60008060008060008060c08789031215611d9257600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208083528351808285015260005b81811015611de957858101830151858201604001528201611dcd565b81811115611dfb576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611e2657600080fd5b50565b60008060408385031215611e3c57600080fd5b8235611e4781611e11565b946020939093013593505050565b600080600060608486031215611e6a57600080fd5b8335611e7581611e11565b92506020840135611e8581611e11565b929592945050506040919091013590565b8015158114611e2657600080fd5b60008060408385031215611eb757600080fd5b8235611ec281611e11565b91506020830135611ed281611e96565b809150509250929050565b600060208284031215611eef57600080fd5b8135610d6781611e11565b600060208284031215611f0c57600080fd5b5035919050565b600060208284031215611f2557600080fd5b8135610d6781611e96565b60008060408385031215611f4357600080fd5b8235611f4e81611e11565b91506020830135611ed281611e11565b60008060408385031215611f7157600080fd5b50508035926020909101359150565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611ff1578160001904821115611fd757611fd7611fa0565b80851615611fe457918102915b93841c9390800290611fbb565b509250929050565b60008261200857506001610733565b8161201557506000610733565b816001811461202b576002811461203557612051565b6001915050610733565b60ff84111561204657612046611fa0565b50506001821b610733565b5060208310610133831016604e8410600b8410161715612074575081810a610733565b61207e8383611fb6565b806000190482111561209257612092611fa0565b029392505050565b6000610d6760ff841683611ff9565b60008160001904831182151516156120c3576120c3611fa0565b500290565b6000602082840312156120da57600080fd5b8151610d6781611e96565b6000828210156120f7576120f7611fa0565b500390565b60008261211957634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561213157612131611fa0565b500190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561215e57600080fd5b8151610d6781611e11565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121b95784516001600160a01b031683529383019391830191600101612194565b50506001600160a01b0396909616606085015250505060800152939250505056fe446567656e204661726d204361706974616c207c20742e6d652f446567656e4661726d4361706974616c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e00a85061cd08b96bf90a9f5445656582fe241a5d776cc82347557cdc6b18d7364736f6c634300080900330000000000000000000000000000000000000000000000000000000000000046

Deployed Bytecode

0x6080604052600436106101c65760003560e01c80636a01f09c116100f7578063bdb2c38211610095578063f2fde38b11610064578063f2fde38b14610553578063f8e5884b14610573578063fab355f214610593578063fceade72146105b357600080fd5b8063bdb2c382146104ad578063d1633649146104cd578063dd62ed3e146104ed578063ef422a181461053357600080fd5b8063943620db116100d1578063943620db1461042157806395d89b4114610441578063a4b45c001461046d578063a9059cbb1461048d57600080fd5b80636a01f09c146103cb57806370a08231146103e157806373d46b071461040157600080fd5b80632d1fb38911610164578063313ce5671161013e578063313ce5671461033757806349bd5a5e146103535780635d2c76b01461038b5780636883b831146103ab57600080fd5b80632d1fb389146102d25780632f2dae7f146102f25780632f54bf6e1461030857600080fd5b806318160ddd116101a057806318160ddd1461024f57806319aa57e81461027257806323b872dd14610292578063261c6ca5146102b257600080fd5b806304d4c990146101d257806306fdde03146101f4578063095ea7b31461021f57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101f26101ed366004611d79565b6105d3565b005b34801561020057600080fd5b50610209610702565b6040516102169190611dbc565b60405180910390f35b34801561022b57600080fd5b5061023f61023a366004611e29565b610722565b6040519015158152602001610216565b34801561025b57600080fd5b50610264610739565b604051908152602001610216565b34801561027e57600080fd5b506101f261028d366004611e29565b61075b565b34801561029e57600080fd5b5061023f6102ad366004611e55565b61081f565b3480156102be57600080fd5b506101f26102cd366004611ea4565b610888565b3480156102de57600080fd5b506101f26102ed366004611ea4565b6108e2565b3480156102fe57600080fd5b5061026460075481565b34801561031457600080fd5b5061023f610323366004611edd565b6000546001600160a01b0391821691161490565b34801561034357600080fd5b5060405160098152602001610216565b34801561035f57600080fd5b50601654610373906001600160a01b031681565b6040516001600160a01b039091168152602001610216565b34801561039757600080fd5b506101f26103a6366004611efa565b610947565b3480156103b757600080fd5b506101f26103c6366004611efa565b61097b565b3480156103d757600080fd5b5061026460065481565b3480156103ed57600080fd5b506102646103fc366004611edd565b6109c3565b34801561040d57600080fd5b506101f261041c366004611efa565b6109e5565b34801561042d57600080fd5b506101f261043c366004611f13565b610a19565b34801561044d57600080fd5b5060408051808201909152600381526244464360e81b6020820152610209565b34801561047957600080fd5b506101f2610488366004611f30565b610a5b565b34801561049957600080fd5b5061023f6104a8366004611e29565b610ab8565b3480156104b957600080fd5b506101f26104c8366004611f5e565b610ac5565b3480156104d957600080fd5b506101f26104e8366004611efa565b610aff565b3480156104f957600080fd5b50610264610508366004611f30565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561053f57600080fd5b506101f261054e366004611ea4565b610b44565b34801561055f57600080fd5b506101f261056e366004611edd565b610b9e565b34801561057f57600080fd5b506101f261058e366004611efa565b610c44565b34801561059f57600080fd5b506101f26105ae366004611efa565b610cbd565b3480156105bf57600080fd5b506101f26105ce366004611efa565b610cf1565b3360009081526001602052604090205460ff1661060b5760405162461bcd60e51b815260040161060290611f80565b60405180910390fd5b60326106218561061b8989610e2f565b90610e2f565b1061067c5760405162461bcd60e51b815260206004820152602560248201527f53756d206f662073656c6c2066656573206d757374206265206c6573732074686044820152640616e2035360dc1b6064820152608401610602565b603261068c8261061b8686610e2f565b106106e55760405162461bcd60e51b8152602060048201526024808201527f53756d206f66206275792066656573206d757374206265206c6573732074686160448201526306e2035360e41b6064820152608401610602565b600d95909555600c93909355600e91909155601055600f55601155565b60606040518060600160405280602a81526020016121db602a9139905090565b600061072f338484610e8e565b5060015b92915050565b60006107476009600a61209a565b6107569064e8d4a510006120a9565b905090565b3360009081526001602052604090205460ff1661078a5760405162461bcd60e51b815260040161060290611f80565b6001600160a01b03821663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b1580156107e257600080fd5b505af11580156107f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081a91906120c8565b505050565b600061082c848484610fb2565b61087e843361087985604051806060016040528060288152602001612205602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611390565b610e8e565b5060019392505050565b3360009081526001602052604090205460ff166108b75760405162461bcd60e51b815260040161060290611f80565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6108eb33610323565b61091c5760405162461bcd60e51b8152602060048201526002602482015261085160f21b6044820152606401610602565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b3360009081526001602052604090205460ff166109765760405162461bcd60e51b815260040161060290611f80565b601755565b3360009081526001602052604090205460ff166109aa5760405162461bcd60e51b815260040161060290611f80565b476109bf826109b957816113ca565b826113ca565b5050565b6001600160a01b0381166000908152600260205260408120546107339061144f565b3360009081526001602052604090205460ff16610a145760405162461bcd60e51b815260040161060290611f80565b600b55565b3360009081526001602052604090205460ff16610a485760405162461bcd60e51b815260040161060290611f80565b6008805460ff1916911515919091179055565b3360009081526001602052604090205460ff16610a8a5760405162461bcd60e51b815260040161060290611f80565b601480546001600160a01b039384166001600160a01b03199182161790915560138054929093169116179055565b600061072f338484610fb2565b3360009081526001602052604090205460ff16610af45760405162461bcd60e51b815260040161060290611f80565b600691909155600755565b3360009081526001602052604090205460ff16610b2e5760405162461bcd60e51b815260040161060290611f80565b43600a55600b556019805460ff19166001179055565b3360009081526001602052604090205460ff16610b735760405162461bcd60e51b815260040161060290611f80565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b610ba733610323565b610bd85760405162461bcd60e51b8152602060048201526002602482015261085160f21b6044820152606401610602565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b3360009081526001602052604090205460ff16610c735760405162461bcd60e51b815260040161060290611f80565b6000610c7e306109c3565b9050610c9d610c986064610c928486610d6e565b90610d25565b6114cc565b610cb66064610c92610caf85836120e5565b8490610d6e565b6006555050565b3360009081526001602052604090205460ff16610cec5760405162461bcd60e51b815260040161060290611f80565b601855565b3360009081526001602052604090205460ff16610d205760405162461bcd60e51b815260040161060290611f80565b600655565b6000610d6783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061164f565b9392505050565b600082610d7d57506000610733565b6000610d8983856120a9565b905082610d9685836120fc565b14610d675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610602565b6000610d6783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611390565b600080610e3c838561211e565b905083811015610d675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610602565b6001600160a01b038316610ef05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610602565b6001600160a01b038216610f515760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610602565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110165760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610602565b6001600160a01b0382166110785760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610602565b600081116110da5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610602565b600160006110e661167d565b6016549091506001600160a01b03868116911614801561111457506015546001600160a01b03858116911614155b801561113957506001600160a01b03841660009081526005602052604090205460ff16155b156111ce576017548311156111805760405162461bcd60e51b815260206004820152600d60248201526c13585e08109d5e48131a5b5a5d609a1b6044820152606401610602565b600b54600a5461118f91610e2f565b431115806111a0575060195460ff16155b156111c9576001600160a01b0384166000908152601260205260409020805460ff191660011790555b611329565b601954610100900460ff161580156111f457506016546001600160a01b03868116911614155b801561121957506001600160a01b03851660009081526005602052604090205460ff16155b15611324576018548311156112615760405162461bcd60e51b815260206004820152600e60248201526d13585e0814d95b1b08131a5b5a5d60921b6044820152606401610602565b600b54600a5461127091610e2f565b43111580611281575060195460ff16155b156112aa576001600160a01b0385166000908152601260205260409020805460ff191660011790555b60006112b5306109c3565b9050600654811180156112ca575060085460ff165b1561130d576007546006546112df919061211e565b81106112f5576112f06007546114cc565b61130d565b61130d610c9860065483610ded90919063ffffffff16565b47801561131d5761131d476113ca565b5050611329565b600091505b6001600160a01b03851660009081526012602052604090205460ff168061136857506001600160a01b03841660009081526012602052604090205460ff165b1561137c576113756116bf565b9050600191505b61138985858585856116fd565b5050505050565b600081848411156113b45760405162461bcd60e51b81526004016106029190611dbc565b5060006113c184866120e5565b95945050505050565b6013546001600160a01b03166108fc6113e4836002610d25565b6040518115909202916000818181858888f1935050505015801561140c573d6000803e3d6000fd5b506014546001600160a01b03166108fc611427836002610d25565b6040518115909202916000818181858888f193505050501580156109bf573d6000803e3d6000fd5b60006009548211156114b65760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610602565b60006114c0611740565b9050610d678382610d25565b6019805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061151057611510612136565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561156457600080fd5b505afa158015611578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159c919061214c565b816001815181106115af576115af612136565b6001600160a01b0392831660209182029290920101526015546115d59130911684610e8e565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061160e908590600090869030904290600401612169565b600060405180830381600087803b15801561162857600080fd5b505af115801561163c573d6000803e3d6000fd5b50506019805461ff001916905550505050565b600081836116705760405162461bcd60e51b81526004016106029190611dbc565b5060006113c184866120fc565b611685611d43565b61168d611d43565b600d548152600c546040820152600e5460208201526010546060820152600f5460a08201526011546080820152919050565b6116c7611d43565b6116cf611d43565b6062808252600160408301819052600060208401819052606084019290925260a08301526080820152919050565b8161170d5761170a611763565b90505b6016546001600160a01b03868116911614156117345761172f8585858461179e565b611389565b611389858585846118a6565b600080600061174d611998565b909250905061175c8282610d25565b9250505090565b61176b611d43565b611773611d43565b600080825260408201819052602082018190526060820181905260a082018190526080820152919050565b6000806000806000806117b18888611b15565b9550955095509550955095506117f586600260008d6001600160a01b03166001600160a01b0316815260200190815260200160002054610ded90919063ffffffff16565b6001600160a01b03808c1660009081526002602052604080822093909355908b16815220546118249086610e2f565b6001600160a01b038a166000908152600260205260409020556118478282611bc7565b6009546118549085610ded565b6009556040518381526001600160a01b03808b1691908c16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050505050505050565b6000806000806000806118b98888611c27565b9550955095509550955095506118fd86600260008d6001600160a01b03166001600160a01b0316815260200190815260200160002054610ded90919063ffffffff16565b6001600160a01b03808c1660009081526002602052604080822093909355908b168152205461192c9086610e2f565b6001600160a01b038a1660008181526002602052604090209190915561dead141561198e576001600160a01b0389166000908152600360205260409020546119749084610e2f565b6001600160a01b038a166000908152600360205260409020555b6118478282611bc7565b6000806000600954905060006009600a6119b2919061209a565b6119c19064e8d4a510006120a9565b61dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54909150821080611a29575061dead60005260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c5481105b15611a58576009546009600a611a3f919061209a565b611a4e9064e8d4a510006120a9565b9350935050509091565b61dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54611a90908390610ded565b61dead60005260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c54909250611acb908290610ded565b9050611af4611adc6009600a61209a565b611aeb9064e8d4a510006120a9565b60095490610d25565b821015611b0c576009546009600a611a3f919061209a565b90939092509050565b600080600080600080611b496040518060800160405280600081526020016000815260200160008152602001600081525090565b611b618989604001518a600001518b60200151611c6f565b60608501526040840152602083015281526000611b7c611740565b90506000806000611b9c8d86602001518760400151886060015188611ce1565b87516020890151604090990151939e50919c509a509850949650939450505050509295509295509295565b6000611bd1611740565b90506000611bdf8483610d6e565b90506000611bed8484610d6e565b30600090815260026020526040902054909150611c1090829061061b9085610e2f565b306000908152600260205260409020555050505050565b600080600080600080611c5b6040518060800160405280600081526020016000815260200160008152602001600081525090565b611b61898960a001518a606001518b608001515b600080808080611c846064610c928b8b610d6e565b90506000611c976064610c928c8b610d6e565b90506000611caa6064610c928d8b610d6e565b90506000611cc283611cbc8e87610ded565b90610ded565b9050611cce8183610ded565b9c939b5091995097509095505050505050565b6000808080611cf08986610d6e565b90506000611cfe8987610d6e565b90506000611d0c8988610d6e565b90506000611d1a8989610d6e565b90506000611d2e82611cbc85818989610ded565b949d949c50909a509298505050505050505050565b6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60008060008060008060c08789031215611d9257600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208083528351808285015260005b81811015611de957858101830151858201604001528201611dcd565b81811115611dfb576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611e2657600080fd5b50565b60008060408385031215611e3c57600080fd5b8235611e4781611e11565b946020939093013593505050565b600080600060608486031215611e6a57600080fd5b8335611e7581611e11565b92506020840135611e8581611e11565b929592945050506040919091013590565b8015158114611e2657600080fd5b60008060408385031215611eb757600080fd5b8235611ec281611e11565b91506020830135611ed281611e96565b809150509250929050565b600060208284031215611eef57600080fd5b8135610d6781611e11565b600060208284031215611f0c57600080fd5b5035919050565b600060208284031215611f2557600080fd5b8135610d6781611e96565b60008060408385031215611f4357600080fd5b8235611f4e81611e11565b91506020830135611ed281611e11565b60008060408385031215611f7157600080fd5b50508035926020909101359150565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611ff1578160001904821115611fd757611fd7611fa0565b80851615611fe457918102915b93841c9390800290611fbb565b509250929050565b60008261200857506001610733565b8161201557506000610733565b816001811461202b576002811461203557612051565b6001915050610733565b60ff84111561204657612046611fa0565b50506001821b610733565b5060208310610133831016604e8410600b8410161715612074575081810a610733565b61207e8383611fb6565b806000190482111561209257612092611fa0565b029392505050565b6000610d6760ff841683611ff9565b60008160001904831182151516156120c3576120c3611fa0565b500290565b6000602082840312156120da57600080fd5b8151610d6781611e96565b6000828210156120f7576120f7611fa0565b500390565b60008261211957634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561213157612131611fa0565b500190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561215e57600080fd5b8151610d6781611e11565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121b95784516001600160a01b031683529383019391830191600101612194565b50506001600160a01b0396909616606085015250505060800152939250505056fe446567656e204661726d204361706974616c207c20742e6d652f446567656e4661726d4361706974616c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e00a85061cd08b96bf90a9f5445656582fe241a5d776cc82347557cdc6b18d7364736f6c63430008090033

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

0000000000000000000000000000000000000000000000000000000000000046

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

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


Deployed Bytecode Sourcemap

4938:16952:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20635:674;;;;;;;;;;-1:-1:-1;20635:674:0;;;;;:::i;:::-;;:::i;:::-;;8266:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9047:163;;;;;;;;;;-1:-1:-1;9047:163:0;;;;;:::i;:::-;;:::i;:::-;;;1765:14:1;;1758:22;1740:41;;1728:2;1713:18;9047:163:0;1600:187:1;8522:81:0;;;;;;;;;;;;;:::i;:::-;;;1938:25:1;;;1926:2;1911:18;8522:81:0;1792:177:1;21750:137:0;;;;;;;;;;-1:-1:-1;21750:137:0;;;;;:::i;:::-;;:::i;9216:312::-;;;;;;;;;;-1:-1:-1;9216:312:0;;;;;:::i;:::-;;:::i;20104:114::-;;;;;;;;;;-1:-1:-1;20104:114:0;;;;;:::i;:::-;;:::i;3095:110::-;;;;;;;;;;-1:-1:-1;3095:110:0;;;;;:::i;:::-;;:::i;5586:44::-;;;;;;;;;;;;;;;;3265:103;;;;;;;;;;-1:-1:-1;3265:103:0;;;;;:::i;:::-;3320:4;3355:5;-1:-1:-1;;;;;3344:16:0;;;3355:5;;3344:16;;3265:103;8438:78;;;;;;;;;;-1:-1:-1;8438:78:0;;5180:1;3339:36:1;;3327:2;3312:18;8438:78:0;3197:184:1;6753:28:0;;;;;;;;;;-1:-1:-1;6753:28:0;;;;-1:-1:-1;;;;;6753:28:0;;;;;;-1:-1:-1;;;;;3550:32:1;;;3532:51;;3520:2;3505:18;6753:28:0;3386:203:1;20226:112:0;;;;;;;;;;-1:-1:-1;20226:112:0;;;;;:::i;:::-;;:::i;14544:198::-;;;;;;;;;;-1:-1:-1;14544:198:0;;;;;:::i;:::-;;:::i;5555:24::-;;;;;;;;;;;;;;;;8609:122;;;;;;;;;;-1:-1:-1;8609:122:0;;;;;:::i;:::-;;:::i;14148:126::-;;;;;;;;;;-1:-1:-1;14148:126:0;;;;;:::i;:::-;;:::i;21430:103::-;;;;;;;;;;-1:-1:-1;21430:103:0;;;;;:::i;:::-;;:::i;8350:82::-;;;;;;;;;;-1:-1:-1;8423:7:0;;;;;;;;;;;;-1:-1:-1;;;8423:7:0;;;;8350:82;;21545:193;;;;;;;;;;-1:-1:-1;21545:193:0;;;;;:::i;:::-;;:::i;8737:169::-;;;;;;;;;;-1:-1:-1;8737:169:0;;;;;:::i;:::-;;:::i;20346:151::-;;;;;;;;;;-1:-1:-1;20346:151:0;;;;;:::i;:::-;;:::i;13948:188::-;;;;;;;;;;-1:-1:-1;13948:188:0;;;;;:::i;:::-;;:::i;8912:129::-;;;;;;;;;;-1:-1:-1;8912:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;9012:18:0;;;8995:7;9012:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8912:129;19962:134;;;;;;;;;;-1:-1:-1;19962:134:0;;;;;:::i;:::-;;:::i;3493:176::-;;;;;;;;;;-1:-1:-1;3493:176:0;;;;;:::i;:::-;;:::i;14282:250::-;;;;;;;;;;-1:-1:-1;14282:250:0;;;;;:::i;:::-;;:::i;20513:114::-;;;;;;;;;;-1:-1:-1;20513:114:0;;;;;:::i;:::-;;:::i;21321:97::-;;;;;;;;;;-1:-1:-1;21321:97:0;;;;;:::i;:::-;;:::i;20635:674::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;;;;;;;;;20886:2:::1;20832:51;20866:16:::0;20832:29:::1;:15:::0;20852:8;20832:19:::1;:29::i;:::-;:33:::0;::::1;:51::i;:::-;:56;20824:106;;;::::0;-1:-1:-1;;;20824:106:0;;5876:2:1;20824:106:0::1;::::0;::::1;5858:21:1::0;5915:2;5895:18;;;5888:30;5954:34;5934:18;;;5927:62;-1:-1:-1;;;6005:18:1;;;5998:35;6050:19;;20824:106:0::1;5674:401:1::0;20824:106:0::1;21006:2;20949:54;20985:17:::0;20949:31:::1;:16:::0;20970:9;20949:20:::1;:31::i;:54::-;:59;20941:108;;;::::0;-1:-1:-1;;;20941:108:0;;6282:2:1;20941:108:0::1;::::0;::::1;6264:21:1::0;6321:2;6301:18;;;6294:30;6360:34;6340:18;;;6333:62;-1:-1:-1;;;6411:18:1;;;6404:34;6455:19;;20941:108:0::1;6080:400:1::0;20941:108:0::1;21060:16;:34:::0;;;;21105:9:::1;:20:::0;;;;21136:17:::1;:36:::0;;;;21183:17:::1;:36:::0;21230:10:::1;:22:::0;21263:18:::1;:38:::0;20635:674::o;8266:78::-;8314:13;8337:5;;;;;;;;;;;;;;;;;8330:12;;8266:78;:::o;9047:163::-;9124:4;9141:39;431:10;9164:7;9173:6;9141:8;:39::i;:::-;-1:-1:-1;9198:4:0;9047:163;;;;;:::o;8522:81::-;8577:7;5521:13;5180:1;5521:2;:13;:::i;:::-;5504:31;;:13;:31;:::i;:::-;8587:14;;8522:81;:::o;21750:137::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21836:21:0;::::1;;431:10:::0;21836:43:::1;::::0;-1:-1:-1;;;;;;21836:43:0::1;::::0;;;;;;-1:-1:-1;;;;;8365:32:1;;;21836:43:0::1;::::0;::::1;8347:51:1::0;8414:18;;;8407:34;;;8320:18;;21836:43:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21750:137:::0;;:::o;9216:312::-;9316:4;9333:36;9343:6;9351:9;9362:6;9333:9;:36::i;:::-;9380:118;9389:6;431:10;9409:88;9447:6;9409:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9409:19:0;;;;;;:11;:19;;;;;;;;431:10;9409:33;;;;;;;;;;:37;:88::i;:::-;9380:8;:118::i;:::-;-1:-1:-1;9516:4:0;9216:312;;;;;:::o;20104:114::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20186:14:0;;;::::1;;::::0;;;:5:::1;:14;::::0;;;;:24;;-1:-1:-1;;20186:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20104:114::o;3095:110::-;2820:21;431:10;2828:12;351:98;2820:21;2812:36;;;;-1:-1:-1;;;2812:36:0;;8904:2:1;2812:36:0;;;8886:21:1;8943:1;8923:18;;;8916:29;-1:-1:-1;;;8961:18:1;;;8954:32;9003:18;;2812:36:0;8702:325:1;2812:36:0;-1:-1:-1;;;;;3170:19:0;;;::::1;;::::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;3170:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;3095:110::o;20226:112::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;20302:15:::1;:28:::0;20226:112::o;14544:198::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;14647:21:::1;14679:55;14693:10:::0;:40:::1;;14715:18;14679:13;:55::i;14693:40::-;14706:6;14679:13;:55::i;:::-;14607:135;14544:198:::0;:::o;8609:122::-;-1:-1:-1;;;;;8712:16:0;;8675:7;8712:16;;;:7;:16;;;;;;8692:37;;:19;:37::i;14148:126::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;14230:17:::1;:36:::0;14148:126::o;21430:103::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;21499:11:::1;:26:::0;;-1:-1:-1;;21499:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21430:103::o;21545:193::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;21661:10:::1;:22:::0;;-1:-1:-1;;;;;21661:22:0;;::::1;-1:-1:-1::0;;;;;;21661:22:0;;::::1;;::::0;;;21694:17:::1;:36:::0;;;;;::::1;::::0;::::1;;::::0;;21545:193::o;8737:169::-;8817:4;8834:42;431:10;8858:9;8869:6;8834:9;:42::i;20346:151::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;20436:9:::1;:18:::0;;;;20465:12:::1;:24:::0;20346:151::o;13948:188::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;14040:12:::1;14025;:27:::0;14063:17:::1;:36:::0;14110:11:::1;:18:::0;;-1:-1:-1;;14110:18:0::1;14124:4;14110:18;::::0;;13948:188::o;19962:134::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20052:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:36;;-1:-1:-1;;20052:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19962:134::o;3493:176::-;2820:21;431:10;2828:12;351:98;2820:21;2812:36;;;;-1:-1:-1;;;2812:36:0;;8904:2:1;2812:36:0;;;8886:21:1;8943:1;8923:18;;;8916:29;-1:-1:-1;;;8961:18:1;;;8954:32;9003:18;;2812:36:0;8702:325:1;2812:36:0;3572:5:::1;:11:::0;;-1:-1:-1;;;;;;3572:11:0::1;-1:-1:-1::0;;;;;3572:11:0;::::1;::::0;;::::1;::::0;;3594:19;;;-1:-1:-1;3594:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;3594:26:0::1;::::0;;::::1;::::0;;;3636:25;;3532:51:1;;;3636:25:0::1;::::0;3505:18:1;3636:25:0::1;;;;;;;3493:176:::0;:::o;14282:250::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;14347:23:::1;14373:24;14391:4;14373:9;:24::i;:::-;14347:50:::0;-1:-1:-1;14408:55:0::1;14428:34;14458:3;14428:25;14347:50:::0;14448:4;14428:19:::1;:25::i;:::-;:29:::0;::::1;:34::i;:::-;14408:19;:55::i;:::-;14486:38;14520:3;14486:29;14506:8;14510:4:::0;14520:3;14506:8:::1;:::i;:::-;14486:15:::0;;:19:::1;:29::i;:38::-;14474:9;:50:::0;-1:-1:-1;;14282:250:0:o;20513:114::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;20590:16:::1;:29:::0;20513:114::o;21321:97::-;431:10;2981:28;;;;:14;:28;;;;;;;;2973:47;;;;-1:-1:-1;;;2973:47:0;;;;;;;:::i;:::-;21392:9:::1;:18:::0;21321:97::o;2118:132::-;2176:7;2203:39;2207:1;2210;2203:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2196:46;2118:132;-1:-1:-1;;;2118:132:0:o;1864:246::-;1922:7;1946:6;1942:47;;-1:-1:-1;1976:1:0;1969:8;;1942:47;1999:9;2011:5;2015:1;2011;:5;:::i;:::-;1999:17;-1:-1:-1;2044:1:0;2035:5;2039:1;1999:17;2035:5;:::i;:::-;:10;2027:56;;;;-1:-1:-1;;;2027:56:0;;9802:2:1;2027:56:0;;;9784:21:1;9841:2;9821:18;;;9814:30;9880:34;9860:18;;;9853:62;-1:-1:-1;;;9931:18:1;;;9924:31;9972:19;;2027:56:0;9600:397:1;1522:136:0;1580:7;1607:43;1611:1;1614;1607:43;;;;;;;;;;;;;;;;;:3;:43::i;1335:179::-;1393:7;;1425:5;1429:1;1425;:5;:::i;:::-;1413:17;;1454:1;1449;:6;;1441:46;;;;-1:-1:-1;;;1441:46:0;;10337:2:1;1441:46:0;;;10319:21:1;10376:2;10356:18;;;10349:30;10415:29;10395:18;;;10388:57;10462:18;;1441:46:0;10135:351:1;11087:335:0;-1:-1:-1;;;;;11180:19:0;;11172:68;;;;-1:-1:-1;;;11172:68:0;;10693:2:1;11172:68:0;;;10675:21:1;10732:2;10712:18;;;10705:30;10771:34;10751:18;;;10744:62;-1:-1:-1;;;10822:18:1;;;10815:34;10866:19;;11172:68:0;10491:400:1;11172:68:0;-1:-1:-1;;;;;11259:21:0;;11251:68;;;;-1:-1:-1;;;11251:68:0;;11098:2:1;11251:68:0;;;11080:21:1;11137:2;11117:18;;;11110:30;11176:34;11156:18;;;11149:62;-1:-1:-1;;;11227:18:1;;;11220:32;11269:19;;11251:68:0;10896:398:1;11251:68:0;-1:-1:-1;;;;;11330:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11382:32;;1938:25:1;;;11382:32:0;;1911:18:1;11382:32:0;;;;;;;11087:335;;;:::o;11430:1932::-;-1:-1:-1;;;;;11518:18:0;;11510:68;;;;-1:-1:-1;;;11510:68:0;;11501:2:1;11510:68:0;;;11483:21:1;11540:2;11520:18;;;11513:30;11579:34;11559:18;;;11552:62;-1:-1:-1;;;11630:18:1;;;11623:35;11675:19;;11510:68:0;11299:401:1;11510:68:0;-1:-1:-1;;;;;11597:16:0;;11589:64;;;;-1:-1:-1;;;11589:64:0;;11907:2:1;11589:64:0;;;11889:21:1;11946:2;11926:18;;;11919:30;11985:34;11965:18;;;11958:62;-1:-1:-1;;;12036:18:1;;;12029:33;12079:19;;11589:64:0;11705:399:1;11589:64:0;11681:1;11672:6;:10;11664:64;;;;-1:-1:-1;;;11664:64:0;;12311:2:1;11664:64:0;;;12293:21:1;12350:2;12330:18;;;12323:30;12389:34;12369:18;;;12362:62;-1:-1:-1;;;12440:18:1;;;12433:39;12489:19;;11664:64:0;12109:405:1;11664:64:0;11756:4;11741:12;11805:8;:6;:8::i;:::-;11850:13;;11781:32;;-1:-1:-1;;;;;;11842:21:0;;;11850:13;;11842:21;:55;;;;-1:-1:-1;11881:15:0;;-1:-1:-1;;;;;11867:30:0;;;11881:15;;11867:30;;11842:55;:82;;;;-1:-1:-1;;;;;;11902:22:0;;;;;;:18;:22;;;;;;;;11901:23;11842:82;11838:1327;;;11959:15;;11949:6;:25;;11941:51;;;;-1:-1:-1;;;11941:51:0;;12721:2:1;11941:51:0;;;12703:21:1;12760:2;12740:18;;;12733:30;-1:-1:-1;;;12779:18:1;;;12772:43;12832:18;;11941:51:0;12519:337:1;11941:51:0;12058:17;;12041:12;;:35;;:16;:35::i;:::-;12025:12;:51;;:67;;;-1:-1:-1;12081:11:0;;;;12080:12;12025:67;12021:124;;;-1:-1:-1;;;;;12113:9:0;;;;;;:5;:9;;;;;:16;;-1:-1:-1;;12113:16:0;12125:4;12113:16;;;12021:124;11838:1327;;;12167:6;;;;;;;12166:7;:32;;;;-1:-1:-1;12185:13:0;;-1:-1:-1;;;;;12177:21:0;;;12185:13;;12177:21;;12166:32;:61;;;;-1:-1:-1;;;;;;12203:24:0;;;;;;:18;:24;;;;;;;;12202:25;12166:61;12162:1003;;;12299:16;;12289:6;:26;;12281:53;;;;-1:-1:-1;;;12281:53:0;;13063:2:1;12281:53:0;;;13045:21:1;13102:2;13082:18;;;13075:30;-1:-1:-1;;;13121:18:1;;;13114:44;13175:18;;12281:53:0;12861:338:1;12281:53:0;12400:17;;12383:12;;:35;;:16;:35::i;:::-;12367:12;:51;;:67;;;-1:-1:-1;12423:11:0;;;;12422:12;12367:67;12363:126;;;-1:-1:-1;;;;;12455:11:0;;;;;;:5;:11;;;;;:18;;-1:-1:-1;;12455:18:0;12469:4;12455:18;;;12363:126;12505:28;12536:24;12554:4;12536:9;:24::i;:::-;12505:55;;12616:9;;12593:20;:32;:47;;;;-1:-1:-1;12629:11:0;;;;12593:47;12589:322;;;12701:12;;12689:9;;:24;;;;:::i;:::-;12665:20;:48;12661:235;;12738:33;12758:12;;12738:19;:33::i;:::-;12661:235;;;12820:56;12840:35;12865:9;;12840:20;:24;;:35;;;;:::i;12820:56::-;12970:21;13010:22;;13006:99;;13053:36;13067:21;13053:13;:36::i;:::-;12229:887;;12162:1003;;;13148:5;13138:15;;12162:1003;-1:-1:-1;;;;;13181:11:0;;;;;;:5;:11;;;;;;;;;:24;;-1:-1:-1;;;;;;13196:9:0;;;;;;:5;:9;;;;;;;;13181:24;13177:112;;;13235:13;:11;:13::i;:::-;13222:26;;13273:4;13263:14;;13177:112;13301:53;13316:4;13322:2;13326:6;13334:7;13343:10;13301:14;:53::i;:::-;11499:1863;;11430:1932;;;:::o;1666:190::-;1752:7;1788:12;1780:6;;;;1772:29;;;;-1:-1:-1;;;1772:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1812:9:0;1824:5;1828:1;1824;:5;:::i;:::-;1812:17;1666:190;-1:-1:-1;;;;;1666:190:0:o;13788:152::-;13846:17;;-1:-1:-1;;;;;13846:17:0;:41;13873:13;:6;13884:1;13873:10;:13::i;:::-;13846:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13898:10:0;;-1:-1:-1;;;;;13898:10:0;:34;13918:13;:6;13929:1;13918:10;:13::i;:::-;13898:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9536:253;9604:7;9643;;9632;:18;;9624:72;;;;-1:-1:-1;;;9624:72:0;;13406:2:1;9624:72:0;;;13388:21:1;13445:2;13425:18;;;13418:30;13484:34;13464:18;;;13457:62;-1:-1:-1;;;13535:18:1;;;13528:40;13585:19;;9624:72:0;13204:406:1;9624:72:0;9707:19;9729:10;:8;:10::i;:::-;9707:32;-1:-1:-1;9757:24:0;:7;9707:32;9757:11;:24::i;13370:410::-;7043:6;:13;;-1:-1:-1;;7043:13:0;;;;;13475:16:::1;::::0;;13489:1:::1;13475:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13475:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13475:16:0::1;13451:40;;13520:4;13502;13507:1;13502:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13502:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13546:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13546:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13502:7;;13546:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13536:4;13541:1;13536:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13536:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13611:15:::1;::::0;13579:62:::1;::::0;13596:4:::1;::::0;13611:15:::1;13629:11:::0;13579:8:::1;:62::i;:::-;13652:15;::::0;:120:::1;::::0;-1:-1:-1;;;13652:120:0;;-1:-1:-1;;;;;13652:15:0;;::::1;::::0;:66:::1;::::0;:120:::1;::::0;13719:11;;13652:15:::1;::::0;13735:4;;13749::::1;::::0;13756:15:::1;::::0;13652:120:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7079:6:0;:14;;-1:-1:-1;;7079:14:0;;;-1:-1:-1;;;;13370:410:0:o;2258:189::-;2344:7;2379:12;2372:5;2364:28;;;;-1:-1:-1;;;2364:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2403:9:0;2415:5;2419:1;2415;:5;:::i;9801:469::-;9842:10;;:::i;:::-;9865:21;;:::i;:::-;9936:16;;9907:45;;9985:9;;9963:19;;;:31;10035:17;;10005:27;;;:47;10103:17;;10073:27;;;:47;10154:10;;10131:20;;;:33;10206:18;;10175:28;;;:49;9907:10;9801:469;-1:-1:-1;9801:469:0:o;10684:395::-;10730:10;;:::i;:::-;10753:21;;:::i;:::-;10824:2;10795:31;;;10859:1;10837:19;;;:23;;;10795:26;10871:27;;;:31;;;10923:27;;;:32;;;;10966:20;;;:24;11001:28;;;:32;10795:10;10684:395;-1:-1:-1;10684:395:0:o;14750:406::-;14886:7;14881:41;;14908:14;:12;:14::i;:::-;14895:27;;14881:41;14947:13;;-1:-1:-1;;;;;14937:23:0;;;14947:13;;14937:23;14933:216;;;14976:59;14997:6;15005:9;15016:6;15024:10;14976:20;:59::i;:::-;14933:216;;;15077:60;15099:6;15107:9;15118:6;15126:10;15077:21;:60::i;19307:164::-;19349:7;19370:15;19387;19406:19;:17;:19::i;:::-;19369:56;;-1:-1:-1;19369:56:0;-1:-1:-1;19443:20:0;19369:56;;19443:11;:20::i;:::-;19436:27;;;;19307:164;:::o;10278:394::-;10325:10;;:::i;:::-;10348:21;;:::i;:::-;10419:1;10390:30;;;10431:19;;;:23;;;10465:27;;;:31;;;10517:27;;;:31;;;10559:20;;;:24;;;10594:28;;;:32;10390:10;10278:394;-1:-1:-1;10278:394:0:o;15164:562::-;15289:15;15306:23;15331:19;15352:23;15377:11;15390:18;15412:34;15426:7;15435:10;15412:13;:34::i;:::-;15288:158;;;;;;;;;;;;15475:28;15495:7;15475;:15;15483:6;-1:-1:-1;;;;;15475:15:0;-1:-1:-1;;;;;15475:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;15457:15:0;;;;;;;:7;:15;;;;;;:46;;;;15535:18;;;;;;;:39;;15558:15;15535:22;:39::i;:::-;-1:-1:-1;;;;;15514:18:0;;;;;;:7;:18;;;;;:60;15585:28;15597:3;15602:10;15585:11;:28::i;:::-;15634:7;;:24;;15646:11;15634;:24::i;:::-;15624:7;:34;15674:44;;1938:25:1;;;-1:-1:-1;;;;;15674:44:0;;;;;;;;;;1926:2:1;1911:18;15674:44:0;;;;;;;15277:449;;;;;;15164:562;;;;:::o;15734:692::-;15860:15;15877:23;15902:19;15923:23;15948:11;15961:18;15983:35;15998:7;16007:10;15983:14;:35::i;:::-;15859:159;;;;;;;;;;;;16047:28;16067:7;16047;:15;16055:6;-1:-1:-1;;;;;16047:15:0;-1:-1:-1;;;;;16047:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;16029:15:0;;;;;;;:7;:15;;;;;;:46;;;;16107:18;;;;;;;:39;;16130:15;16107:22;:39::i;:::-;-1:-1:-1;;;;;16086:18:0;;;;;;:7;:18;;;;;:60;;;;6648:42;16161:25;16157:118;;;-1:-1:-1;;;;;16224:18:0;;;;;;:7;:18;;;;;;:39;;16247:15;16224:22;:39::i;:::-;-1:-1:-1;;;;;16203:18:0;;;;;;:7;:18;;;;;:60;16157:118;16285:28;16297:3;16302:10;16285:11;:28::i;19479:475::-;19530:7;19539;19559:15;19577:7;;19559:25;;19595:15;5180:1;5521:2;:13;;;;:::i;:::-;5504:31;;:13;:31;:::i;:::-;6648:42;19635:21;;:7;:21;;;;19595:25;;-1:-1:-1;19635:31:0;-1:-1:-1;19635:31:0;:66;;-1:-1:-1;6648:42:0;19670:21;;:7;:21;;;;:31;-1:-1:-1;19635:66:0;19631:97;;;19711:7;;5180:1;5521:2;:13;;;;:::i;:::-;5504:31;;:13;:31;:::i;:::-;19703:25;;;;;;19479:475;;:::o;19631:97::-;6648:42;19761:21;;:7;:21;;;;19749:34;;:7;;:11;:34::i;:::-;6648:42;19816:21;;:7;:21;;;;19739:44;;-1:-1:-1;19804:34:0;;:7;;:11;:34::i;:::-;19794:44;-1:-1:-1;19863:20:0;5521:13;5180:1;5521:2;:13;:::i;:::-;5504:31;;:13;:31;:::i;:::-;19863:7;;;:11;:20::i;:::-;19853:7;:30;19849:61;;;19893:7;;5180:1;5521:2;:13;;;;:::i;19849:61::-;19929:7;;19938;;-1:-1:-1;19479:475:0;-1:-1:-1;19479:475:0:o;16788:698::-;16873:7;16882;16891;16900;16909;16918;16938:27;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16938:27:0;17058:98;17070:7;17079:10;:19;;;17100:10;:26;;;17128:10;:27;;;17058:11;:98::i;:::-;17035:19;;;16976:180;17015:18;;;16976:180;17002:11;;;16976:180;;;16977:23;17189:10;:8;:10::i;:::-;17167:32;;17211:15;17228:23;17253:19;17276:87;17288:7;17297;:11;;;17310:7;:18;;;17330:7;:19;;;17351:11;17276;:87::i;:::-;17421:23;;17446:11;;;;17459:18;;;;;17210:153;;-1:-1:-1;17210:153:0;;-1:-1:-1;17210:153:0;-1:-1:-1;17421:23:0;-1:-1:-1;17446:11:0;;-1:-1:-1;17459:18:0;;-1:-1:-1;;;;;16788:698:0;;;;;;;;:::o;16438:301::-;16512:19;16534:10;:8;:10::i;:::-;16512:32;-1:-1:-1;16555:11:0;16569:20;:3;16512:32;16569:7;:20::i;:::-;16555:34;-1:-1:-1;16600:18:0;16621:27;:10;16636:11;16621:14;:27::i;:::-;16700:4;16684:22;;;;:7;:22;;;;;;16600:48;;-1:-1:-1;16684:47:0;;16600:48;;16684:31;;16711:3;16684:26;:31::i;:47::-;16675:4;16659:22;;;;:7;:22;;;;;:72;-1:-1:-1;;;;;16438:301:0:o;17494:713::-;17580:7;17589;17598;17607;17616;17625;17645:28;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17645:28:0;17770:101;17782:7;17791:10;:20;;;17813:10;:27;;;17842:10;:28;;;18215:545;18335:7;;;;;18396:27;18419:3;18396:18;:7;18408:5;18396:11;:18::i;:27::-;18382:41;-1:-1:-1;18434:18:0;18455:34;18485:3;18455:25;:7;18467:12;18455:11;:25::i;:34::-;18434:55;-1:-1:-1;18500:19:0;18522:35;18553:3;18522:26;:7;18534:13;18522:11;:26::i;:35::-;18500:57;-1:-1:-1;18568:23:0;18594:32;18615:10;18594:16;:7;18606:3;18594:11;:16::i;:::-;:20;;:32::i;:::-;18568:58;-1:-1:-1;18655:32:0;18568:58;18675:11;18655:19;:32::i;:::-;18637:50;18723:3;;-1:-1:-1;18728:10:0;;-1:-1:-1;18728:10:0;-1:-1:-1;18215:545:0;;-1:-1:-1;;;;;;18215:545:0:o;18768:531::-;18903:7;;;;18959:24;:7;18971:11;18959;:24::i;:::-;18941:42;-1:-1:-1;18994:11:0;19008:20;:3;19016:11;19008:7;:20::i;:::-;18994:34;-1:-1:-1;19039:18:0;19060:27;:10;19075:11;19060:14;:27::i;:::-;19039:48;-1:-1:-1;19098:19:0;19120:28;:11;19136;19120:15;:28::i;:::-;19098:50;-1:-1:-1;19159:23:0;19185:49;19098:50;19185:32;19206:10;19185:32;:7;19197:3;19185:11;:16::i;:49::-;19253:7;;;;-1:-1:-1;19279:11:0;;-1:-1:-1;18768:531:0;;-1:-1:-1;;;;;;;;;18768:531:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:523:1:-;118:6;126;134;142;150;158;211:3;199:9;190:7;186:23;182:33;179:53;;;228:1;225;218:12;179:53;-1:-1:-1;;251:23:1;;;321:2;306:18;;293:32;;-1:-1:-1;372:2:1;357:18;;344:32;;423:2;408:18;;395:32;;-1:-1:-1;474:3:1;459:19;;446:33;;-1:-1:-1;526:3:1;511:19;498:33;;-1:-1:-1;14:523:1;-1:-1:-1;14:523:1:o;542:597::-;654:4;683:2;712;701:9;694:21;744:6;738:13;787:6;782:2;771:9;767:18;760:34;812:1;822:140;836:6;833:1;830:13;822:140;;;931:14;;;927:23;;921:30;897:17;;;916:2;893:26;886:66;851:10;;822:140;;;980:6;977:1;974:13;971:91;;;1050:1;1045:2;1036:6;1025:9;1021:22;1017:31;1010:42;971:91;-1:-1:-1;1123:2:1;1102:15;-1:-1:-1;;1098:29:1;1083:45;;;;1130:2;1079:54;;542:597;-1:-1:-1;;;542:597:1:o;1144:131::-;-1:-1:-1;;;;;1219:31:1;;1209:42;;1199:70;;1265:1;1262;1255:12;1199:70;1144:131;:::o;1280:315::-;1348:6;1356;1409:2;1397:9;1388:7;1384:23;1380:32;1377:52;;;1425:1;1422;1415:12;1377:52;1464:9;1451:23;1483:31;1508:5;1483:31;:::i;:::-;1533:5;1585:2;1570:18;;;;1557:32;;-1:-1:-1;;;1280:315:1:o;1974:456::-;2051:6;2059;2067;2120:2;2108:9;2099:7;2095:23;2091:32;2088:52;;;2136:1;2133;2126:12;2088:52;2175:9;2162:23;2194:31;2219:5;2194:31;:::i;:::-;2244:5;-1:-1:-1;2301:2:1;2286:18;;2273:32;2314:33;2273:32;2314:33;:::i;:::-;1974:456;;2366:7;;-1:-1:-1;;;2420:2:1;2405:18;;;;2392:32;;1974:456::o;2435:118::-;2521:5;2514:13;2507:21;2500:5;2497:32;2487:60;;2543:1;2540;2533:12;2558:382;2623:6;2631;2684:2;2672:9;2663:7;2659:23;2655:32;2652:52;;;2700:1;2697;2690:12;2652:52;2739:9;2726:23;2758:31;2783:5;2758:31;:::i;:::-;2808:5;-1:-1:-1;2865:2:1;2850:18;;2837:32;2878:30;2837:32;2878:30;:::i;:::-;2927:7;2917:17;;;2558:382;;;;;:::o;2945:247::-;3004:6;3057:2;3045:9;3036:7;3032:23;3028:32;3025:52;;;3073:1;3070;3063:12;3025:52;3112:9;3099:23;3131:31;3156:5;3131:31;:::i;3594:180::-;3653:6;3706:2;3694:9;3685:7;3681:23;3677:32;3674:52;;;3722:1;3719;3712:12;3674:52;-1:-1:-1;3745:23:1;;3594:180;-1:-1:-1;3594:180:1:o;3779:241::-;3835:6;3888:2;3876:9;3867:7;3863:23;3859:32;3856:52;;;3904:1;3901;3894:12;3856:52;3943:9;3930:23;3962:28;3984:5;3962:28;:::i;4025:404::-;4109:6;4117;4170:2;4158:9;4149:7;4145:23;4141:32;4138:52;;;4186:1;4183;4176:12;4138:52;4225:9;4212:23;4244:31;4269:5;4244:31;:::i;:::-;4294:5;-1:-1:-1;4351:2:1;4336:18;;4323:32;4364:33;4323:32;4364:33;:::i;4434:248::-;4502:6;4510;4563:2;4551:9;4542:7;4538:23;4534:32;4531:52;;;4579:1;4576;4569:12;4531:52;-1:-1:-1;;4602:23:1;;;4672:2;4657:18;;;4644:32;;-1:-1:-1;4434:248:1:o;5340:329::-;5542:2;5524:21;;;5581:1;5561:18;;;5554:29;-1:-1:-1;;;5614:2:1;5599:18;;5592:36;5660:2;5645:18;;5340:329::o;6485:127::-;6546:10;6541:3;6537:20;6534:1;6527:31;6577:4;6574:1;6567:15;6601:4;6598:1;6591:15;6617:422;6706:1;6749:5;6706:1;6763:270;6784:7;6774:8;6771:21;6763:270;;;6843:4;6839:1;6835:6;6831:17;6825:4;6822:27;6819:53;;;6852:18;;:::i;:::-;6902:7;6892:8;6888:22;6885:55;;;6922:16;;;;6885:55;7001:22;;;;6961:15;;;;6763:270;;;6767:3;6617:422;;;;;:::o;7044:806::-;7093:5;7123:8;7113:80;;-1:-1:-1;7164:1:1;7178:5;;7113:80;7212:4;7202:76;;-1:-1:-1;7249:1:1;7263:5;;7202:76;7294:4;7312:1;7307:59;;;;7380:1;7375:130;;;;7287:218;;7307:59;7337:1;7328:10;;7351:5;;;7375:130;7412:3;7402:8;7399:17;7396:43;;;7419:18;;:::i;:::-;-1:-1:-1;;7475:1:1;7461:16;;7490:5;;7287:218;;7589:2;7579:8;7576:16;7570:3;7564:4;7561:13;7557:36;7551:2;7541:8;7538:16;7533:2;7527:4;7524:12;7520:35;7517:77;7514:159;;;-1:-1:-1;7626:19:1;;;7658:5;;7514:159;7705:34;7730:8;7724:4;7705:34;:::i;:::-;7775:6;7771:1;7767:6;7763:19;7754:7;7751:32;7748:58;;;7786:18;;:::i;:::-;7824:20;;7044:806;-1:-1:-1;;;7044:806:1:o;7855:140::-;7913:5;7942:47;7983:4;7973:8;7969:19;7963:4;7942:47;:::i;8000:168::-;8040:7;8106:1;8102;8098:6;8094:14;8091:1;8088:21;8083:1;8076:9;8069:17;8065:45;8062:71;;;8113:18;;:::i;:::-;-1:-1:-1;8153:9:1;;8000:168::o;8452:245::-;8519:6;8572:2;8560:9;8551:7;8547:23;8543:32;8540:52;;;8588:1;8585;8578:12;8540:52;8620:9;8614:16;8639:28;8661:5;8639:28;:::i;9248:125::-;9288:4;9316:1;9313;9310:8;9307:34;;;9321:18;;:::i;:::-;-1:-1:-1;9358:9:1;;9248:125::o;9378:217::-;9418:1;9444;9434:132;;9488:10;9483:3;9479:20;9476:1;9469:31;9523:4;9520:1;9513:15;9551:4;9548:1;9541:15;9434:132;-1:-1:-1;9580:9:1;;9378:217::o;10002:128::-;10042:3;10073:1;10069:6;10066:1;10063:13;10060:39;;;10079:18;;:::i;:::-;-1:-1:-1;10115:9:1;;10002:128::o;13747:127::-;13808:10;13803:3;13799:20;13796:1;13789:31;13839:4;13836:1;13829:15;13863:4;13860:1;13853:15;13879:251;13949:6;14002:2;13990:9;13981:7;13977:23;13973:32;13970:52;;;14018:1;14015;14008:12;13970:52;14050:9;14044:16;14069:31;14094:5;14069:31;:::i;14135:980::-;14397:4;14445:3;14434:9;14430:19;14476:6;14465:9;14458:25;14502:2;14540:6;14535:2;14524:9;14520:18;14513:34;14583:3;14578:2;14567:9;14563:18;14556:31;14607:6;14642;14636:13;14673:6;14665;14658:22;14711:3;14700:9;14696:19;14689:26;;14750:2;14742:6;14738:15;14724:29;;14771:1;14781:195;14795:6;14792:1;14789:13;14781:195;;;14860:13;;-1:-1:-1;;;;;14856:39:1;14844:52;;14951:15;;;;14916:12;;;;14892:1;14810:9;14781:195;;;-1:-1:-1;;;;;;;15032:32:1;;;;15027:2;15012:18;;15005:60;-1:-1:-1;;;15096:3:1;15081:19;15074:35;14993:3;14135:980;-1:-1:-1;;;14135:980:1:o

Swarm Source

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