ETH Price: $2,455.69 (-4.72%)

Token

MilliInu (MILLI)
 

Overview

Max Total Supply

10,000,000,000 MILLI

Holders

106

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: MILLI
Balance
8,173,280,822.920356703 MILLI

Value
$0.00
0xe0df54889b6a8736bd494e7ead85baf2157e605a
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:
MilliInu

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-26
*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.15;

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;

    constructor(address _owner) {
        owner = _owner;
        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;
    }

    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    function transferOwnership(address payable adr) external onlyOwner {
        require(adr != owner, "Already the owner");
        potentialOwner = adr;
        emit OwnershipNominated(adr);
    }

    function renounceOwnership() external onlyOwner {
        address adr = address(0);
        potentialOwner = adr;
        emit OwnershipNominated(adr);
    }

    function acceptOwnership() external {
        require(msg.sender == potentialOwner, "You must be nominated as potential owner before you can accept the role.");
        authorizations[owner] = false;
        authorizations[potentialOwner] = true;

        emit Authorize_Wallet(owner,false);
        emit Authorize_Wallet(potentialOwner,true);
        
        owner = potentialOwner;
        potentialOwner = address(0);
        emit OwnershipTransferred(owner);
    }

    event OwnershipTransferred(address owner);
    event OwnershipNominated(address potentialOwner);
    event Authorize_Wallet(address Wallet, bool Status);
}

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;

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

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

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

    string public constant name = "MilliInu";
    string public constant symbol = "MILLI";
    uint8 public constant decimals = 9;

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

    mapping(address => bool) public isBlacklisted;

    // uint256 public _maxTxAmount = totalSupply / 100;
    uint256 public _maxTxAmount = totalSupply * 1 / 100;
    uint256 public _maxWalletToken = totalSupply * 1 / 100;

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

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

    uint256 public liquidityFee = 0;
    uint256 public marketingFee = 30;
    uint256 public teamFee = 20;
    uint256 public developmentFee = 0;
    uint256 public burnFee = 0;
    uint256 public totalFee = marketingFee + liquidityFee + teamFee + burnFee + developmentFee;
    uint256 public constant feeDenominator = 1000;
    
    uint256 buyMultiplier = 100;
    uint256 sellMultiplier = 100;
    uint256 transferMultiplier = 500;

    address public marketingFeeReceiver;
    address public teamFeeReceiver;
    address public developmentFeeReceiver;

    IDEXRouter public router;
    address public immutable pair;

    bool public tradingOpen = false;

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

    constructor (address _marketingWallet, address _developmentWallet, address _teamWallet) 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 = _marketingWallet;
        developmentFeeReceiver = _developmentWallet;
        teamFeeReceiver = _teamWallet;

        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;

        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 blacklistAddress(address account, bool value) external onlyOwner{
        isBlacklisted[account] = value;
    }

    function bulkIsBlacklisted(address[] memory accounts, bool value) external onlyOwner{
        for(uint256 i =0; i < accounts.length; i++){
            isBlacklisted[accounts[i]] = value;

        }
    }

    function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
        require(maxWallPercent_base1000 >= 5,"Cannot set max wallet less than 0.5%");
        _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
        emit config_MaxWallet(_maxWalletToken);
    }

    function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner {
        require(maxTXPercentage_base1000 >= 5,"Cannot set max transaction less than 0.5%");
        _maxTxAmount = (totalSupply * maxTXPercentage_base1000 ) / 1000;
        emit config_MaxTransaction(_maxTxAmount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(!isBlacklisted[sender] && !isBlacklisted[recipient], 'Blacklisted address');

        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        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");
        }
    
        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);
        uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);

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

        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 amountETH = address(this).balance;
        uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
        payable(msg.sender).transfer(amountToClear);
        emit BalanceClear(amountToClear);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        if(tokens == 0){
            tokens = BEP20(tokenAddress).balanceOf(address(this));
        }

        emit clearToken(tokenAddress, tokens);

        return BEP20(tokenAddress).transfer(msg.sender, tokens);
    }

    function tradingOpenFlag() external onlyOwner {
        tradingOpen = true;
        emit config_TradingStatus(tradingOpen);
    }

    function swapBack() internal swapping {

        uint256 totalETHFee = totalFee - burnFee;

        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 amountETH = address(this).balance;

        totalETHFee = totalETHFee - (liquidityFee / 2);
        
        uint256 amountETHLiquidity = (amountETH * liquidityFee) / (totalETHFee * 2);
        uint256 amountETHMarketing = (amountETH * marketingFee) / totalETHFee;
        uint256 amountETHTeam = (amountETH * teamFee) / totalETHFee;
        uint256 amountETHDevelopment = (amountETH * developmentFee) / totalETHFee;

        payable(marketingFeeReceiver).transfer(amountETHMarketing);
        payable(teamFeeReceiver).transfer(amountETHTeam);
        payable(developmentFeeReceiver).transfer(amountETHDevelopment);


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

    function manage_FeeExempt(address[] calldata addresses, bool status) external authorized {
        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        for (uint256 i=0; i < addresses.length; ++i) {
            isFeeExempt[addresses[i]] = status;
            emit Wallet_feeExempt(addresses[i], status);
        }
    }

    function manage_TxLimitExempt(address[] calldata addresses, bool status) external authorized {
        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        for (uint256 i=0; i < addresses.length; ++i) {
            isTxLimitExempt[addresses[i]] = status;
            emit Wallet_txExempt(addresses[i], status);
        }
    }

    function manage_WalletLimitExempt(address[] calldata addresses, bool status) external authorized {
        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        for (uint256 i=0; i < addresses.length; ++i) {
            isWalletLimitExempt[addresses[i]] = status;
            emit Wallet_holdingExempt(addresses[i], status);
        }
    }

    function update_fees() internal {
        // require(totalFee.mul(buyMultiplier).div(100) <= 120, "Buy tax cannot be more than 12%");
        // require(totalFee.mul(sellMultiplier).div(100) <= 120, "Sell tax cannot be more than 12%");
        // require(totalFee.mul(transferMultiplier).div(100) <= 100, "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 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 _teamFee, uint256 _developmentFee, uint256 _burnFee) external onlyOwner {
        liquidityFee = _liquidityFee;
        marketingFee = _marketingFee;
        teamFee = _teamFee;
        developmentFee = _developmentFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee + _marketingFee + _teamFee + _burnFee + _developmentFee;
        
        update_fees();
    }

    function setFeeReceivers(address _marketingFeeReceiver, address _teamFeeReceiver, address _developmentFeeReceiver ) external onlyOwner {
        // require(_marketingFeeReceiver != address(0),"Marketing fee address cannot be zero address");
        // require(_teamFeeReceiver != address(0),"Team fee address cannot be zero address");
        // require(_developmentFeeReceiver != address(0),"Development fee address cannot be zero address");

        marketingFeeReceiver = _marketingFeeReceiver;
        teamFeeReceiver = _teamFeeReceiver;
        developmentFeeReceiver = _developmentFeeReceiver;

        emit Set_Wallets(marketingFeeReceiver, teamFeeReceiver, developmentFeeReceiver);
    }

    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]);
    }

    function distribute(address[] calldata addresses, uint256[] calldata tokens) external onlyOwner {
        address from = msg.sender;

        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        require(addresses.length == tokens.length,"Mismatch between address and token count");

        uint256 SCCC = 0;

        for(uint i=0; i < addresses.length; i++){
            SCCC = SCCC + tokens[i];
        }

        require(balanceOf[from] >= SCCC, "Not enough tokens in wallet");

        for(uint i=0; i < addresses.length; i++){
            _basicTransfer(from,addresses[i],tokens[i]);
        }

    }

event AutoLiquify(uint256 amountETH, 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 clearToken(address TokenAddressCleared, uint256 Amount);

event Set_Wallets(address MarketingWallet, address TeamWallet, address DevelopmentWallet);

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

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"},{"internalType":"address","name":"_developmentWallet","type":"address"},{"internalType":"address","name":"_teamWallet","type":"address"}],"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":"amountETH","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":"potentialOwner","type":"address"}],"name":"OwnershipNominated","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":"TeamWallet","type":"address"},{"indexed":false,"internalType":"address","name":"DevelopmentWallet","type":"address"}],"name":"Set_Wallets","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":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"clearToken","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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"bulkIsBlacklisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnFee","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":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"tokens","type":"uint256[]"}],"name":"distribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","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":"isBlacklisted","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":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_FeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_TxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_WalletLimitExempt","outputs":[],"stateMutability":"nonpayable","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"},{"internalType":"address","name":"_developmentFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_developmentFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","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":"teamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"tradingOpenFlag","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"}]

60c06040526064620000146009600a620005c3565b62000025906402540be400620005db565b62000032906001620005db565b6200003e9190620005fd565b6004556064620000516009600a620005c3565b62000062906402540be400620005db565b6200006f906001620005db565b6200007b9190620005fd565b6005556000600b55601e600c556014600d556000600e556000600f55600e54600f54600d54600b54600c54620000b2919062000620565b620000be919062000620565b620000ca919062000620565b620000d6919062000620565b601055606460118190556012556101f46013556017805461ffff60a01b19169055611388620001086009600a620005c3565b62000119906402540be400620005db565b620001259190620005fd565b6018553480156200013557600080fd5b5060405162003a3238038062003a32833981016040819052620001589162000658565b60008054336001600160a01b031991821681178355825260026020908152604092839020805460ff1916600117905560178054737a250d5630b4cf539739df2c5dacb4c659f2488d93168317905582516315ab88c960e31b81529251919263ad5c464892600480830193928290030181865afa158015620001dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002039190620006a2565b6001600160a01b039081166080526017546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a9190620006a2565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f29190620006a2565b6001600160a01b0390811660a0523060008181526007602090815260408083206017548616845282528083206000199055601480546001600160a01b03199081168a881617909155601680548216898816179055601580549091169587169590951790945533825260088152838220805460ff199081166001908117909255600980845286852080548316841790557f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb19307500378580548316841790557fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b8054831684179055600a938490528685208054831684179055948452948320805486168217905561dead9092527f20677881080440a9b3c87e826370bb5d9c2f74efd4dede686d52d77a6a09f8bb80549094169091179092556200042f91620005c3565b62000440906402540be400620005db565b33600081815260066020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004836009600a620005c3565b62000494906402540be400620005db565b60405190815260200160405180910390a3505050620006c0565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000505578160001904821115620004e957620004e9620004ae565b80851615620004f757918102915b93841c9390800290620004c9565b509250929050565b6000826200051e57506001620005bd565b816200052d57506000620005bd565b8160018114620005465760028114620005515762000571565b6001915050620005bd565b60ff841115620005655762000565620004ae565b50506001821b620005bd565b5060208310610133831016604e8410600b841016171562000596575081810a620005bd565b620005a28383620004c4565b8060001904821115620005b957620005b9620004ae565b0290505b92915050565b6000620005d460ff8416836200050d565b9392505050565b6000816000190483118215151615620005f857620005f8620004ae565b500290565b6000826200061b57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620006365762000636620004ae565b500190565b80516001600160a01b03811681146200065357600080fd5b919050565b6000806000606084860312156200066e57600080fd5b62000679846200063b565b925062000689602085016200063b565b915062000699604085016200063b565b90509250925092565b600060208284031215620006b557600080fd5b620005d4826200063b565b60805160a051613330620007026000396000818161083a01528181611f8d01528181612391015281816127b301526127e7015260006124ad01526133306000f3fe6080604052600436106103525760003560e01c8063715018a6116101c6578063c867d60b116100f7578063f2fde38b11610095578063fce589d81161006f578063fce589d814610a28578063fe575a8714610a3e578063fe9fbb8014610a6e578063ffb54a9914610a8e57600080fd5b8063f2fde38b146109c8578063f887ea40146109e8578063f9fdac1114610a0857600080fd5b8063dd62ed3e116100d1578063dd62ed3e14610922578063df20fd4914610968578063e96fada214610988578063f0b37c04146109a857600080fd5b8063c867d60b146108bc578063d7c01032146108ec578063d7c94efd1461090c57600080fd5b806395d89b4111610164578063a8aa1b311161013e578063a8aa1b3114610828578063a9059cbb1461085c578063b6a5d7de1461087c578063bd9ab5371461089c57600080fd5b806395d89b41146107cb57806398118cb4146107fc578063a5f3d0031461081257600080fd5b806379ba5097116101a057806379ba5097146107525780637d1db4a514610767578063893d20e81461077d5780638b42507f1461079b57600080fd5b8063715018a61461070757806377b54bad1461071c57806378109e541461073c57600080fd5b80632929abe6116102a05780634be9d8691161023e5780636ce46bc3116102185780636ce46bc3146106795780636ddd1713146106995780636ec518b8146106ba57806370a08231146106da57600080fd5b80634be9d86914610623578063571ac8b0146106435780636b67c4df1461066357600080fd5b8063313ce5671161027a578063313ce567146105745780633f4218e01461059b57806340291143146105cb578063455a43961461060357600080fd5b80632929abe6146105105780632b112e49146105305780632f54bf6e1461054557600080fd5b806313f97a8e1161030d578063193dba36116102e7578063193dba36146104a55780631da1db5e146104ba5780631df4ccfc146104da57806323b872dd146104f057600080fd5b806313f97a8e1461045a578063180b0d7e1461047a57806318160ddd1461049057600080fd5b80621086831461035e578062bff446146103805780630445b667146103a057806306fdde03146103c957806309302dc61461040a578063095ea7b31461042a57600080fd5b3661035957005b600080fd5b34801561036a57600080fd5b5061037e610379366004612ba4565b610aaf565b005b34801561038c57600080fd5b5061037e61039b366004612ba4565b610bd2565b3480156103ac57600080fd5b506103b660185481565b6040519081526020015b60405180910390f35b3480156103d557600080fd5b506103fd604051806040016040528060088152602001674d696c6c69496e7560c01b81525081565b6040516103c09190612bfb565b34801561041657600080fd5b5061037e610425366004612c50565b610ce6565b34801561043657600080fd5b5061044a610445366004612c89565b610ddc565b60405190151581526020016103c0565b34801561046657600080fd5b5061037e610475366004612ccb565b610e49565b34801561048657600080fd5b506103b66103e881565b34801561049c57600080fd5b506103b6610edf565b3480156104b157600080fd5b5061037e610efd565b3480156104c657600080fd5b5061037e6104d5366004612c50565b610f80565b3480156104e657600080fd5b506103b660105481565b3480156104fc57600080fd5b5061044a61050b366004612da2565b611068565b34801561051c57600080fd5b5061037e61052b366004612de3565b61112a565b34801561053c57600080fd5b506103b66112f3565b34801561055157600080fd5b5061044a610560366004612e4f565b6000546001600160a01b0391821691161490565b34801561058057600080fd5b50610589600981565b60405160ff90911681526020016103c0565b3480156105a757600080fd5b5061044a6105b6366004612e4f565b60086020526000908152604090205460ff1681565b3480156105d757600080fd5b506015546105eb906001600160a01b031681565b6040516001600160a01b0390911681526020016103c0565b34801561060f57600080fd5b5061037e61061e366004612e6c565b61137b565b34801561062f57600080fd5b5061037e61063e366004612ba4565b6113d0565b34801561064f57600080fd5b5061044a61065e366004612e4f565b6114e4565b34801561066f57600080fd5b506103b6600c5481565b34801561068557600080fd5b5061037e610694366004612ea5565b6114f2565b3480156106a557600080fd5b5060175461044a90600160a81b900460ff1681565b3480156106c657600080fd5b506016546105eb906001600160a01b031681565b3480156106e657600080fd5b506103b66106f5366004612e4f565b60066020526000908152604090205481565b34801561071357600080fd5b5061037e61152e565b34801561072857600080fd5b5061044a610737366004612c89565b61159b565b34801561074857600080fd5b506103b660055481565b34801561075e57600080fd5b5061037e6116ec565b34801561077357600080fd5b506103b660045481565b34801561078957600080fd5b506000546001600160a01b03166105eb565b3480156107a757600080fd5b5061044a6107b6366004612e4f565b60096020526000908152604090205460ff1681565b3480156107d757600080fd5b506103fd604051806040016040528060058152602001644d494c4c4960d81b81525081565b34801561080857600080fd5b506103b6600b5481565b34801561081e57600080fd5b506103b6600e5481565b34801561083457600080fd5b506105eb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561086857600080fd5b5061044a610877366004612c89565b61186c565b34801561088857600080fd5b5061037e610897366004612e4f565b611879565b3480156108a857600080fd5b5061037e6108b7366004612c50565b6118e9565b3480156108c857600080fd5b5061044a6108d7366004612e4f565b600a6020526000908152604090205460ff1681565b3480156108f857600080fd5b5061037e610907366004612ed1565b6119de565b34801561091857600080fd5b506103b6600d5481565b34801561092e57600080fd5b506103b661093d366004612f11565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561097457600080fd5b5061037e610983366004612f3f565b611a84565b34801561099457600080fd5b506014546105eb906001600160a01b031681565b3480156109b457600080fd5b5061037e6109c3366004612e4f565b611b7d565b3480156109d457600080fd5b5061037e6109e3366004612e4f565b611c43565b3480156109f457600080fd5b506017546105eb906001600160a01b031681565b348015610a1457600080fd5b5061037e610a23366004612f5d565b611d0d565b348015610a3457600080fd5b506103b6600f5481565b348015610a4a57600080fd5b5061044a610a59366004612e4f565b60036020526000908152604090205460ff1681565b348015610a7a57600080fd5b5061044a610a89366004612e4f565b611d8d565b348015610a9a57600080fd5b5060175461044a90600160a01b900460ff1681565b610ab833611d8d565b610add5760405162461bcd60e51b8152600401610ad490612f98565b60405180910390fd5b6101f58210610afe5760405162461bcd60e51b8152600401610ad490612fbd565b60005b82811015610bcc5781600a6000868685818110610b2057610b20613002565b9050602002016020810190610b359190612e4f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f566c2270277919680152b0734389ae919d95ff7e9024c03fc3c7c209ec8412c7848483818110610b9057610b90613002565b9050602002016020810190610ba59190612e4f565b83604051610bb4929190613018565b60405180910390a1610bc581613049565b9050610b01565b50505050565b610bdb33611d8d565b610bf75760405162461bcd60e51b8152600401610ad490612f98565b6101f58210610c185760405162461bcd60e51b8152600401610ad490612fbd565b60005b82811015610bcc578160086000868685818110610c3a57610c3a613002565b9050602002016020810190610c4f9190612e4f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f9fbd25f95d342f2efc070b56d2fadd2341d264ef8c915dc268609b2ca1bb25de848483818110610caa57610caa613002565b9050602002016020810190610cbf9190612e4f565b83604051610cce929190613018565b60405180910390a1610cdf81613049565b9050610c1b565b6000546001600160a01b03163314610d105760405162461bcd60e51b8152600401610ad490613062565b6005811015610d6d5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b6064820152608401610ad4565b6103e881610d7d6009600a613166565b610d8c906402540be400613175565b610d969190613175565b610da09190613194565b60058190556040519081527fa69fa556bf940aa0c695b9c8e1b229fdb1476830e2025e44da1028e0c1458d4a906020015b60405180910390a150565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610e379086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610e735760405162461bcd60e51b8152600401610ad490613062565b60005b8251811015610eda578160036000858481518110610e9657610e96613002565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ed281613049565b915050610e76565b505050565b610eeb6009600a613166565b610efa906402540be400613175565b81565b6000546001600160a01b03163314610f275760405162461bcd60e51b8152600401610ad490613062565b6017805460ff60a01b1916600160a01b908117918290556040517ff865819dcfd8250cfaa23e1ab7129c1ec65c617bae1e716699dfe07dd7c489ee92610f7692900460ff161515815260200190565b60405180910390a1565b6000546001600160a01b03163314610faa5760405162461bcd60e51b8152600401610ad490613062565b60658110610fe55760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b6044820152606401610ad4565b4760006064610ff48484613175565b610ffe9190613194565b604051909150339082156108fc029083906000818181858888f1935050505015801561102e573d6000803e3d6000fd5b506040518181527f377153983e64f72f80af47182763316780b9133be808b7082a16710202b8fbda906020015b60405180910390a1505050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914611115576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546110f0918490611dab565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b611120848484611de5565b90505b9392505050565b6000546001600160a01b031633146111545760405162461bcd60e51b8152600401610ad490613062565b336101f584106111765760405162461bcd60e51b8152600401610ad490612fbd565b8382146111d65760405162461bcd60e51b815260206004820152602860248201527f4d69736d61746368206265747765656e206164647265737320616e6420746f6b604482015267195b8818dbdd5b9d60c21b6064820152608401610ad4565b6000805b8581101561121a578484828181106111f4576111f4613002565b905060200201358261120691906131b6565b91508061121281613049565b9150506111da565b506001600160a01b0382166000908152600660205260409020548111156112835760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c657400000000006044820152606401610ad4565b60005b858110156112ea576112d7838888848181106112a4576112a4613002565b90506020020160208101906112b99190612e4f565b8787858181106112cb576112cb613002565b90506020020135612211565b50806112e281613049565b915050611286565b50505050505050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22549091906113536009600a613166565b611362906402540be400613175565b61136c91906131ce565b61137691906131ce565b905090565b6000546001600160a01b031633146113a55760405162461bcd60e51b8152600401610ad490613062565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6113d933611d8d565b6113f55760405162461bcd60e51b8152600401610ad490612f98565b6101f582106114165760405162461bcd60e51b8152600401610ad490612fbd565b60005b82811015610bcc57816009600086868581811061143857611438613002565b905060200201602081019061144d9190612e4f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f3c4f06d74861dea6c152189f2ac8853b6f789feb0e1182101b7ad9d1858f70e38484838181106114a8576114a8613002565b90506020020160208101906114bd9190612e4f565b836040516114cc929190613018565b60405180910390a16114dd81613049565b9050611419565b6000610e4382600019610ddc565b6114fb33611d8d565b6115175760405162461bcd60e51b8152600401610ad490612f98565b601282905560118390556013819055610eda6122e5565b6000546001600160a01b031633146115585760405162461bcd60e51b8152600401610ad490613062565b600180546001600160a01b03191690556040516000808252907fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef22290602001610dd1565b600080546001600160a01b031633146115c65760405162461bcd60e51b8152600401610ad490613062565b81600003611639576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015611612573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163691906131e5565b91505b604080516001600160a01b0385168152602081018490527f960427a4fde284dcc8da2c51a43d210cfd7ed6f4328a24ba33eee49910db564b910160405180910390a160405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156116c8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112391906131fe565b6001546001600160a01b0316331461177d5760405162461bcd60e51b815260206004820152604860248201527f596f75206d757374206265206e6f6d696e6174656420617320706f74656e746960448201527f616c206f776e6572206265666f726520796f752063616e2061636365707420746064820152673432903937b6329760c11b608482015260a401610ad4565b600080546001600160a01b03908116825260026020526040808320805460ff1990811690915560018054841685528285208054909216179055825490516000805160206132db833981519152936117d993929092169190613018565b60405180910390a1600180546040516000805160206132db8339815191529261180b926001600160a01b031691613018565b60405180910390a160018054600080546001600160a01b0383166001600160a01b031991821681179092559091169091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390602001610f76565b6000611123338484611de5565b6000546001600160a01b031633146118a35760405162461bcd60e51b8152600401610ad490613062565b6001600160a01b03811660009081526002602052604090819020805460ff1916600190811790915590516000805160206132db83398151915291610dd191849190613018565b6000546001600160a01b031633146119135760405162461bcd60e51b8152600401610ad490613062565b60058110156119765760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b6064820152608401610ad4565b6103e8816119866009600a613166565b611995906402540be400613175565b61199f9190613175565b6119a99190613194565b60048190556040519081527f365a2bb07537fddd750e9ac8d56970e584f83a144bb5225e77491b83bccd118390602001610dd1565b6000546001600160a01b03163314611a085760405162461bcd60e51b8152600401610ad490613062565b601480546001600160a01b038581166001600160a01b0319928316811790935560158054868316908416811790915560168054928616929093168217909255604080519384526020840192909252908201527fb93b1ef445620c8661ebddddb575085ede7dfe08ccc6a91b933a6520249c3c7c9060600161105b565b6000546001600160a01b03163314611aae5760405162461bcd60e51b8152600401610ad490613062565b600a611abb600982613166565b611aca906402540be400613175565b611ad49190613194565b8110611b145760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40d0d2ced608b1b6044820152606401610ad4565b6017805460ff60a81b1916600160a81b8415158102919091179182905560188390556040805184815260ff9290930491909116151560208301527f34c2d4c263b6f41223c6d30ae2e7bcb18629892587e0a4138f57ba2c523953d0910160405180910390a15050565b6000546001600160a01b03163314611ba75760405162461bcd60e51b8152600401610ad490613062565b6000546001600160a01b0390811690821603611c055760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a65640000000000006044820152606401610ad4565b6001600160a01b038116600090815260026020526040808220805460ff19169055516000805160206132db83398151915291610dd191849190613018565b6000546001600160a01b03163314611c6d5760405162461bcd60e51b8152600401610ad490613062565b6000546001600160a01b0390811690821603611cbf5760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903a34329037bbb732b960791b6044820152606401610ad4565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef22290602001610dd1565b6000546001600160a01b03163314611d375760405162461bcd60e51b8152600401610ad490613062565b600b859055600c849055600d839055600e829055600f819055818184611d5d87896131b6565b611d6791906131b6565b611d7191906131b6565b611d7b91906131b6565b601055611d866122e5565b5050505050565b6001600160a01b031660009081526002602052604090205460ff1690565b60008184841115611dcf5760405162461bcd60e51b8152600401610ad49190612bfb565b506000611ddc84866131ce565b95945050505050565b6001600160a01b03831660009081526003602052604081205460ff16158015611e2757506001600160a01b03831660009081526003602052604090205460ff16155b611e695760405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b6044820152606401610ad4565b60195460ff1615611e8657611e7f848484612211565b9050611123565b6001600160a01b03841660009081526002602052604090205460ff16158015611ec857506001600160a01b03831660009081526002602052604090205460ff16155b15611f1d57601754600160a01b900460ff16611f1d5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610ad4565b6001600160a01b03841660009081526002602052604090205460ff16158015611f5f57506001600160a01b0384166000908152600a602052604090205460ff16155b8015611f8457506001600160a01b0383166000908152600a602052604090205460ff16155b8015611fc257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b1561203c576005546001600160a01b038416600090815260066020526040902054611fee9084906131b6565b111561203c5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610ad4565b6004548211158061206557506001600160a01b03841660009081526009602052604090205460ff165b8061208857506001600160a01b03831660009081526009602052604090205460ff165b6120cc5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610ad4565b6120d4612384565b156120e1576120e16123f7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054612133918490611dab565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff168061218057506001600160a01b03841660009081526008602052604090205460ff165b6121945761218f85848661278b565b612196565b825b6001600160a01b0385166000908152600660205260409020549091506121bc90826129a4565b6001600160a01b0380861660008181526006602052604090819020939093559151908716906000805160206132bb833981519152906121fe9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054612262918490611dab565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461229190836129a4565b6001600160a01b0380851660008181526006602052604090819020939093559151908616906000805160206132bb833981519152906122d39086815260200190565b60405180910390a35060019392505050565b7f375884ed7f92283ee74d8884b39a803f4aee832b15766fe016b74fc791fc2ada6123286064612322601154601054612a0390919063ffffffff16565b90612a85565b6123446064612322601254601054612a0390919063ffffffff16565b6123606064612322601354601054612a0390919063ffffffff16565b6040805160ff94851681529284166020840152921691810191909152606001610f76565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906123c2575060195460ff16155b80156123d75750601754600160a81b900460ff165b801561137657505060185430600090815260066020526040902054101590565b6019805460ff19166001179055600f54601054600091612416916131ce565b90506000612425826002613175565b600b546018546124359190613175565b61243f9190613194565b905060008160185461245191906131ce565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061248b5761248b613002565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106124df576124df613002565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b815291169063791ac9479061252590859060009086903090429060040161321b565b600060405180830381600087803b15801561253f57600080fd5b505af1158015612553573d6000803e3d6000fd5b5050600b544792506125689150600290613194565b61257290866131ce565b94506000612581866002613175565b600b5461258e9084613175565b6125989190613194565b9050600086600c54846125ab9190613175565b6125b59190613194565b9050600087600d54856125c89190613175565b6125d29190613194565b9050600088600e54866125e59190613175565b6125ef9190613194565b6014546040519192506001600160a01b03169084156108fc029085906000818181858888f1935050505015801561262a573d6000803e3d6000fd5b506015546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015612665573d6000803e3d6000fd5b506016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156126a0573d6000803e3d6000fd5b5087156127765760175460405163f305d71960e01b81523060048201819052602482018b9052600060448301819052606483015260848201524260a48201526001600160a01b039091169063f305d71990869060c40160606040518083038185885af1158015612714573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612739919061328c565b505060408051868152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506019805460ff1916905550505050505050565b600082158061279a5750601054155b156127a6575081611123565b6013546001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116908416036127e55750601254612823565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03160361282357506011545b60006128546128356103e86064613175565b6123228461284e6010548a612a0390919063ffffffff16565b90612a03565b90506000612873601054612322600f5485612a0390919063ffffffff16565b905060006128818383612ac7565b905080156128eb57306000908152600660205260409020546128a390826129a4565b30600081815260066020526040908190209290925590516001600160a01b038a16906000805160206132bb833981519152906128e29085815260200190565b60405180910390a35b811561298e5761dead60005260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e225461292890836129a4565b61dead600081905260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22919091556040516001600160a01b038a16906000805160206132bb833981519152906129859086815260200190565b60405180910390a35b6129988784612ac7565b98975050505050505050565b6000806129b183856131b6565b9050838110156111235760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ad4565b600082600003612a1557506000610e43565b6000612a218385613175565b905082612a2e8583613194565b146111235760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ad4565b600061112383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b09565b600061112383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dab565b60008183612b2a5760405162461bcd60e51b8152600401610ad49190612bfb565b506000611ddc8486613194565b60008083601f840112612b4957600080fd5b50813567ffffffffffffffff811115612b6157600080fd5b6020830191508360208260051b8501011115612b7c57600080fd5b9250929050565b8015158114612b9157600080fd5b50565b8035612b9f81612b83565b919050565b600080600060408486031215612bb957600080fd5b833567ffffffffffffffff811115612bd057600080fd5b612bdc86828701612b37565b9094509250506020840135612bf081612b83565b809150509250925092565b600060208083528351808285015260005b81811015612c2857858101830151858201604001528201612c0c565b81811115612c3a576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215612c6257600080fd5b5035919050565b6001600160a01b0381168114612b9157600080fd5b8035612b9f81612c69565b60008060408385031215612c9c57600080fd5b8235612ca781612c69565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612cde57600080fd5b823567ffffffffffffffff80821115612cf657600080fd5b818501915085601f830112612d0a57600080fd5b8135602082821115612d1e57612d1e612cb5565b8160051b604051601f19603f83011681018181108682111715612d4357612d43612cb5565b604052928352818301935084810182019289841115612d6157600080fd5b948201945b83861015612d8657612d7786612c7e565b85529482019493820193612d66565b9650612d959050878201612b94565b9450505050509250929050565b600080600060608486031215612db757600080fd5b8335612dc281612c69565b92506020840135612dd281612c69565b929592945050506040919091013590565b60008060008060408587031215612df957600080fd5b843567ffffffffffffffff80821115612e1157600080fd5b612e1d88838901612b37565b90965094506020870135915080821115612e3657600080fd5b50612e4387828801612b37565b95989497509550505050565b600060208284031215612e6157600080fd5b813561112381612c69565b60008060408385031215612e7f57600080fd5b8235612e8a81612c69565b91506020830135612e9a81612b83565b809150509250929050565b600080600060608486031215612eba57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215612ee657600080fd5b8335612ef181612c69565b92506020840135612f0181612c69565b91506040840135612bf081612c69565b60008060408385031215612f2457600080fd5b8235612f2f81612c69565b91506020830135612e9a81612c69565b60008060408385031215612f5257600080fd5b8235612ca781612b83565b600080600080600060a08688031215612f7557600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526025908201527f474153204572726f723a206d6178206c696d6974206973203530302061646472604082015264657373657360d81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921682521515602082015260400190565b634e487b7160e01b600052601160045260246000fd5b60006001820161305b5761305b613033565b5060010190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600181815b808511156130bd5781600019048211156130a3576130a3613033565b808516156130b057918102915b93841c9390800290613087565b509250929050565b6000826130d457506001610e43565b816130e157506000610e43565b81600181146130f757600281146131015761311d565b6001915050610e43565b60ff84111561311257613112613033565b50506001821b610e43565b5060208310610133831016604e8410600b8410161715613140575081810a610e43565b61314a8383613082565b806000190482111561315e5761315e613033565b029392505050565b600061112360ff8416836130c5565b600081600019048311821515161561318f5761318f613033565b500290565b6000826131b157634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156131c9576131c9613033565b500190565b6000828210156131e0576131e0613033565b500390565b6000602082840312156131f757600080fd5b5051919050565b60006020828403121561321057600080fd5b815161112381612b83565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561326b5784516001600160a01b031683529383019391830191600101613246565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156132a157600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b9505a264697066735822122042002c2c26fd97885b66793f498634b3223842f01ef001feeed6a9a6e173983764736f6c634300080f0033000000000000000000000000372f578ae5ece29c45a84cc263361d833131ed0c00000000000000000000000039c8a9350cb57b51fade8b2d59c7f5d1aaf326c600000000000000000000000039c8a9350cb57b51fade8b2d59c7f5d1aaf326c6

Deployed Bytecode

0x6080604052600436106103525760003560e01c8063715018a6116101c6578063c867d60b116100f7578063f2fde38b11610095578063fce589d81161006f578063fce589d814610a28578063fe575a8714610a3e578063fe9fbb8014610a6e578063ffb54a9914610a8e57600080fd5b8063f2fde38b146109c8578063f887ea40146109e8578063f9fdac1114610a0857600080fd5b8063dd62ed3e116100d1578063dd62ed3e14610922578063df20fd4914610968578063e96fada214610988578063f0b37c04146109a857600080fd5b8063c867d60b146108bc578063d7c01032146108ec578063d7c94efd1461090c57600080fd5b806395d89b4111610164578063a8aa1b311161013e578063a8aa1b3114610828578063a9059cbb1461085c578063b6a5d7de1461087c578063bd9ab5371461089c57600080fd5b806395d89b41146107cb57806398118cb4146107fc578063a5f3d0031461081257600080fd5b806379ba5097116101a057806379ba5097146107525780637d1db4a514610767578063893d20e81461077d5780638b42507f1461079b57600080fd5b8063715018a61461070757806377b54bad1461071c57806378109e541461073c57600080fd5b80632929abe6116102a05780634be9d8691161023e5780636ce46bc3116102185780636ce46bc3146106795780636ddd1713146106995780636ec518b8146106ba57806370a08231146106da57600080fd5b80634be9d86914610623578063571ac8b0146106435780636b67c4df1461066357600080fd5b8063313ce5671161027a578063313ce567146105745780633f4218e01461059b57806340291143146105cb578063455a43961461060357600080fd5b80632929abe6146105105780632b112e49146105305780632f54bf6e1461054557600080fd5b806313f97a8e1161030d578063193dba36116102e7578063193dba36146104a55780631da1db5e146104ba5780631df4ccfc146104da57806323b872dd146104f057600080fd5b806313f97a8e1461045a578063180b0d7e1461047a57806318160ddd1461049057600080fd5b80621086831461035e578062bff446146103805780630445b667146103a057806306fdde03146103c957806309302dc61461040a578063095ea7b31461042a57600080fd5b3661035957005b600080fd5b34801561036a57600080fd5b5061037e610379366004612ba4565b610aaf565b005b34801561038c57600080fd5b5061037e61039b366004612ba4565b610bd2565b3480156103ac57600080fd5b506103b660185481565b6040519081526020015b60405180910390f35b3480156103d557600080fd5b506103fd604051806040016040528060088152602001674d696c6c69496e7560c01b81525081565b6040516103c09190612bfb565b34801561041657600080fd5b5061037e610425366004612c50565b610ce6565b34801561043657600080fd5b5061044a610445366004612c89565b610ddc565b60405190151581526020016103c0565b34801561046657600080fd5b5061037e610475366004612ccb565b610e49565b34801561048657600080fd5b506103b66103e881565b34801561049c57600080fd5b506103b6610edf565b3480156104b157600080fd5b5061037e610efd565b3480156104c657600080fd5b5061037e6104d5366004612c50565b610f80565b3480156104e657600080fd5b506103b660105481565b3480156104fc57600080fd5b5061044a61050b366004612da2565b611068565b34801561051c57600080fd5b5061037e61052b366004612de3565b61112a565b34801561053c57600080fd5b506103b66112f3565b34801561055157600080fd5b5061044a610560366004612e4f565b6000546001600160a01b0391821691161490565b34801561058057600080fd5b50610589600981565b60405160ff90911681526020016103c0565b3480156105a757600080fd5b5061044a6105b6366004612e4f565b60086020526000908152604090205460ff1681565b3480156105d757600080fd5b506015546105eb906001600160a01b031681565b6040516001600160a01b0390911681526020016103c0565b34801561060f57600080fd5b5061037e61061e366004612e6c565b61137b565b34801561062f57600080fd5b5061037e61063e366004612ba4565b6113d0565b34801561064f57600080fd5b5061044a61065e366004612e4f565b6114e4565b34801561066f57600080fd5b506103b6600c5481565b34801561068557600080fd5b5061037e610694366004612ea5565b6114f2565b3480156106a557600080fd5b5060175461044a90600160a81b900460ff1681565b3480156106c657600080fd5b506016546105eb906001600160a01b031681565b3480156106e657600080fd5b506103b66106f5366004612e4f565b60066020526000908152604090205481565b34801561071357600080fd5b5061037e61152e565b34801561072857600080fd5b5061044a610737366004612c89565b61159b565b34801561074857600080fd5b506103b660055481565b34801561075e57600080fd5b5061037e6116ec565b34801561077357600080fd5b506103b660045481565b34801561078957600080fd5b506000546001600160a01b03166105eb565b3480156107a757600080fd5b5061044a6107b6366004612e4f565b60096020526000908152604090205460ff1681565b3480156107d757600080fd5b506103fd604051806040016040528060058152602001644d494c4c4960d81b81525081565b34801561080857600080fd5b506103b6600b5481565b34801561081e57600080fd5b506103b6600e5481565b34801561083457600080fd5b506105eb7f000000000000000000000000e0df54889b6a8736bd494e7ead85baf2157e605a81565b34801561086857600080fd5b5061044a610877366004612c89565b61186c565b34801561088857600080fd5b5061037e610897366004612e4f565b611879565b3480156108a857600080fd5b5061037e6108b7366004612c50565b6118e9565b3480156108c857600080fd5b5061044a6108d7366004612e4f565b600a6020526000908152604090205460ff1681565b3480156108f857600080fd5b5061037e610907366004612ed1565b6119de565b34801561091857600080fd5b506103b6600d5481565b34801561092e57600080fd5b506103b661093d366004612f11565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561097457600080fd5b5061037e610983366004612f3f565b611a84565b34801561099457600080fd5b506014546105eb906001600160a01b031681565b3480156109b457600080fd5b5061037e6109c3366004612e4f565b611b7d565b3480156109d457600080fd5b5061037e6109e3366004612e4f565b611c43565b3480156109f457600080fd5b506017546105eb906001600160a01b031681565b348015610a1457600080fd5b5061037e610a23366004612f5d565b611d0d565b348015610a3457600080fd5b506103b6600f5481565b348015610a4a57600080fd5b5061044a610a59366004612e4f565b60036020526000908152604090205460ff1681565b348015610a7a57600080fd5b5061044a610a89366004612e4f565b611d8d565b348015610a9a57600080fd5b5060175461044a90600160a01b900460ff1681565b610ab833611d8d565b610add5760405162461bcd60e51b8152600401610ad490612f98565b60405180910390fd5b6101f58210610afe5760405162461bcd60e51b8152600401610ad490612fbd565b60005b82811015610bcc5781600a6000868685818110610b2057610b20613002565b9050602002016020810190610b359190612e4f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f566c2270277919680152b0734389ae919d95ff7e9024c03fc3c7c209ec8412c7848483818110610b9057610b90613002565b9050602002016020810190610ba59190612e4f565b83604051610bb4929190613018565b60405180910390a1610bc581613049565b9050610b01565b50505050565b610bdb33611d8d565b610bf75760405162461bcd60e51b8152600401610ad490612f98565b6101f58210610c185760405162461bcd60e51b8152600401610ad490612fbd565b60005b82811015610bcc578160086000868685818110610c3a57610c3a613002565b9050602002016020810190610c4f9190612e4f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f9fbd25f95d342f2efc070b56d2fadd2341d264ef8c915dc268609b2ca1bb25de848483818110610caa57610caa613002565b9050602002016020810190610cbf9190612e4f565b83604051610cce929190613018565b60405180910390a1610cdf81613049565b9050610c1b565b6000546001600160a01b03163314610d105760405162461bcd60e51b8152600401610ad490613062565b6005811015610d6d5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b6064820152608401610ad4565b6103e881610d7d6009600a613166565b610d8c906402540be400613175565b610d969190613175565b610da09190613194565b60058190556040519081527fa69fa556bf940aa0c695b9c8e1b229fdb1476830e2025e44da1028e0c1458d4a906020015b60405180910390a150565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610e379086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610e735760405162461bcd60e51b8152600401610ad490613062565b60005b8251811015610eda578160036000858481518110610e9657610e96613002565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ed281613049565b915050610e76565b505050565b610eeb6009600a613166565b610efa906402540be400613175565b81565b6000546001600160a01b03163314610f275760405162461bcd60e51b8152600401610ad490613062565b6017805460ff60a01b1916600160a01b908117918290556040517ff865819dcfd8250cfaa23e1ab7129c1ec65c617bae1e716699dfe07dd7c489ee92610f7692900460ff161515815260200190565b60405180910390a1565b6000546001600160a01b03163314610faa5760405162461bcd60e51b8152600401610ad490613062565b60658110610fe55760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b6044820152606401610ad4565b4760006064610ff48484613175565b610ffe9190613194565b604051909150339082156108fc029083906000818181858888f1935050505015801561102e573d6000803e3d6000fd5b506040518181527f377153983e64f72f80af47182763316780b9133be808b7082a16710202b8fbda906020015b60405180910390a1505050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914611115576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546110f0918490611dab565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b611120848484611de5565b90505b9392505050565b6000546001600160a01b031633146111545760405162461bcd60e51b8152600401610ad490613062565b336101f584106111765760405162461bcd60e51b8152600401610ad490612fbd565b8382146111d65760405162461bcd60e51b815260206004820152602860248201527f4d69736d61746368206265747765656e206164647265737320616e6420746f6b604482015267195b8818dbdd5b9d60c21b6064820152608401610ad4565b6000805b8581101561121a578484828181106111f4576111f4613002565b905060200201358261120691906131b6565b91508061121281613049565b9150506111da565b506001600160a01b0382166000908152600660205260409020548111156112835760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c657400000000006044820152606401610ad4565b60005b858110156112ea576112d7838888848181106112a4576112a4613002565b90506020020160208101906112b99190612e4f565b8787858181106112cb576112cb613002565b90506020020135612211565b50806112e281613049565b915050611286565b50505050505050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22549091906113536009600a613166565b611362906402540be400613175565b61136c91906131ce565b61137691906131ce565b905090565b6000546001600160a01b031633146113a55760405162461bcd60e51b8152600401610ad490613062565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6113d933611d8d565b6113f55760405162461bcd60e51b8152600401610ad490612f98565b6101f582106114165760405162461bcd60e51b8152600401610ad490612fbd565b60005b82811015610bcc57816009600086868581811061143857611438613002565b905060200201602081019061144d9190612e4f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f3c4f06d74861dea6c152189f2ac8853b6f789feb0e1182101b7ad9d1858f70e38484838181106114a8576114a8613002565b90506020020160208101906114bd9190612e4f565b836040516114cc929190613018565b60405180910390a16114dd81613049565b9050611419565b6000610e4382600019610ddc565b6114fb33611d8d565b6115175760405162461bcd60e51b8152600401610ad490612f98565b601282905560118390556013819055610eda6122e5565b6000546001600160a01b031633146115585760405162461bcd60e51b8152600401610ad490613062565b600180546001600160a01b03191690556040516000808252907fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef22290602001610dd1565b600080546001600160a01b031633146115c65760405162461bcd60e51b8152600401610ad490613062565b81600003611639576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015611612573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163691906131e5565b91505b604080516001600160a01b0385168152602081018490527f960427a4fde284dcc8da2c51a43d210cfd7ed6f4328a24ba33eee49910db564b910160405180910390a160405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156116c8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112391906131fe565b6001546001600160a01b0316331461177d5760405162461bcd60e51b815260206004820152604860248201527f596f75206d757374206265206e6f6d696e6174656420617320706f74656e746960448201527f616c206f776e6572206265666f726520796f752063616e2061636365707420746064820152673432903937b6329760c11b608482015260a401610ad4565b600080546001600160a01b03908116825260026020526040808320805460ff1990811690915560018054841685528285208054909216179055825490516000805160206132db833981519152936117d993929092169190613018565b60405180910390a1600180546040516000805160206132db8339815191529261180b926001600160a01b031691613018565b60405180910390a160018054600080546001600160a01b0383166001600160a01b031991821681179092559091169091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390602001610f76565b6000611123338484611de5565b6000546001600160a01b031633146118a35760405162461bcd60e51b8152600401610ad490613062565b6001600160a01b03811660009081526002602052604090819020805460ff1916600190811790915590516000805160206132db83398151915291610dd191849190613018565b6000546001600160a01b031633146119135760405162461bcd60e51b8152600401610ad490613062565b60058110156119765760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b6064820152608401610ad4565b6103e8816119866009600a613166565b611995906402540be400613175565b61199f9190613175565b6119a99190613194565b60048190556040519081527f365a2bb07537fddd750e9ac8d56970e584f83a144bb5225e77491b83bccd118390602001610dd1565b6000546001600160a01b03163314611a085760405162461bcd60e51b8152600401610ad490613062565b601480546001600160a01b038581166001600160a01b0319928316811790935560158054868316908416811790915560168054928616929093168217909255604080519384526020840192909252908201527fb93b1ef445620c8661ebddddb575085ede7dfe08ccc6a91b933a6520249c3c7c9060600161105b565b6000546001600160a01b03163314611aae5760405162461bcd60e51b8152600401610ad490613062565b600a611abb600982613166565b611aca906402540be400613175565b611ad49190613194565b8110611b145760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40d0d2ced608b1b6044820152606401610ad4565b6017805460ff60a81b1916600160a81b8415158102919091179182905560188390556040805184815260ff9290930491909116151560208301527f34c2d4c263b6f41223c6d30ae2e7bcb18629892587e0a4138f57ba2c523953d0910160405180910390a15050565b6000546001600160a01b03163314611ba75760405162461bcd60e51b8152600401610ad490613062565b6000546001600160a01b0390811690821603611c055760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a65640000000000006044820152606401610ad4565b6001600160a01b038116600090815260026020526040808220805460ff19169055516000805160206132db83398151915291610dd191849190613018565b6000546001600160a01b03163314611c6d5760405162461bcd60e51b8152600401610ad490613062565b6000546001600160a01b0390811690821603611cbf5760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903a34329037bbb732b960791b6044820152606401610ad4565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef22290602001610dd1565b6000546001600160a01b03163314611d375760405162461bcd60e51b8152600401610ad490613062565b600b859055600c849055600d839055600e829055600f819055818184611d5d87896131b6565b611d6791906131b6565b611d7191906131b6565b611d7b91906131b6565b601055611d866122e5565b5050505050565b6001600160a01b031660009081526002602052604090205460ff1690565b60008184841115611dcf5760405162461bcd60e51b8152600401610ad49190612bfb565b506000611ddc84866131ce565b95945050505050565b6001600160a01b03831660009081526003602052604081205460ff16158015611e2757506001600160a01b03831660009081526003602052604090205460ff16155b611e695760405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b6044820152606401610ad4565b60195460ff1615611e8657611e7f848484612211565b9050611123565b6001600160a01b03841660009081526002602052604090205460ff16158015611ec857506001600160a01b03831660009081526002602052604090205460ff16155b15611f1d57601754600160a01b900460ff16611f1d5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610ad4565b6001600160a01b03841660009081526002602052604090205460ff16158015611f5f57506001600160a01b0384166000908152600a602052604090205460ff16155b8015611f8457506001600160a01b0383166000908152600a602052604090205460ff16155b8015611fc257507f000000000000000000000000e0df54889b6a8736bd494e7ead85baf2157e605a6001600160a01b0316836001600160a01b031614155b1561203c576005546001600160a01b038416600090815260066020526040902054611fee9084906131b6565b111561203c5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610ad4565b6004548211158061206557506001600160a01b03841660009081526009602052604090205460ff165b8061208857506001600160a01b03831660009081526009602052604090205460ff165b6120cc5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610ad4565b6120d4612384565b156120e1576120e16123f7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054612133918490611dab565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff168061218057506001600160a01b03841660009081526008602052604090205460ff165b6121945761218f85848661278b565b612196565b825b6001600160a01b0385166000908152600660205260409020549091506121bc90826129a4565b6001600160a01b0380861660008181526006602052604090819020939093559151908716906000805160206132bb833981519152906121fe9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054612262918490611dab565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461229190836129a4565b6001600160a01b0380851660008181526006602052604090819020939093559151908616906000805160206132bb833981519152906122d39086815260200190565b60405180910390a35060019392505050565b7f375884ed7f92283ee74d8884b39a803f4aee832b15766fe016b74fc791fc2ada6123286064612322601154601054612a0390919063ffffffff16565b90612a85565b6123446064612322601254601054612a0390919063ffffffff16565b6123606064612322601354601054612a0390919063ffffffff16565b6040805160ff94851681529284166020840152921691810191909152606001610f76565b6000336001600160a01b037f000000000000000000000000e0df54889b6a8736bd494e7ead85baf2157e605a16148015906123c2575060195460ff16155b80156123d75750601754600160a81b900460ff165b801561137657505060185430600090815260066020526040902054101590565b6019805460ff19166001179055600f54601054600091612416916131ce565b90506000612425826002613175565b600b546018546124359190613175565b61243f9190613194565b905060008160185461245191906131ce565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061248b5761248b613002565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106124df576124df613002565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b815291169063791ac9479061252590859060009086903090429060040161321b565b600060405180830381600087803b15801561253f57600080fd5b505af1158015612553573d6000803e3d6000fd5b5050600b544792506125689150600290613194565b61257290866131ce565b94506000612581866002613175565b600b5461258e9084613175565b6125989190613194565b9050600086600c54846125ab9190613175565b6125b59190613194565b9050600087600d54856125c89190613175565b6125d29190613194565b9050600088600e54866125e59190613175565b6125ef9190613194565b6014546040519192506001600160a01b03169084156108fc029085906000818181858888f1935050505015801561262a573d6000803e3d6000fd5b506015546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015612665573d6000803e3d6000fd5b506016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156126a0573d6000803e3d6000fd5b5087156127765760175460405163f305d71960e01b81523060048201819052602482018b9052600060448301819052606483015260848201524260a48201526001600160a01b039091169063f305d71990869060c40160606040518083038185885af1158015612714573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612739919061328c565b505060408051868152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506019805460ff1916905550505050505050565b600082158061279a5750601054155b156127a6575081611123565b6013546001600160a01b037f000000000000000000000000e0df54889b6a8736bd494e7ead85baf2157e605a8116908416036127e55750601254612823565b7f000000000000000000000000e0df54889b6a8736bd494e7ead85baf2157e605a6001600160a01b0316856001600160a01b03160361282357506011545b60006128546128356103e86064613175565b6123228461284e6010548a612a0390919063ffffffff16565b90612a03565b90506000612873601054612322600f5485612a0390919063ffffffff16565b905060006128818383612ac7565b905080156128eb57306000908152600660205260409020546128a390826129a4565b30600081815260066020526040908190209290925590516001600160a01b038a16906000805160206132bb833981519152906128e29085815260200190565b60405180910390a35b811561298e5761dead60005260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e225461292890836129a4565b61dead600081905260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22919091556040516001600160a01b038a16906000805160206132bb833981519152906129859086815260200190565b60405180910390a35b6129988784612ac7565b98975050505050505050565b6000806129b183856131b6565b9050838110156111235760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ad4565b600082600003612a1557506000610e43565b6000612a218385613175565b905082612a2e8583613194565b146111235760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ad4565b600061112383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b09565b600061112383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dab565b60008183612b2a5760405162461bcd60e51b8152600401610ad49190612bfb565b506000611ddc8486613194565b60008083601f840112612b4957600080fd5b50813567ffffffffffffffff811115612b6157600080fd5b6020830191508360208260051b8501011115612b7c57600080fd5b9250929050565b8015158114612b9157600080fd5b50565b8035612b9f81612b83565b919050565b600080600060408486031215612bb957600080fd5b833567ffffffffffffffff811115612bd057600080fd5b612bdc86828701612b37565b9094509250506020840135612bf081612b83565b809150509250925092565b600060208083528351808285015260005b81811015612c2857858101830151858201604001528201612c0c565b81811115612c3a576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215612c6257600080fd5b5035919050565b6001600160a01b0381168114612b9157600080fd5b8035612b9f81612c69565b60008060408385031215612c9c57600080fd5b8235612ca781612c69565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612cde57600080fd5b823567ffffffffffffffff80821115612cf657600080fd5b818501915085601f830112612d0a57600080fd5b8135602082821115612d1e57612d1e612cb5565b8160051b604051601f19603f83011681018181108682111715612d4357612d43612cb5565b604052928352818301935084810182019289841115612d6157600080fd5b948201945b83861015612d8657612d7786612c7e565b85529482019493820193612d66565b9650612d959050878201612b94565b9450505050509250929050565b600080600060608486031215612db757600080fd5b8335612dc281612c69565b92506020840135612dd281612c69565b929592945050506040919091013590565b60008060008060408587031215612df957600080fd5b843567ffffffffffffffff80821115612e1157600080fd5b612e1d88838901612b37565b90965094506020870135915080821115612e3657600080fd5b50612e4387828801612b37565b95989497509550505050565b600060208284031215612e6157600080fd5b813561112381612c69565b60008060408385031215612e7f57600080fd5b8235612e8a81612c69565b91506020830135612e9a81612b83565b809150509250929050565b600080600060608486031215612eba57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215612ee657600080fd5b8335612ef181612c69565b92506020840135612f0181612c69565b91506040840135612bf081612c69565b60008060408385031215612f2457600080fd5b8235612f2f81612c69565b91506020830135612e9a81612c69565b60008060408385031215612f5257600080fd5b8235612ca781612b83565b600080600080600060a08688031215612f7557600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526025908201527f474153204572726f723a206d6178206c696d6974206973203530302061646472604082015264657373657360d81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921682521515602082015260400190565b634e487b7160e01b600052601160045260246000fd5b60006001820161305b5761305b613033565b5060010190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600181815b808511156130bd5781600019048211156130a3576130a3613033565b808516156130b057918102915b93841c9390800290613087565b509250929050565b6000826130d457506001610e43565b816130e157506000610e43565b81600181146130f757600281146131015761311d565b6001915050610e43565b60ff84111561311257613112613033565b50506001821b610e43565b5060208310610133831016604e8410600b8410161715613140575081810a610e43565b61314a8383613082565b806000190482111561315e5761315e613033565b029392505050565b600061112360ff8416836130c5565b600081600019048311821515161561318f5761318f613033565b500290565b6000826131b157634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156131c9576131c9613033565b500190565b6000828210156131e0576131e0613033565b500390565b6000602082840312156131f757600080fd5b5051919050565b60006020828403121561321057600080fd5b815161112381612b83565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561326b5784516001600160a01b031683529383019391830191600101613246565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156132a157600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b9505a264697066735822122042002c2c26fd97885b66793f498634b3223842f01ef001feeed6a9a6e173983764736f6c634300080f0033

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

000000000000000000000000372f578ae5ece29c45a84cc263361d833131ed0c00000000000000000000000039c8a9350cb57b51fade8b2d59c7f5d1aaf326c600000000000000000000000039c8a9350cb57b51fade8b2d59c7f5d1aaf326c6

-----Decoded View---------------
Arg [0] : _marketingWallet (address): 0x372F578ae5EcE29c45a84cC263361D833131eD0C
Arg [1] : _developmentWallet (address): 0x39c8A9350Cb57b51FaDe8B2D59c7F5d1aAf326c6
Arg [2] : _teamWallet (address): 0x39c8A9350Cb57b51FaDe8B2D59c7F5d1aAf326c6

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000372f578ae5ece29c45a84cc263361d833131ed0c
Arg [1] : 00000000000000000000000039c8a9350cb57b51fade8b2d59c7f5d1aaf326c6
Arg [2] : 00000000000000000000000039c8a9350cb57b51fade8b2d59c7f5d1aaf326c6


Deployed Bytecode Sourcemap

4897:15056:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15808:373;;;;;;;;;;-1:-1:-1;15808:373:0;;;;;:::i;:::-;;:::i;:::-;;15079:353;;;;;;;;;;-1:-1:-1;15079:353:0;;;;;:::i;:::-;;:::i;6599:49::-;;;;;;;;;;;;;;;;;;;1359:25:1;;;1347:2;1332:18;6599:49:0;;;;;;;;5149:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5149:40:0;;;;;;;;;;;;:::i;9193:310::-;;;;;;;;;;-1:-1:-1;9193:310:0;;;;;:::i;:::-;;:::i;7951:216::-;;;;;;;;;;-1:-1:-1;7951:216:0;;;;;:::i;:::-;;:::i;:::-;;;2942:14:1;;2935:22;2917:41;;2905:2;2890:18;7951:216:0;2777:187:1;8977:208:0;;;;;;;;;;-1:-1:-1;8977:208:0;;;;;:::i;:::-;;:::i;6159:45::-;;;;;;;;;;;;6200:4;6159:45;;5285:63;;;;;;;;;;;;;:::i;13353:132::-;;;;;;;;;;;;;:::i;12645:356::-;;;;;;;;;;-1:-1:-1;12645:356:0;;;;;:::i;:::-;;:::i;6062:90::-;;;;;;;;;;;;;;;;8469:370;;;;;;;;;;-1:-1:-1;8469:370:0;;;;;:::i;:::-;;:::i;18620:651::-;;;;;;;;;;-1:-1:-1;18620:651:0;;;;;:::i;:::-;;:::i;18475:137::-;;;;;;;;;;;;;:::i;2695:103::-;;;;;;;;;;-1:-1:-1;2695:103:0;;;;;:::i;:::-;2750:4;2785:5;-1:-1:-1;;;;;2774:16:0;;;2785:5;;2774:16;;2695:103;5242:34;;;;;;;;;;;;5275:1;5242:34;;;;;5960:4:1;5948:17;;;5930:36;;5918:2;5903:18;5242:34:0;5788:184:1;5711:44:0;;;;;;;;;;-1:-1:-1;5711:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6369:30;;;;;;;;;;-1:-1:-1;6369:30:0;;;;-1:-1:-1;;;;;6369:30:0;;;;;;-1:-1:-1;;;;;6141:32:1;;;6123:51;;6111:2;6096:18;6369:30:0;5977:203:1;8847:122:0;;;;;;;;;;-1:-1:-1;8847:122:0;;;;;:::i;:::-;;:::i;15440:360::-;;;;;;;;;;-1:-1:-1;15440:360:0;;;;;:::i;:::-;;:::i;8175:122::-;;;;;;;;;;-1:-1:-1;8175:122:0;;;;;:::i;:::-;;:::i;5916:32::-;;;;;;;;;;;;;;;;16761:225;;;;;;;;;;-1:-1:-1;16761:225:0;;;;;:::i;:::-;;:::i;6561:31::-;;;;;;;;;;-1:-1:-1;6561:31:0;;;;-1:-1:-1;;;6561:31:0;;;;;;6406:37;;;;;;;;;;-1:-1:-1;6406:37:0;;;;-1:-1:-1;;;;;6406:37:0;;;5589:45;;;;;;;;;;-1:-1:-1;5589:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;3127:161;;;;;;;;;;;;;:::i;13009:336::-;;;;;;;;;;-1:-1:-1;13009:336:0;;;;;:::i;:::-;;:::i;5526:54::-;;;;;;;;;;;;;;;;3296:480;;;;;;;;;;;;;:::i;5468:51::-;;;;;;;;;;;;;;;;7726:78;;;;;;;;;;-1:-1:-1;7778:7:0;7796:5;-1:-1:-1;;;;;7796:5:0;7726:78;;5762:48;;;;;;;;;;-1:-1:-1;5762:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5196:39;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5196:39:0;;;;;5878:31;;;;;;;;;;;;;;;;5989:33;;;;;;;;;;;;;;;;6483:29;;;;;;;;;;;;;;;8305:156;;;;;;;;;;-1:-1:-1;8305:156:0;;;;;:::i;:::-;;:::i;2337:138::-;;;;;;;;;;-1:-1:-1;2337:138:0;;;;;:::i;:::-;;:::i;9511:313::-;;;;;;;;;;-1:-1:-1;9511:313:0;;;;;:::i;:::-;;:::i;5817:52::-;;;;;;;;;;-1:-1:-1;5817:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17467:705;;;;;;;;;;-1:-1:-1;17467:705:0;;;;;:::i;:::-;;:::i;5955:27::-;;;;;;;;;;;;;;;;7810:133;;;;;;;;;;-1:-1:-1;7810:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7912:19:0;;;7894:7;7912:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7810:133;18180:287;;;;;;;;;;-1:-1:-1;18180:287:0;;;;;:::i;:::-;;:::i;6327:35::-;;;;;;;;;;-1:-1:-1;6327:35:0;;;;-1:-1:-1;;;;;6327:35:0;;;2483:204;;;;;;;;;;-1:-1:-1;2483:204:0;;;;;:::i;:::-;;:::i;2921:198::-;;;;;;;;;;-1:-1:-1;2921:198:0;;;;;:::i;:::-;;:::i;6452:24::-;;;;;;;;;;-1:-1:-1;6452:24:0;;;;-1:-1:-1;;;;;6452:24:0;;;16994:465;;;;;;;;;;-1:-1:-1;16994:465:0;;;;;:::i;:::-;;:::i;6029:26::-;;;;;;;;;;;;;;;;5357:45;;;;;;;;;;-1:-1:-1;5357:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2806:107;;;;;;;;;;-1:-1:-1;2806:107:0;;;;;:::i;:::-;;:::i;6521:31::-;;;;;;;;;;-1:-1:-1;6521:31:0;;;;-1:-1:-1;;;6521:31:0;;;;;;15808:373;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;-1:-1:-1;;;2270:48:0;;;;;;;:::i;:::-;;;;;;;;;15943:3:::1;15924:22:::0;::::1;15916:71;;;;-1:-1:-1::0;;;15916:71:0::1;;;;;;;:::i;:::-;16003:9;15998:176;16016:20:::0;;::::1;15998:176;;;16094:6;16058:19;:33;16078:9;;16088:1;16078:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16058:33:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;16058:33:0;:42;;-1:-1:-1;;16058:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16120::::1;16141:9:::0;;16151:1;16141:12;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;16155:6;16120:42;;;;;;;:::i;:::-;;;;;;;;16038:3;::::0;::::1;:::i;:::-;;;15998:176;;;;15808:373:::0;;;:::o;15079:353::-;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;-1:-1:-1;;;2270:48:0;;;;;;;:::i;:::-;15206:3:::1;15187:22:::0;::::1;15179:71;;;;-1:-1:-1::0;;;15179:71:0::1;;;;;;;:::i;:::-;15266:9;15261:164;15279:20:::0;;::::1;15261:164;;;15349:6;15321:11;:25;15333:9;;15343:1;15333:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15321:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;15321:25:0;:34;;-1:-1:-1;;15321:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15375:38:::1;15392:9:::0;;15402:1;15392:12;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;15406:6;15375:38;;;;;;;:::i;:::-;;;;;;;;15301:3;::::0;::::1;:::i;:::-;;;15261:164;;9193:310:::0;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;9329:1:::1;9302:23;:28;;9294:76;;;::::0;-1:-1:-1;;;9294:76:0;;11054:2:1;9294:76:0::1;::::0;::::1;11036:21:1::0;11093:2;11073:18;;;11066:30;11132:34;11112:18;;;11105:62;-1:-1:-1;;;11183:18:1;;;11176:34;11227:19;;9294:76:0::1;10852:400:1::0;9294:76:0::1;9442:4;9414:23:::0;5336:12:::1;5275:1;5336:2;:12;:::i;:::-;5323:25;::::0;:10:::1;:25;:::i;:::-;9400:37;;;;:::i;:::-;9399:47;;;;:::i;:::-;9381:15;:65:::0;;;9462:33:::1;::::0;1359:25:1;;;9462:33:0::1;::::0;1347:2:1;1332:18;9462:33:0::1;;;;;;;;9193:310:::0;:::o;7951:216::-;8055:10;8026:4;8043:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8043:32:0;;;;;;;;;;:41;;;8100:37;8026:4;;8043:32;;8100:37;;;;8078:6;1359:25:1;;1347:2;1332:18;;1213:177;8100:37:0;;;;;;;;-1:-1:-1;8155:4:0;7951:216;;;;;:::o;8977:208::-;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;9076:9:::1;9072:106;9094:8;:15;9090:1;:19;9072:106;;;9159:5;9130:13;:26;9144:8;9153:1;9144:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9130:26:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9130:26:0;:34;;-1:-1:-1;;9130:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9111:3;::::1;::::0;::::1;:::i;:::-;;;;9072:106;;;;8977:208:::0;;:::o;5285:63::-;5336:12;5275:1;5336:2;:12;:::i;:::-;5323:25;;:10;:25;:::i;:::-;5285:63;:::o;13353:132::-;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;13410:11:::1;:18:::0;;-1:-1:-1;;;;13410:18:0::1;-1:-1:-1::0;;;13410:18:0;;::::1;::::0;;;;13444:33:::1;::::0;::::1;::::0;::::1;::::0;13465:11;::::1;13410:18;13465:11;2942:14:1::0;2935:22;2917:41;;2905:2;2890:18;;2777:187;13444:33:0::1;;;;;;;;13353:132::o:0;12645:356::-;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;12755:3:::1;12736:16;:22;12728:43;;;::::0;-1:-1:-1;;;12728:43:0;;13237:2:1;12728:43:0::1;::::0;::::1;13219:21:1::0;13276:1;13256:18;;;13249:29;-1:-1:-1;;;13294:18:1;;;13287:38;13342:18;;12728:43:0::1;13035:331:1::0;12728:43:0::1;12802:21;12782:17;12893:3;12860:28;12872:16:::0;12802:21;12860:28:::1;:::i;:::-;12858:38;;;;:::i;:::-;12907:43;::::0;12834:62;;-1:-1:-1;12915:10:0::1;::::0;12907:43;::::1;;;::::0;12834:62;;12907:43:::1;::::0;;;12834:62;12915:10;12907:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;12966:27:0::1;::::0;1359:25:1;;;12966:27:0::1;::::0;1347:2:1;1332:18;12966:27:0::1;;;;;;;;12717:284;;12645:356:::0;:::o;8469:370::-;-1:-1:-1;;;;;8589:19:0;;8569:4;8589:19;;;:11;:19;;;;;;;;8609:10;8589:31;;;;;;;;-1:-1:-1;;8589:52:0;8586:186;;8691:69;;;;;;;;;;;-1:-1:-1;;;8691:69:0;;;;;;;;-1:-1:-1;;;;;8691:19:0;;-1:-1:-1;8691:19:0;;;:11;:19;;;;;8711:10;8691:31;;;;;;;;;;:69;;8727:6;;8691:35;:69::i;:::-;-1:-1:-1;;;;;8657:19:0;;;;;;:11;:19;;;;;;;;8677:10;8657:31;;;;;;;:103;8586:186;8791:40;8805:6;8813:9;8824:6;8791:13;:40::i;:::-;8784:47;;8469:370;;;;;;:::o;18620:651::-;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;18742:10:::1;18792:3;18773:22:::0;::::1;18765:71;;;;-1:-1:-1::0;;;18765:71:0::1;;;;;;;:::i;:::-;18855:33:::0;;::::1;18847:85;;;::::0;-1:-1:-1;;;18847:85:0;;13573:2:1;18847:85:0::1;::::0;::::1;13555:21:1::0;13612:2;13592:18;;;13585:30;13651:34;13631:18;;;13624:62;-1:-1:-1;;;13702:18:1;;;13695:38;13750:19;;18847:85:0::1;13371:404:1::0;18847:85:0::1;18945:12;18978:6:::0;18974:90:::1;18988:20:::0;;::::1;18974:90;;;19043:6;;19050:1;19043:9;;;;;;;:::i;:::-;;;;;;;19036:4;:16;;;;:::i;:::-;19029:23:::0;-1:-1:-1;19010:3:0;::::1;::::0;::::1;:::i;:::-;;;;18974:90;;;-1:-1:-1::0;;;;;;19084:15:0;::::1;;::::0;;;:9:::1;:15;::::0;;;;;:23;-1:-1:-1;19084:23:0::1;19076:63;;;::::0;-1:-1:-1;;;19076:63:0;;14115:2:1;19076:63:0::1;::::0;::::1;14097:21:1::0;14154:2;14134:18;;;14127:30;14193:29;14173:18;;;14166:57;14240:18;;19076:63:0::1;13913:351:1::0;19076:63:0::1;19156:6;19152:110;19166:20:::0;;::::1;19152:110;;;19207:43;19222:4;19227:9;;19237:1;19227:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;19240:6;;19247:1;19240:9;;;;;;;:::i;:::-;;;;;;;19207:14;:43::i;:::-;-1:-1:-1::0;19188:3:0;::::1;::::0;::::1;:::i;:::-;;;;19152:110;;;;18716:555;;18620:651:::0;;;;:::o;18475:137::-;18588:9;:15;;;;5025:42;18528:7;18570:15;;;;;18528:7;;18588:15;5336:12;5275:1;5336:2;:12;:::i;:::-;5323:25;;:10;:25;:::i;:::-;18556:29;;;;:::i;:::-;:47;;;;:::i;:::-;18548:56;;18475:137;:::o;8847:122::-;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8931:22:0;;;::::1;;::::0;;;:13:::1;:22;::::0;;;;:30;;-1:-1:-1;;8931:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8847:122::o;15440:360::-;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;-1:-1:-1;;;2270:48:0;;;;;;;:::i;:::-;15571:3:::1;15552:22:::0;::::1;15544:71;;;;-1:-1:-1::0;;;15544:71:0::1;;;;;;;:::i;:::-;15631:9;15626:167;15644:20:::0;;::::1;15626:167;;;15718:6;15686:15;:29;15702:9;;15712:1;15702:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15686:29:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;15686:29:0;:38;;-1:-1:-1;;15686:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15744:37:::1;15760:9:::0;;15770:1;15760:12;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;15774:6;15744:37;;;;;;;:::i;:::-;;;;;;;;15666:3;::::0;::::1;:::i;:::-;;;15626:167;;8175:122:::0;8230:4;8254:35;8262:7;-1:-1:-1;;8254:7:0;:35::i;16761:225::-;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;-1:-1:-1;;;2270:48:0;;;;;;;:::i;:::-;16861:14:::1;:22:::0;;;16894:13:::1;:20:::0;;;16925:18:::1;:27:::0;;;16965:13:::1;:11;:13::i;3127:161::-:0;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;3221:14:::1;:20:::0;;-1:-1:-1;;;;;;3221:20:0::1;::::0;;3257:23:::1;::::0;-1:-1:-1;6123:51:1;;;-1:-1:-1;3257:23:0::1;::::0;6111:2:1;6096:18;3257:23:0::1;5977:203:1::0;13009:336:0;13100:12;2785:5;;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;13128:6:::1;13138:1;13128:11:::0;13125:95:::1;;13164:44;::::0;-1:-1:-1;;;13164:44:0;;13202:4:::1;13164:44;::::0;::::1;6123:51:1::0;-1:-1:-1;;;;;13164:29:0;::::1;::::0;::::1;::::0;6096:18:1;;13164:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13155:53;;13125:95;13237:32;::::0;;-1:-1:-1;;;;;14780:32:1;;14762:51;;14844:2;14829:18;;14822:34;;;13237:32:0::1;::::0;14735:18:1;13237:32:0::1;;;;;;;13289:48;::::0;-1:-1:-1;;;13289:48:0;;13318:10:::1;13289:48;::::0;::::1;14762:51:1::0;14829:18;;;14822:34;;;-1:-1:-1;;;;;13289:28:0;::::1;::::0;::::1;::::0;14735:18:1;;13289:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3296:480::-:0;3365:14;;-1:-1:-1;;;;;3365:14:0;3351:10;:28;3343:113;;;;-1:-1:-1;;;3343:113:0;;15319:2:1;3343:113:0;;;15301:21:1;15358:2;15338:18;;;15331:30;15397:34;15377:18;;;15370:62;15468:34;15448:18;;;15441:62;-1:-1:-1;;;15519:19:1;;;15512:39;15568:19;;3343:113:0;15117:476:1;3343:113:0;3491:5;3482;;-1:-1:-1;;;;;3482:5:0;;;3467:21;;:14;:21;;;;;;:29;;-1:-1:-1;;3467:29:0;;;;;;3482:5;3522:14;;;;3507:30;;;;;:37;;;;;;;;3579:5;;3562:29;;-1:-1:-1;;;;;;;;;;;3562:29:0;;;3579:5;;;;;3491;3562:29;:::i;:::-;;;;;;;;3624:14;;;3607:37;;-1:-1:-1;;;;;;;;;;;3607:37:0;;;-1:-1:-1;;;;;3624:14:0;;3607:37;:::i;:::-;;;;;;;;3673:14;;;;3665:22;;-1:-1:-1;;;;;3673:14:0;;-1:-1:-1;;;;;;3665:22:0;;;;;;;;3698:27;;;;;;3741;;6123:51:1;;;3741:27:0;;6111:2:1;6096:18;3741:27:0;5977:203:1;8305:156:0;8385:4;8409:44;8423:10;8435:9;8446:6;8409:13;:44::i;2337:138::-;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2399:19:0;::::1;;::::0;;;:14:::1;:19;::::0;;;;;;:26;;-1:-1:-1;;2399:26:0::1;2421:4;2399:26:::0;;::::1;::::0;;;2441;;-1:-1:-1;;;;;;;;;;;2441:26:0;::::1;::::0;2414:3;;2421:4;2441:26:::1;:::i;9511:313::-:0;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;9645:1:::1;9617:24;:29;;9609:82;;;::::0;-1:-1:-1;;;9609:82:0;;15800:2:1;9609:82:0::1;::::0;::::1;15782:21:1::0;15839:2;15819:18;;;15812:30;15878:34;15858:18;;;15851:62;-1:-1:-1;;;15929:18:1;;;15922:39;15978:19;;9609:82:0::1;15598:405:1::0;9609:82:0::1;9761:4;9732:24:::0;5336:12:::1;5275:1;5336:2;:12;:::i;:::-;5323:25;::::0;:10:::1;:25;:::i;:::-;9718:38;;;;:::i;:::-;9717:48;;;;:::i;:::-;9702:12;:63:::0;;;9781:35:::1;::::0;1359:25:1;;;9781:35:0::1;::::0;1347:2:1;1332:18;9781:35:0::1;1213:177:1::0;17467:705:0;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;17924:20:::1;:44:::0;;-1:-1:-1;;;;;17924:44:0;;::::1;-1:-1:-1::0;;;;;;17924:44:0;;::::1;::::0;::::1;::::0;;;17979:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;18024:22:::1;:48:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;18090:74:::1;::::0;;16248:34:1;;;16313:2;16298:18;;16291:43;;;;16350:18;;;16343:43;18090:74:0::1;::::0;16198:2:1;16183:18;18090:74:0::1;16008:384:1::0;18180:287:0;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;18302:2:::1;5336:12;5275:1;18302:2:::0;5336:12:::1;:::i;:::-;5323:25;::::0;:10:::1;:25;:::i;:::-;18290:14;;;;:::i;:::-;18279:7;:26;18271:54;;;::::0;-1:-1:-1;;;18271:54:0;;16599:2:1;18271:54:0::1;::::0;::::1;16581:21:1::0;16638:2;16618:18;;;16611:30;-1:-1:-1;;;16657:18:1;;;16650:45;16712:18;;18271:54:0::1;16397:339:1::0;18271:54:0::1;18338:11;:22:::0;;-1:-1:-1;;;;18338:22:0::1;-1:-1:-1::0;;;18338:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;18371:13:::1;:23:::0;;;18412:47:::1;::::0;;16909:25:1;;;18338:22:0::1;18447:11:::0;;;::::1;::::0;;;::::1;16977:14:1::0;16970:22;16965:2;16950:18;;16943:50;18412:47:0::1;::::0;16882:18:1;18412:47:0::1;;;;;;;18180:287:::0;;:::o;2483:204::-;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;2562:5:::1;::::0;-1:-1:-1;;;;;2562:5:0;;::::1;2555:12:::0;;::::1;::::0;2547:51:::1;;;::::0;-1:-1:-1;;;2547:51:0;;17206:2:1;2547:51:0::1;::::0;::::1;17188:21:1::0;17245:2;17225:18;;;17218:30;17284:28;17264:18;;;17257:56;17330:18;;2547:51:0::1;17004:350:1::0;2547:51:0::1;-1:-1:-1::0;;;;;2609:19:0;::::1;2631:5;2609:19:::0;;;:14:::1;:19;::::0;;;;;:27;;-1:-1:-1;;2609:27:0::1;::::0;;2652;-1:-1:-1;;;;;;;;;;;2652:27:0;::::1;::::0;2624:3;;2631:5;2652:27:::1;:::i;2921:198::-:0;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;3014:5:::1;::::0;-1:-1:-1;;;;;3014:5:0;;::::1;3007:12:::0;;::::1;::::0;2999:42:::1;;;::::0;-1:-1:-1;;;2999:42:0;;17561:2:1;2999:42:0::1;::::0;::::1;17543:21:1::0;17600:2;17580:18;;;17573:30;-1:-1:-1;;;17619:18:1;;;17612:47;17676:18;;2999:42:0::1;17359:341:1::0;2999:42:0::1;3052:14;:20:::0;;-1:-1:-1;;;;;;3052:20:0::1;-1:-1:-1::0;;;;;3052:20:0;::::1;::::0;;::::1;::::0;;;3088:23:::1;::::0;6123:51:1;;;3088:23:0::1;::::0;6111:2:1;6096:18;3088:23:0::1;5977:203:1::0;16994:465:0;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;17158:12:::1;:28:::0;;;17197:12:::1;:28:::0;;;17236:7:::1;:18:::0;;;17265:14:::1;:32:::0;;;17308:7:::1;:18:::0;;;17282:15;17318:8;17246;17348:29:::1;17212:13:::0;17173;17348:29:::1;:::i;:::-;:40;;;;:::i;:::-;:51;;;;:::i;:::-;:69;;;;:::i;:::-;17337:8;:80:::0;17438:13:::1;:11;:13::i;:::-;16994:465:::0;;;;;:::o;2806:107::-;-1:-1:-1;;;;;2886:19:0;2862:4;2886:19;;;:14;:19;;;;;;;;;2806:107::o;422:192::-;508:7;544:12;536:6;;;;528:29;;;;-1:-1:-1;;;528:29:0;;;;;;;;:::i;:::-;-1:-1:-1;568:9:0;580:5;584:1;580;:5;:::i;:::-;568:17;422:192;-1:-1:-1;;;;;422:192:0:o;9832:1211::-;-1:-1:-1;;;;;9950:21:0;;9924:4;9950:21;;;:13;:21;;;;;;;;9949:22;:51;;;;-1:-1:-1;;;;;;9976:24:0;;;;;;:13;:24;;;;;;;;9975:25;9949:51;9941:83;;;;-1:-1:-1;;;9941:83:0;;18123:2:1;9941:83:0;;;18105:21:1;18162:2;18142:18;;;18135:30;-1:-1:-1;;;18181:18:1;;;18174:49;18240:18;;9941:83:0;17921:343:1;9941:83:0;10040:6;;;;10037:63;;;10056:41;10071:6;10079:9;10090:6;10056:14;:41::i;:::-;10049:48;;;;10037:63;-1:-1:-1;;;;;10116:22:0;;;;;;:14;:22;;;;;;;;10115:23;:53;;;;-1:-1:-1;;;;;;10143:25:0;;;;;;:14;:25;;;;;;;;10142:26;10115:53;10112:127;;;10192:11;;-1:-1:-1;;;10192:11:0;;;;10184:43;;;;-1:-1:-1;;;10184:43:0;;18471:2:1;10184:43:0;;;18453:21:1;18510:2;18490:18;;;18483:30;-1:-1:-1;;;18529:18:1;;;18522:50;18589:18;;10184:43:0;18269:344:1;10184:43:0;-1:-1:-1;;;;;10256:22:0;;;;;;:14;:22;;;;;;;;10255:23;:55;;;;-1:-1:-1;;;;;;10283:27:0;;;;;;:19;:27;;;;;;;;10282:28;10255:55;:90;;;;-1:-1:-1;;;;;;10315:30:0;;;;;;:19;:30;;;;;;;;10314:31;10255:90;:111;;;;;10362:4;-1:-1:-1;;;;;10349:17:0;:9;-1:-1:-1;;;;;10349:17:0;;;10255:111;10251:230;;;10426:15;;-1:-1:-1;;;;;10392:20:0;;;;;;:9;:20;;;;;;:29;;10415:6;;10392:29;:::i;:::-;10391:50;;10383:86;;;;-1:-1:-1;;;10383:86:0;;18820:2:1;10383:86:0;;;18802:21:1;18859:2;18839:18;;;18832:30;18898:26;18878:18;;;18871:54;18942:18;;10383:86:0;18618:348:1;10383:86:0;10516:12;;10506:6;:22;;10505:51;;;-1:-1:-1;;;;;;10533:23:0;;;;;;:15;:23;;;;;;;;10505:51;:81;;;-1:-1:-1;;;;;;10560:26:0;;;;;;:15;:26;;;;;;;;10505:81;10497:115;;;;-1:-1:-1;;;10497:115:0;;19173:2:1;10497:115:0;;;19155:21:1;19212:2;19192:18;;;19185:30;-1:-1:-1;;;19231:18:1;;;19224:51;19292:18;;10497:115:0;18971:345:1;10497:115:0;10628:16;:14;:16::i;:::-;10625:35;;;10647:10;:8;:10::i;:::-;10692:53;;;;;;;;;;;-1:-1:-1;;;10692:53:0;;;;;;;;-1:-1:-1;;;;;10692:17:0;;-1:-1:-1;10692:17:0;;;:9;:17;;;;;;;;:53;;10714:6;;10692:21;:53::i;:::-;-1:-1:-1;;;;;10672:17:0;;;;;;:9;:17;;;;;;;;:73;;;;10784:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;10807:22:0;;;;;;:11;:22;;;;;;;;10784:45;10783:93;;10842:34;10850:6;10858;10866:9;10842:7;:34::i;:::-;10783:93;;;10833:6;10783:93;-1:-1:-1;;;;;10912:20:0;;;;;;:9;:20;;;;;;10758:118;;-1:-1:-1;10912:40:0;;10758:118;10912:24;:40::i;:::-;-1:-1:-1;;;;;10889:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10970:43;;;;;;-1:-1:-1;;;;;;;;;;;10970:43:0;;;10998:14;1359:25:1;;1347:2;1332:18;;1213:177;10970:43:0;;;;;;;;-1:-1:-1;11031:4:0;;9832:1211;-1:-1:-1;;;;9832:1211:0:o;11055:330::-;11185:53;;;;;;;;;;;-1:-1:-1;;;11185:53:0;;;;;;;;-1:-1:-1;;;;;11185:17:0;;11148:4;11185:17;;;:9;:17;;;;;;;:53;;11207:6;;11185:21;:53::i;:::-;-1:-1:-1;;;;;11165:17:0;;;;;;;:9;:17;;;;;;:73;;;;11272:20;;;;;;;:32;;11297:6;11272:24;:32::i;:::-;-1:-1:-1;;;;;11249:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11320:35;;;;;;-1:-1:-1;;;;;;;;;;;11320:35:0;;;11348:6;1359:25:1;;1347:2;1332:18;;1213:177;11320:35:0;;;;;;;;-1:-1:-1;11373:4:0;11055:330;;;;;:::o;16189:564::-;16554:191;16571:36;16603:3;16571:27;16584:13;;16571:8;;:12;;:27;;;;:::i;:::-;:31;;:36::i;:::-;16629:37;16662:3;16629:28;16642:14;;16629:8;;:12;;:28;;;;:::i;:37::-;16688:41;16725:3;16688:32;16701:18;;16688:8;;:12;;:32;;;;:::i;:41::-;16554:191;;;19541:4:1;19529:17;;;19511:36;;19583:17;;;19578:2;19563:18;;19556:45;19637:17;;19617:18;;;19610:45;;;;19499:2;19484:18;16554:191:0;19321:340:1;12440:197:0;12489:4;12513:10;-1:-1:-1;;;;;12527:4:0;12513:18;;;;;:38;;-1:-1:-1;12545:6:0;;;;12544:7;12513:38;:62;;;;-1:-1:-1;12564:11:0;;-1:-1:-1;;;12564:11:0;;;;12513:62;:116;;;;-1:-1:-1;;12616:13:0;;12606:4;12588:24;;;;:9;:24;;;;;;:41;;;12440:197::o;13493:1578::-;6695:6;:13;;-1:-1:-1;;6695:13:0;6704:4;6695:13;;;13577:7:::1;::::0;13566:8:::1;::::0;6695:6;;13566:18:::1;::::0;::::1;:::i;:::-;13544:40:::0;-1:-1:-1;13597:23:0::1;13655:15;13544:40:::0;13669:1:::1;13655:15;:::i;:::-;13640:12;;13624:13;;:28;;;;:::i;:::-;13623:48;;;;:::i;:::-;13597:74;;13682:20;13721:15;13705:13;;:31;;;;:::i;:::-;13773:16;::::0;;13787:1:::1;13773:16:::0;;;;;::::1;::::0;;13682:54;;-1:-1:-1;13749:21:0::1;::::0;13773:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13773:16:0::1;13749:40;;13818:4;13800;13805:1;13800:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;13800:23:0::1;;;-1:-1:-1::0;;;;;13800:23:0::1;;;::::0;::::1;13844:4;13834;13839:1;13834:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13834:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;13861:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;13861:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;13933:12;;13861:6:::1;::::0;13976:4;;14003::::1;::::0;14023:15:::1;::::0;13861:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;14145:12:0::1;::::0;14082:21:::1;::::0;-1:-1:-1;14145:16:0::1;::::0;-1:-1:-1;14160:1:0::1;::::0;14145:16:::1;:::i;:::-;14130:32;::::0;:11;:32:::1;:::i;:::-;14116:46:::0;-1:-1:-1;14183:26:0::1;14242:15;14116:46:::0;14256:1:::1;14242:15;:::i;:::-;14225:12;::::0;14213:24:::1;::::0;:9;:24:::1;:::i;:::-;14212:46;;;;:::i;:::-;14183:75;;14269:26;14327:11;14311:12;;14299:9;:24;;;;:::i;:::-;14298:40;;;;:::i;:::-;14269:69;;14349:21;14397:11;14386:7;;14374:9;:19;;;;:::i;:::-;14373:35;;;;:::i;:::-;14349:59;;14419:28;14481:11;14463:14;;14451:9;:26;;;;:::i;:::-;14450:42;;;;:::i;:::-;14513:20;::::0;14505:58:::1;::::0;14419:73;;-1:-1:-1;;;;;;14513:20:0::1;::::0;14505:58;::::1;;;::::0;14544:18;;14513:20:::1;14505:58:::0;14513:20;14505:58;14544:18;14513:20;14505:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14582:15:0::1;::::0;14574:48:::1;::::0;-1:-1:-1;;;;;14582:15:0;;::::1;::::0;14574:48;::::1;;;::::0;14608:13;;14582:15:::1;14574:48:::0;14582:15;14574:48;14608:13;14582:15;14574:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14641:22:0::1;::::0;14633:62:::1;::::0;-1:-1:-1;;;;;14641:22:0;;::::1;::::0;14633:62;::::1;;;::::0;14674:20;;14641:22:::1;14633:62:::0;14641:22;14633:62;14674:20;14641:22;14633:62;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14713:19:0;;14710:354:::1;;14748:6;::::0;:236:::1;::::0;-1:-1:-1;;;14748:236:0;;14824:4:::1;14748:236;::::0;::::1;20992:34:1::0;;;21042:18;;;21035:34;;;14748:6:0::1;21085:18:1::0;;;21078:34;;;21128:18;;;21121:34;21171:19;;;21164:44;14954:15:0::1;21224:19:1::0;;;21217:35;-1:-1:-1;;;;;14748:6:0;;::::1;::::0;:22:::1;::::0;14778:18;;20926:19:1;;14748:236:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;15004:48:0::1;::::0;;21748:25:1;;;21804:2;21789:18;;21782:34;;;15004:48:0::1;::::0;-1:-1:-1;21721:18:1;15004:48:0::1;;;;;;;14710:354;-1:-1:-1::0;;6713:6:0;:14;;-1:-1:-1;;6713:14:0;;;-1:-1:-1;;;;;;;13493:1578:0:o;11393:1039::-;11479:7;11502:11;;;:28;;-1:-1:-1;11517:8:0;;:13;11502:28;11499:72;;;-1:-1:-1;11553:6:0;11546:13;;11499:72;11604:18;;-1:-1:-1;;;;;11651:4:0;11638:17;;;;;;11635:154;;-1:-1:-1;11685:14:0;;11635:154;;;11730:4;-1:-1:-1;;;;;11720:14:0;:6;-1:-1:-1;;;;;11720:14:0;;11717:72;;-1:-1:-1;11764:13:0;;11717:72;11801:17;11821:62;11862:20;6200:4;11879:3;11862:20;:::i;:::-;11821:36;11846:10;11821:20;11832:8;;11821:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:62::-;11801:82;;11894:18;11915:36;11942:8;;11915:22;11929:7;;11915:9;:13;;:22;;;;:::i;:36::-;11894:57;-1:-1:-1;11962:22:0;11987:25;:9;11894:57;11987:13;:25::i;:::-;11962:50;-1:-1:-1;12028:18:0;;12025:187;;12107:4;12089:24;;;;:9;:24;;;;;;:44;;12118:14;12089:28;:44::i;:::-;12080:4;12062:24;;;;:9;:24;;;;;;;:71;;;;12153:47;;-1:-1:-1;;;;;12153:47:0;;;-1:-1:-1;;;;;;;;;;;12153:47:0;;;12185:14;1359:25:1;;1347:2;1332:18;;1213:177;12153:47:0;;;;;;;;12025:187;12235:14;;12232:152;;5025:42;12283:15;;:9;:15;;;;:31;;12303:10;12283:19;:31::i;:::-;5025:42;12265:15;;;;:9;:15;;;:49;;;;:15;12334:34;-1:-1:-1;;;;;12334:34:0;;;-1:-1:-1;;;;;;;;;;;12334:34:0;;;12357:10;1359:25:1;;1347:2;1332:18;;1213:177;12334:34:0;;;;;;;;12232:152;12403:21;:6;12414:9;12403:10;:21::i;:::-;12396:28;11393:1039;-1:-1:-1;;;;;;;;11393:1039:0:o;93:181::-;151:7;;183:5;187:1;183;:5;:::i;:::-;171:17;;212:1;207;:6;;199:46;;;;-1:-1:-1;;;199:46:0;;22029:2:1;199:46:0;;;22011:21:1;22068:2;22048:18;;;22041:30;22107:29;22087:18;;;22080:57;22154:18;;199:46:0;21827:351:1;620:250:0;678:7;702:1;707;702:6;698:47;;-1:-1:-1;732:1:0;725:8;;698:47;757:9;769:5;773:1;769;:5;:::i;:::-;757:17;-1:-1:-1;802:1:0;793:5;797:1;757:17;793:5;:::i;:::-;:10;785:56;;;;-1:-1:-1;;;785:56:0;;22385:2:1;785:56:0;;;22367:21:1;22424:2;22404:18;;;22397:30;22463:34;22443:18;;;22436:62;-1:-1:-1;;;22514:18:1;;;22507:31;22555:19;;785:56:0;22183:397:1;876:132:0;934:7;961:39;965:1;968;961:39;;;;;;;;;;;;;;;;;:3;:39::i;280:136::-;338:7;365:43;369:1;372;365:43;;;;;;;;;;;;;;;;;:3;:43::i;1014:189::-;1100:7;1135:12;1128:5;1120:28;;;;-1:-1:-1;;;1120:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1159:9:0;1171:5;1175:1;1171;:5;:::i;14:367:1:-;77:8;87:6;141:3;134:4;126:6;122:17;118:27;108:55;;159:1;156;149:12;108:55;-1:-1:-1;182:20:1;;225:18;214:30;;211:50;;;257:1;254;247:12;211:50;294:4;286:6;282:17;270:29;;354:3;347:4;337:6;334:1;330:14;322:6;318:27;314:38;311:47;308:67;;;371:1;368;361:12;308:67;14:367;;;;;:::o;386:118::-;472:5;465:13;458:21;451:5;448:32;438:60;;494:1;491;484:12;438:60;386:118;:::o;509:128::-;574:20;;603:28;574:20;603:28;:::i;:::-;509:128;;;:::o;642:566::-;734:6;742;750;803:2;791:9;782:7;778:23;774:32;771:52;;;819:1;816;809:12;771:52;859:9;846:23;892:18;884:6;881:30;878:50;;;924:1;921;914:12;878:50;963:70;1025:7;1016:6;1005:9;1001:22;963:70;:::i;:::-;1052:8;;-1:-1:-1;937:96:1;-1:-1:-1;;1137:2:1;1122:18;;1109:32;1150:28;1109:32;1150:28;:::i;:::-;1197:5;1187:15;;;642:566;;;;;:::o;1395:597::-;1507:4;1536:2;1565;1554:9;1547:21;1597:6;1591:13;1640:6;1635:2;1624:9;1620:18;1613:34;1665:1;1675:140;1689:6;1686:1;1683:13;1675:140;;;1784:14;;;1780:23;;1774:30;1750:17;;;1769:2;1746:26;1739:66;1704:10;;1675:140;;;1833:6;1830:1;1827:13;1824:91;;;1903:1;1898:2;1889:6;1878:9;1874:22;1870:31;1863:42;1824:91;-1:-1:-1;1976:2:1;1955:15;-1:-1:-1;;1951:29:1;1936:45;;;;1983:2;1932:54;;1395:597;-1:-1:-1;;;1395:597:1:o;1997:180::-;2056:6;2109:2;2097:9;2088:7;2084:23;2080:32;2077:52;;;2125:1;2122;2115:12;2077:52;-1:-1:-1;2148:23:1;;1997:180;-1:-1:-1;1997:180:1:o;2182:131::-;-1:-1:-1;;;;;2257:31:1;;2247:42;;2237:70;;2303:1;2300;2293:12;2318:134;2386:20;;2415:31;2386:20;2415:31;:::i;2457:315::-;2525:6;2533;2586:2;2574:9;2565:7;2561:23;2557:32;2554:52;;;2602:1;2599;2592:12;2554:52;2641:9;2628:23;2660:31;2685:5;2660:31;:::i;:::-;2710:5;2762:2;2747:18;;;;2734:32;;-1:-1:-1;;;2457:315:1:o;2969:127::-;3030:10;3025:3;3021:20;3018:1;3011:31;3061:4;3058:1;3051:15;3085:4;3082:1;3075:15;3101:1191;3191:6;3199;3252:2;3240:9;3231:7;3227:23;3223:32;3220:52;;;3268:1;3265;3258:12;3220:52;3308:9;3295:23;3337:18;3378:2;3370:6;3367:14;3364:34;;;3394:1;3391;3384:12;3364:34;3432:6;3421:9;3417:22;3407:32;;3477:7;3470:4;3466:2;3462:13;3458:27;3448:55;;3499:1;3496;3489:12;3448:55;3535:2;3522:16;3557:4;3580:2;3576;3573:10;3570:36;;;3586:18;;:::i;:::-;3632:2;3629:1;3625:10;3664:2;3658:9;3727:2;3723:7;3718:2;3714;3710:11;3706:25;3698:6;3694:38;3782:6;3770:10;3767:22;3762:2;3750:10;3747:18;3744:46;3741:72;;;3793:18;;:::i;:::-;3829:2;3822:22;3879:18;;;3913:15;;;;-1:-1:-1;3955:11:1;;;3951:20;;;3983:19;;;3980:39;;;4015:1;4012;4005:12;3980:39;4039:11;;;;4059:148;4075:6;4070:3;4067:15;4059:148;;;4141:23;4160:3;4141:23;:::i;:::-;4129:36;;4092:12;;;;4185;;;;4059:148;;;4226:6;-1:-1:-1;4251:35:1;;-1:-1:-1;4267:18:1;;;4251:35;:::i;:::-;4241:45;;;;;;3101:1191;;;;;:::o;4297:456::-;4374:6;4382;4390;4443:2;4431:9;4422:7;4418:23;4414:32;4411:52;;;4459:1;4456;4449:12;4411:52;4498:9;4485:23;4517:31;4542:5;4517:31;:::i;:::-;4567:5;-1:-1:-1;4624:2:1;4609:18;;4596:32;4637:33;4596:32;4637:33;:::i;:::-;4297:456;;4689:7;;-1:-1:-1;;;4743:2:1;4728:18;;;;4715:32;;4297:456::o;4758:773::-;4880:6;4888;4896;4904;4957:2;4945:9;4936:7;4932:23;4928:32;4925:52;;;4973:1;4970;4963:12;4925:52;5013:9;5000:23;5042:18;5083:2;5075:6;5072:14;5069:34;;;5099:1;5096;5089:12;5069:34;5138:70;5200:7;5191:6;5180:9;5176:22;5138:70;:::i;:::-;5227:8;;-1:-1:-1;5112:96:1;-1:-1:-1;5315:2:1;5300:18;;5287:32;;-1:-1:-1;5331:16:1;;;5328:36;;;5360:1;5357;5350:12;5328:36;;5399:72;5463:7;5452:8;5441:9;5437:24;5399:72;:::i;:::-;4758:773;;;;-1:-1:-1;5490:8:1;-1:-1:-1;;;;4758:773:1:o;5536:247::-;5595:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:52;;;5664:1;5661;5654:12;5616:52;5703:9;5690:23;5722:31;5747:5;5722:31;:::i;6185:382::-;6250:6;6258;6311:2;6299:9;6290:7;6286:23;6282:32;6279:52;;;6327:1;6324;6317:12;6279:52;6366:9;6353:23;6385:31;6410:5;6385:31;:::i;:::-;6435:5;-1:-1:-1;6492:2:1;6477:18;;6464:32;6505:30;6464:32;6505:30;:::i;:::-;6554:7;6544:17;;;6185:382;;;;;:::o;6572:316::-;6649:6;6657;6665;6718:2;6706:9;6697:7;6693:23;6689:32;6686:52;;;6734:1;6731;6724:12;6686:52;-1:-1:-1;;6757:23:1;;;6827:2;6812:18;;6799:32;;-1:-1:-1;6878:2:1;6863:18;;;6850:32;;6572:316;-1:-1:-1;6572:316:1:o;6893:529::-;6970:6;6978;6986;7039:2;7027:9;7018:7;7014:23;7010:32;7007:52;;;7055:1;7052;7045:12;7007:52;7094:9;7081:23;7113:31;7138:5;7113:31;:::i;:::-;7163:5;-1:-1:-1;7220:2:1;7205:18;;7192:32;7233:33;7192:32;7233:33;:::i;:::-;7285:7;-1:-1:-1;7344:2:1;7329:18;;7316:32;7357:33;7316:32;7357:33;:::i;7427:388::-;7495:6;7503;7556:2;7544:9;7535:7;7531:23;7527:32;7524:52;;;7572:1;7569;7562:12;7524:52;7611:9;7598:23;7630:31;7655:5;7630:31;:::i;:::-;7680:5;-1:-1:-1;7737:2:1;7722:18;;7709:32;7750:33;7709:32;7750:33;:::i;7820:309::-;7885:6;7893;7946:2;7934:9;7925:7;7921:23;7917:32;7914:52;;;7962:1;7959;7952:12;7914:52;8001:9;7988:23;8020:28;8042:5;8020:28;:::i;8620:454::-;8715:6;8723;8731;8739;8747;8800:3;8788:9;8779:7;8775:23;8771:33;8768:53;;;8817:1;8814;8807:12;8768:53;-1:-1:-1;;8840:23:1;;;8910:2;8895:18;;8882:32;;-1:-1:-1;8961:2:1;8946:18;;8933:32;;9012:2;8997:18;;8984:32;;-1:-1:-1;9063:3:1;9048:19;9035:33;;-1:-1:-1;8620:454:1;-1:-1:-1;8620:454:1:o;9079:335::-;9281:2;9263:21;;;9320:2;9300:18;;;9293:30;-1:-1:-1;;;9354:2:1;9339:18;;9332:41;9405:2;9390:18;;9079:335::o;9419:401::-;9621:2;9603:21;;;9660:2;9640:18;;;9633:30;9699:34;9694:2;9679:18;;9672:62;-1:-1:-1;;;9765:2:1;9750:18;;9743:35;9810:3;9795:19;;9419:401::o;9825:127::-;9886:10;9881:3;9877:20;9874:1;9867:31;9917:4;9914:1;9907:15;9941:4;9938:1;9931:15;9957:284;-1:-1:-1;;;;;10143:32:1;;;;10125:51;;10219:14;10212:22;10207:2;10192:18;;10185:50;10113:2;10098:18;;9957:284::o;10246:127::-;10307:10;10302:3;10298:20;10295:1;10288:31;10338:4;10335:1;10328:15;10362:4;10359:1;10352:15;10378:135;10417:3;10438:17;;;10435:43;;10458:18;;:::i;:::-;-1:-1:-1;10505:1:1;10494:13;;10378:135::o;10518:329::-;10720:2;10702:21;;;10759:1;10739:18;;;10732:29;-1:-1:-1;;;10792:2:1;10777:18;;10770:36;10838:2;10823:18;;10518:329::o;11257:422::-;11346:1;11389:5;11346:1;11403:270;11424:7;11414:8;11411:21;11403:270;;;11483:4;11479:1;11475:6;11471:17;11465:4;11462:27;11459:53;;;11492:18;;:::i;:::-;11542:7;11532:8;11528:22;11525:55;;;11562:16;;;;11525:55;11641:22;;;;11601:15;;;;11403:270;;;11407:3;11257:422;;;;;:::o;11684:806::-;11733:5;11763:8;11753:80;;-1:-1:-1;11804:1:1;11818:5;;11753:80;11852:4;11842:76;;-1:-1:-1;11889:1:1;11903:5;;11842:76;11934:4;11952:1;11947:59;;;;12020:1;12015:130;;;;11927:218;;11947:59;11977:1;11968:10;;11991:5;;;12015:130;12052:3;12042:8;12039:17;12036:43;;;12059:18;;:::i;:::-;-1:-1:-1;;12115:1:1;12101:16;;12130:5;;11927:218;;12229:2;12219:8;12216:16;12210:3;12204:4;12201:13;12197:36;12191:2;12181:8;12178:16;12173:2;12167:4;12164:12;12160:35;12157:77;12154:159;;;-1:-1:-1;12266:19:1;;;12298:5;;12154:159;12345:34;12370:8;12364:4;12345:34;:::i;:::-;12415:6;12411:1;12407:6;12403:19;12394:7;12391:32;12388:58;;;12426:18;;:::i;:::-;12464:20;;11684:806;-1:-1:-1;;;11684:806:1:o;12495:140::-;12553:5;12582:47;12623:4;12613:8;12609:19;12603:4;12582:47;:::i;12640:168::-;12680:7;12746:1;12742;12738:6;12734:14;12731:1;12728:21;12723:1;12716:9;12709:17;12705:45;12702:71;;;12753:18;;:::i;:::-;-1:-1:-1;12793:9:1;;12640:168::o;12813:217::-;12853:1;12879;12869:132;;12923:10;12918:3;12914:20;12911:1;12904:31;12958:4;12955:1;12948:15;12986:4;12983:1;12976:15;12869:132;-1:-1:-1;13015:9:1;;12813:217::o;13780:128::-;13820:3;13851:1;13847:6;13844:1;13841:13;13838:39;;;13857:18;;:::i;:::-;-1:-1:-1;13893:9:1;;13780:128::o;14269:125::-;14309:4;14337:1;14334;14331:8;14328:34;;;14342:18;;:::i;:::-;-1:-1:-1;14379:9:1;;14269:125::o;14399:184::-;14469:6;14522:2;14510:9;14501:7;14497:23;14493:32;14490:52;;;14538:1;14535;14528:12;14490:52;-1:-1:-1;14561:16:1;;14399:184;-1:-1:-1;14399:184:1:o;14867:245::-;14934:6;14987:2;14975:9;14966:7;14962:23;14958:32;14955:52;;;15003:1;15000;14993:12;14955:52;15035:9;15029:16;15054:28;15076:5;15054:28;:::i;19666:980::-;19928:4;19976:3;19965:9;19961:19;20007:6;19996:9;19989:25;20033:2;20071:6;20066:2;20055:9;20051:18;20044:34;20114:3;20109:2;20098:9;20094:18;20087:31;20138:6;20173;20167:13;20204:6;20196;20189:22;20242:3;20231:9;20227:19;20220:26;;20281:2;20273:6;20269:15;20255:29;;20302:1;20312:195;20326:6;20323:1;20320:13;20312:195;;;20391:13;;-1:-1:-1;;;;;20387:39:1;20375:52;;20482:15;;;;20447:12;;;;20423:1;20341:9;20312:195;;;-1:-1:-1;;;;;;;20563:32:1;;;;20558:2;20543:18;;20536:60;-1:-1:-1;;;20627:3:1;20612:19;20605:35;20524:3;19666:980;-1:-1:-1;;;19666:980:1:o;21263:306::-;21351:6;21359;21367;21420:2;21408:9;21399:7;21395:23;21391:32;21388:52;;;21436:1;21433;21426:12;21388:52;21465:9;21459:16;21449:26;;21515:2;21504:9;21500:18;21494:25;21484:35;;21559:2;21548:9;21544:18;21538:25;21528:35;;21263:306;;;;;:::o

Swarm Source

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