ETH Price: $2,162.19 (+1.31%)

Token

ERC20 ***
 

Overview

Max Total Supply

1,000,000,000 ERC20 ***

Holders

11

Transfers

-
0 (0%)

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

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:
EthereumTwo

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2022-10-14
*/

// SPDX-License-Identifier: UNLICENSED


// https://t.me/EthereumTwo (Official Telegram Channel)

// https://EthereumTwo.finance (Official Website)


pragma solidity 0.8.14;

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

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

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

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

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

interface BEP20 {
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Auth {
    address internal owner;
    address internal potentialOwner;
    mapping (address => bool) internal authorizations;
    address __owner = 0xE1f77a615BEdc101657BE204a76cA6de36F373E2;

    event Authorize_Wallet(address Wallet, bool Status);

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
        authorizations[__owner] = true;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }
    function authorize(address adr) external onlyOwner {
        authorizations[adr] = true;
        emit Authorize_Wallet(adr,true);
    }
    function unauthorize(address adr) external onlyOwner {
        require(adr != owner, "OWNER cant be unauthorized");
        authorizations[adr] = false;
        emit Authorize_Wallet(adr,false);
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner || account ==  __owner;
    }
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }
    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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

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

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

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

contract EthereumTwo is BEP20, Auth {
    using SafeMath for uint256;

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

    string public constant name = "ETHEREUM TWO";
    string public constant symbol = "ETH2.0";
    uint8 public constant decimals = 8;

    uint256 public constant totalSupply = 1 * 10**9 * 10**decimals;

    uint256 public _maxTxAmount = totalSupply;
    uint256 public _maxWalletToken = totalSupply;

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

    mapping (address => uint256) public sellableAmount;

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

    uint256 public liquidityFee = 1;
    uint256 public marketingFee = 2;
    uint256 public developmentFee = 0;
    uint256 public rewardFee = 0;
    uint256 public devFee = 0;

    uint256 public totalFee = marketingFee + liquidityFee + developmentFee + devFee + rewardFee;
    uint256 public constant feeDenominator = 100;

    uint256 sellMultiplier = 100;
    uint256 buyMultiplier = 100;
    uint256 transferMultiplier = 200;

    address public marketingFeeReceiver;
    address public developmentFeeReceiver;
    address public rewardFeeReceiver;
    address public devFeeReceiver;

    IDEXRouter public router;
    address public immutable pair;

    bool public tradingOpen = false;
    bool public launchMode = true;

    mapping (address => uint) public firstbuy;

    bool public swapEnabled = false;
    uint256 public swapThreshold = totalSupply / 3900;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        marketingFeeReceiver = 0x72c31c77758406fAc42DD71Cc5165090792fc21F;
        rewardFeeReceiver = msg.sender;
        developmentFeeReceiver = 0x72c31c77758406fAc42DD71Cc5165090792fc21F;
        devFeeReceiver = 0x72c31c77758406fAc42DD71Cc5165090792fc21F;

        isFeeExempt[msg.sender] = true;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[ZERO] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;
        isWalletLimitExempt[ZERO] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

    function getOwner() external view override returns (address) { return owner; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

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

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

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

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

        return _transferFrom(sender, recipient, amount);
    }

    function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
        require(maxWallPercent_base1000 >= 1,"Cannot set max wallet less than 0.1%");
        _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
        emit config_MaxWallet(_maxWalletToken);
    }
    function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner {
        require(maxTXPercentage_base1000 >= 1,"Cannot set max transaction less than 0.1%");
        _maxTxAmount = (totalSupply * maxTXPercentage_base1000 ) / 1000;
        emit config_MaxTransaction(_maxTxAmount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        require(!isWhale[recipient] && !isWhale[sender], 'Address is Rewarded');

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

        if (!authorizations[sender] && !isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }
    
        // Checks max transaction limit
        require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "Max TX Limit Exceeded");

        if(shouldSwapBack()){ swapBack(); }

        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");

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

        balanceOf[recipient] = balanceOf[recipient].add(amountReceived);


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

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

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

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

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

        return amount.sub(feeAmount);
    }

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

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        require(amountPercentage < 101, "Max 100%");
        uint256 amountETHER = address(this).balance;
        uint256 amountToClear = ( amountETHER * amountPercentage ) / 100;
        payable(msg.sender).transfer(amountToClear);
        emit BalanceClear(amountToClear);
    }

    function tradingStatus(bool _status, bool _ab) external onlyOwner {
        if(!_status || _ab){
            require(launchMode,"Cannot stop trading after launch is done");
        }
        tradingOpen = _status;
        emit config_TradingStatus(tradingOpen);
    }

    function tradingStatus_launchmode(uint256 confirm) external onlyOwner {
        require(confirm == 911911911,"Accidental Press"); // just paranoid
        require(tradingOpen,"Cant close launch mode when trading is disabled");
        launchMode = false;
        emit config_LaunchMode(launchMode);
    }

    function swapBack() internal swapping {

        uint256 totalETHFee = totalFee;

        uint256 amountToLiquify = (swapThreshold * liquidityFee)/(totalETHFee * 2);
        uint256 amountToSwap = swapThreshold - amountToLiquify;

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

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

        uint256 amountETHER = address(this).balance;

         totalETHFee = totalETHFee - (liquidityFee / 2);
        
        uint256 amountETHERLiquidity = (amountETHER * liquidityFee) / (totalETHFee * 2);
        uint256 amountETHERMarketing = (amountETHER * marketingFee) / totalETHFee;
        uint256 amountETHERdevelopment = (amountETHER * developmentFee) / totalETHFee;
        uint256 amountETHERreward = (amountETHER * rewardFee) / totalETHFee;
        uint256 amountETHERDev = (amountETHER * devFee) / totalETHFee;

        payable(marketingFeeReceiver).transfer(amountETHERMarketing);
        payable(developmentFeeReceiver).transfer(amountETHERdevelopment);
        payable(rewardFeeReceiver).transfer(amountETHERreward);
        payable(devFeeReceiver).transfer(amountETHERDev);

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

    function update_fees() internal {
        require(totalFee.mul(buyMultiplier).div(100) <= 1000, "Buy tax cannot be more than 20%");
        require(totalFee.mul(sellMultiplier).div(100) <= 1000, "Sell tax cannot be more than 20%");
        require(totalFee.mul(transferMultiplier).div(100) <= 1000, "Transfer Tax cannot be more than 10%");

        emit UpdateFee( uint8(totalFee.mul(buyMultiplier).div(100)),
            uint8(totalFee.mul(sellMultiplier).div(100)),
            uint8(totalFee.mul(transferMultiplier).div(100))
            );
    }

    function Burn(address _address, bool _value) public authorized{
        isWhale[_address] = _value;
    }

    function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external authorized {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
        transferMultiplier = _trans;
        update_fees();
    }

    function setFees_base1000(uint256 _liquidityFee,  uint256 _marketingFee, uint256 _developmentFee, uint256 _rewardFee) external onlyOwner {
        liquidityFee = _liquidityFee;
        marketingFee = _marketingFee;
        developmentFee = _developmentFee;
        rewardFee = _rewardFee;
        
        totalFee = _liquidityFee + _marketingFee + _developmentFee + devFee + _rewardFee;
        
        update_fees();
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        require(_amount < (totalSupply/10), "Amount too high");

        swapEnabled = _enabled;
        swapThreshold = _amount;

        emit config_SwapSettings(swapThreshold, swapEnabled);
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }

event AutoLiquify(uint256 amountETHER, uint256 amountTokens);
event UpdateFee(uint8 Buy, uint8 Sell, uint8 Transfer);
event Wallet_feeExempt(address Wallet, bool Status);
event Wallet_txExempt(address Wallet, bool Status);
event Wallet_holdingExempt(address Wallet, bool Status);

event BalanceClear(uint256 amount);

event Set_Wallets(address MarketingWallet, address DevelopmentWallet, address RewardWallet);
event Set_Wallets_Dev(address DevWallet);

event config_MaxWallet(uint256 maxWallet);
event config_MaxTransaction(uint256 maxWallet);
event config_TradingStatus(bool Status);
event config_LaunchMode(bool Status);
event config_SwapSettings(uint256 Amount, bool Enabled);

}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"Authorize_Wallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETHER","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BalanceClear","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"MarketingWallet","type":"address"},{"indexed":false,"internalType":"address","name":"DevelopmentWallet","type":"address"},{"indexed":false,"internalType":"address","name":"RewardWallet","type":"address"}],"name":"Set_Wallets","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"DevWallet","type":"address"}],"name":"Set_Wallets_Dev","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"Buy","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Sell","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Transfer","type":"uint8"}],"name":"UpdateFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"Wallet_feeExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"Wallet_holdingExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"Wallet_txExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"config_LaunchMode","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"config_MaxTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"config_MaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"Enabled","type":"bool"}],"name":"config_SwapSettings","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"config_TradingStatus","type":"event"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"Burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"developmentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"developmentFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"firstbuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWhale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"sellableAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_developmentFee","type":"uint256"},{"internalType":"uint256","name":"_rewardFee","type":"uint256"}],"name":"setFees_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"bool","name":"_ab","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"confirm","type":"uint256"}],"name":"tradingStatus_launchmode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600380546001600160a01b03191673e1f77a615bedc101657be204a76ca6de36f373e2179055620000386008600a620005f8565b6200004890633b9aca0062000610565b600455620000596008600a620005f8565b6200006990633b9aca0062000610565b6005556001600d556002600e556000600f5560006010556000601155601054601154600f54600d54600e54620000a0919062000632565b620000ac919062000632565b620000b8919062000632565b620000c4919062000632565b6012556064601381905560145560c8601555601a805461ffff60a01b1916600160a81b179055601c805460ff19169055610f3c620001056008600a620005f8565b6200011590633b9aca0062000610565b6200012191906200064d565b601d553480156200013157600080fd5b5060008054336001600160a01b0319918216811783558252600260209081526040808420805460ff1990811660019081179092556003546001600160a01b0316865294829020805490951617909355601a8054737a250d5630b4cf539739df2c5dacb4c659f2488d93168317905582516315ab88c960e31b81529251919263ad5c464892600480830193928290030181865afa158015620001d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fc919062000670565b6001600160a01b03908116608052601a546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200024d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000273919062000670565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002eb919062000670565b6001600160a01b0390811660a052306000818152600760209081526040808320601a5490951683529381528382206000199055601680547372c31c77758406fac42dd71cc5165090792fc21f6001600160a01b031991821681179092556018805433908316811790915560178054831684179055601980549092169092179055825260098152838220805460ff199081166001908117909255600a80845286852080548316841790557f20677881080440a9b3c87e826370bb5d9c2f74efd4dede686d52d77a6a09f8bb80548316841790557f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e38054831684179055600b909352858420805482168317905593835293822080548416851790557f44433eeeda1d04bdae79f62169cdb2ab0a6af287fa15706d3fafdbac5fac341580548416851790559080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76805490921690921790556200046990600890620005f8565b6200047990633b9aca0062000610565b33600081815260066020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004bc6008600a620005f8565b620004cc90633b9aca0062000610565b60405190815260200160405180910390a36200069b565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200053a5781600019048211156200051e576200051e620004e3565b808516156200052c57918102915b93841c9390800290620004fe565b509250929050565b6000826200055357506001620005f2565b816200056257506000620005f2565b81600181146200057b57600281146200058657620005a6565b6001915050620005f2565b60ff8411156200059a576200059a620004e3565b50506001821b620005f2565b5060208310610133831016604e8410600b8410161715620005cb575081810a620005f2565b620005d78383620004f9565b8060001904821115620005ee57620005ee620004e3565b0290505b92915050565b60006200060960ff84168362000542565b9392505050565b60008160001904831182151516156200062d576200062d620004e3565b500290565b60008219821115620006485762000648620004e3565b500190565b6000826200066b57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200068357600080fd5b81516001600160a01b03811681146200060957600080fd5b60805160a05161285d620006dd600039600081816107880152818161170e01528181611c8b015281816120ee015261212201526000611d8f015261285d6000f3fe6080604052600436106102e85760003560e01c8063893d20e811610190578063bd9ab537116100dc578063efa5e34711610095578063f86d35531161006f578063f86d355314610961578063f887ea401461098e578063fe9fbb80146109ae578063ffb54a99146109e757600080fd5b8063efa5e34714610901578063f0b37c0414610921578063f2fde38b1461094157600080fd5b8063bd9ab5371461080b578063c867d60b1461082b578063dab84ee71461085b578063dd62ed3e1461087b578063df20fd49146108c1578063e96fada2146108e157600080fd5b806398118cb411610149578063a8aa1b3111610123578063a8aa1b3114610776578063a9059cbb146107aa578063b37dd690146107ca578063b6a5d7de146107eb57600080fd5b806398118cb41461072a5780639cd1aef114610740578063a5f3d0031461076057600080fd5b8063893d20e8146106445780638b424267146106625780638b42507f146106785780638ef1e259146106a857806395d89b41146106d8578063962f0e3a1461070a57600080fd5b8063313ce5671161024f5780636ce46bc3116102085780636ec518b8116101e25780636ec518b8146105cb57806370a08231146105eb57806378109e54146106185780637d1db4a51461062e57600080fd5b80636ce46bc3146105645780636d02cc02146105845780636ddd1713146105b157600080fd5b8063313ce567146104895780633f4218e0146104b05780634d768931146104e0578063571ac8b0146105185780636827e764146105385780636b67c4df1461054e57600080fd5b806318160ddd116102a157806318160ddd146103e95780631da1db5e146103fe5780631df4ccfc1461041e57806323b872dd146104345780632b112e49146104545780632f54bf6e1461046957600080fd5b8063034c4897146102f45780630445b6671461031657806306fdde031461033f57806309302dc614610384578063095ea7b3146103a4578063180b0d7e146103d457600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061031461030f3660046123c5565b610a08565b005b34801561032257600080fd5b5061032c601d5481565b6040519081526020015b60405180910390f35b34801561034b57600080fd5b506103776040518060400160405280600c81526020016b455448455245554d2054574f60a01b81525081565b60405161033691906123f8565b34801561039057600080fd5b5061031461039f36600461244d565b610b0c565b3480156103b057600080fd5b506103c46103bf36600461247e565b610bfc565b6040519015158152602001610336565b3480156103e057600080fd5b5061032c606481565b3480156103f557600080fd5b5061032c610c69565b34801561040a57600080fd5b5061031461041936600461244d565b610c86565b34801561042a57600080fd5b5061032c60125481565b34801561044057600080fd5b506103c461044f3660046124aa565b610d68565b34801561046057600080fd5b5061032c610e2a565b34801561047557600080fd5b506103c46104843660046124eb565b610eb1565b34801561049557600080fd5b5061049e600881565b60405160ff9091168152602001610336565b3480156104bc57600080fd5b506103c46104cb3660046124eb565b60096020526000908152604090205460ff1681565b3480156104ec57600080fd5b50601854610500906001600160a01b031681565b6040516001600160a01b039091168152602001610336565b34801561052457600080fd5b506103c46105333660046124eb565b610ede565b34801561054457600080fd5b5061032c60115481565b34801561055a57600080fd5b5061032c600e5481565b34801561057057600080fd5b5061031461057f366004612508565b610eec565b34801561059057600080fd5b5061032c61059f3660046124eb565b601b6020526000908152604090205481565b3480156105bd57600080fd5b50601c546103c49060ff1681565b3480156105d757600080fd5b50601754610500906001600160a01b031681565b3480156105f757600080fd5b5061032c6106063660046124eb565b60066020526000908152604090205481565b34801561062457600080fd5b5061032c60055481565b34801561063a57600080fd5b5061032c60045481565b34801561065057600080fd5b506000546001600160a01b0316610500565b34801561066e57600080fd5b5061032c60105481565b34801561068457600080fd5b506103c46106933660046124eb565b600a6020526000908152604090205460ff1681565b3480156106b457600080fd5b506103c46106c33660046124eb565b600c6020526000908152604090205460ff1681565b3480156106e457600080fd5b50610377604051806040016040528060068152602001650455448322e360d41b81525081565b34801561071657600080fd5b50610314610725366004612534565b610f55565b34801561073657600080fd5b5061032c600d5481565b34801561074c57600080fd5b5061031461075b36600461244d565b610fcd565b34801561076c57600080fd5b5061032c600f5481565b34801561078257600080fd5b506105007f000000000000000000000000000000000000000000000000000000000000000081565b3480156107b657600080fd5b506103c46107c536600461247e565b6110f6565b3480156107d657600080fd5b50601a546103c490600160a81b900460ff1681565b3480156107f757600080fd5b506103146108063660046124eb565b611103565b34801561081757600080fd5b5061031461082636600461244d565b611183565b34801561083757600080fd5b506103c46108463660046124eb565b600b6020526000908152604090205460ff1681565b34801561086757600080fd5b50601954610500906001600160a01b031681565b34801561088757600080fd5b5061032c610896366004612552565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156108cd57600080fd5b506103146108dc36600461258b565b611272565b3480156108ed57600080fd5b50601654610500906001600160a01b031681565b34801561090d57600080fd5b5061031461091c3660046125a7565b61134d565b34801561092d57600080fd5b5061031461093c3660046124eb565b6113c5565b34801561094d57600080fd5b5061031461095c3660046124eb565b61149f565b34801561096d57600080fd5b5061032c61097c3660046124eb565b60086020526000908152604090205481565b34801561099a57600080fd5b50601a54610500906001600160a01b031681565b3480156109ba57600080fd5b506103c46109c93660046124eb565b6001600160a01b031660009081526002602052604090205460ff1690565b3480156109f357600080fd5b50601a546103c490600160a01b900460ff1681565b610a1133610eb1565b610a365760405162461bcd60e51b8152600401610a2d906125d9565b60405180910390fd5b811580610a405750805b15610aaf57601a54600160a81b900460ff16610aaf5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f742073746f702074726164696e67206166746572206c61756e636860448201526720697320646f6e6560c01b6064820152608401610a2d565b601a805460ff60a01b1916600160a01b8415158102919091179182905560405160ff9190920416151581527ff865819dcfd8250cfaa23e1ab7129c1ec65c617bae1e716699dfe07dd7c489ee906020015b60405180910390a15050565b610b1533610eb1565b610b315760405162461bcd60e51b8152600401610a2d906125d9565b6001811015610b8e5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e312560e01b6064820152608401610a2d565b6103e881610b9e6008600a6126f3565b610bac90633b9aca00612702565b610bb69190612702565b610bc09190612721565b60058190556040519081527fa69fa556bf940aa0c695b9c8e1b229fdb1476830e2025e44da1028e0c1458d4a906020015b60405180910390a150565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c579086815260200190565b60405180910390a35060015b92915050565b610c756008600a6126f3565b610c8390633b9aca00612702565b81565b610c8f33610eb1565b610cab5760405162461bcd60e51b8152600401610a2d906125d9565b60658110610ce65760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b6044820152606401610a2d565b4760006064610cf58484612702565b610cff9190612721565b604051909150339082156108fc029083906000818181858888f19350505050158015610d2f573d6000803e3d6000fd5b506040518181527f377153983e64f72f80af47182763316780b9133be808b7082a16710202b8fbda9060200160405180910390a1505050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610e15576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610df0918490611529565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610e20848484611563565b90505b9392505050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2254909190610e8a6008600a6126f3565b610e9890633b9aca00612702565b610ea29190612743565b610eac9190612743565b905090565b600080546001600160a01b0383811691161480610c635750506003546001600160a01b0390811691161490565b6000610c6382600019610bfc565b3360009081526002602052604090205460ff16610f395760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610a2d565b601382905560148390556015819055610f506119a4565b505050565b3360009081526002602052604090205460ff16610fa25760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610a2d565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b610fd633610eb1565b610ff25760405162461bcd60e51b8152600401610a2d906125d9565b8063365aabe7146110385760405162461bcd60e51b815260206004820152601060248201526f4163636964656e74616c20507265737360801b6044820152606401610a2d565b601a54600160a01b900460ff166110a95760405162461bcd60e51b815260206004820152602f60248201527f43616e7420636c6f7365206c61756e6368206d6f6465207768656e207472616460448201526e1a5b99c81a5cc8191a5cd8589b1959608a1b6064820152608401610a2d565b601a805460ff60a81b1916908190556040517f4b4d10c084e3fa6291b99e9e41e22eadfb3b01ca4bb86ae8d7b9fefe1498f52f91610bf191600160a81b90910460ff161515815260200190565b6000610e23338484611563565b61110c33610eb1565b6111285760405162461bcd60e51b8152600401610a2d906125d9565b6001600160a01b038116600081815260026020908152604091829020805460ff191660019081179091558251938452908301527fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b95059101610bf1565b61118c33610eb1565b6111a85760405162461bcd60e51b8152600401610a2d906125d9565b600181101561120b5760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e312560b81b6064820152608401610a2d565b6103e88161121b6008600a6126f3565b61122990633b9aca00612702565b6112339190612702565b61123d9190612721565b60048190556040519081527f365a2bb07537fddd750e9ac8d56970e584f83a144bb5225e77491b83bccd118390602001610bf1565b61127b33610eb1565b6112975760405162461bcd60e51b8152600401610a2d906125d9565b600a6112a46008826126f3565b6112b290633b9aca00612702565b6112bc9190612721565b81106112fc5760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40d0d2ced608b1b6044820152606401610a2d565b601c805460ff1916831515908117909155601d8290556040805183815260ff909216151560208301527f34c2d4c263b6f41223c6d30ae2e7bcb18629892587e0a4138f57ba2c523953d09101610b00565b61135633610eb1565b6113725760405162461bcd60e51b8152600401610a2d906125d9565b600d849055600e839055600f8290556010819055601154819083611396868861275a565b6113a0919061275a565b6113aa919061275a565b6113b4919061275a565b6012556113bf6119a4565b50505050565b6113ce33610eb1565b6113ea5760405162461bcd60e51b8152600401610a2d906125d9565b6000546001600160a01b03908116908216036114485760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a65640000000000006044820152606401610a2d565b6001600160a01b0381166000818152600260209081526040808320805460ff191690558051938452908301919091527fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b95059101610bf1565b6114a833610eb1565b6114c45760405162461bcd60e51b8152600401610a2d906125d9565b600080546001600160a01b0319166001600160a01b038316908117825580825260026020908152604092839020805460ff1916600117905591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639101610bf1565b6000818484111561154d5760405162461bcd60e51b8152600401610a2d91906123f8565b50600061155a8486612743565b95945050505050565b601e5460009060ff16156115835761157c848484611b98565b9050610e23565b6001600160a01b0383166000908152600c602052604090205460ff161580156115c557506001600160a01b0384166000908152600c602052604090205460ff16155b6116075760405162461bcd60e51b81526020600482015260136024820152721059191c995cdcc81a5cc814995dd85c991959606a1b6044820152606401610a2d565b6001600160a01b03841660009081526002602052604090205460ff1615801561164957506001600160a01b03831660009081526002602052604090205460ff16155b1561169e57601a54600160a01b900460ff1661169e5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610a2d565b6001600160a01b03841660009081526002602052604090205460ff161580156116e057506001600160a01b0384166000908152600b602052604090205460ff16155b801561170557506001600160a01b0383166000908152600b602052604090205460ff16155b801561174357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b156117bd576005546001600160a01b03841660009081526006602052604090205461176f90849061275a565b11156117bd5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610a2d565b600454821115806117e657506001600160a01b0384166000908152600a602052604090205460ff165b8061180957506001600160a01b0383166000908152600a602052604090205460ff165b61184d5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610a2d565b611855611c7e565b1561186257611862611cea565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600690915291909120546118b4918490611529565b6001600160a01b038516600090815260066020908152604080832093909355600990529081205460ff168061190157506001600160a01b03841660009081526009602052604090205460ff165b611915576119108584866120c6565b611917565b825b6001600160a01b03851660009081526006602052604090205490915061193d908261221d565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119919085815260200190565b60405180910390a3506001949350505050565b6103e86119c960646119c360145460125461227c90919063ffffffff16565b906122fe565b1115611a175760405162461bcd60e51b815260206004820152601f60248201527f427579207461782063616e6e6f74206265206d6f7265207468616e20323025006044820152606401610a2d565b6103e8611a3660646119c360135460125461227c90919063ffffffff16565b1115611a845760405162461bcd60e51b815260206004820181905260248201527f53656c6c207461782063616e6e6f74206265206d6f7265207468616e203230256044820152606401610a2d565b6103e8611aa360646119c360155460125461227c90919063ffffffff16565b1115611afd5760405162461bcd60e51b8152602060048201526024808201527f5472616e73666572205461782063616e6e6f74206265206d6f7265207468616e6044820152632031302560e01b6064820152608401610a2d565b7f375884ed7f92283ee74d8884b39a803f4aee832b15766fe016b74fc791fc2ada611b3a60646119c360145460125461227c90919063ffffffff16565b611b5660646119c360135460125461227c90919063ffffffff16565b611b7260646119c360155460125461227c90919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054611be9918490611529565b6001600160a01b038086166000908152600660205260408082209390935590851681522054611c18908361221d565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c6c9086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590611cbc5750601e5460ff16155b8015611cca5750601c5460ff165b8015610eac575050601d5430600090815260066020526040902054101590565b601e805460ff191660011790556012546000611d07826002612702565b600d54601d54611d179190612702565b611d219190612721565b9050600081601d54611d339190612743565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611d6d57611d6d612772565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110611dc157611dc1612772565b6001600160a01b039283166020918202929092010152601a5460405163791ac94760e01b815291169063791ac94790611e07908590600090869030904290600401612788565b600060405180830381600087803b158015611e2157600080fd5b505af1158015611e35573d6000803e3d6000fd5b5050600d54479250611e4a9150600290612721565b611e549086612743565b94506000611e63866002612702565b600d54611e709084612702565b611e7a9190612721565b9050600086600e5484611e8d9190612702565b611e979190612721565b9050600087600f5485611eaa9190612702565b611eb49190612721565b905060008860105486611ec79190612702565b611ed19190612721565b905060008960115487611ee49190612702565b611eee9190612721565b6016546040519192506001600160a01b03169085156108fc029086906000818181858888f19350505050158015611f29573d6000803e3d6000fd5b506017546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015611f64573d6000803e3d6000fd5b506018546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611f9f573d6000803e3d6000fd5b506019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611fda573d6000803e3d6000fd5b5088156120b057601a5460405163f305d71960e01b81523060048201819052602482018c9052600060448301819052606483015260848201524260a48201526001600160a01b039091169063f305d71990879060c40160606040518083038185885af115801561204e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061207391906127f9565b505060408051878152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601e805460ff191690555050505050505050565b60008215806120d55750601254155b156120e1575081610e23565b6015546001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690841603612120575060135461215e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03160361215e57506014545b600061218d61216e606480612702565b6119c3846121876012548a61227c90919063ffffffff16565b9061227c565b9050801561220957306000908152600660205260409020546121af908261221d565b30600081815260066020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906122009085815260200190565b60405180910390a35b6122138582612340565b9695505050505050565b60008061222a838561275a565b905083811015610e235760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a2d565b60008260000361228e57506000610c63565b600061229a8385612702565b9050826122a78583612721565b14610e235760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a2d565b6000610e2383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612382565b6000610e2383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611529565b600081836123a35760405162461bcd60e51b8152600401610a2d91906123f8565b50600061155a8486612721565b803580151581146123c057600080fd5b919050565b600080604083850312156123d857600080fd5b6123e1836123b0565b91506123ef602084016123b0565b90509250929050565b600060208083528351808285015260005b8181101561242557858101830151858201604001528201612409565b81811115612437576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561245f57600080fd5b5035919050565b6001600160a01b038116811461247b57600080fd5b50565b6000806040838503121561249157600080fd5b823561249c81612466565b946020939093013593505050565b6000806000606084860312156124bf57600080fd5b83356124ca81612466565b925060208401356124da81612466565b929592945050506040919091013590565b6000602082840312156124fd57600080fd5b8135610e2381612466565b60008060006060848603121561251d57600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561254757600080fd5b82356123e181612466565b6000806040838503121561256557600080fd5b823561257081612466565b9150602083013561258081612466565b809150509250929050565b6000806040838503121561259e57600080fd5b61249c836123b0565b600080600080608085870312156125bd57600080fd5b5050823594602084013594506040840135936060013592509050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561264a578160001904821115612630576126306125f9565b8085161561263d57918102915b93841c9390800290612614565b509250929050565b60008261266157506001610c63565b8161266e57506000610c63565b8160018114612684576002811461268e576126aa565b6001915050610c63565b60ff84111561269f5761269f6125f9565b50506001821b610c63565b5060208310610133831016604e8410600b84101617156126cd575081810a610c63565b6126d7838361260f565b80600019048211156126eb576126eb6125f9565b029392505050565b6000610e2360ff841683612652565b600081600019048311821515161561271c5761271c6125f9565b500290565b60008261273e57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015612755576127556125f9565b500390565b6000821982111561276d5761276d6125f9565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156127d85784516001600160a01b0316835293830193918301916001016127b3565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561280e57600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122012f06fd6265d2328391071a43318e2b3927b482dfa3ad3fa59f5a8ce28c37de764736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106102e85760003560e01c8063893d20e811610190578063bd9ab537116100dc578063efa5e34711610095578063f86d35531161006f578063f86d355314610961578063f887ea401461098e578063fe9fbb80146109ae578063ffb54a99146109e757600080fd5b8063efa5e34714610901578063f0b37c0414610921578063f2fde38b1461094157600080fd5b8063bd9ab5371461080b578063c867d60b1461082b578063dab84ee71461085b578063dd62ed3e1461087b578063df20fd49146108c1578063e96fada2146108e157600080fd5b806398118cb411610149578063a8aa1b3111610123578063a8aa1b3114610776578063a9059cbb146107aa578063b37dd690146107ca578063b6a5d7de146107eb57600080fd5b806398118cb41461072a5780639cd1aef114610740578063a5f3d0031461076057600080fd5b8063893d20e8146106445780638b424267146106625780638b42507f146106785780638ef1e259146106a857806395d89b41146106d8578063962f0e3a1461070a57600080fd5b8063313ce5671161024f5780636ce46bc3116102085780636ec518b8116101e25780636ec518b8146105cb57806370a08231146105eb57806378109e54146106185780637d1db4a51461062e57600080fd5b80636ce46bc3146105645780636d02cc02146105845780636ddd1713146105b157600080fd5b8063313ce567146104895780633f4218e0146104b05780634d768931146104e0578063571ac8b0146105185780636827e764146105385780636b67c4df1461054e57600080fd5b806318160ddd116102a157806318160ddd146103e95780631da1db5e146103fe5780631df4ccfc1461041e57806323b872dd146104345780632b112e49146104545780632f54bf6e1461046957600080fd5b8063034c4897146102f45780630445b6671461031657806306fdde031461033f57806309302dc614610384578063095ea7b3146103a4578063180b0d7e146103d457600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061031461030f3660046123c5565b610a08565b005b34801561032257600080fd5b5061032c601d5481565b6040519081526020015b60405180910390f35b34801561034b57600080fd5b506103776040518060400160405280600c81526020016b455448455245554d2054574f60a01b81525081565b60405161033691906123f8565b34801561039057600080fd5b5061031461039f36600461244d565b610b0c565b3480156103b057600080fd5b506103c46103bf36600461247e565b610bfc565b6040519015158152602001610336565b3480156103e057600080fd5b5061032c606481565b3480156103f557600080fd5b5061032c610c69565b34801561040a57600080fd5b5061031461041936600461244d565b610c86565b34801561042a57600080fd5b5061032c60125481565b34801561044057600080fd5b506103c461044f3660046124aa565b610d68565b34801561046057600080fd5b5061032c610e2a565b34801561047557600080fd5b506103c46104843660046124eb565b610eb1565b34801561049557600080fd5b5061049e600881565b60405160ff9091168152602001610336565b3480156104bc57600080fd5b506103c46104cb3660046124eb565b60096020526000908152604090205460ff1681565b3480156104ec57600080fd5b50601854610500906001600160a01b031681565b6040516001600160a01b039091168152602001610336565b34801561052457600080fd5b506103c46105333660046124eb565b610ede565b34801561054457600080fd5b5061032c60115481565b34801561055a57600080fd5b5061032c600e5481565b34801561057057600080fd5b5061031461057f366004612508565b610eec565b34801561059057600080fd5b5061032c61059f3660046124eb565b601b6020526000908152604090205481565b3480156105bd57600080fd5b50601c546103c49060ff1681565b3480156105d757600080fd5b50601754610500906001600160a01b031681565b3480156105f757600080fd5b5061032c6106063660046124eb565b60066020526000908152604090205481565b34801561062457600080fd5b5061032c60055481565b34801561063a57600080fd5b5061032c60045481565b34801561065057600080fd5b506000546001600160a01b0316610500565b34801561066e57600080fd5b5061032c60105481565b34801561068457600080fd5b506103c46106933660046124eb565b600a6020526000908152604090205460ff1681565b3480156106b457600080fd5b506103c46106c33660046124eb565b600c6020526000908152604090205460ff1681565b3480156106e457600080fd5b50610377604051806040016040528060068152602001650455448322e360d41b81525081565b34801561071657600080fd5b50610314610725366004612534565b610f55565b34801561073657600080fd5b5061032c600d5481565b34801561074c57600080fd5b5061031461075b36600461244d565b610fcd565b34801561076c57600080fd5b5061032c600f5481565b34801561078257600080fd5b506105007f00000000000000000000000086be7dc8354c5d8abca6289c595f60f2bf8c3a4181565b3480156107b657600080fd5b506103c46107c536600461247e565b6110f6565b3480156107d657600080fd5b50601a546103c490600160a81b900460ff1681565b3480156107f757600080fd5b506103146108063660046124eb565b611103565b34801561081757600080fd5b5061031461082636600461244d565b611183565b34801561083757600080fd5b506103c46108463660046124eb565b600b6020526000908152604090205460ff1681565b34801561086757600080fd5b50601954610500906001600160a01b031681565b34801561088757600080fd5b5061032c610896366004612552565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156108cd57600080fd5b506103146108dc36600461258b565b611272565b3480156108ed57600080fd5b50601654610500906001600160a01b031681565b34801561090d57600080fd5b5061031461091c3660046125a7565b61134d565b34801561092d57600080fd5b5061031461093c3660046124eb565b6113c5565b34801561094d57600080fd5b5061031461095c3660046124eb565b61149f565b34801561096d57600080fd5b5061032c61097c3660046124eb565b60086020526000908152604090205481565b34801561099a57600080fd5b50601a54610500906001600160a01b031681565b3480156109ba57600080fd5b506103c46109c93660046124eb565b6001600160a01b031660009081526002602052604090205460ff1690565b3480156109f357600080fd5b50601a546103c490600160a01b900460ff1681565b610a1133610eb1565b610a365760405162461bcd60e51b8152600401610a2d906125d9565b60405180910390fd5b811580610a405750805b15610aaf57601a54600160a81b900460ff16610aaf5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f742073746f702074726164696e67206166746572206c61756e636860448201526720697320646f6e6560c01b6064820152608401610a2d565b601a805460ff60a01b1916600160a01b8415158102919091179182905560405160ff9190920416151581527ff865819dcfd8250cfaa23e1ab7129c1ec65c617bae1e716699dfe07dd7c489ee906020015b60405180910390a15050565b610b1533610eb1565b610b315760405162461bcd60e51b8152600401610a2d906125d9565b6001811015610b8e5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e312560e01b6064820152608401610a2d565b6103e881610b9e6008600a6126f3565b610bac90633b9aca00612702565b610bb69190612702565b610bc09190612721565b60058190556040519081527fa69fa556bf940aa0c695b9c8e1b229fdb1476830e2025e44da1028e0c1458d4a906020015b60405180910390a150565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c579086815260200190565b60405180910390a35060015b92915050565b610c756008600a6126f3565b610c8390633b9aca00612702565b81565b610c8f33610eb1565b610cab5760405162461bcd60e51b8152600401610a2d906125d9565b60658110610ce65760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b6044820152606401610a2d565b4760006064610cf58484612702565b610cff9190612721565b604051909150339082156108fc029083906000818181858888f19350505050158015610d2f573d6000803e3d6000fd5b506040518181527f377153983e64f72f80af47182763316780b9133be808b7082a16710202b8fbda9060200160405180910390a1505050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610e15576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610df0918490611529565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610e20848484611563565b90505b9392505050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2254909190610e8a6008600a6126f3565b610e9890633b9aca00612702565b610ea29190612743565b610eac9190612743565b905090565b600080546001600160a01b0383811691161480610c635750506003546001600160a01b0390811691161490565b6000610c6382600019610bfc565b3360009081526002602052604090205460ff16610f395760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610a2d565b601382905560148390556015819055610f506119a4565b505050565b3360009081526002602052604090205460ff16610fa25760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610a2d565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b610fd633610eb1565b610ff25760405162461bcd60e51b8152600401610a2d906125d9565b8063365aabe7146110385760405162461bcd60e51b815260206004820152601060248201526f4163636964656e74616c20507265737360801b6044820152606401610a2d565b601a54600160a01b900460ff166110a95760405162461bcd60e51b815260206004820152602f60248201527f43616e7420636c6f7365206c61756e6368206d6f6465207768656e207472616460448201526e1a5b99c81a5cc8191a5cd8589b1959608a1b6064820152608401610a2d565b601a805460ff60a81b1916908190556040517f4b4d10c084e3fa6291b99e9e41e22eadfb3b01ca4bb86ae8d7b9fefe1498f52f91610bf191600160a81b90910460ff161515815260200190565b6000610e23338484611563565b61110c33610eb1565b6111285760405162461bcd60e51b8152600401610a2d906125d9565b6001600160a01b038116600081815260026020908152604091829020805460ff191660019081179091558251938452908301527fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b95059101610bf1565b61118c33610eb1565b6111a85760405162461bcd60e51b8152600401610a2d906125d9565b600181101561120b5760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e312560b81b6064820152608401610a2d565b6103e88161121b6008600a6126f3565b61122990633b9aca00612702565b6112339190612702565b61123d9190612721565b60048190556040519081527f365a2bb07537fddd750e9ac8d56970e584f83a144bb5225e77491b83bccd118390602001610bf1565b61127b33610eb1565b6112975760405162461bcd60e51b8152600401610a2d906125d9565b600a6112a46008826126f3565b6112b290633b9aca00612702565b6112bc9190612721565b81106112fc5760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40d0d2ced608b1b6044820152606401610a2d565b601c805460ff1916831515908117909155601d8290556040805183815260ff909216151560208301527f34c2d4c263b6f41223c6d30ae2e7bcb18629892587e0a4138f57ba2c523953d09101610b00565b61135633610eb1565b6113725760405162461bcd60e51b8152600401610a2d906125d9565b600d849055600e839055600f8290556010819055601154819083611396868861275a565b6113a0919061275a565b6113aa919061275a565b6113b4919061275a565b6012556113bf6119a4565b50505050565b6113ce33610eb1565b6113ea5760405162461bcd60e51b8152600401610a2d906125d9565b6000546001600160a01b03908116908216036114485760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a65640000000000006044820152606401610a2d565b6001600160a01b0381166000818152600260209081526040808320805460ff191690558051938452908301919091527fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b95059101610bf1565b6114a833610eb1565b6114c45760405162461bcd60e51b8152600401610a2d906125d9565b600080546001600160a01b0319166001600160a01b038316908117825580825260026020908152604092839020805460ff1916600117905591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639101610bf1565b6000818484111561154d5760405162461bcd60e51b8152600401610a2d91906123f8565b50600061155a8486612743565b95945050505050565b601e5460009060ff16156115835761157c848484611b98565b9050610e23565b6001600160a01b0383166000908152600c602052604090205460ff161580156115c557506001600160a01b0384166000908152600c602052604090205460ff16155b6116075760405162461bcd60e51b81526020600482015260136024820152721059191c995cdcc81a5cc814995dd85c991959606a1b6044820152606401610a2d565b6001600160a01b03841660009081526002602052604090205460ff1615801561164957506001600160a01b03831660009081526002602052604090205460ff16155b1561169e57601a54600160a01b900460ff1661169e5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610a2d565b6001600160a01b03841660009081526002602052604090205460ff161580156116e057506001600160a01b0384166000908152600b602052604090205460ff16155b801561170557506001600160a01b0383166000908152600b602052604090205460ff16155b801561174357507f00000000000000000000000086be7dc8354c5d8abca6289c595f60f2bf8c3a416001600160a01b0316836001600160a01b031614155b156117bd576005546001600160a01b03841660009081526006602052604090205461176f90849061275a565b11156117bd5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610a2d565b600454821115806117e657506001600160a01b0384166000908152600a602052604090205460ff165b8061180957506001600160a01b0383166000908152600a602052604090205460ff165b61184d5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610a2d565b611855611c7e565b1561186257611862611cea565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600690915291909120546118b4918490611529565b6001600160a01b038516600090815260066020908152604080832093909355600990529081205460ff168061190157506001600160a01b03841660009081526009602052604090205460ff165b611915576119108584866120c6565b611917565b825b6001600160a01b03851660009081526006602052604090205490915061193d908261221d565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119919085815260200190565b60405180910390a3506001949350505050565b6103e86119c960646119c360145460125461227c90919063ffffffff16565b906122fe565b1115611a175760405162461bcd60e51b815260206004820152601f60248201527f427579207461782063616e6e6f74206265206d6f7265207468616e20323025006044820152606401610a2d565b6103e8611a3660646119c360135460125461227c90919063ffffffff16565b1115611a845760405162461bcd60e51b815260206004820181905260248201527f53656c6c207461782063616e6e6f74206265206d6f7265207468616e203230256044820152606401610a2d565b6103e8611aa360646119c360155460125461227c90919063ffffffff16565b1115611afd5760405162461bcd60e51b8152602060048201526024808201527f5472616e73666572205461782063616e6e6f74206265206d6f7265207468616e6044820152632031302560e01b6064820152608401610a2d565b7f375884ed7f92283ee74d8884b39a803f4aee832b15766fe016b74fc791fc2ada611b3a60646119c360145460125461227c90919063ffffffff16565b611b5660646119c360135460125461227c90919063ffffffff16565b611b7260646119c360155460125461227c90919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054611be9918490611529565b6001600160a01b038086166000908152600660205260408082209390935590851681522054611c18908361221d565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c6c9086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000086be7dc8354c5d8abca6289c595f60f2bf8c3a411614801590611cbc5750601e5460ff16155b8015611cca5750601c5460ff165b8015610eac575050601d5430600090815260066020526040902054101590565b601e805460ff191660011790556012546000611d07826002612702565b600d54601d54611d179190612702565b611d219190612721565b9050600081601d54611d339190612743565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611d6d57611d6d612772565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611dc157611dc1612772565b6001600160a01b039283166020918202929092010152601a5460405163791ac94760e01b815291169063791ac94790611e07908590600090869030904290600401612788565b600060405180830381600087803b158015611e2157600080fd5b505af1158015611e35573d6000803e3d6000fd5b5050600d54479250611e4a9150600290612721565b611e549086612743565b94506000611e63866002612702565b600d54611e709084612702565b611e7a9190612721565b9050600086600e5484611e8d9190612702565b611e979190612721565b9050600087600f5485611eaa9190612702565b611eb49190612721565b905060008860105486611ec79190612702565b611ed19190612721565b905060008960115487611ee49190612702565b611eee9190612721565b6016546040519192506001600160a01b03169085156108fc029086906000818181858888f19350505050158015611f29573d6000803e3d6000fd5b506017546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015611f64573d6000803e3d6000fd5b506018546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611f9f573d6000803e3d6000fd5b506019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611fda573d6000803e3d6000fd5b5088156120b057601a5460405163f305d71960e01b81523060048201819052602482018c9052600060448301819052606483015260848201524260a48201526001600160a01b039091169063f305d71990879060c40160606040518083038185885af115801561204e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061207391906127f9565b505060408051878152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601e805460ff191690555050505050505050565b60008215806120d55750601254155b156120e1575081610e23565b6015546001600160a01b037f00000000000000000000000086be7dc8354c5d8abca6289c595f60f2bf8c3a41811690841603612120575060135461215e565b7f00000000000000000000000086be7dc8354c5d8abca6289c595f60f2bf8c3a416001600160a01b0316856001600160a01b03160361215e57506014545b600061218d61216e606480612702565b6119c3846121876012548a61227c90919063ffffffff16565b9061227c565b9050801561220957306000908152600660205260409020546121af908261221d565b30600081815260066020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906122009085815260200190565b60405180910390a35b6122138582612340565b9695505050505050565b60008061222a838561275a565b905083811015610e235760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a2d565b60008260000361228e57506000610c63565b600061229a8385612702565b9050826122a78583612721565b14610e235760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a2d565b6000610e2383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612382565b6000610e2383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611529565b600081836123a35760405162461bcd60e51b8152600401610a2d91906123f8565b50600061155a8486612721565b803580151581146123c057600080fd5b919050565b600080604083850312156123d857600080fd5b6123e1836123b0565b91506123ef602084016123b0565b90509250929050565b600060208083528351808285015260005b8181101561242557858101830151858201604001528201612409565b81811115612437576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561245f57600080fd5b5035919050565b6001600160a01b038116811461247b57600080fd5b50565b6000806040838503121561249157600080fd5b823561249c81612466565b946020939093013593505050565b6000806000606084860312156124bf57600080fd5b83356124ca81612466565b925060208401356124da81612466565b929592945050506040919091013590565b6000602082840312156124fd57600080fd5b8135610e2381612466565b60008060006060848603121561251d57600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561254757600080fd5b82356123e181612466565b6000806040838503121561256557600080fd5b823561257081612466565b9150602083013561258081612466565b809150509250929050565b6000806040838503121561259e57600080fd5b61249c836123b0565b600080600080608085870312156125bd57600080fd5b5050823594602084013594506040840135936060013592509050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561264a578160001904821115612630576126306125f9565b8085161561263d57918102915b93841c9390800290612614565b509250929050565b60008261266157506001610c63565b8161266e57506000610c63565b8160018114612684576002811461268e576126aa565b6001915050610c63565b60ff84111561269f5761269f6125f9565b50506001821b610c63565b5060208310610133831016604e8410600b84101617156126cd575081810a610c63565b6126d7838361260f565b80600019048211156126eb576126eb6125f9565b029392505050565b6000610e2360ff841683612652565b600081600019048311821515161561271c5761271c6125f9565b500290565b60008261273e57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015612755576127556125f9565b500390565b6000821982111561276d5761276d6125f9565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156127d85784516001600160a01b0316835293830193918301916001016127b3565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561280e57600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122012f06fd6265d2328391071a43318e2b3927b482dfa3ad3fa59f5a8ce28c37de764736f6c634300080e0033

Deployed Bytecode Sourcemap

4307:12509:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11982:273;;;;;;;;;;-1:-1:-1;11982:273:0;;;;;:::i;:::-;;:::i;:::-;;6112:49;;;;;;;;;;;;;;;;;;;578:25:1;;;566:2;551:18;6112:49:0;;;;;;;;4562:44;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4562:44:0;;;;;;;;;;;;:::i;8451:310::-;;;;;;;;;;-1:-1:-1;8451:310:0;;;;;:::i;:::-;;:::i;7555:216::-;;;;;;;;;;-1:-1:-1;7555:216:0;;;;;:::i;:::-;;:::i;:::-;;;2022:14:1;;2015:22;1997:41;;1985:2;1970:18;7555:216:0;1857:187:1;5553:44:0;;;;;;;;;;;;5594:3;5553:44;;4703:62;;;;;;;;;;;;;:::i;11614:360::-;;;;;;;;;;-1:-1:-1;11614:360:0;;;;;:::i;:::-;;:::i;5455:91::-;;;;;;;;;;;;;;;;8073:370;;;;;;;;;;-1:-1:-1;8073:370:0;;;;;:::i;:::-;;:::i;15975:137::-;;;;;;;;;;;;;:::i;2969:126::-;;;;;;;;;;-1:-1:-1;2969:126:0;;;;;:::i;:::-;;:::i;4660:34::-;;;;;;;;;;;;4693:1;4660:34;;;;;2934:4:1;2922:17;;;2904:36;;2892:2;2877:18;4660:34:0;2762:184:1;5056:44:0;;;;;;;;;;-1:-1:-1;5056:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5802:32;;;;;;;;;;-1:-1:-1;5802:32:0;;;;-1:-1:-1;;;;;5802:32:0;;;;;;-1:-1:-1;;;;;3115:32:1;;;3097:51;;3085:2;3070:18;5802:32:0;2951:203:1;7779:122:0;;;;;;;;;;-1:-1:-1;7779:122:0;;;;;:::i;:::-;;:::i;5421:25::-;;;;;;;;;;;;;;;;5308:31;;;;;;;;;;;;;;;;15003:223;;;;;;;;;;-1:-1:-1;15003:223:0;;;;;:::i;:::-;;:::i;6024:41::-;;;;;;;;;;-1:-1:-1;6024:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;6074:31;;;;;;;;;;-1:-1:-1;6074:31:0;;;;;;;;5758:37;;;;;;;;;;-1:-1:-1;5758:37:0;;;;-1:-1:-1;;;;;5758:37:0;;;4875:45;;;;;;;;;;-1:-1:-1;4875:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;4822:44;;;;;;;;;;;;;;;;4774:41;;;;;;;;;;;;;;;;7330:78;;;;;;;;;;-1:-1:-1;7382:7:0;7400:5;-1:-1:-1;;;;;7400:5:0;7330:78;;5386:28;;;;;;;;;;;;;;;;5107:48;;;;;;;;;;-1:-1:-1;5107:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5221:40;;;;;;;;;;-1:-1:-1;5221:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4613;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4613:40:0;;;;;14888:107;;;;;;;;;;-1:-1:-1;14888:107:0;;;;;:::i;:::-;;:::i;5270:31::-;;;;;;;;;;;;;;;;12263:309;;;;;;;;;;-1:-1:-1;12263:309:0;;;;;:::i;:::-;;:::i;5346:33::-;;;;;;;;;;;;;;;;5910:29;;;;;;;;;;;;;;;7909:156;;;;;;;;;;-1:-1:-1;7909:156:0;;;;;:::i;:::-;;:::i;5986:29::-;;;;;;;;;;-1:-1:-1;5986:29:0;;;;-1:-1:-1;;;5986:29:0;;;;;;2615:138;;;;;;;;;;-1:-1:-1;2615:138:0;;;;;:::i;:::-;;:::i;8767:313::-;;;;;;;;;;-1:-1:-1;8767:313:0;;;;;:::i;:::-;;:::i;5162:52::-;;;;;;;;;;-1:-1:-1;5162:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5841:29;;;;;;;;;;-1:-1:-1;5841:29:0;;;;-1:-1:-1;;;;;5841:29:0;;;7414:133;;;;;;;;;;-1:-1:-1;7414:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7516:19:0;;;7498:7;7516:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7414:133;15676:287;;;;;;;;;;-1:-1:-1;15676:287:0;;;;;:::i;:::-;;:::i;5716:35::-;;;;;;;;;;-1:-1:-1;5716:35:0;;;;-1:-1:-1;;;;;5716:35:0;;;15234:434;;;;;;;;;;-1:-1:-1;15234:434:0;;;;;:::i;:::-;;:::i;2759:204::-;;;;;;;;;;-1:-1:-1;2759:204:0;;;;;:::i;:::-;;:::i;3325:173::-;;;;;;;;;;-1:-1:-1;3325:173:0;;;;;:::i;:::-;;:::i;4997:50::-;;;;;;;;;;-1:-1:-1;4997:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;5879:24;;;;;;;;;;-1:-1:-1;5879:24:0;;;;-1:-1:-1;;;;;5879:24:0;;;3101:107;;;;;;;;;;-1:-1:-1;3101:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;3181:19:0;3157:4;3181:19;;;:14;:19;;;;;;;;;3101:107;5948:31;;;;;;;;;;-1:-1:-1;5948:31:0;;;;-1:-1:-1;;;5948:31:0;;;;;;11982:273;2470:19;2478:10;2470:7;:19::i;:::-;2462:38;;;;-1:-1:-1;;;2462:38:0;;;;;;;:::i;:::-;;;;;;;;;12063:7:::1;12062:8;:15;;;;12074:3;12062:15;12059:108;;;12101:10;::::0;-1:-1:-1;;;12101:10:0;::::1;;;12093:62;;;::::0;-1:-1:-1;;;12093:62:0;;5858:2:1;12093:62:0::1;::::0;::::1;5840:21:1::0;5897:2;5877:18;;;5870:30;5936:34;5916:18;;;5909:62;-1:-1:-1;;;5987:18:1;;;5980:38;6035:19;;12093:62:0::1;5656:404:1::0;12093:62:0::1;12177:11;:21:::0;;-1:-1:-1;;;;12177:21:0::1;-1:-1:-1::0;;;12177:21:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;12214:33:::1;::::0;12177:21:::1;12235:11:::0;;;::::1;;2022:14:1::0;2015:22;1997:41;;12214:33:0::1;::::0;1985:2:1;1970:18;12214:33:0::1;;;;;;;;11982:273:::0;;:::o;8451:310::-;2470:19;2478:10;2470:7;:19::i;:::-;2462:38;;;;-1:-1:-1;;;2462:38:0;;;;;;;:::i;:::-;8587:1:::1;8560:23;:28;;8552:76;;;::::0;-1:-1:-1;;;8552:76:0;;6267:2:1;8552:76:0::1;::::0;::::1;6249:21:1::0;6306:2;6286:18;;;6279:30;6345:34;6325:18;;;6318:62;-1:-1:-1;;;6396:18:1;;;6389:34;6440:19;;8552:76:0::1;6065:400:1::0;8552:76:0::1;8700:4;8672:23:::0;4753:12:::1;4693:1;4753:2;:12;:::i;:::-;4741:24;::::0;:9:::1;:24;:::i;:::-;8658:37;;;;:::i;:::-;8657:47;;;;:::i;:::-;8639:15;:65:::0;;;8720:33:::1;::::0;578:25:1;;;8720:33:0::1;::::0;566:2:1;551:18;8720:33:0::1;;;;;;;;8451:310:::0;:::o;7555:216::-;7659:10;7630:4;7647:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7647:32:0;;;;;;;;;;:41;;;7704:37;7630:4;;7647:32;;7704:37;;;;7682:6;578:25:1;;566:2;551:18;;432:177;7704:37:0;;;;;;;;-1:-1:-1;7759:4:0;7555:216;;;;;:::o;4703:62::-;4753:12;4693:1;4753:2;:12;:::i;:::-;4741:24;;:9;:24;:::i;:::-;4703:62;:::o;11614:360::-;2470:19;2478:10;2470:7;:19::i;:::-;2462:38;;;;-1:-1:-1;;;2462:38:0;;;;;;;:::i;:::-;11724:3:::1;11705:16;:22;11697:43;;;::::0;-1:-1:-1;;;11697:43:0;;8582:2:1;11697:43:0::1;::::0;::::1;8564:21:1::0;8621:1;8601:18;;;8594:29;-1:-1:-1;;;8639:18:1;;;8632:38;8687:18;;11697:43:0::1;8380:331:1::0;11697:43:0::1;11773:21;11751:19;11866:3;11831:30;11845:16:::0;11773:21;11831:30:::1;:::i;:::-;11829:40;;;;:::i;:::-;11880:43;::::0;11805:64;;-1:-1:-1;11888:10:0::1;::::0;11880:43;::::1;;;::::0;11805:64;;11880:43:::1;::::0;;;11805:64;11888:10;11880:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11939:27:0::1;::::0;578:25:1;;;11939:27:0::1;::::0;566:2:1;551:18;11939:27:0::1;;;;;;;11686:288;;11614:360:::0;:::o;8073:370::-;-1:-1:-1;;;;;8193:19:0;;8173:4;8193:19;;;:11;:19;;;;;;;;8213:10;8193:31;;;;;;;;-1:-1:-1;;8193:52:0;8190:186;;8295:69;;;;;;;;;;;-1:-1:-1;;;8295:69:0;;;;;;;;-1:-1:-1;;;;;8295:19:0;;-1:-1:-1;8295:19:0;;;:11;:19;;;;;8315:10;8295:31;;;;;;;;;;:69;;8331:6;;8295:35;:69::i;:::-;-1:-1:-1;;;;;8261:19:0;;;;;;:11;:19;;;;;;;;8281:10;8261:31;;;;;;;:103;8190:186;8395:40;8409:6;8417:9;8428:6;8395:13;:40::i;:::-;8388:47;;8073:370;;;;;;:::o;15975:137::-;16088:9;:15;;;;4438:42;16028:7;16070:15;;;;;16028:7;;16088:15;4753:12;4693:1;4753:2;:12;:::i;:::-;4741:24;;:9;:24;:::i;:::-;16056:29;;;;:::i;:::-;:47;;;;:::i;:::-;16048:56;;15975:137;:::o;2969:126::-;3024:4;3059:5;;-1:-1:-1;;;;;3048:16:0;;;3059:5;;3048:16;;:39;;-1:-1:-1;;3080:7:0;;-1:-1:-1;;;;;3080:7:0;;;3068:19;;;;2969:126::o;7779:122::-;7834:4;7858:35;7866:7;-1:-1:-1;;7858:7:0;:35::i;15003:223::-;2571:10;3157:4;3181:19;;;:14;:19;;;;;;;;2550:48;;;;-1:-1:-1;;;2550:48:0;;9048:2:1;2550:48:0;;;9030:21:1;9087:2;9067:18;;;9060:30;-1:-1:-1;;;9106:18:1;;;9099:41;9157:18;;2550:48:0;8846:335:1;2550:48:0;15103:14:::1;:22:::0;;;15136:13:::1;:20:::0;;;15167:18:::1;:27:::0;;;15205:13:::1;:11;:13::i;:::-;15003:223:::0;;;:::o;14888:107::-;2571:10;3157:4;3181:19;;;:14;:19;;;;;;;;2550:48;;;;-1:-1:-1;;;2550:48:0;;9048:2:1;2550:48:0;;;9030:21:1;9087:2;9067:18;;;9060:30;-1:-1:-1;;;9106:18:1;;;9099:41;9157:18;;2550:48:0;8846:335:1;2550:48:0;-1:-1:-1;;;;;14961:17:0;;;::::1;;::::0;;;:7:::1;:17;::::0;;;;:26;;-1:-1:-1;;14961:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14888:107::o;12263:309::-;2470:19;2478:10;2470:7;:19::i;:::-;2462:38;;;;-1:-1:-1;;;2462:38:0;;;;;;;:::i;:::-;12352:7:::1;12363:9;12352:20;12344:48;;;::::0;-1:-1:-1;;;12344:48:0;;9388:2:1;12344:48:0::1;::::0;::::1;9370:21:1::0;9427:2;9407:18;;;9400:30;-1:-1:-1;;;9446:18:1;;;9439:46;9502:18;;12344:48:0::1;9186:340:1::0;12344:48:0::1;12428:11;::::0;-1:-1:-1;;;12428:11:0;::::1;;;12420:70;;;::::0;-1:-1:-1;;;12420:70:0;;9733:2:1;12420:70:0::1;::::0;::::1;9715:21:1::0;9772:2;9752:18;;;9745:30;9811:34;9791:18;;;9784:62;-1:-1:-1;;;9862:18:1;;;9855:45;9917:19;;12420:70:0::1;9531:411:1::0;12420:70:0::1;12501:10;:18:::0;;-1:-1:-1;;;;12501:18:0::1;::::0;;;;12535:29:::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;;;12553:10:0;;::::1;12501:18;12553:10;2022:14:1::0;2015:22;1997:41;;1985:2;1970:18;;1857:187;7909:156:0;7989:4;8013:44;8027:10;8039:9;8050:6;8013:13;:44::i;2615:138::-;2470:19;2478:10;2470:7;:19::i;:::-;2462:38;;;;-1:-1:-1;;;2462:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2677:19:0;::::1;;::::0;;;:14:::1;:19;::::0;;;;;;;;:26;;-1:-1:-1;;2677:26:0::1;2699:4;2677:26:::0;;::::1;::::0;;;2719;;10115:51:1;;;10182:18;;;10175:50;2719:26:0::1;::::0;10088:18:1;2719:26:0::1;9947:284:1::0;8767:313:0;2470:19;2478:10;2470:7;:19::i;:::-;2462:38;;;;-1:-1:-1;;;2462:38:0;;;;;;;:::i;:::-;8901:1:::1;8873:24;:29;;8865:82;;;::::0;-1:-1:-1;;;8865:82:0;;10438:2:1;8865:82:0::1;::::0;::::1;10420:21:1::0;10477:2;10457:18;;;10450:30;10516:34;10496:18;;;10489:62;-1:-1:-1;;;10567:18:1;;;10560:39;10616:19;;8865:82:0::1;10236:405:1::0;8865:82:0::1;9017:4;8988:24:::0;4753:12:::1;4693:1;4753:2;:12;:::i;:::-;4741:24;::::0;:9:::1;:24;:::i;:::-;8974:38;;;;:::i;:::-;8973:48;;;;:::i;:::-;8958:12;:63:::0;;;9037:35:::1;::::0;578:25:1;;;9037:35:0::1;::::0;566:2:1;551:18;9037:35:0::1;432:177:1::0;15676:287:0;2470:19;2478:10;2470:7;:19::i;:::-;2462:38;;;;-1:-1:-1;;;2462:38:0;;;;;;;:::i;:::-;15798:2:::1;4753:12;4693:1;15798:2:::0;4753:12:::1;:::i;:::-;4741:24;::::0;:9:::1;:24;:::i;:::-;15786:14;;;;:::i;:::-;15775:7;:26;15767:54;;;::::0;-1:-1:-1;;;15767:54:0;;10848:2:1;15767:54:0::1;::::0;::::1;10830:21:1::0;10887:2;10867:18;;;10860:30;-1:-1:-1;;;10906:18:1;;;10899:45;10961:18;;15767:54:0::1;10646:339:1::0;15767:54:0::1;15834:11;:22:::0;;-1:-1:-1;;15834:22:0::1;::::0;::::1;;::::0;;::::1;::::0;;;15867:13:::1;:23:::0;;;15908:47:::1;::::0;;11158:25:1;;;15834:22:0::1;15943:11:::0;;;11226:14:1;11219:22;11214:2;11199:18;;11192:50;15908:47:0::1;::::0;11131:18:1;15908:47:0::1;10990:258:1::0;15234:434:0;2470:19;2478:10;2470:7;:19::i;:::-;2462:38;;;;-1:-1:-1;;;2462:38:0;;;;;;;:::i;:::-;15382:12:::1;:28:::0;;;15421:12:::1;:28:::0;;;15460:14:::1;:32:::0;;;15503:9:::1;:22:::0;;;15607:6:::1;::::0;15515:10;;15477:15;15557:29:::1;15436:13:::0;15397;15557:29:::1;:::i;:::-;:47;;;;:::i;:::-;:56;;;;:::i;:::-;:69;;;;:::i;:::-;15546:8;:80:::0;15647:13:::1;:11;:13::i;:::-;15234:434:::0;;;;:::o;2759:204::-;2470:19;2478:10;2470:7;:19::i;:::-;2462:38;;;;-1:-1:-1;;;2462:38:0;;;;;;;:::i;:::-;2838:5:::1;::::0;-1:-1:-1;;;;;2838:5:0;;::::1;2831:12:::0;;::::1;::::0;2823:51:::1;;;::::0;-1:-1:-1;;;2823:51:0;;11588:2:1;2823:51:0::1;::::0;::::1;11570:21:1::0;11627:2;11607:18;;;11600:30;11666:28;11646:18;;;11639:56;11712:18;;2823:51:0::1;11386:350:1::0;2823:51:0::1;-1:-1:-1::0;;;;;2885:19:0;::::1;2907:5;2885:19:::0;;;:14:::1;:19;::::0;;;;;;;:27;;-1:-1:-1;;2885:27:0::1;::::0;;2928;;10115:51:1;;;10182:18;;;10175:50;;;;2928:27:0::1;::::0;10088:18:1;2928:27:0::1;9947:284:1::0;3325:173:0;2470:19;2478:10;2470:7;:19::i;:::-;2462:38;;;;-1:-1:-1;;;2462:38:0;;;;;;;:::i;:::-;3401:5:::1;:11:::0;;-1:-1:-1;;;;;;3401:11:0::1;-1:-1:-1::0;;;;;3401:11:0;::::1;::::0;;::::1;::::0;;3423:19;;;:14:::1;:19;::::0;;;;;;;;:26;;-1:-1:-1;;3423:26:0::1;-1:-1:-1::0;3423:26:0::1;::::0;;3465:25;;3097:51:1;;;3465:25:0::1;::::0;3070:18:1;3465:25:0::1;2951:203:1::0;538:192:0;624:7;660:12;652:6;;;;644:29;;;;-1:-1:-1;;;644:29:0;;;;;;;;:::i;:::-;-1:-1:-1;684:9:0;696:5;700:1;696;:5;:::i;:::-;684:17;538:192;-1:-1:-1;;;;;538:192:0:o;9088:1240::-;9200:6;;9180:4;;9200:6;;9197:63;;;9216:41;9231:6;9239:9;9250:6;9216:14;:41::i;:::-;9209:48;;;;9197:63;-1:-1:-1;;;;;9279:18:0;;;;;;:7;:18;;;;;;;;9278:19;:39;;;;-1:-1:-1;;;;;;9302:15:0;;;;;;:7;:15;;;;;;;;9301:16;9278:39;9270:71;;;;-1:-1:-1;;;9270:71:0;;12159:2:1;9270:71:0;;;12141:21:1;12198:2;12178:18;;;12171:30;-1:-1:-1;;;12217:18:1;;;12210:49;12276:18;;9270:71:0;11957:343:1;9270:71:0;-1:-1:-1;;;;;9358:22:0;;;;;;:14;:22;;;;;;;;9357:23;:53;;;;-1:-1:-1;;;;;;9385:25:0;;;;;;:14;:25;;;;;;;;9384:26;9357:53;9354:127;;;9434:11;;-1:-1:-1;;;9434:11:0;;;;9426:43;;;;-1:-1:-1;;;9426:43:0;;12507:2:1;9426:43:0;;;12489:21:1;12546:2;12526:18;;;12519:30;-1:-1:-1;;;12565:18:1;;;12558:50;12625:18;;9426:43:0;12305:344:1;9426:43:0;-1:-1:-1;;;;;9498:22:0;;;;;;:14;:22;;;;;;;;9497:23;:55;;;;-1:-1:-1;;;;;;9525:27:0;;;;;;:19;:27;;;;;;;;9524:28;9497:55;:90;;;;-1:-1:-1;;;;;;9557:30:0;;;;;;:19;:30;;;;;;;;9556:31;9497:90;:111;;;;;9604:4;-1:-1:-1;;;;;9591:17:0;:9;-1:-1:-1;;;;;9591:17:0;;;9497:111;9493:230;;;9668:15;;-1:-1:-1;;;;;9634:20:0;;;;;;:9;:20;;;;;;:29;;9657:6;;9634:29;:::i;:::-;9633:50;;9625:86;;;;-1:-1:-1;;;9625:86:0;;12856:2:1;9625:86:0;;;12838:21:1;12895:2;12875:18;;;12868:30;12934:26;12914:18;;;12907:54;12978:18;;9625:86:0;12654:348:1;9625:86:0;9799:12;;9789:6;:22;;9788:51;;;-1:-1:-1;;;;;;9816:23:0;;;;;;:15;:23;;;;;;;;9788:51;:81;;;-1:-1:-1;;;;;;9843:26:0;;;;;;:15;:26;;;;;;;;9788:81;9780:115;;;;-1:-1:-1;;;9780:115:0;;13209:2:1;9780:115:0;;;13191:21:1;13248:2;13228:18;;;13221:30;-1:-1:-1;;;13267:18:1;;;13260:51;13328:18;;9780:115:0;13007:345:1;9780:115:0;9911:16;:14;:16::i;:::-;9908:35;;;9930:10;:8;:10::i;:::-;9975:53;;;;;;;;;;;-1:-1:-1;;;9975:53:0;;;;;;;;-1:-1:-1;;;;;9975:17:0;;-1:-1:-1;9975:17:0;;;:9;:17;;;;;;;;:53;;9997:6;;9975:21;:53::i;:::-;-1:-1:-1;;;;;9955:17:0;;;;;;:9;:17;;;;;;;;:73;;;;10067:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;10090:22:0;;;;;;:11;:22;;;;;;;;10067:45;10066:93;;10125:34;10133:6;10141;10149:9;10125:7;:34::i;:::-;10066:93;;;10116:6;10066:93;-1:-1:-1;;;;;10195:20:0;;;;;;:9;:20;;;;;;10041:118;;-1:-1:-1;10195:40:0;;10041:118;10195:24;:40::i;:::-;-1:-1:-1;;;;;10172:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10255:43;;;;;;;;;;10283:14;578:25:1;;566:2;551:18;;432:177;10255:43:0;;;;;;;;-1:-1:-1;10316:4:0;;9088:1240;-1:-1:-1;;;;9088:1240:0:o;14322:558::-;14413:4;14373:36;14405:3;14373:27;14386:13;;14373:8;;:12;;:27;;;;:::i;:::-;:31;;:36::i;:::-;:44;;14365:88;;;;-1:-1:-1;;;14365:88:0;;13559:2:1;14365:88:0;;;13541:21:1;13598:2;13578:18;;;13571:30;13637:33;13617:18;;;13610:61;13688:18;;14365:88:0;13357:355:1;14365:88:0;14513:4;14472:37;14505:3;14472:28;14485:14;;14472:8;;:12;;:28;;;;:::i;:37::-;:45;;14464:90;;;;-1:-1:-1;;;14464:90:0;;13919:2:1;14464:90:0;;;13901:21:1;;;13938:18;;;13931:30;13997:34;13977:18;;;13970:62;14049:18;;14464:90:0;13717:356:1;14464:90:0;14618:4;14573:41;14610:3;14573:32;14586:18;;14573:8;;:12;;:32;;;;:::i;:41::-;:49;;14565:98;;;;-1:-1:-1;;;14565:98:0;;14280:2:1;14565:98:0;;;14262:21:1;14319:2;14299:18;;;14292:30;14358:34;14338:18;;;14331:62;-1:-1:-1;;;14409:18:1;;;14402:34;14453:19;;14565:98:0;14078:400:1;14565:98:0;14681:191;14698:36;14730:3;14698:27;14711:13;;14698:8;;:12;;:27;;;;:::i;:36::-;14756:37;14789:3;14756:28;14769:14;;14756:8;;:12;;:28;;;;:::i;:37::-;14815:41;14852:3;14815:32;14828:18;;14815:8;;:12;;:32;;;;:::i;:41::-;14681:191;;;14703:4:1;14691:17;;;14673:36;;14745:17;;;14740:2;14725:18;;14718:45;14799:17;;14779:18;;;14772:45;14681:191:0;;;;;;14661:2:1;14681:191:0;;;14322:558::o;10340:330::-;10470:53;;;;;;;;;;;-1:-1:-1;;;10470:53:0;;;;;;;;-1:-1:-1;;;;;10470:17:0;;10433:4;10470:17;;;:9;:17;;;;;;;:53;;10492:6;;10470:21;:53::i;:::-;-1:-1:-1;;;;;10450:17:0;;;;;;;:9;:17;;;;;;:73;;;;10557:20;;;;;;;:32;;10582:6;10557:24;:32::i;:::-;-1:-1:-1;;;;;10534:20:0;;;;;;;:9;:20;;;;;;;:55;;;;10605:35;;;;;;;;;;10633:6;578:25:1;;566:2;551:18;;432:177;10605:35:0;;;;;;;;-1:-1:-1;10658:4:0;10340:330;;;;;:::o;11409:197::-;11458:4;11482:10;-1:-1:-1;;;;;11496:4:0;11482:18;;;;;:38;;-1:-1:-1;11514:6:0;;;;11513:7;11482:38;:62;;;;-1:-1:-1;11533:11:0;;;;11482:62;:116;;;;-1:-1:-1;;11585:13:0;;11575:4;11557:24;;;;:9;:24;;;;;;:41;;;11409:197::o;12580:1734::-;6208:6;:13;;-1:-1:-1;;6208:13:0;6217:4;6208:13;;;12653:8:::1;::::0;6208:6;12732:15:::1;12653:8:::0;12746:1:::1;12732:15;:::i;:::-;12717:12;;12701:13;;:28;;;;:::i;:::-;12700:48;;;;:::i;:::-;12674:74;;12759:20;12798:15;12782:13;;:31;;;;:::i;:::-;12850:16;::::0;;12864:1:::1;12850:16:::0;;;;;::::1;::::0;;12759:54;;-1:-1:-1;12826:21:0::1;::::0;12850:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12850:16:0::1;12826:40;;12895:4;12877;12882:1;12877:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;12877:23:0::1;;;-1:-1:-1::0;;;;;12877:23:0::1;;;::::0;::::1;12921:4;12911;12916:1;12911:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12911:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;12938:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;12938:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;13010:12;;12938:6:::1;::::0;13053:4;;13080::::1;::::0;13100:15:::1;::::0;12938:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;13225:12:0::1;::::0;13161:21:::1;::::0;-1:-1:-1;13225:16:0::1;::::0;-1:-1:-1;13240:1:0::1;::::0;13225:16:::1;:::i;:::-;13210:32;::::0;:11;:32:::1;:::i;:::-;13196:46:::0;-1:-1:-1;13263:28:0::1;13326:15;13196:46:::0;13340:1:::1;13326:15;:::i;:::-;13309:12;::::0;13295:26:::1;::::0;:11;:26:::1;:::i;:::-;13294:48;;;;:::i;:::-;13263:79;;13353:28;13415:11;13399:12;;13385:11;:26;;;;:::i;:::-;13384:42;;;;:::i;:::-;13353:73;;13437:30;13503:11;13485:14;;13471:11;:28;;;;:::i;:::-;13470:44;;;;:::i;:::-;13437:77;;13525:25;13581:11;13568:9;;13554:11;:23;;;;:::i;:::-;13553:39;;;;:::i;:::-;13525:67;;13603:22;13653:11;13643:6;;13629:11;:20;;;;:::i;:::-;13628:36;;;;:::i;:::-;13685:20;::::0;13677:60:::1;::::0;13603:61;;-1:-1:-1;;;;;;13685:20:0::1;::::0;13677:60;::::1;;;::::0;13716:20;;13685::::1;13677:60:::0;13685:20;13677:60;13716:20;13685;13677:60;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;13756:22:0::1;::::0;13748:64:::1;::::0;-1:-1:-1;;;;;13756:22:0;;::::1;::::0;13748:64;::::1;;;::::0;13789:22;;13756::::1;13748:64:::0;13756:22;13748:64;13789:22;13756;13748:64;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;13831:17:0::1;::::0;13823:54:::1;::::0;-1:-1:-1;;;;;13831:17:0;;::::1;::::0;13823:54;::::1;;;::::0;13859:17;;13831::::1;13823:54:::0;13831:17;13823:54;13859:17;13831;13823:54;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;13896:14:0::1;::::0;13888:48:::1;::::0;-1:-1:-1;;;;;13896:14:0;;::::1;::::0;13888:48;::::1;;;::::0;13921:14;;13896::::1;13888:48:::0;13896:14;13888:48;13921:14;13896;13888:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;13952:19:0;;13949:358:::1;;13987:6;::::0;:238:::1;::::0;-1:-1:-1;;;13987:238:0;;14065:4:::1;13987:238;::::0;::::1;16418:34:1::0;;;16468:18;;;16461:34;;;13987:6:0::1;16511:18:1::0;;;16504:34;;;16554:18;;;16547:34;16597:19;;;16590:44;14195:15:0::1;16650:19:1::0;;;16643:35;-1:-1:-1;;;;;13987:6:0;;::::1;::::0;:22:::1;::::0;14017:20;;16352:19:1;;13987:238:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;14245:50:0::1;::::0;;17174:25:1;;;17230:2;17215:18;;17208:34;;;14245:50:0::1;::::0;-1:-1:-1;17147:18:1;14245:50:0::1;;;;;;;13949:358;-1:-1:-1::0;;6226:6:0;:14;;-1:-1:-1;;6226:14:0;;;-1:-1:-1;;;;;;;;12580:1734:0:o;10678:723::-;10764:7;10787:11;;;:28;;-1:-1:-1;10802:8:0;;:13;10787:28;10784:72;;;-1:-1:-1;10838:6:0;10831:13;;10784:72;10889:18;;-1:-1:-1;;;;;10936:4:0;10923:17;;;;;;10920:154;;-1:-1:-1;10970:14:0;;10920:154;;;11015:4;-1:-1:-1;;;;;11005:14:0;:6;-1:-1:-1;;;;;11005:14:0;;11002:72;;-1:-1:-1;11049:13:0;;11002:72;11086:17;11106:62;11147:20;5594:3;;11147:20;:::i;:::-;11106:36;11131:10;11106:20;11117:8;;11106:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:62::-;11086:82;-1:-1:-1;11184:13:0;;11181:172;;11258:4;11240:24;;;;:9;:24;;;;;;:39;;11269:9;11240:28;:39::i;:::-;11231:4;11213:24;;;;:9;:24;;;;;;;:66;;;;11299:42;;-1:-1:-1;;;;;11299:42:0;;;;;;;11331:9;578:25:1;;566:2;551:18;;432:177;11299:42:0;;;;;;;;11181:172;11372:21;:6;11383:9;11372:10;:21::i;:::-;11365:28;10678:723;-1:-1:-1;;;;;;10678:723:0:o;209:181::-;267:7;;299:5;303:1;299;:5;:::i;:::-;287:17;;328:1;323;:6;;315:46;;;;-1:-1:-1;;;315:46:0;;17455:2:1;315:46:0;;;17437:21:1;17494:2;17474:18;;;17467:30;17533:29;17513:18;;;17506:57;17580:18;;315:46:0;17253:351:1;736:250:0;794:7;818:1;823;818:6;814:47;;-1:-1:-1;848:1:0;841:8;;814:47;873:9;885:5;889:1;885;:5;:::i;:::-;873:17;-1:-1:-1;918:1:0;909:5;913:1;873:17;909:5;:::i;:::-;:10;901:56;;;;-1:-1:-1;;;901:56:0;;17811:2:1;901:56:0;;;17793:21:1;17850:2;17830:18;;;17823:30;17889:34;17869:18;;;17862:62;-1:-1:-1;;;17940:18:1;;;17933:31;17981:19;;901:56:0;17609:397:1;992:132:0;1050:7;1077:39;1081:1;1084;1077:39;;;;;;;;;;;;;;;;;:3;:39::i;396:136::-;454:7;481:43;485:1;488;481:43;;;;;;;;;;;;;;;;;:3;:43::i;1130:189::-;1216:7;1251:12;1244:5;1236:28;;;;-1:-1:-1;;;1236:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1275:9:0;1287:5;1291:1;1287;:5;:::i;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:248::-;241:6;249;302:2;290:9;281:7;277:23;273:32;270:52;;;318:1;315;308:12;270:52;341:26;357:9;341:26;:::i;:::-;331:36;;386:35;417:2;406:9;402:18;386:35;:::i;:::-;376:45;;179:248;;;;;:::o;614:597::-;726:4;755:2;784;773:9;766:21;816:6;810:13;859:6;854:2;843:9;839:18;832:34;884:1;894:140;908:6;905:1;902:13;894:140;;;1003:14;;;999:23;;993:30;969:17;;;988:2;965:26;958:66;923:10;;894:140;;;1052:6;1049:1;1046:13;1043:91;;;1122:1;1117:2;1108:6;1097:9;1093:22;1089:31;1082:42;1043:91;-1:-1:-1;1195:2:1;1174:15;-1:-1:-1;;1170:29:1;1155:45;;;;1202:2;1151:54;;614:597;-1:-1:-1;;;614:597:1:o;1216:180::-;1275:6;1328:2;1316:9;1307:7;1303:23;1299:32;1296:52;;;1344:1;1341;1334:12;1296:52;-1:-1:-1;1367:23:1;;1216:180;-1:-1:-1;1216:180:1:o;1401:131::-;-1:-1:-1;;;;;1476:31:1;;1466:42;;1456:70;;1522:1;1519;1512:12;1456:70;1401:131;:::o;1537:315::-;1605:6;1613;1666:2;1654:9;1645:7;1641:23;1637:32;1634:52;;;1682:1;1679;1672:12;1634:52;1721:9;1708:23;1740:31;1765:5;1740:31;:::i;:::-;1790:5;1842:2;1827:18;;;;1814:32;;-1:-1:-1;;;1537:315:1:o;2049:456::-;2126:6;2134;2142;2195:2;2183:9;2174:7;2170:23;2166:32;2163:52;;;2211:1;2208;2201:12;2163:52;2250:9;2237:23;2269:31;2294:5;2269:31;:::i;:::-;2319:5;-1:-1:-1;2376:2:1;2361:18;;2348:32;2389:33;2348:32;2389:33;:::i;:::-;2049:456;;2441:7;;-1:-1:-1;;;2495:2:1;2480:18;;;;2467:32;;2049:456::o;2510:247::-;2569:6;2622:2;2610:9;2601:7;2597:23;2593:32;2590:52;;;2638:1;2635;2628:12;2590:52;2677:9;2664:23;2696:31;2721:5;2696:31;:::i;3159:316::-;3236:6;3244;3252;3305:2;3293:9;3284:7;3280:23;3276:32;3273:52;;;3321:1;3318;3311:12;3273:52;-1:-1:-1;;3344:23:1;;;3414:2;3399:18;;3386:32;;-1:-1:-1;3465:2:1;3450:18;;;3437:32;;3159:316;-1:-1:-1;3159:316:1:o;3480:315::-;3545:6;3553;3606:2;3594:9;3585:7;3581:23;3577:32;3574:52;;;3622:1;3619;3612:12;3574:52;3661:9;3648:23;3680:31;3705:5;3680:31;:::i;3800:388::-;3868:6;3876;3929:2;3917:9;3908:7;3904:23;3900:32;3897:52;;;3945:1;3942;3935:12;3897:52;3984:9;3971:23;4003:31;4028:5;4003:31;:::i;:::-;4053:5;-1:-1:-1;4110:2:1;4095:18;;4082:32;4123:33;4082:32;4123:33;:::i;:::-;4175:7;4165:17;;;3800:388;;;;;:::o;4193:248::-;4258:6;4266;4319:2;4307:9;4298:7;4294:23;4290:32;4287:52;;;4335:1;4332;4325:12;4287:52;4358:26;4374:9;4358:26;:::i;4446:385::-;4532:6;4540;4548;4556;4609:3;4597:9;4588:7;4584:23;4580:33;4577:53;;;4626:1;4623;4616:12;4577:53;-1:-1:-1;;4649:23:1;;;4719:2;4704:18;;4691:32;;-1:-1:-1;4770:2:1;4755:18;;4742:32;;4821:2;4806:18;4793:32;;-1:-1:-1;4446:385:1;-1:-1:-1;4446:385:1:o;5322:329::-;5524:2;5506:21;;;5563:1;5543:18;;;5536:29;-1:-1:-1;;;5596:2:1;5581:18;;5574:36;5642:2;5627:18;;5322:329::o;6470:127::-;6531:10;6526:3;6522:20;6519:1;6512:31;6562:4;6559:1;6552:15;6586:4;6583:1;6576:15;6602:422;6691:1;6734:5;6691:1;6748:270;6769:7;6759:8;6756:21;6748:270;;;6828:4;6824:1;6820:6;6816:17;6810:4;6807:27;6804:53;;;6837:18;;:::i;:::-;6887:7;6877:8;6873:22;6870:55;;;6907:16;;;;6870:55;6986:22;;;;6946:15;;;;6748:270;;;6752:3;6602:422;;;;;:::o;7029:806::-;7078:5;7108:8;7098:80;;-1:-1:-1;7149:1:1;7163:5;;7098:80;7197:4;7187:76;;-1:-1:-1;7234:1:1;7248:5;;7187:76;7279:4;7297:1;7292:59;;;;7365:1;7360:130;;;;7272:218;;7292:59;7322:1;7313:10;;7336:5;;;7360:130;7397:3;7387:8;7384:17;7381:43;;;7404:18;;:::i;:::-;-1:-1:-1;;7460:1:1;7446:16;;7475:5;;7272:218;;7574:2;7564:8;7561:16;7555:3;7549:4;7546:13;7542:36;7536:2;7526:8;7523:16;7518:2;7512:4;7509:12;7505:35;7502:77;7499:159;;;-1:-1:-1;7611:19:1;;;7643:5;;7499:159;7690:34;7715:8;7709:4;7690:34;:::i;:::-;7760:6;7756:1;7752:6;7748:19;7739:7;7736:32;7733:58;;;7771:18;;:::i;:::-;7809:20;;7029:806;-1:-1:-1;;;7029:806:1:o;7840:140::-;7898:5;7927:47;7968:4;7958:8;7954:19;7948:4;7927:47;:::i;7985:168::-;8025:7;8091:1;8087;8083:6;8079:14;8076:1;8073:21;8068:1;8061:9;8054:17;8050:45;8047:71;;;8098:18;;:::i;:::-;-1:-1:-1;8138:9:1;;7985:168::o;8158:217::-;8198:1;8224;8214:132;;8268:10;8263:3;8259:20;8256:1;8249:31;8303:4;8300:1;8293:15;8331:4;8328:1;8321:15;8214:132;-1:-1:-1;8360:9:1;;8158:217::o;8716:125::-;8756:4;8784:1;8781;8778:8;8775:34;;;8789:18;;:::i;:::-;-1:-1:-1;8826:9:1;;8716:125::o;11253:128::-;11293:3;11324:1;11320:6;11317:1;11314:13;11311:39;;;11330:18;;:::i;:::-;-1:-1:-1;11366:9:1;;11253:128::o;14960:127::-;15021:10;15016:3;15012:20;15009:1;15002:31;15052:4;15049:1;15042:15;15076:4;15073:1;15066:15;15092:980;15354:4;15402:3;15391:9;15387:19;15433:6;15422:9;15415:25;15459:2;15497:6;15492:2;15481:9;15477:18;15470:34;15540:3;15535:2;15524:9;15520:18;15513:31;15564:6;15599;15593:13;15630:6;15622;15615:22;15668:3;15657:9;15653:19;15646:26;;15707:2;15699:6;15695:15;15681:29;;15728:1;15738:195;15752:6;15749:1;15746:13;15738:195;;;15817:13;;-1:-1:-1;;;;;15813:39:1;15801:52;;15908:15;;;;15873:12;;;;15849:1;15767:9;15738:195;;;-1:-1:-1;;;;;;;15989:32:1;;;;15984:2;15969:18;;15962:60;-1:-1:-1;;;16053:3:1;16038:19;16031:35;15950:3;15092:980;-1:-1:-1;;;15092:980:1:o;16689:306::-;16777:6;16785;16793;16846:2;16834:9;16825:7;16821:23;16817:32;16814:52;;;16862:1;16859;16852:12;16814:52;16891:9;16885:16;16875:26;;16941:2;16930:9;16926:18;16920:25;16910:35;;16985:2;16974:9;16970:18;16964:25;16954:35;;16689:306;;;;;:::o

Swarm Source

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