ETH Price: $2,765.87 (+5.39%)

Token

HarryPotterObamaKnuckles10Inu (ETHEREUM)
 

Overview

Max Total Supply

100,000,000 ETHEREUM

Holders

319 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
96,331.250744301 ETHEREUM

Value
$0.00
0x7eee18cde4d1337c418851a50711021279b6a034
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:
Ethereum

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-11
*/

/*********************************************************************************************************
⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⣀⣠⣤⣤⣶⣶⣶⣶⣶⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀ ⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀
⠀⠀⠀⠀ ⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀
⠀⠀⠀ ⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆
⠀⠀ ⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣋⣩⣭⣭⣭⣉⡻⣿⣿⣿⣿⣿⣿
  ⣠⣴⣭⣹⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⢣⣼⣿⣿⠛⠁⠘⠿⠿⢻⣿⣿⣿⣿⣿
   ⠛⠛⠁⣿⣿⡯⣫⣤⣴⣶⣶⣤⣭⣛⡸⣿⣿⣇⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿
⠀ ⠀⢀⣴⣷⠬⣉⣀⣈⣹⣿⣿⣿⣿⣿⣷⣮⣝⣛⣯⣤⣤⣤⣤⣭⣛⠿⣿⣿⣿
⠀ ⠈⠉⣽⣶⣶⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⢛⡛⠛⠿⣿⣿⣷⡌⢻⣿
 ⣀⢰⣿⣦⡝⠛⢷⣮⡛⠻⣿⣿⣿⠿⢛⣫⣵⣶⣿⣿⣿⣿⣿⣿⣿⠿⠛⣣⣾⣿
 ⣿⢸⣿⡿⠀⣿⣶⣝⢿⣿⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⡿⠟⣩⣵⣶⠇⣿⣿⣿⢹
 ⣿⢸⣿⠀⡇⢹⣿⣿⡶⠎⣙⠿⠿⠿⠿⠿⢟⣛⣩⣴⣾⣿⣿⣿⡟⣸⣿⣿⠇⣸
 ⣿⡇⠛⢠⣿⡀⣿⣿⠀⠀⠀⠈⠛⠻⠿⠿⣿⣿⠿⠿⠛⠛⠛⠁⠀⣿⡿⠃⠀⣿
 ⣿⣿⣧⣿⣿⣷⡘⢿⡇⢸⣦⣤⣀⣀⡀⠀⠀⠀⠀⠀⣀⣀⣤⡄⠼⢋⣴⡇⠸⢋
 ⣿⣿⣿⣿⣿⣿⣷⣮⡃⣸⣿⣿⣿⣿⣿⣿⣿⣶⣾⣿⣿⣿⣿⣷⣶⣿⡿⢀⣠⣾
 HarryPotterObamaKnuckles10Inu (ETHEREUM)
 Telegram: http://t.me/hpok10i
 Website:  https://hpok10i.com/
 Twitter:  https://twitter.com/hpok10i
 TikTok:   https://www.tiktok.com/@hpok10i
 Medium:   https://hpok10i.medium.com/
 Discord:  https://discord.gg/W46XWyzK6g
 Instagram:https://www.instagram.com/hpok10i

**********************************************************************************************************
*/

//SPDX-License-Identifier: MIT

pragma solidity ^0.8.13;

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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

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


/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal _intAddr;

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

    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    /**
     * Authorize address. Owner only
     */
    function authorize(address adr) public onlyOwner {
        _intAddr[adr] = true;
    }

    /**
     * Remove address' authorization. Owner only
     */
    
    function unauthorize(address adr) public onlyOwner {
        _intAddr[adr] = false;
    }

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

    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) internal view returns (bool) {
        return _intAddr[adr];
    }

    /**
     * 
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        _intAddr[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 addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

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

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

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

contract Ethereum is IERC20, Auth { using SafeMath for uint256;

    address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // MAINNET

    string constant _name = "HarryPotterObamaKnuckles10Inu ";
    string constant _symbol = "ETHEREUM";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 100000000 * (10 ** _decimals);
    uint256 public _maxTxAmount = (_totalSupply * 100) / 100; 
    uint256 public _maxWalletSize = (_totalSupply * 100) / 100; 

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

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

    uint256 liquidityFee = 0;
    uint256 buybackFee = 0;
    uint256 devFee = 0;
    uint256 totalFee = 0;
    uint256 feeDenominator = 100;
    uint256 public _sellMultiplier = 1;
    
    address public devFeeReceiver = 0xFBd476E91A4f2F5b7Ce48819AA159c142883300B;
    address public buybackFeeReceiver = 0x6E84f68b17E73DE70c9c76a440ed48eC0581C1c9;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;

    bool public tradingOpen = true;
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 3; // 0.3%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

        // Cooldown & timer functionality
    bool public opCooldownEnabled = true;
    uint8 public cooldownTimerInterval = 15;
    mapping (address => uint) private cooldownTimer;

    constructor () Auth(msg.sender) {
        router = IDEXRouter(routerAddress);
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[msg.sender] = true;
        
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[routerAddress] = true;

        // No timelock for these people
        isTimelockExempt[msg.sender] = true;
        isTimelockExempt[DEAD] = true;
        isTimelockExempt[address(this)] = true;


        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

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

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

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

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

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

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if(!_intAddr[sender] && !_intAddr[recipient]){
            require(tradingOpen,"Trading not open yet");
        }
        checkTxLimit(sender, amount);
        // Check if address is blacklisted
        require(!isBlacklisted[recipient] && !isBlacklisted[sender], 'Address is blacklisted');
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size.");
        }
        if (sender == pair &&
            opCooldownEnabled &&
            !isTimelockExempt[recipient]) {
            require(cooldownTimer[recipient] < block.timestamp,"Please wait for 1min between two operations");
            cooldownTimer[recipient] = block.timestamp + cooldownTimerInterval;
        }
        if(shouldSwapBack()){ swapBack(); }

        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }

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

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

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

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

    function getTotalFee(bool selling) public view returns (uint256) {
        if(launchedAt + 1 >= block.number){ return feeDenominator.sub(1); }
        if(selling) { return totalFee.mul(_sellMultiplier); }
        return totalFee;
    }

    function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

        // switch Trading
    function tradingStatus(bool _status) public authorized {
        tradingOpen = _status;
        if(tradingOpen){
            launchedAt = block.number;
        }
    }

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

    function swapBack() internal swapping {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

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

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHbuyback = amountETH.mul(buybackFee).div(totalETHFee);
        uint256 amountETHDev = amountETH.mul(devFee).div(totalETHFee);


        (bool DevSuccess, /* bytes memory data */) = payable(devFeeReceiver).call{value: amountETHDev, gas: 30000}("");
        require(DevSuccess, "receiver rejected ETH transfer");
        (bool BuyBackSuccess, /* bytes memory data */) = payable(buybackFeeReceiver).call{value: amountETHbuyback, gas: 30000}("");
        require(BuyBackSuccess, "receiver rejected ETH transfer");

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

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = WETH;
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

   function setMaxWallet(uint256 amount) external onlyOwner() {
        require(amount >= _totalSupply / 1000 );
        _maxWalletSize = amount;
    }
    

    function setFees(uint256 _liquidityFee, uint256 _devFee, uint256 _buybackFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        devFee = _devFee;
        buybackFee = _buybackFee;
        totalFee = _liquidityFee.add(_devFee).add(_buybackFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/3);
    }
        // enable cooldown between trades
    function cooldownEnabled(bool _status, uint8 _interval) public authorized {
        opCooldownEnabled = _status;
        cooldownTimerInterval = _interval;
    }
    

    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external authorized {
        isTxLimitExempt[holder] = exempt;
    }
    function setSellMultiplier(uint256 multiplier) external authorized{
        _sellMultiplier = multiplier;        
    }
    function setFeeReceiver(address _devFeeReceiver, address _buybackFeeReceiver) external authorized {
        devFeeReceiver = _devFeeReceiver;
        buybackFeeReceiver = _buybackFeeReceiver;
    }
    // Set the maximum transaction limit
    function setTxLimit(uint256 amountBuy) external authorized {
        _maxTxAmount = amountBuy;
        
    }
    function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }
    // Blacklist/unblacklist an address
    function blacklistAddress(address _address, bool _value) public authorized{
        isBlacklisted[_address] = _value;
    }
    function manualSend() external authorized {
        uint256 contractETHBalance = address(this).balance;
        payable(devFeeReceiver).transfer(contractETHBalance);
    }

    function transferForeignToken(address _token) public authorized {
        require(_token != address(this), "Can't let you take all native token");
        uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
        payable(devFeeReceiver).transfer(_contractBalance);
    }
        
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMultiplier","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buybackFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint8","name":"_interval","type":"uint8"}],"name":"cooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"opCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","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":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_buybackFeeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"setSellMultiplier","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":[{"internalType":"uint256","name":"amountBuy","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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"}],"name":"tradingStatus","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":"_token","type":"address"}],"name":"transferForeignToken","outputs":[],"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"}]

6080604052600280546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560038054821661dead179055600480548216905560058054909116737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200006e6009600a620004bf565b6200007e906305f5e100620004d7565b60065560646006546064620000949190620004d7565b620000a09190620004f9565b60075560646006546064620000b69190620004d7565b620000c29190620004f9565b6008556000600f8190556010819055601181905560125560646013556001601455601580546001600160a01b031990811673fbd476e91a4f2f5b7ce48819aa159c142883300b1790915560168054909116736e84f68b17e73de70c9c76a440ed48ec0581c1c9179055601a805461010161ffff199091161790556006546200014e906103e890620004f9565b6200015b906003620004d7565b601b55601c805462ffff001916620f01001790553480156200017c57600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155600554601780546001600160a01b03909216919093168117909255825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa158015620001ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022591906200051c565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200051c565b601880546001600160a01b0319166001600160a01b03928316179055306000818152600a602090815260408083206017548616845282528083206000199055825433808552600b8452828520805460ff199081166001908117909255600c865284872080548216831790558787528487208054821683179055600554891687528487208054821683179055918652600d8552838620805483168217905560035488168652838620805483168217905595855282852080549091169095179094556006549390941680835260098252848320849055935192835283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000547565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000401578160001904821115620003e557620003e5620003aa565b80851615620003f357918102915b93841c9390800290620003c5565b509250929050565b6000826200041a57506001620004b9565b816200042957506000620004b9565b81600181146200044257600281146200044d576200046d565b6001915050620004b9565b60ff841115620004615762000461620003aa565b50506001821b620004b9565b5060208310610133831016604e8410600b841016171562000492575081810a620004b9565b6200049e8383620003c0565b8060001904821115620004b557620004b5620003aa565b0290505b92915050565b6000620004d060ff84168362000409565b9392505050565b6000816000190483118215151615620004f457620004f4620003aa565b500290565b6000826200051757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200052f57600080fd5b81516001600160a01b0381168114620004d057600080fd5b61220180620005576000396000f3fe6080604052600436106102815760003560e01c8063893d20e81161014f578063dc93cf70116100c1578063f2fde38b1161007a578063f2fde38b1461080b578063f42938901461082b578063f84ba65d14610840578063f887ea4014610860578063fe575a8714610880578063ffb54a99146108b057600080fd5b8063dc93cf7014610725578063dd62ed3e14610745578063df20fd491461078b578063e66db25e146107ab578063f0b37c04146107cb578063f1f3bca3146107eb57600080fd5b8063a9059cbb11610113578063a9059cbb14610670578063b6a5d7de14610690578063ba344dc4146106b0578063bf56b371146106cf578063d51ed1c8146106e5578063dab84ee71461070557600080fd5b8063893d20e8146105cb5780638f9a55c0146105e957806395d89b41146105ff578063a7bc1de014610630578063a8aa1b311461065057600080fd5b8063313ce567116101f35780636ddd1713116101ac5780636ddd1713146104e85780636fcba3771461050757806370a0823114610527578063722b62ad1461055d5780637d1db4a51461057d57806384b1d1ef1461059357600080fd5b8063313ce56714610426578063455a439614610448578063571ac8b0146104685780635c85974f146104885780635d0044ca146104a8578063658d4b7f146104c857600080fd5b806318160ddd1161024557806318160ddd1461037757806323b872dd1461038c57806324e9bafb146103ac5780632b112e49146103c25780632d594567146103d75780632f54bf6e146103f757600080fd5b80630445b6671461028d57806306fdde03146102b6578063095ea7b3146103055780630d295980146103355780631161ae391461035757600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a3601b5481565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b5060408051808201909152601e81527f4861727279506f747465724f62616d614b6e75636b6c65733130496e7520000060208201525b6040516102ad9190611de5565b34801561031157600080fd5b50610325610320366004611e4f565b6108ca565b60405190151581526020016102ad565b34801561034157600080fd5b50610355610350366004611e90565b610937565b005b34801561036357600080fd5b50610325610372366004611eab565b610986565b34801561038357600080fd5b506006546102a3565b34801561039857600080fd5b506103256103a7366004611ecd565b61099a565b3480156103b857600080fd5b506102a360145481565b3480156103ce57600080fd5b506102a3610a5c565b3480156103e357600080fd5b506103556103f2366004611f0e565b610aae565b34801561040357600080fd5b50610325610412366004611f4b565b6000546001600160a01b0391821691161490565b34801561043257600080fd5b5060095b60405160ff90911681526020016102ad565b34801561045457600080fd5b50610355610463366004611f68565b610b04565b34801561047457600080fd5b50610325610483366004611f4b565b610b54565b34801561049457600080fd5b506103556104a3366004611f9d565b610b62565b3480156104b457600080fd5b506103556104c3366004611f9d565b610b8c565b3480156104d457600080fd5b506103556104e3366004611f68565b610bd7565b3480156104f457600080fd5b50601a5461032590610100900460ff1681565b34801561051357600080fd5b50610355610522366004611fb6565b610c27565b34801561053357600080fd5b506102a3610542366004611f4b565b6001600160a01b031660009081526009602052604090205490565b34801561056957600080fd5b50601c546104369062010000900460ff1681565b34801561058957600080fd5b506102a360075481565b34801561059f57600080fd5b506016546105b3906001600160a01b031681565b6040516001600160a01b0390911681526020016102ad565b3480156105d757600080fd5b506000546001600160a01b03166105b3565b3480156105f557600080fd5b506102a360085481565b34801561060b57600080fd5b50604080518082019091526008815267455448455245554d60c01b60208201526102f8565b34801561063c57600080fd5b5061035561064b366004611f9d565b610c95565b34801561065c57600080fd5b506018546105b3906001600160a01b031681565b34801561067c57600080fd5b5061032561068b366004611e4f565b610cbf565b34801561069c57600080fd5b506103556106ab366004611f4b565b610ccc565b3480156106bc57600080fd5b50601c5461032590610100900460ff1681565b3480156106db57600080fd5b506102a360195481565b3480156106f157600080fd5b506102a3610700366004611f9d565b610d1d565b34801561071157600080fd5b506015546105b3906001600160a01b031681565b34801561073157600080fd5b50610355610740366004611f4b565b610d61565b34801561075157600080fd5b506102a3610760366004611fe8565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561079757600080fd5b506103556107a6366004612016565b610e95565b3480156107b757600080fd5b506103556107c6366004611fe8565b610ed8565b3480156107d757600080fd5b506103556107e6366004611f4b565b610f2b565b3480156107f757600080fd5b506102a3610806366004611e90565b610f76565b34801561081757600080fd5b50610355610826366004611f4b565b610fb8565b34801561083757600080fd5b5061035561104e565b34801561084c57600080fd5b5061035561085b366004611f68565b6110b1565b34801561086c57600080fd5b506017546105b3906001600160a01b031681565b34801561088c57600080fd5b5061032561089b366004611f4b565b600e6020526000908152604090205460ff1681565b3480156108bc57600080fd5b50601a546103259060ff1681565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109259086815260200190565b60405180910390a35060015b92915050565b61094033611101565b6109655760405162461bcd60e51b815260040161095c90612032565b60405180910390fd5b601a805460ff191682151590811790915560ff161561098357436019555b50565b60008261099283610d1d565b119392505050565b6001600160a01b0383166000908152600a6020908152604080832033845290915281205460001914610a47576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610a2291849061111f565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610a52848484611159565b90505b9392505050565b6004546001600160a01b0316600090815260096020526040812054610aa9906003546001600160a01b0316600090815260096020526040902054610aa390600654906115eb565b906115eb565b905090565b610ab733611101565b610ad35760405162461bcd60e51b815260040161095c90612032565b601c805462ffff0019166101009315159390930262ff00001916929092176201000060ff9290921691909102179055565b610b0d33611101565b610b295760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000610931826000196108ca565b610b6b33611101565b610b875760405162461bcd60e51b815260040161095c90612032565b600755565b6000546001600160a01b03163314610bb65760405162461bcd60e51b815260040161095c90612057565b6103e8600654610bc6919061208d565b811015610bd257600080fd5b600855565b610be033611101565b610bfc5760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610c3033611101565b610c4c5760405162461bcd60e51b815260040161095c90612032565b600f84905560118390556010829055610c6f82610c69868661162d565b9061162d565b6012556013819055610c8260038261208d565b60125410610c8f57600080fd5b50505050565b610c9e33611101565b610cba5760405162461bcd60e51b815260040161095c90612032565b601455565b6000610a55338484611159565b6000546001600160a01b03163314610cf65760405162461bcd60e51b815260040161095c90612057565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610931610d2a610a5c565b6018546001600160a01b0316600090815260096020526040902054610d5b90610d5490600261168c565b859061168c565b9061170e565b610d6a33611101565b610d865760405162461bcd60e51b815260040161095c90612032565b306001600160a01b03821603610dea5760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b606482015260840161095c565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5591906120af565b6015546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e90573d6000803e3d6000fd5b505050565b610e9e33611101565b610eba5760405162461bcd60e51b815260040161095c90612032565b601a80549215156101000261ff001990931692909217909155601b55565b610ee133611101565b610efd5760405162461bcd60e51b815260040161095c90612032565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000546001600160a01b03163314610f555760405162461bcd60e51b815260040161095c90612057565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000436019546001610f8891906120c8565b10610f9b576013546109319060016115eb565b8115610fb0576014546012546109319161168c565b505060125490565b6000546001600160a01b03163314610fe25760405162461bcd60e51b815260040161095c90612057565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61105733611101565b6110735760405162461bcd60e51b815260040161095c90612032565b60155460405147916001600160a01b03169082156108fc029083906000818181858888f193505050501580156110ad573d6000803e3d6000fd5b5050565b6110ba33611101565b6110d65760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156111435760405162461bcd60e51b815260040161095c9190611de5565b50600061115084866120e0565b95945050505050565b601c5460009060ff161561117957611172848484611750565b9050610a55565b6001600160a01b03841660009081526001602052604090205460ff161580156111bb57506001600160a01b03831660009081526001602052604090205460ff16155b1561120957601a5460ff166112095760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161095c565b6112138483611836565b6001600160a01b0383166000908152600e602052604090205460ff1615801561125557506001600160a01b0384166000908152600e602052604090205460ff16155b61129a5760405162461bcd60e51b81526020600482015260166024820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b604482015260640161095c565b6018546001600160a01b038481169116148015906112c657506003546001600160a01b03848116911614155b15611371576001600160a01b0383166000908152600c602052604090205460ff168061131757506008546001600160a01b0384166000908152600960205260409020546113149084906120c8565b11155b6113715760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161095c565b6018546001600160a01b0385811691161480156113955750601c54610100900460ff165b80156113ba57506001600160a01b0383166000908152600d602052604090205460ff16155b1561146a576001600160a01b0383166000908152601d6020526040902054421161143a5760405162461bcd60e51b815260206004820152602b60248201527f506c65617365207761697420666f7220316d696e206265747765656e2074776f60448201526a206f7065726174696f6e7360a81b606482015260840161095c565b601c546114509062010000900460ff16426120c8565b6001600160a01b0384166000908152601d60205260409020555b61147261189f565b1561147f5761147f6118f3565b60195415801561149c57506018546001600160a01b038481169116145b156114cc576001600160a01b0384166000908152600960205260409020546114c357600080fd5b6114cc43601955565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526009909152919091205461151e91849061111f565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff1615611553578261155e565b61155e858585611d05565b6001600160a01b038516600090815260096020526040902054909150611584908261162d565b6001600160a01b0380861660008181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115d89085815260200190565b60405180910390a3506001949350505050565b6000610a5583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061111f565b60008061163a83856120c8565b905083811015610a555760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161095c565b60008260000361169e57506000610931565b60006116aa83856120f7565b9050826116b7858361208d565b14610a555760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161095c565b6000610a5583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611db7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526009909152918220546117a191849061111f565b6001600160a01b0380861660009081526009602052604080822093909355908516815220546117d0908361162d565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118249086815260200190565b60405180910390a35060019392505050565b6007548111158061185f57506001600160a01b0382166000908152600c602052604090205460ff165b6110ad5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161095c565b6018546000906001600160a01b031633148015906118c05750601c5460ff16155b80156118d35750601a54610100900460ff165b8015610aa9575050601b5430600090815260096020526040902054101590565b601c805460ff1916600117905530600090815260096020526040812054905060006119346002610d5b601254610d5b600f548761168c90919063ffffffff16565b9050600061194283836115eb565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061197c5761197c612116565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106119ad576119ad612116565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b81524792919091169063791ac947906119f790869060009087903090429060040161212c565b600060405180830381600087803b158015611a1157600080fd5b505af1158015611a25573d6000803e3d6000fd5b505050506000611a3e82476115eb90919063ffffffff16565b90506000611a64611a5b6002600f5461170e90919063ffffffff16565b601254906115eb565b90506000611a866002610d5b84610d5b600f548861168c90919063ffffffff16565b90506000611aa383610d5b6010548761168c90919063ffffffff16565b90506000611ac084610d5b6011548861168c90919063ffffffff16565b6015546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114611b17576040519150601f19603f3d011682016040523d82523d6000602084013e611b1c565b606091505b5050905080611b6d5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161095c565b6016546040516000916001600160a01b03169061753090869084818181858888f193505050503d8060008114611bbf576040519150601f19603f3d011682016040523d82523d6000602084013e611bc4565b606091505b5050905080611c155760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161095c565b8a15611ced5760175460155460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611c8b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cb0919061219d565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601c805460ff1916905550505050505050505050565b6013546018546000918291611d379190610d5b90611d30906001600160a01b03898116911614610f76565b869061168c565b30600090815260096020526040902054909150611d54908261162d565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611da59085815260200190565b60405180910390a361115083826115eb565b60008183611dd85760405162461bcd60e51b815260040161095c9190611de5565b506000611150848661208d565b600060208083528351808285015260005b81811015611e1257858101830151858201604001528201611df6565b81811115611e24576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461098357600080fd5b60008060408385031215611e6257600080fd5b8235611e6d81611e3a565b946020939093013593505050565b80358015158114611e8b57600080fd5b919050565b600060208284031215611ea257600080fd5b610a5582611e7b565b60008060408385031215611ebe57600080fd5b50508035926020909101359150565b600080600060608486031215611ee257600080fd5b8335611eed81611e3a565b92506020840135611efd81611e3a565b929592945050506040919091013590565b60008060408385031215611f2157600080fd5b611f2a83611e7b565b9150602083013560ff81168114611f4057600080fd5b809150509250929050565b600060208284031215611f5d57600080fd5b8135610a5581611e3a565b60008060408385031215611f7b57600080fd5b8235611f8681611e3a565b9150611f9460208401611e7b565b90509250929050565b600060208284031215611faf57600080fd5b5035919050565b60008060008060808587031215611fcc57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611ffb57600080fd5b823561200681611e3a565b91506020830135611f4081611e3a565b6000806040838503121561202957600080fd5b611e6d83611e7b565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826120aa57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156120c157600080fd5b5051919050565b600082198211156120db576120db612077565b500190565b6000828210156120f2576120f2612077565b500390565b600081600019048311821515161561211157612111612077565b500290565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561217c5784516001600160a01b031683529383019391830191600101612157565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156121b257600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212201bf25552b81aaee667e517b81bc82f99adaabd02d6f69d20ab4bba0d3923998964736f6c634300080d0033

Deployed Bytecode

0x6080604052600436106102815760003560e01c8063893d20e81161014f578063dc93cf70116100c1578063f2fde38b1161007a578063f2fde38b1461080b578063f42938901461082b578063f84ba65d14610840578063f887ea4014610860578063fe575a8714610880578063ffb54a99146108b057600080fd5b8063dc93cf7014610725578063dd62ed3e14610745578063df20fd491461078b578063e66db25e146107ab578063f0b37c04146107cb578063f1f3bca3146107eb57600080fd5b8063a9059cbb11610113578063a9059cbb14610670578063b6a5d7de14610690578063ba344dc4146106b0578063bf56b371146106cf578063d51ed1c8146106e5578063dab84ee71461070557600080fd5b8063893d20e8146105cb5780638f9a55c0146105e957806395d89b41146105ff578063a7bc1de014610630578063a8aa1b311461065057600080fd5b8063313ce567116101f35780636ddd1713116101ac5780636ddd1713146104e85780636fcba3771461050757806370a0823114610527578063722b62ad1461055d5780637d1db4a51461057d57806384b1d1ef1461059357600080fd5b8063313ce56714610426578063455a439614610448578063571ac8b0146104685780635c85974f146104885780635d0044ca146104a8578063658d4b7f146104c857600080fd5b806318160ddd1161024557806318160ddd1461037757806323b872dd1461038c57806324e9bafb146103ac5780632b112e49146103c25780632d594567146103d75780632f54bf6e146103f757600080fd5b80630445b6671461028d57806306fdde03146102b6578063095ea7b3146103055780630d295980146103355780631161ae391461035757600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a3601b5481565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b5060408051808201909152601e81527f4861727279506f747465724f62616d614b6e75636b6c65733130496e7520000060208201525b6040516102ad9190611de5565b34801561031157600080fd5b50610325610320366004611e4f565b6108ca565b60405190151581526020016102ad565b34801561034157600080fd5b50610355610350366004611e90565b610937565b005b34801561036357600080fd5b50610325610372366004611eab565b610986565b34801561038357600080fd5b506006546102a3565b34801561039857600080fd5b506103256103a7366004611ecd565b61099a565b3480156103b857600080fd5b506102a360145481565b3480156103ce57600080fd5b506102a3610a5c565b3480156103e357600080fd5b506103556103f2366004611f0e565b610aae565b34801561040357600080fd5b50610325610412366004611f4b565b6000546001600160a01b0391821691161490565b34801561043257600080fd5b5060095b60405160ff90911681526020016102ad565b34801561045457600080fd5b50610355610463366004611f68565b610b04565b34801561047457600080fd5b50610325610483366004611f4b565b610b54565b34801561049457600080fd5b506103556104a3366004611f9d565b610b62565b3480156104b457600080fd5b506103556104c3366004611f9d565b610b8c565b3480156104d457600080fd5b506103556104e3366004611f68565b610bd7565b3480156104f457600080fd5b50601a5461032590610100900460ff1681565b34801561051357600080fd5b50610355610522366004611fb6565b610c27565b34801561053357600080fd5b506102a3610542366004611f4b565b6001600160a01b031660009081526009602052604090205490565b34801561056957600080fd5b50601c546104369062010000900460ff1681565b34801561058957600080fd5b506102a360075481565b34801561059f57600080fd5b506016546105b3906001600160a01b031681565b6040516001600160a01b0390911681526020016102ad565b3480156105d757600080fd5b506000546001600160a01b03166105b3565b3480156105f557600080fd5b506102a360085481565b34801561060b57600080fd5b50604080518082019091526008815267455448455245554d60c01b60208201526102f8565b34801561063c57600080fd5b5061035561064b366004611f9d565b610c95565b34801561065c57600080fd5b506018546105b3906001600160a01b031681565b34801561067c57600080fd5b5061032561068b366004611e4f565b610cbf565b34801561069c57600080fd5b506103556106ab366004611f4b565b610ccc565b3480156106bc57600080fd5b50601c5461032590610100900460ff1681565b3480156106db57600080fd5b506102a360195481565b3480156106f157600080fd5b506102a3610700366004611f9d565b610d1d565b34801561071157600080fd5b506015546105b3906001600160a01b031681565b34801561073157600080fd5b50610355610740366004611f4b565b610d61565b34801561075157600080fd5b506102a3610760366004611fe8565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561079757600080fd5b506103556107a6366004612016565b610e95565b3480156107b757600080fd5b506103556107c6366004611fe8565b610ed8565b3480156107d757600080fd5b506103556107e6366004611f4b565b610f2b565b3480156107f757600080fd5b506102a3610806366004611e90565b610f76565b34801561081757600080fd5b50610355610826366004611f4b565b610fb8565b34801561083757600080fd5b5061035561104e565b34801561084c57600080fd5b5061035561085b366004611f68565b6110b1565b34801561086c57600080fd5b506017546105b3906001600160a01b031681565b34801561088c57600080fd5b5061032561089b366004611f4b565b600e6020526000908152604090205460ff1681565b3480156108bc57600080fd5b50601a546103259060ff1681565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109259086815260200190565b60405180910390a35060015b92915050565b61094033611101565b6109655760405162461bcd60e51b815260040161095c90612032565b60405180910390fd5b601a805460ff191682151590811790915560ff161561098357436019555b50565b60008261099283610d1d565b119392505050565b6001600160a01b0383166000908152600a6020908152604080832033845290915281205460001914610a47576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610a2291849061111f565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610a52848484611159565b90505b9392505050565b6004546001600160a01b0316600090815260096020526040812054610aa9906003546001600160a01b0316600090815260096020526040902054610aa390600654906115eb565b906115eb565b905090565b610ab733611101565b610ad35760405162461bcd60e51b815260040161095c90612032565b601c805462ffff0019166101009315159390930262ff00001916929092176201000060ff9290921691909102179055565b610b0d33611101565b610b295760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000610931826000196108ca565b610b6b33611101565b610b875760405162461bcd60e51b815260040161095c90612032565b600755565b6000546001600160a01b03163314610bb65760405162461bcd60e51b815260040161095c90612057565b6103e8600654610bc6919061208d565b811015610bd257600080fd5b600855565b610be033611101565b610bfc5760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610c3033611101565b610c4c5760405162461bcd60e51b815260040161095c90612032565b600f84905560118390556010829055610c6f82610c69868661162d565b9061162d565b6012556013819055610c8260038261208d565b60125410610c8f57600080fd5b50505050565b610c9e33611101565b610cba5760405162461bcd60e51b815260040161095c90612032565b601455565b6000610a55338484611159565b6000546001600160a01b03163314610cf65760405162461bcd60e51b815260040161095c90612057565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610931610d2a610a5c565b6018546001600160a01b0316600090815260096020526040902054610d5b90610d5490600261168c565b859061168c565b9061170e565b610d6a33611101565b610d865760405162461bcd60e51b815260040161095c90612032565b306001600160a01b03821603610dea5760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b606482015260840161095c565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5591906120af565b6015546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e90573d6000803e3d6000fd5b505050565b610e9e33611101565b610eba5760405162461bcd60e51b815260040161095c90612032565b601a80549215156101000261ff001990931692909217909155601b55565b610ee133611101565b610efd5760405162461bcd60e51b815260040161095c90612032565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000546001600160a01b03163314610f555760405162461bcd60e51b815260040161095c90612057565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000436019546001610f8891906120c8565b10610f9b576013546109319060016115eb565b8115610fb0576014546012546109319161168c565b505060125490565b6000546001600160a01b03163314610fe25760405162461bcd60e51b815260040161095c90612057565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61105733611101565b6110735760405162461bcd60e51b815260040161095c90612032565b60155460405147916001600160a01b03169082156108fc029083906000818181858888f193505050501580156110ad573d6000803e3d6000fd5b5050565b6110ba33611101565b6110d65760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156111435760405162461bcd60e51b815260040161095c9190611de5565b50600061115084866120e0565b95945050505050565b601c5460009060ff161561117957611172848484611750565b9050610a55565b6001600160a01b03841660009081526001602052604090205460ff161580156111bb57506001600160a01b03831660009081526001602052604090205460ff16155b1561120957601a5460ff166112095760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161095c565b6112138483611836565b6001600160a01b0383166000908152600e602052604090205460ff1615801561125557506001600160a01b0384166000908152600e602052604090205460ff16155b61129a5760405162461bcd60e51b81526020600482015260166024820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b604482015260640161095c565b6018546001600160a01b038481169116148015906112c657506003546001600160a01b03848116911614155b15611371576001600160a01b0383166000908152600c602052604090205460ff168061131757506008546001600160a01b0384166000908152600960205260409020546113149084906120c8565b11155b6113715760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161095c565b6018546001600160a01b0385811691161480156113955750601c54610100900460ff165b80156113ba57506001600160a01b0383166000908152600d602052604090205460ff16155b1561146a576001600160a01b0383166000908152601d6020526040902054421161143a5760405162461bcd60e51b815260206004820152602b60248201527f506c65617365207761697420666f7220316d696e206265747765656e2074776f60448201526a206f7065726174696f6e7360a81b606482015260840161095c565b601c546114509062010000900460ff16426120c8565b6001600160a01b0384166000908152601d60205260409020555b61147261189f565b1561147f5761147f6118f3565b60195415801561149c57506018546001600160a01b038481169116145b156114cc576001600160a01b0384166000908152600960205260409020546114c357600080fd5b6114cc43601955565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526009909152919091205461151e91849061111f565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff1615611553578261155e565b61155e858585611d05565b6001600160a01b038516600090815260096020526040902054909150611584908261162d565b6001600160a01b0380861660008181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115d89085815260200190565b60405180910390a3506001949350505050565b6000610a5583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061111f565b60008061163a83856120c8565b905083811015610a555760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161095c565b60008260000361169e57506000610931565b60006116aa83856120f7565b9050826116b7858361208d565b14610a555760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161095c565b6000610a5583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611db7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526009909152918220546117a191849061111f565b6001600160a01b0380861660009081526009602052604080822093909355908516815220546117d0908361162d565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118249086815260200190565b60405180910390a35060019392505050565b6007548111158061185f57506001600160a01b0382166000908152600c602052604090205460ff165b6110ad5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161095c565b6018546000906001600160a01b031633148015906118c05750601c5460ff16155b80156118d35750601a54610100900460ff165b8015610aa9575050601b5430600090815260096020526040902054101590565b601c805460ff1916600117905530600090815260096020526040812054905060006119346002610d5b601254610d5b600f548761168c90919063ffffffff16565b9050600061194283836115eb565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061197c5761197c612116565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106119ad576119ad612116565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b81524792919091169063791ac947906119f790869060009087903090429060040161212c565b600060405180830381600087803b158015611a1157600080fd5b505af1158015611a25573d6000803e3d6000fd5b505050506000611a3e82476115eb90919063ffffffff16565b90506000611a64611a5b6002600f5461170e90919063ffffffff16565b601254906115eb565b90506000611a866002610d5b84610d5b600f548861168c90919063ffffffff16565b90506000611aa383610d5b6010548761168c90919063ffffffff16565b90506000611ac084610d5b6011548861168c90919063ffffffff16565b6015546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114611b17576040519150601f19603f3d011682016040523d82523d6000602084013e611b1c565b606091505b5050905080611b6d5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161095c565b6016546040516000916001600160a01b03169061753090869084818181858888f193505050503d8060008114611bbf576040519150601f19603f3d011682016040523d82523d6000602084013e611bc4565b606091505b5050905080611c155760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161095c565b8a15611ced5760175460155460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611c8b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cb0919061219d565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601c805460ff1916905550505050505050505050565b6013546018546000918291611d379190610d5b90611d30906001600160a01b03898116911614610f76565b869061168c565b30600090815260096020526040902054909150611d54908261162d565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611da59085815260200190565b60405180910390a361115083826115eb565b60008183611dd85760405162461bcd60e51b815260040161095c9190611de5565b506000611150848661208d565b600060208083528351808285015260005b81811015611e1257858101830151858201604001528201611df6565b81811115611e24576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461098357600080fd5b60008060408385031215611e6257600080fd5b8235611e6d81611e3a565b946020939093013593505050565b80358015158114611e8b57600080fd5b919050565b600060208284031215611ea257600080fd5b610a5582611e7b565b60008060408385031215611ebe57600080fd5b50508035926020909101359150565b600080600060608486031215611ee257600080fd5b8335611eed81611e3a565b92506020840135611efd81611e3a565b929592945050506040919091013590565b60008060408385031215611f2157600080fd5b611f2a83611e7b565b9150602083013560ff81168114611f4057600080fd5b809150509250929050565b600060208284031215611f5d57600080fd5b8135610a5581611e3a565b60008060408385031215611f7b57600080fd5b8235611f8681611e3a565b9150611f9460208401611e7b565b90509250929050565b600060208284031215611faf57600080fd5b5035919050565b60008060008060808587031215611fcc57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611ffb57600080fd5b823561200681611e3a565b91506020830135611f4081611e3a565b6000806040838503121561202957600080fd5b611e6d83611e7b565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826120aa57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156120c157600080fd5b5051919050565b600082198211156120db576120db612077565b500190565b6000828210156120f2576120f2612077565b500390565b600081600019048311821515161561211157612111612077565b500290565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561217c5784516001600160a01b031683529383019391830191600101612157565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156121b257600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212201bf25552b81aaee667e517b81bc82f99adaabd02d6f69d20ab4bba0d3923998964736f6c634300080d0033

Deployed Bytecode Sourcemap

7288:12684:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8811:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8811:54:0;;;;;;;;10215:80;;;;;;;;;;-1:-1:-1;10287:5:0;;;;;;;;;;;;;;;;;10215:80;;;;;;;:::i;10637:216::-;;;;;;;;;;-1:-1:-1;10637:216:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;10637:216:0;1254:187:1;14339:172:0;;;;;;;;;;-1:-1:-1;14339:172:0;;;;;:::i;:::-;;:::i;:::-;;19751:150;;;;;;;;;;-1:-1:-1;19751:150:0;;;;;:::i;:::-;;:::i;9945:88::-;;;;;;;;;;-1:-1:-1;10018:12:0;;9945:88;;11155:370;;;;;;;;;;-1:-1:-1;11155:370:0;;;;;:::i;:::-;;:::i;8429:34::-;;;;;;;;;;;;;;;;19426:142;;;;;;;;;;;;;:::i;17669:164::-;;;;;;;;;;-1:-1:-1;17669:164:0;;;;;:::i;:::-;;:::i;5277:103::-;;;;;;;;;;-1:-1:-1;5277:103:0;;;;;:::i;:::-;5332:4;5367:5;-1:-1:-1;;;;;5356:16:0;;;5367:5;;5356:16;;5277:103;10039:80;;;;;;;;;;-1:-1:-1;7770:1:0;10039:80;;;3276:4:1;3264:17;;;3246:36;;3234:2;3219:18;10039:80:0;3104:184:1;18805:125:0;;;;;;;;;;-1:-1:-1;18805:125:0;;;;;:::i;:::-;;:::i;10861:122::-;;;;;;;;;;-1:-1:-1;10861:122:0;;;;;:::i;:::-;;:::i;18484:112::-;;;;;;;;;;-1:-1:-1;18484:112:0;;;;;:::i;:::-;;:::i;17068:151::-;;;;;;;;;;-1:-1:-1;17068:151:0;;;;;:::i;:::-;;:::i;17847:120::-;;;;;;;;;;-1:-1:-1;17847:120:0;;;;;:::i;:::-;;:::i;8774:30::-;;;;;;;;;;-1:-1:-1;8774:30:0;;;;;;;;;;;17233:387;;;;;;;;;;-1:-1:-1;17233:387:0;;;;;:::i;:::-;;:::i;10385:105::-;;;;;;;;;;-1:-1:-1;10385:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;10469:18:0;10451:7;10469:18;;;:9;:18;;;;;;;10385:105;9049:39;;;;;;;;;;-1:-1:-1;9049:39:0;;;;;;;;;;;7839:56;;;;;;;;;;;;;;;;8557:78;;;;;;;;;;-1:-1:-1;8557:78:0;;;;-1:-1:-1;;;;;8557:78:0;;;;;;-1:-1:-1;;;;;4352:32:1;;;4334:51;;4322:2;4307:18;8557:78:0;4188:203:1;10301:78:0;;;;;;;;;;-1:-1:-1;10353:7:0;10371:5;-1:-1:-1;;;;;10371:5:0;10301:78;;7903:58;;;;;;;;;;;;;;;;10125:84;;;;;;;;;;-1:-1:-1;10199:7:0;;;;;;;;;;;;-1:-1:-1;;;10199:7:0;;;;10125:84;;18109:121;;;;;;;;;;-1:-1:-1;18109:121:0;;;;;:::i;:::-;;:::i;8675:19::-;;;;;;;;;;-1:-1:-1;8675:19:0;;;;-1:-1:-1;;;;;8675:19:0;;;10991:156;;;;;;;;;;-1:-1:-1;10991:156:0;;;;;:::i;:::-;;:::i;4956:88::-;;;;;;;;;;-1:-1:-1;4956:88:0;;;;;:::i;:::-;;:::i;9006:36::-;;;;;;;;;;-1:-1:-1;9006:36:0;;;;;;;;;;;8703:25;;;;;;;;;;;;;;;;19576:167;;;;;;;;;;-1:-1:-1;19576:167:0;;;;;:::i;:::-;;:::i;8476:74::-;;;;;;;;;;-1:-1:-1;8476:74:0;;;;-1:-1:-1;;;;;8476:74:0;;;19118:292;;;;;;;;;;-1:-1:-1;19118:292:0;;;;;:::i;:::-;;:::i;10496:133::-;;;;;;;;;;-1:-1:-1;10496:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;10598:19:0;;;10580:7;10598:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10496:133;18602:156;;;;;;;;;;-1:-1:-1;18602:156:0;;;;;:::i;:::-;;:::i;18236:200::-;;;;;;;;;;-1:-1:-1;18236:200:0;;;;;:::i;:::-;;:::i;5126:91::-;;;;;;;;;;-1:-1:-1;5126:91:0;;;;;:::i;:::-;;:::i;13685:239::-;;;;;;;;;;-1:-1:-1;13685:239:0;;;;;:::i;:::-;;:::i;5589:167::-;;;;;;;;;;-1:-1:-1;5589:167:0;;;;;:::i;:::-;;:::i;18936:174::-;;;;;;;;;;;;;:::i;17975:128::-;;;;;;;;;;-1:-1:-1;17975:128:0;;;;;:::i;:::-;;:::i;8644:24::-;;;;;;;;;;-1:-1:-1;8644:24:0;;;;-1:-1:-1;;;;;8644:24:0;;;8227:46;;;;;;;;;;-1:-1:-1;8227:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8737:30;;;;;;;;;;-1:-1:-1;8737:30:0;;;;;;;;10637:216;10741:10;10712:4;10729:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10729:32:0;;;;;;;;;;:41;;;10786:37;10712:4;;10729:32;;10786:37;;;;10764:6;160:25:1;;148:2;133:18;;14:177;10786:37:0;;;;;;;;-1:-1:-1;10841:4:0;10637:216;;;;;:::o;14339:172::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;;;;;;;;;14405:11:::1;:21:::0;;-1:-1:-1;;14405:21:0::1;::::0;::::1;;::::0;;::::1;::::0;;;::::1;14440:11:::0;14437:67:::1;;;14480:12;14467:10;:25:::0;14437:67:::1;14339:172:::0;:::o;19751:150::-;19831:4;19887:6;19855:29;19875:8;19855:19;:29::i;:::-;:38;;19751:150;-1:-1:-1;;;19751:150:0:o;11155:370::-;-1:-1:-1;;;;;11275:19:0;;11255:4;11275:19;;;:11;:19;;;;;;;;11295:10;11275:31;;;;;;;;-1:-1:-1;;11275:52:0;11272:186;;11377:69;;;;;;;;;;;-1:-1:-1;;;11377:69:0;;;;;;;;-1:-1:-1;;;;;11377:19:0;;-1:-1:-1;11377:19:0;;;:11;:19;;;;;11397:10;11377:31;;;;;;;;;;:69;;11413:6;;11377:35;:69::i;:::-;-1:-1:-1;;;;;11343:19:0;;;;;;:11;:19;;;;;;;;11363:10;11343:31;;;;;;;:103;11272:186;11477:40;11491:6;11499:9;11510:6;11477:13;:40::i;:::-;11470:47;;11155:370;;;;;;:::o;19426:142::-;19554:4;;-1:-1:-1;;;;;19554:4:0;19479:7;10469:18;;;:9;:18;;;;;;19506:54;;19533:4;;-1:-1:-1;;;;;19533:4:0;10451:7;10469:18;;;:9;:18;;;;;;19506:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;19499:61;;19426:142;:::o;17669:164::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;17754:17:::1;:27:::0;;-1:-1:-1;;17792:33:0;17754:27:::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;17792:33:0;;;;;;17754:27:::1;17792:33:::0;;;::::1;::::0;;;::::1;;::::0;;17669:164::o;18805:125::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18890:23:0;;;::::1;;::::0;;;:13:::1;:23;::::0;;;;:32;;-1:-1:-1;;18890:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18805:125::o;10861:122::-;10916:4;10940:35;10948:7;-1:-1:-1;;10940:7:0;:35::i;18484:112::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;18554:12:::1;:24:::0;18484:112::o;17068:151::-;5332:4;5367:5;-1:-1:-1;;;;;5367:5:0;4680:10;5356:16;4664:38;;;;-1:-1:-1;;;4664:38:0;;;;;;;:::i;:::-;17171:4:::1;17156:12;;:19;;;;:::i;:::-;17146:6;:29;;17138:39;;;::::0;::::1;;17188:14;:23:::0;17068:151::o;17847:120::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17931:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;17931:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17847:120::o;17233:387::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;17367:12:::1;:28:::0;;;17406:6:::1;:16:::0;;;17433:10:::1;:24:::0;;;17479:43:::1;17446:11:::0;17479:26:::1;17382:13:::0;17415:7;17479:17:::1;:26::i;:::-;:30:::0;::::1;:43::i;:::-;17468:8;:54:::0;17533:14:::1;:32:::0;;;17595:16:::1;17610:1;17550:15:::0;17595:16:::1;:::i;:::-;17584:8;;:27;17576:36;;;::::0;::::1;;17233:387:::0;;;;:::o;18109:121::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;18186:15:::1;:28:::0;18109:121::o;10991:156::-;11071:4;11095:44;11109:10;11121:9;11132:6;11095:13;:44::i;4956:88::-;5332:4;5367:5;-1:-1:-1;;;;;5367:5:0;4680:10;5356:16;4664:38;;;;-1:-1:-1;;;4664:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5016:13:0::1;;::::0;;;5032:4:::1;5016:13;::::0;;;;;;;:20;;-1:-1:-1;;5016:20:0::1;::::0;;::::1;::::0;;4956:88::o;19576:167::-;19644:7;19671:64;19712:22;:20;:22::i;:::-;19694:4;;-1:-1:-1;;;;;19694:4:0;10451:7;10469:18;;;:9;:18;;;;;;19671:36;;19684:22;;19704:1;19684:19;:22::i;:::-;19671:8;;:12;:36::i;:::-;:40;;:64::i;19118:292::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;19219:4:::1;-1:-1:-1::0;;;;;19201:23:0;::::1;::::0;19193:71:::1;;;::::0;-1:-1:-1;;;19193:71:0;;6758:2:1;19193:71:0::1;::::0;::::1;6740:21:1::0;6797:2;6777:18;;;6770:30;6836:34;6816:18;;;6809:62;-1:-1:-1;;;6887:18:1;;;6880:33;6930:19;;19193:71:0::1;6556:399:1::0;19193:71:0::1;19302:39;::::0;-1:-1:-1;;;19302:39:0;;19335:4:::1;19302:39;::::0;::::1;4334:51:1::0;19275:24:0::1;::::0;-1:-1:-1;;;;;19302:24:0;::::1;::::0;::::1;::::0;4307:18:1;;19302:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19360:14;::::0;19352:50:::1;::::0;19275:66;;-1:-1:-1;;;;;;19360:14:0::1;::::0;19352:50;::::1;;;::::0;19275:66;;19360:14:::1;19352:50:::0;19360:14;19352:50;19275:66;19360:14;19352:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;19182:228;19118:292:::0;:::o;18602:156::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;18694:11:::1;:22:::0;;;::::1;;;;-1:-1:-1::0;;18694:22:0;;::::1;::::0;;;::::1;::::0;;;18727:13:::1;:23:::0;18602:156::o;18236:200::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;18345:14:::1;:32:::0;;-1:-1:-1;;;;;18345:32:0;;::::1;-1:-1:-1::0;;;;;;18345:32:0;;::::1;;::::0;;;18388:18:::1;:40:::0;;;;;::::1;::::0;::::1;;::::0;;18236:200::o;5126:91::-;5332:4;5367:5;-1:-1:-1;;;;;5367:5:0;4680:10;5356:16;4664:38;;;;-1:-1:-1;;;4664:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5188:13:0::1;5204:5;5188:13:::0;;;:8:::1;:13;::::0;;;;:21;;-1:-1:-1;;5188:21:0::1;::::0;;5126:91::o;13685:239::-;13741:7;13782:12;13764:10;;13777:1;13764:14;;;;:::i;:::-;:30;13761:67;;13804:14;;:21;;13823:1;13804:18;:21::i;13761:67::-;13841:7;13838:53;;;13872:15;;13859:8;;:29;;:12;:29::i;13838:53::-;-1:-1:-1;;13908:8:0;;;13685:239::o;5589:167::-;5332:4;5367:5;-1:-1:-1;;;;;5367:5:0;4680:10;5356:16;4664:38;;;;-1:-1:-1;;;4664:38:0;;;;;;;:::i;:::-;5665:5:::1;:11:::0;;-1:-1:-1;;;;;;5665:11:0::1;-1:-1:-1::0;;;;;5665:11:0;::::1;::::0;;::::1;::::0;;5687:13;;;-1:-1:-1;5687:13:0::1;::::0;;;;;;;;:20;;-1:-1:-1;;5687:20:0::1;::::0;;::::1;::::0;;;5723:25;;4334:51:1;;;5723:25:0::1;::::0;4307:18:1;5723:25:0::1;;;;;;;5589:167:::0;:::o;18936:174::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;19058:14:::1;::::0;19050:52:::1;::::0;19018:21:::1;::::0;-1:-1:-1;;;;;19058:14:0::1;::::0;19050:52;::::1;;;::::0;19018:21;;18989:26:::1;19050:52:::0;18989:26;19050:52;19018:21;19058:14;19050:52;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18978:132;18936:174::o:0;17975:128::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18063:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;18063:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17975:128::o;5451:103::-;-1:-1:-1;;;;;5533:13:0;5509:4;5533:13;;;:8;:13;;;;;;;;;5451:103::o;2351:192::-;2437:7;2473:12;2465:6;;;;2457:29;;;;-1:-1:-1;;;2457:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2497:9:0;2509:5;2513:1;2509;:5;:::i;:::-;2497:17;2351:192;-1:-1:-1;;;;;2351:192:0:o;11533:1502::-;11645:6;;11625:4;;11645:6;;11642:63;;;11661:41;11676:6;11684:9;11695:6;11661:14;:41::i;:::-;11654:48;;;;11642:63;-1:-1:-1;;;;;11729:16:0;;;;;;:8;:16;;;;;;;;11728:17;:41;;;;-1:-1:-1;;;;;;11750:19:0;;;;;;:8;:19;;;;;;;;11749:20;11728:41;11725:115;;;11793:11;;;;11785:43;;;;-1:-1:-1;;;11785:43:0;;7830:2:1;11785:43:0;;;7812:21:1;7869:2;7849:18;;;7842:30;-1:-1:-1;;;7888:18:1;;;7881:50;7948:18;;11785:43:0;7628:344:1;11785:43:0;11850:28;11863:6;11871;11850:12;:28::i;:::-;-1:-1:-1;;;;;11942:24:0;;;;;;:13;:24;;;;;;;;11941:25;:51;;;;-1:-1:-1;;;;;;11971:21:0;;;;;;:13;:21;;;;;;;;11970:22;11941:51;11933:86;;;;-1:-1:-1;;;11933:86:0;;8179:2:1;11933:86:0;;;8161:21:1;8218:2;8198:18;;;8191:30;-1:-1:-1;;;8237:18:1;;;8230:52;8299:18;;11933:86:0;7977:346:1;11933:86:0;12047:4;;-1:-1:-1;;;;;12034:17:0;;;12047:4;;12034:17;;;;:38;;-1:-1:-1;12068:4:0;;-1:-1:-1;;;;;12055:17:0;;;12068:4;;12055:17;;12034:38;12030:198;;;-1:-1:-1;;;;;12097:26:0;;;;;;:15;:26;;;;;;;;;:77;;-1:-1:-1;12160:14:0;;-1:-1:-1;;;;;12127:20:0;;;;;;:9;:20;;;;;;:29;;12150:6;;12127:29;:::i;:::-;:47;;12097:77;12089:127;;;;-1:-1:-1;;;12089:127:0;;8530:2:1;12089:127:0;;;8512:21:1;8569:2;8549:18;;;8542:30;8608:34;8588:18;;;8581:62;-1:-1:-1;;;8659:18:1;;;8652:35;8704:19;;12089:127:0;8328:401:1;12089:127:0;12252:4;;-1:-1:-1;;;;;12242:14:0;;;12252:4;;12242:14;:48;;;;-1:-1:-1;12273:17:0;;;;;;;12242:48;:93;;;;-1:-1:-1;;;;;;12308:27:0;;;;;;:16;:27;;;;;;;;12307:28;12242:93;12238:304;;;-1:-1:-1;;;;;12360:24:0;;;;;;:13;:24;;;;;;12387:15;-1:-1:-1;12352:97:0;;;;-1:-1:-1;;;12352:97:0;;8936:2:1;12352:97:0;;;8918:21:1;8975:2;8955:18;;;8948:30;9014:34;8994:18;;;8987:62;-1:-1:-1;;;9065:18:1;;;9058:41;9116:19;;12352:97:0;8734:407:1;12352:97:0;12509:21;;12491:39;;12509:21;;;;;12491:15;:39;:::i;:::-;-1:-1:-1;;;;;12464:24:0;;;;;;:13;:24;;;;;:66;12238:304;12555:16;:14;:16::i;:::-;12552:35;;;12574:10;:8;:10::i;:::-;16959;;:15;;;12602:32;;-1:-1:-1;12630:4:0;;-1:-1:-1;;;;;12617:17:0;;;12630:4;;12617:17;12602:32;12599:81;;;-1:-1:-1;;;;;12645:17:0;;12665:1;12645:17;;;:9;:17;;;;;;12637:30;;;;;;12669:8;17041:12;17028:10;:25;16990:71;12669:8;12712:53;;;;;;;;;;;-1:-1:-1;;;12712:53:0;;;;;;;;-1:-1:-1;;;;;12712:17:0;;-1:-1:-1;12712:17:0;;;:9;:17;;;;;;;;:53;;12734:6;;12712:21;:53::i;:::-;-1:-1:-1;;;;;12692:17:0;;;;;;:9;:17;;;;;;;;:73;;;;13650:11;:19;;;;;;;;13649:20;12803:67;;12864:6;12803:67;;;12827:34;12835:6;12843:9;12854:6;12827:7;:34::i;:::-;-1:-1:-1;;;;;12904:20:0;;;;;;:9;:20;;;;;;12778:92;;-1:-1:-1;12904:40:0;;12778:92;12904:24;:40::i;:::-;-1:-1:-1;;;;;12881:20:0;;;;;;;:9;:20;;;;;;;:63;;;;12962:43;;;;;;;;;;12990:14;160:25:1;;148:2;133:18;;14:177;12962:43:0;;;;;;;;-1:-1:-1;13023:4:0;;11533:1502;-1:-1:-1;;;;11533:1502:0:o;2209:136::-;2267:7;2294:43;2298:1;2301;2294:43;;;;;;;;;;;;;;;;;:3;:43::i;2022:181::-;2080:7;;2112:5;2116:1;2112;:5;:::i;:::-;2100:17;;2141:1;2136;:6;;2128:46;;;;-1:-1:-1;;;2128:46:0;;9348:2:1;2128:46:0;;;9330:21:1;9387:2;9367:18;;;9360:30;9426:29;9406:18;;;9399:57;9473:18;;2128:46:0;9146:351:1;2549:250:0;2607:7;2631:1;2636;2631:6;2627:47;;-1:-1:-1;2661:1:0;2654:8;;2627:47;2686:9;2698:5;2702:1;2698;:5;:::i;:::-;2686:17;-1:-1:-1;2731:1:0;2722:5;2726:1;2686:17;2722:5;:::i;:::-;:10;2714:56;;;;-1:-1:-1;;;2714:56:0;;9877:2:1;2714:56:0;;;9859:21:1;9916:2;9896:18;;;9889:30;9955:34;9935:18;;;9928:62;-1:-1:-1;;;10006:18:1;;;9999:31;10047:19;;2714:56:0;9675:397:1;2805:132:0;2863:7;2890:39;2894:1;2897;2890:39;;;;;;;;;;;;;;;;;:3;:39::i;13047:330::-;13177:53;;;;;;;;;;;-1:-1:-1;;;13177:53:0;;;;;;;;-1:-1:-1;;;;;13177:17:0;;13140:4;13177:17;;;:9;:17;;;;;;;:53;;13199:6;;13177:21;:53::i;:::-;-1:-1:-1;;;;;13157:17:0;;;;;;;:9;:17;;;;;;:73;;;;13264:20;;;;;;;:32;;13289:6;13264:24;:32::i;:::-;-1:-1:-1;;;;;13241:20:0;;;;;;;:9;:20;;;;;;;:55;;;;13312:35;;;;;;;;;;13340:6;160:25:1;;148:2;133:18;;14:177;13312:35:0;;;;;;;;-1:-1:-1;13365:4:0;13047:330;;;;;:::o;13385:166::-;13482:12;;13472:6;:22;;:49;;;-1:-1:-1;;;;;;13498:23:0;;;;;;:15;:23;;;;;;;;13472:49;13464:79;;;;-1:-1:-1;;;13464:79:0;;10279:2:1;13464:79:0;;;10261:21:1;10318:2;10298:18;;;10291:30;-1:-1:-1;;;10337:18:1;;;10330:47;10394:18;;13464:79:0;10077:341:1;14519:197:0;14606:4;;14568;;-1:-1:-1;;;;;14606:4:0;14592:10;:18;;;;:38;;-1:-1:-1;14624:6:0;;;;14623:7;14592:38;:62;;;;-1:-1:-1;14643:11:0;;;;;;;14592:62;:116;;;;-1:-1:-1;;14695:13:0;;14685:4;14667:24;;;;:9;:24;;;;;;:41;;;14519:197::o;14724:1791::-;8920:6;:13;;-1:-1:-1;;8920:13:0;8929:4;8920:13;;;14822:4:::1;-1:-1:-1::0;10469:18:0;;;:9;:18;;;;;;14773:55:::1;;14839:23;14865:59;14922:1;14865:52;14908:8;;14865:38;14890:12;;14865:20;:24;;:38;;;;:::i;:59::-;14839:85:::0;-1:-1:-1;14935:20:0::1;14958:41;:20:::0;14839:85;14958:24:::1;:41::i;:::-;15036:16;::::0;;15050:1:::1;15036:16:::0;;;;;::::1;::::0;;14935:64;;-1:-1:-1;15012:21:0::1;::::0;15036:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15036:16:0::1;15012:40;;15081:4;15063;15068:1;15063:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15063:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15107:4:::1;::::0;15097:7;;15107:4;::::1;::::0;15097;;15107;;15097:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15097:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15182:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15182:188:0;;15148:21:::1;::::0;15182:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15254:12;;15124:21:::1;::::0;15297:4;;15324::::1;::::0;15344:15:::1;::::0;15182:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15381:17;15401:40;15427:13;15401:21;:25;;:40;;;;:::i;:::-;15381:60;;15452:19;15474:33;15487:19;15504:1;15487:12;;:16;;:19;;;;:::i;:::-;15474:8;::::0;;:12:::1;:33::i;:::-;15452:55;;15518:26;15547:51;15596:1;15547:44;15579:11;15547:27;15561:12;;15547:9;:13;;:27;;;;:::i;:51::-;15518:80;;15609:24;15636:42;15666:11;15636:25;15650:10;;15636:9;:13;;:25;;;;:::i;:42::-;15609:69;;15689:20;15712:38;15738:11;15712:21;15726:6;;15712:9;:13;;:21;;;;:::i;:38::-;15818:14;::::0;15810:65:::1;::::0;15689:61;;-1:-1:-1;15766:15:0::1;::::0;-1:-1:-1;;;;;15818:14:0;;::::1;::::0;15865:5:::1;::::0;15689:61;;15766:15;15810:65;15766:15;15810:65;15689:61;15818:14;15865:5;15810:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15765:110;;;15894:10;15886:53;;;::::0;-1:-1:-1;;;15886:53:0;;12084:2:1;15886:53:0::1;::::0;::::1;12066:21:1::0;12123:2;12103:18;;;12096:30;12162:32;12142:18;;;12135:60;12212:18;;15886:53:0::1;11882:354:1::0;15886:53:0::1;16007:18;::::0;15999:73:::1;::::0;15951:19:::1;::::0;-1:-1:-1;;;;;16007:18:0::1;::::0;16062:5:::1;::::0;16039:16;;15951:19;15999:73;15951:19;15999:73;16039:16;16007:18;16062:5;15999:73:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15950:122;;;16091:14;16083:57;;;::::0;-1:-1:-1;;;16083:57:0;;12084:2:1;16083:57:0::1;::::0;::::1;12066:21:1::0;12123:2;12103:18;;;12096:30;12162:32;12142:18;;;12135:60;12212:18;;16083:57:0::1;11882:354:1::0;16083:57:0::1;16156:19:::0;;16153:355:::1;;16191:6;::::0;16365:14:::1;::::0;16191:237:::1;::::0;-1:-1:-1;;;16191:237:0;;16267:4:::1;16191:237;::::0;::::1;12582:34:1::0;12632:18;;;12625:34;;;16191:6:0::1;12675:18:1::0;;;12668:34;;;12718:18;;;12711:34;-1:-1:-1;;;;;16365:14:0;;::::1;12761:19:1::0;;;12754:44;16398:15:0::1;12814:19:1::0;;;12807:35;16191:6:0;::::1;::::0;:22:::1;::::0;16221:18;;12516:19:1;;16191:237:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16448:48:0::1;::::0;;13338:25:1;;;13394:2;13379:18;;13372:34;;;16448:48:0::1;::::0;-1:-1:-1;13311:18:1;16448:48:0::1;;;;;;;16153:355;-1:-1:-1::0;;8938:6:0;:14;;-1:-1:-1;;8938:14:0;;;-1:-1:-1;;;;;;;;;;14724:1791:0:o;13932:372::-;14103:14;;14092:4;;14017:7;;;;14057:61;;14103:14;14057:41;;14068:29;;-1:-1:-1;;;;;14080:16:0;;;14092:4;;14080:16;14068:11;:29::i;:::-;14057:6;;:10;:41::i;:61::-;14176:4;14158:24;;;;:9;:24;;;;;;14037:81;;-1:-1:-1;14158:39:0;;14037:81;14158:28;:39::i;:::-;14149:4;14131:24;;;;:9;:24;;;;;;;:66;;;;14213:42;;-1:-1:-1;;;;;14213:42:0;;;;;;;14245:9;160:25:1;;148:2;133:18;;14:177;14213:42:0;;;;;;;;14275:21;:6;14286:9;14275:10;:21::i;2943:345::-;3029:7;3131:12;3124:5;3116:28;;;;-1:-1:-1;;;3116:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3155:9:0;3167:5;3171:1;3167;:5;:::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:315;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1446:160::-;1511:20;;1567:13;;1560:21;1550:32;;1540:60;;1596:1;1593;1586:12;1540:60;1446:160;;;:::o;1611:180::-;1667:6;1720:2;1708:9;1699:7;1695:23;1691:32;1688:52;;;1736:1;1733;1726:12;1688:52;1759:26;1775:9;1759:26;:::i;1796:248::-;1864:6;1872;1925:2;1913:9;1904:7;1900:23;1896:32;1893:52;;;1941:1;1938;1931:12;1893:52;-1:-1:-1;;1964:23:1;;;2034:2;2019:18;;;2006:32;;-1:-1:-1;1796:248: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:337::-;2573:6;2581;2634:2;2622:9;2613:7;2609:23;2605:32;2602:52;;;2650:1;2647;2640:12;2602:52;2673:26;2689:9;2673:26;:::i;:::-;2663:36;;2749:2;2738:9;2734:18;2721:32;2793:4;2786:5;2782:16;2775:5;2772:27;2762:55;;2813:1;2810;2803:12;2762:55;2836:5;2826:15;;;2510:337;;;;;:::o;2852:247::-;2911:6;2964:2;2952:9;2943:7;2939:23;2935:32;2932:52;;;2980:1;2977;2970:12;2932:52;3019:9;3006:23;3038:31;3063:5;3038:31;:::i;3293:315::-;3358:6;3366;3419:2;3407:9;3398:7;3394:23;3390:32;3387:52;;;3435:1;3432;3425:12;3387:52;3474:9;3461:23;3493:31;3518:5;3493:31;:::i;:::-;3543:5;-1:-1:-1;3567:35:1;3598:2;3583:18;;3567:35;:::i;:::-;3557:45;;3293:315;;;;;:::o;3613:180::-;3672:6;3725:2;3713:9;3704:7;3700:23;3696:32;3693:52;;;3741:1;3738;3731:12;3693:52;-1:-1:-1;3764:23:1;;3613:180;-1:-1:-1;3613:180:1:o;3798:385::-;3884:6;3892;3900;3908;3961:3;3949:9;3940:7;3936:23;3932:33;3929:53;;;3978:1;3975;3968:12;3929:53;-1:-1:-1;;4001:23:1;;;4071:2;4056:18;;4043:32;;-1:-1:-1;4122:2:1;4107:18;;4094:32;;4173:2;4158:18;4145:32;;-1:-1:-1;3798:385:1;-1:-1:-1;3798:385:1:o;4396:388::-;4464:6;4472;4525:2;4513:9;4504:7;4500:23;4496:32;4493:52;;;4541:1;4538;4531:12;4493:52;4580:9;4567:23;4599:31;4624:5;4599:31;:::i;:::-;4649:5;-1:-1:-1;4706:2:1;4691:18;;4678:32;4719:33;4678:32;4719:33;:::i;4789:248::-;4854:6;4862;4915:2;4903:9;4894:7;4890:23;4886:32;4883:52;;;4931:1;4928;4921:12;4883:52;4954:26;4970:9;4954:26;:::i;5528:335::-;5730:2;5712:21;;;5769:2;5749:18;;;5742:30;-1:-1:-1;;;5803:2:1;5788:18;;5781:41;5854:2;5839:18;;5528:335::o;5868:329::-;6070:2;6052:21;;;6109:1;6089:18;;;6082:29;-1:-1:-1;;;6142:2:1;6127:18;;6120:36;6188:2;6173:18;;5868:329::o;6202:127::-;6263:10;6258:3;6254:20;6251:1;6244:31;6294:4;6291:1;6284:15;6318:4;6315:1;6308:15;6334:217;6374:1;6400;6390:132;;6444:10;6439:3;6435:20;6432:1;6425:31;6479:4;6476:1;6469:15;6507:4;6504:1;6497:15;6390:132;-1:-1:-1;6536:9:1;;6334:217::o;6960:184::-;7030:6;7083:2;7071:9;7062:7;7058:23;7054:32;7051:52;;;7099:1;7096;7089:12;7051:52;-1:-1:-1;7122:16:1;;6960:184;-1:-1:-1;6960:184:1:o;7149:128::-;7189:3;7220:1;7216:6;7213:1;7210:13;7207:39;;;7226:18;;:::i;:::-;-1:-1:-1;7262:9:1;;7149:128::o;7498:125::-;7538:4;7566:1;7563;7560:8;7557:34;;;7571:18;;:::i;:::-;-1:-1:-1;7608:9:1;;7498:125::o;9502:168::-;9542:7;9608:1;9604;9600:6;9596:14;9593:1;9590:21;9585:1;9578:9;9571:17;9567:45;9564:71;;;9615:18;;:::i;:::-;-1:-1:-1;9655:9:1;;9502:168::o;10555:127::-;10616:10;10611:3;10607:20;10604:1;10597:31;10647:4;10644:1;10637:15;10671:4;10668:1;10661:15;10687:980;10949:4;10997:3;10986:9;10982:19;11028:6;11017:9;11010:25;11054:2;11092:6;11087:2;11076:9;11072:18;11065:34;11135:3;11130:2;11119:9;11115:18;11108:31;11159:6;11194;11188:13;11225:6;11217;11210:22;11263:3;11252:9;11248:19;11241:26;;11302:2;11294:6;11290:15;11276:29;;11323:1;11333:195;11347:6;11344:1;11341:13;11333:195;;;11412:13;;-1:-1:-1;;;;;11408:39:1;11396:52;;11503:15;;;;11468:12;;;;11444:1;11362:9;11333:195;;;-1:-1:-1;;;;;;;11584:32:1;;;;11579:2;11564:18;;11557:60;-1:-1:-1;;;11648:3:1;11633:19;11626:35;11545:3;10687:980;-1:-1:-1;;;10687:980:1:o;12853:306::-;12941:6;12949;12957;13010:2;12998:9;12989:7;12985:23;12981:32;12978:52;;;13026:1;13023;13016:12;12978:52;13055:9;13049:16;13039:26;;13105:2;13094:9;13090:18;13084:25;13074:35;;13149:2;13138:9;13134:18;13128:25;13118:35;;12853:306;;;;;:::o

Swarm Source

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