ETH Price: $2,467.88 (-4.24%)

Token

Kamala Devi Harris (KAMALA)
 

Overview

Max Total Supply

10,000,000,000 KAMALA

Holders

70

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
97,000,000 KAMALA

Value
$0.00
0xc6f3d947e7ffc8d6fb69687802e19cf6d253005d
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:
Kamala

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-03
*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.16;

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 Kamala is BEP20, Auth {
    using SafeMath for uint256;

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

    string public constant name = "Kamala Devi Harris";
    string public constant symbol = "KAMALA";
    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 = 10;
    uint256 public marketingFee = 20;
    uint256 public teamFee = 0;
    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 = 100;

    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 bulkBlacklist(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 {

        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":"bulkBlacklist","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"}]

60c06040526064620000146009600a620005c2565b62000025906402540be400620005da565b62000032906001620005da565b6200003e9190620005fc565b6004556064620000516009600a620005c2565b62000062906402540be400620005da565b6200006f906001620005da565b6200007b9190620005fc565b600555600a600b556014600c556000600d556000600e556000600f55600e54600f54600d54600b54600c54620000b291906200061f565b620000be91906200061f565b620000ca91906200061f565b620000d691906200061f565b6010556064601181905560128190556013556017805461ffff60a01b19169055611388620001076009600a620005c2565b62000118906402540be400620005da565b620001249190620005fc565b6018553480156200013457600080fd5b5060405162003a2638038062003a26833981016040819052620001579162000652565b60008054336001600160a01b031991821681178355825260026020908152604092839020805460ff1916600117905560178054737a250d5630b4cf539739df2c5dacb4c659f2488d93168317905582516315ab88c960e31b81529251919263ad5c464892600480830193928290030181865afa158015620001dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020291906200069c565b6001600160a01b039081166080526017546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000253573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027991906200069c565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f191906200069c565b6001600160a01b0390811660a0523060008181526007602090815260408083206017548616845282528083206000199055601480546001600160a01b03199081168a881617909155601680548216898816179055601580549091169587169590951790945533825260088152838220805460ff199081166001908117909255600980845286852080548316841790557f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb19307500378580548316841790557fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b8054831684179055600a938490528685208054831684179055948452948320805486168217905561dead9092527f20677881080440a9b3c87e826370bb5d9c2f74efd4dede686d52d77a6a09f8bb80549094169091179092556200042e91620005c2565b6200043f906402540be400620005da565b33600081815260066020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004826009600a620005c2565b62000493906402540be400620005da565b60405190815260200160405180910390a3505050620006ba565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000504578160001904821115620004e857620004e8620004ad565b80851615620004f657918102915b93841c9390800290620004c8565b509250929050565b6000826200051d57506001620005bc565b816200052c57506000620005bc565b8160018114620005455760028114620005505762000570565b6001915050620005bc565b60ff841115620005645762000564620004ad565b50506001821b620005bc565b5060208310610133831016604e8410600b841016171562000595575081810a620005bc565b620005a18383620004c3565b8060001904821115620005b857620005b8620004ad565b0290505b92915050565b6000620005d360ff8416836200050c565b9392505050565b6000816000190483118215151615620005f757620005f7620004ad565b500290565b6000826200061a57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620005bc57620005bc620004ad565b80516001600160a01b03811681146200064d57600080fd5b919050565b6000806000606084860312156200066857600080fd5b620006738462000635565b9250620006836020850162000635565b9150620006936040850162000635565b90509250925092565b600060208284031215620006af57600080fd5b620005d38262000635565b60805160a05161332a620006fc6000396000818161084401528181611f970152818161239b015281816127bd01526127f1015260006124b7015261332a6000f3fe6080604052600436106103515760003560e01c8063715018a6116101c6578063c867d60b116100f7578063f2fde38b11610095578063fce589d81161006f578063fce589d814610a32578063fe575a8714610a48578063fe9fbb8014610a78578063ffb54a9914610a9857600080fd5b8063f2fde38b146109d2578063f887ea40146109f2578063f9fdac1114610a1257600080fd5b8063dd62ed3e116100d1578063dd62ed3e1461092c578063df20fd4914610972578063e96fada214610992578063f0b37c04146109b257600080fd5b8063c867d60b146108c6578063d7c01032146108f6578063d7c94efd1461091657600080fd5b806395d89b4111610164578063a8aa1b311161013e578063a8aa1b3114610832578063a9059cbb14610866578063b6a5d7de14610886578063bd9ab537146108a657600080fd5b806395d89b41146107d457806398118cb414610806578063a5f3d0031461081c57600080fd5b806379ba5097116101a057806379ba50971461075b5780637d1db4a514610770578063893d20e8146107865780638b42507f146107a457600080fd5b8063715018a61461071057806377b54bad1461072557806378109e541461074557600080fd5b80632929abe6116102a05780634be9d8691161023e5780636ce46bc3116102185780636ce46bc3146106825780636ddd1713146106a25780636ec518b8146106c357806370a08231146106e357600080fd5b80634be9d8691461062c578063571ac8b01461064c5780636b67c4df1461066c57600080fd5b8063313ce5671161027a578063313ce5671461057d5780633f4218e0146105a457806340291143146105d4578063455a43961461060c57600080fd5b80632929abe6146105195780632b112e49146105395780632f54bf6e1461054e57600080fd5b8063095ea7b31161030d578063193dba36116102e7578063193dba36146104ae5780631da1db5e146104c35780631df4ccfc146104e357806323b872dd146104f957600080fd5b8063095ea7b314610453578063180b0d7e1461048357806318160ddd1461049957600080fd5b80621086831461035d5780625dd8ed1461037f578062bff4461461039f5780630445b667146103bf57806306fdde03146103e857806309302dc61461043357600080fd5b3661035857005b600080fd5b34801561036957600080fd5b5061037d610378366004612bae565b610ab9565b005b34801561038b57600080fd5b5061037d61039a366004612c3b565b610bdc565b3480156103ab57600080fd5b5061037d6103ba366004612bae565b610c72565b3480156103cb57600080fd5b506103d560185481565b6040519081526020015b60405180910390f35b3480156103f457600080fd5b50610426604051806040016040528060128152602001714b616d616c6120446576692048617272697360701b81525081565b6040516103df9190612d12565b34801561043f57600080fd5b5061037d61044e366004612d60565b610d86565b34801561045f57600080fd5b5061047361046e366004612d79565b610e7c565b60405190151581526020016103df565b34801561048f57600080fd5b506103d56103e881565b3480156104a557600080fd5b506103d5610ee9565b3480156104ba57600080fd5b5061037d610f07565b3480156104cf57600080fd5b5061037d6104de366004612d60565b610f8a565b3480156104ef57600080fd5b506103d560105481565b34801561050557600080fd5b50610473610514366004612da5565b611072565b34801561052557600080fd5b5061037d610534366004612de6565b611134565b34801561054557600080fd5b506103d56112fd565b34801561055a57600080fd5b50610473610569366004612e52565b6000546001600160a01b0391821691161490565b34801561058957600080fd5b50610592600981565b60405160ff90911681526020016103df565b3480156105b057600080fd5b506104736105bf366004612e52565b60086020526000908152604090205460ff1681565b3480156105e057600080fd5b506015546105f4906001600160a01b031681565b6040516001600160a01b0390911681526020016103df565b34801561061857600080fd5b5061037d610627366004612e6f565b611385565b34801561063857600080fd5b5061037d610647366004612bae565b6113da565b34801561065857600080fd5b50610473610667366004612e52565b6114ee565b34801561067857600080fd5b506103d5600c5481565b34801561068e57600080fd5b5061037d61069d366004612ea8565b6114fc565b3480156106ae57600080fd5b5060175461047390600160a81b900460ff1681565b3480156106cf57600080fd5b506016546105f4906001600160a01b031681565b3480156106ef57600080fd5b506103d56106fe366004612e52565b60066020526000908152604090205481565b34801561071c57600080fd5b5061037d611538565b34801561073157600080fd5b50610473610740366004612d79565b6115a5565b34801561075157600080fd5b506103d560055481565b34801561076757600080fd5b5061037d6116f6565b34801561077c57600080fd5b506103d560045481565b34801561079257600080fd5b506000546001600160a01b03166105f4565b3480156107b057600080fd5b506104736107bf366004612e52565b60096020526000908152604090205460ff1681565b3480156107e057600080fd5b50610426604051806040016040528060068152602001654b414d414c4160d01b81525081565b34801561081257600080fd5b506103d5600b5481565b34801561082857600080fd5b506103d5600e5481565b34801561083e57600080fd5b506105f47f000000000000000000000000000000000000000000000000000000000000000081565b34801561087257600080fd5b50610473610881366004612d79565b611876565b34801561089257600080fd5b5061037d6108a1366004612e52565b611883565b3480156108b257600080fd5b5061037d6108c1366004612d60565b6118f3565b3480156108d257600080fd5b506104736108e1366004612e52565b600a6020526000908152604090205460ff1681565b34801561090257600080fd5b5061037d610911366004612ed4565b6119e8565b34801561092257600080fd5b506103d5600d5481565b34801561093857600080fd5b506103d5610947366004612f14565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561097e57600080fd5b5061037d61098d366004612f42565b611a8e565b34801561099e57600080fd5b506014546105f4906001600160a01b031681565b3480156109be57600080fd5b5061037d6109cd366004612e52565b611b87565b3480156109de57600080fd5b5061037d6109ed366004612e52565b611c4d565b3480156109fe57600080fd5b506017546105f4906001600160a01b031681565b348015610a1e57600080fd5b5061037d610a2d366004612f60565b611d17565b348015610a3e57600080fd5b506103d5600f5481565b348015610a5457600080fd5b50610473610a63366004612e52565b60036020526000908152604090205460ff1681565b348015610a8457600080fd5b50610473610a93366004612e52565b611d97565b348015610aa457600080fd5b5060175461047390600160a01b900460ff1681565b610ac233611d97565b610ae75760405162461bcd60e51b8152600401610ade90612f9b565b60405180910390fd5b6101f58210610b085760405162461bcd60e51b8152600401610ade90612fc0565b60005b82811015610bd65781600a6000868685818110610b2a57610b2a613005565b9050602002016020810190610b3f9190612e52565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f566c2270277919680152b0734389ae919d95ff7e9024c03fc3c7c209ec8412c7848483818110610b9a57610b9a613005565b9050602002016020810190610baf9190612e52565b83604051610bbe92919061301b565b60405180910390a1610bcf8161304c565b9050610b0b565b50505050565b6000546001600160a01b03163314610c065760405162461bcd60e51b8152600401610ade90613065565b60005b8251811015610c6d578160036000858481518110610c2957610c29613005565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610c658161304c565b915050610c09565b505050565b610c7b33611d97565b610c975760405162461bcd60e51b8152600401610ade90612f9b565b6101f58210610cb85760405162461bcd60e51b8152600401610ade90612fc0565b60005b82811015610bd6578160086000868685818110610cda57610cda613005565b9050602002016020810190610cef9190612e52565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f9fbd25f95d342f2efc070b56d2fadd2341d264ef8c915dc268609b2ca1bb25de848483818110610d4a57610d4a613005565b9050602002016020810190610d5f9190612e52565b83604051610d6e92919061301b565b60405180910390a1610d7f8161304c565b9050610cbb565b6000546001600160a01b03163314610db05760405162461bcd60e51b8152600401610ade90613065565b6005811015610e0d5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b6064820152608401610ade565b6103e881610e1d6009600a613169565b610e2c906402540be400613178565b610e369190613178565b610e409190613197565b60058190556040519081527fa69fa556bf940aa0c695b9c8e1b229fdb1476830e2025e44da1028e0c1458d4a906020015b60405180910390a150565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ed79086815260200190565b60405180910390a35060015b92915050565b610ef56009600a613169565b610f04906402540be400613178565b81565b6000546001600160a01b03163314610f315760405162461bcd60e51b8152600401610ade90613065565b6017805460ff60a01b1916600160a01b908117918290556040517ff865819dcfd8250cfaa23e1ab7129c1ec65c617bae1e716699dfe07dd7c489ee92610f8092900460ff161515815260200190565b60405180910390a1565b6000546001600160a01b03163314610fb45760405162461bcd60e51b8152600401610ade90613065565b60658110610fef5760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b6044820152606401610ade565b4760006064610ffe8484613178565b6110089190613197565b604051909150339082156108fc029083906000818181858888f19350505050158015611038573d6000803e3d6000fd5b506040518181527f377153983e64f72f80af47182763316780b9133be808b7082a16710202b8fbda906020015b60405180910390a1505050565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461111f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546110fa918490611db5565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b61112a848484611def565b90505b9392505050565b6000546001600160a01b0316331461115e5760405162461bcd60e51b8152600401610ade90613065565b336101f584106111805760405162461bcd60e51b8152600401610ade90612fc0565b8382146111e05760405162461bcd60e51b815260206004820152602860248201527f4d69736d61746368206265747765656e206164647265737320616e6420746f6b604482015267195b8818dbdd5b9d60c21b6064820152608401610ade565b6000805b85811015611224578484828181106111fe576111fe613005565b905060200201358261121091906131b9565b91508061121c8161304c565b9150506111e4565b506001600160a01b03821660009081526006602052604090205481111561128d5760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c657400000000006044820152606401610ade565b60005b858110156112f4576112e1838888848181106112ae576112ae613005565b90506020020160208101906112c39190612e52565b8787858181106112d5576112d5613005565b9050602002013561221b565b50806112ec8161304c565b915050611290565b50505050505050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e225490919061135d6009600a613169565b61136c906402540be400613178565b61137691906131cc565b61138091906131cc565b905090565b6000546001600160a01b031633146113af5760405162461bcd60e51b8152600401610ade90613065565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6113e333611d97565b6113ff5760405162461bcd60e51b8152600401610ade90612f9b565b6101f582106114205760405162461bcd60e51b8152600401610ade90612fc0565b60005b82811015610bd657816009600086868581811061144257611442613005565b90506020020160208101906114579190612e52565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f3c4f06d74861dea6c152189f2ac8853b6f789feb0e1182101b7ad9d1858f70e38484838181106114b2576114b2613005565b90506020020160208101906114c79190612e52565b836040516114d692919061301b565b60405180910390a16114e78161304c565b9050611423565b6000610ee382600019610e7c565b61150533611d97565b6115215760405162461bcd60e51b8152600401610ade90612f9b565b601282905560118390556013819055610c6d6122ef565b6000546001600160a01b031633146115625760405162461bcd60e51b8152600401610ade90613065565b600180546001600160a01b03191690556040516000808252907fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef22290602001610e71565b600080546001600160a01b031633146115d05760405162461bcd60e51b8152600401610ade90613065565b81600003611643576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561161c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164091906131df565b91505b604080516001600160a01b0385168152602081018490527f960427a4fde284dcc8da2c51a43d210cfd7ed6f4328a24ba33eee49910db564b910160405180910390a160405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156116d2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112d91906131f8565b6001546001600160a01b031633146117875760405162461bcd60e51b815260206004820152604860248201527f596f75206d757374206265206e6f6d696e6174656420617320706f74656e746960448201527f616c206f776e6572206265666f726520796f752063616e2061636365707420746064820152673432903937b6329760c11b608482015260a401610ade565b600080546001600160a01b03908116825260026020526040808320805460ff1990811690915560018054841685528285208054909216179055825490516000805160206132d5833981519152936117e39392909216919061301b565b60405180910390a1600180546040516000805160206132d583398151915292611815926001600160a01b03169161301b565b60405180910390a160018054600080546001600160a01b0383166001600160a01b031991821681179092559091169091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390602001610f80565b600061112d338484611def565b6000546001600160a01b031633146118ad5760405162461bcd60e51b8152600401610ade90613065565b6001600160a01b03811660009081526002602052604090819020805460ff1916600190811790915590516000805160206132d583398151915291610e719184919061301b565b6000546001600160a01b0316331461191d5760405162461bcd60e51b8152600401610ade90613065565b60058110156119805760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b6064820152608401610ade565b6103e8816119906009600a613169565b61199f906402540be400613178565b6119a99190613178565b6119b39190613197565b60048190556040519081527f365a2bb07537fddd750e9ac8d56970e584f83a144bb5225e77491b83bccd118390602001610e71565b6000546001600160a01b03163314611a125760405162461bcd60e51b8152600401610ade90613065565b601480546001600160a01b038581166001600160a01b0319928316811790935560158054868316908416811790915560168054928616929093168217909255604080519384526020840192909252908201527fb93b1ef445620c8661ebddddb575085ede7dfe08ccc6a91b933a6520249c3c7c90606001611065565b6000546001600160a01b03163314611ab85760405162461bcd60e51b8152600401610ade90613065565b600a611ac5600982613169565b611ad4906402540be400613178565b611ade9190613197565b8110611b1e5760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40d0d2ced608b1b6044820152606401610ade565b6017805460ff60a81b1916600160a81b8415158102919091179182905560188390556040805184815260ff9290930491909116151560208301527f34c2d4c263b6f41223c6d30ae2e7bcb18629892587e0a4138f57ba2c523953d0910160405180910390a15050565b6000546001600160a01b03163314611bb15760405162461bcd60e51b8152600401610ade90613065565b6000546001600160a01b0390811690821603611c0f5760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a65640000000000006044820152606401610ade565b6001600160a01b038116600090815260026020526040808220805460ff19169055516000805160206132d583398151915291610e719184919061301b565b6000546001600160a01b03163314611c775760405162461bcd60e51b8152600401610ade90613065565b6000546001600160a01b0390811690821603611cc95760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903a34329037bbb732b960791b6044820152606401610ade565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef22290602001610e71565b6000546001600160a01b03163314611d415760405162461bcd60e51b8152600401610ade90613065565b600b859055600c849055600d839055600e829055600f819055818184611d6787896131b9565b611d7191906131b9565b611d7b91906131b9565b611d8591906131b9565b601055611d906122ef565b5050505050565b6001600160a01b031660009081526002602052604090205460ff1690565b60008184841115611dd95760405162461bcd60e51b8152600401610ade9190612d12565b506000611de684866131cc565b95945050505050565b6001600160a01b03831660009081526003602052604081205460ff16158015611e3157506001600160a01b03831660009081526003602052604090205460ff16155b611e735760405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b6044820152606401610ade565b60195460ff1615611e9057611e8984848461221b565b905061112d565b6001600160a01b03841660009081526002602052604090205460ff16158015611ed257506001600160a01b03831660009081526002602052604090205460ff16155b15611f2757601754600160a01b900460ff16611f275760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610ade565b6001600160a01b03841660009081526002602052604090205460ff16158015611f6957506001600160a01b0384166000908152600a602052604090205460ff16155b8015611f8e57506001600160a01b0383166000908152600a602052604090205460ff16155b8015611fcc57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15612046576005546001600160a01b038416600090815260066020526040902054611ff89084906131b9565b11156120465760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610ade565b6004548211158061206f57506001600160a01b03841660009081526009602052604090205460ff165b8061209257506001600160a01b03831660009081526009602052604090205460ff165b6120d65760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610ade565b6120de61238e565b156120eb576120eb612401565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526006909152919091205461213d918490611db5565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff168061218a57506001600160a01b03841660009081526008602052604090205460ff165b61219e57612199858486612795565b6121a0565b825b6001600160a01b0385166000908152600660205260409020549091506121c690826129ae565b6001600160a01b0380861660008181526006602052604090819020939093559151908716906000805160206132b5833981519152906122089085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461226c918490611db5565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461229b90836129ae565b6001600160a01b0380851660008181526006602052604090819020939093559151908616906000805160206132b5833981519152906122dd9086815260200190565b60405180910390a35060019392505050565b7f375884ed7f92283ee74d8884b39a803f4aee832b15766fe016b74fc791fc2ada612332606461232c601154601054612a0d90919063ffffffff16565b90612a8f565b61234e606461232c601254601054612a0d90919063ffffffff16565b61236a606461232c601354601054612a0d90919063ffffffff16565b6040805160ff94851681529284166020840152921691810191909152606001610f80565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906123cc575060195460ff16155b80156123e15750601754600160a81b900460ff165b801561138057505060185430600090815260066020526040902054101590565b6019805460ff19166001179055600f54601054600091612420916131cc565b9050600061242f826002613178565b600b5460185461243f9190613178565b6124499190613197565b905060008160185461245b91906131cc565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061249557612495613005565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106124e9576124e9613005565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b815291169063791ac9479061252f908590600090869030904290600401613215565b600060405180830381600087803b15801561254957600080fd5b505af115801561255d573d6000803e3d6000fd5b5050600b544792506125729150600290613197565b61257c90866131cc565b9450600061258b866002613178565b600b546125989084613178565b6125a29190613197565b9050600086600c54846125b59190613178565b6125bf9190613197565b9050600087600d54856125d29190613178565b6125dc9190613197565b9050600088600e54866125ef9190613178565b6125f99190613197565b6014546040519192506001600160a01b03169084156108fc029085906000818181858888f19350505050158015612634573d6000803e3d6000fd5b506015546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561266f573d6000803e3d6000fd5b506016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156126aa573d6000803e3d6000fd5b5087156127805760175460405163f305d71960e01b81523060048201819052602482018b9052600060448301819052606483015260848201524260a48201526001600160a01b039091169063f305d71990869060c40160606040518083038185885af115801561271e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127439190613286565b505060408051868152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506019805460ff1916905550505050505050565b60008215806127a45750601054155b156127b057508161112d565b6013546001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116908416036127ef575060125461282d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03160361282d57506011545b600061285e61283f6103e86064613178565b61232c846128586010548a612a0d90919063ffffffff16565b90612a0d565b9050600061287d60105461232c600f5485612a0d90919063ffffffff16565b9050600061288b8383612ad1565b905080156128f557306000908152600660205260409020546128ad90826129ae565b30600081815260066020526040908190209290925590516001600160a01b038a16906000805160206132b5833981519152906128ec9085815260200190565b60405180910390a35b81156129985761dead60005260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e225461293290836129ae565b61dead600081905260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22919091556040516001600160a01b038a16906000805160206132b58339815191529061298f9086815260200190565b60405180910390a35b6129a28784612ad1565b98975050505050505050565b6000806129bb83856131b9565b90508381101561112d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ade565b600082600003612a1f57506000610ee3565b6000612a2b8385613178565b905082612a388583613197565b1461112d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ade565b600061112d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b13565b600061112d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611db5565b60008183612b345760405162461bcd60e51b8152600401610ade9190612d12565b506000611de68486613197565b60008083601f840112612b5357600080fd5b50813567ffffffffffffffff811115612b6b57600080fd5b6020830191508360208260051b8501011115612b8657600080fd5b9250929050565b8015158114612b9b57600080fd5b50565b8035612ba981612b8d565b919050565b600080600060408486031215612bc357600080fd5b833567ffffffffffffffff811115612bda57600080fd5b612be686828701612b41565b9094509250506020840135612bfa81612b8d565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114612b9b57600080fd5b8035612ba981612c1b565b60008060408385031215612c4e57600080fd5b823567ffffffffffffffff80821115612c6657600080fd5b818501915085601f830112612c7a57600080fd5b8135602082821115612c8e57612c8e612c05565b8160051b604051601f19603f83011681018181108682111715612cb357612cb3612c05565b604052928352818301935084810182019289841115612cd157600080fd5b948201945b83861015612cf657612ce786612c30565b85529482019493820193612cd6565b9650612d059050878201612b9e565b9450505050509250929050565b600060208083528351808285015260005b81811015612d3f57858101830151858201604001528201612d23565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215612d7257600080fd5b5035919050565b60008060408385031215612d8c57600080fd5b8235612d9781612c1b565b946020939093013593505050565b600080600060608486031215612dba57600080fd5b8335612dc581612c1b565b92506020840135612dd581612c1b565b929592945050506040919091013590565b60008060008060408587031215612dfc57600080fd5b843567ffffffffffffffff80821115612e1457600080fd5b612e2088838901612b41565b90965094506020870135915080821115612e3957600080fd5b50612e4687828801612b41565b95989497509550505050565b600060208284031215612e6457600080fd5b813561112d81612c1b565b60008060408385031215612e8257600080fd5b8235612e8d81612c1b565b91506020830135612e9d81612b8d565b809150509250929050565b600080600060608486031215612ebd57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215612ee957600080fd5b8335612ef481612c1b565b92506020840135612f0481612c1b565b91506040840135612bfa81612c1b565b60008060408385031215612f2757600080fd5b8235612f3281612c1b565b91506020830135612e9d81612c1b565b60008060408385031215612f5557600080fd5b8235612d9781612b8d565b600080600080600060a08688031215612f7857600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526025908201527f474153204572726f723a206d6178206c696d6974206973203530302061646472604082015264657373657360d81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921682521515602082015260400190565b634e487b7160e01b600052601160045260246000fd5b60006001820161305e5761305e613036565b5060010190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600181815b808511156130c05781600019048211156130a6576130a6613036565b808516156130b357918102915b93841c939080029061308a565b509250929050565b6000826130d757506001610ee3565b816130e457506000610ee3565b81600181146130fa576002811461310457613120565b6001915050610ee3565b60ff84111561311557613115613036565b50506001821b610ee3565b5060208310610133831016604e8410600b8410161715613143575081810a610ee3565b61314d8383613085565b806000190482111561316157613161613036565b029392505050565b600061112d60ff8416836130c8565b600081600019048311821515161561319257613192613036565b500290565b6000826131b457634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610ee357610ee3613036565b81810381811115610ee357610ee3613036565b6000602082840312156131f157600080fd5b5051919050565b60006020828403121561320a57600080fd5b815161112d81612b8d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156132655784516001600160a01b031683529383019391830191600101613240565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561329b57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b9505a2646970667358221220558f09d493113fbb3e9de00f5619025c6f9642a651f2e9f7ba360fcd00cb6f1b64736f6c634300081000330000000000000000000000006b6abbcacc331f457d3261fea429a4ed44a6372b0000000000000000000000006b6abbcacc331f457d3261fea429a4ed44a6372b0000000000000000000000006b6abbcacc331f457d3261fea429a4ed44a6372b

Deployed Bytecode

0x6080604052600436106103515760003560e01c8063715018a6116101c6578063c867d60b116100f7578063f2fde38b11610095578063fce589d81161006f578063fce589d814610a32578063fe575a8714610a48578063fe9fbb8014610a78578063ffb54a9914610a9857600080fd5b8063f2fde38b146109d2578063f887ea40146109f2578063f9fdac1114610a1257600080fd5b8063dd62ed3e116100d1578063dd62ed3e1461092c578063df20fd4914610972578063e96fada214610992578063f0b37c04146109b257600080fd5b8063c867d60b146108c6578063d7c01032146108f6578063d7c94efd1461091657600080fd5b806395d89b4111610164578063a8aa1b311161013e578063a8aa1b3114610832578063a9059cbb14610866578063b6a5d7de14610886578063bd9ab537146108a657600080fd5b806395d89b41146107d457806398118cb414610806578063a5f3d0031461081c57600080fd5b806379ba5097116101a057806379ba50971461075b5780637d1db4a514610770578063893d20e8146107865780638b42507f146107a457600080fd5b8063715018a61461071057806377b54bad1461072557806378109e541461074557600080fd5b80632929abe6116102a05780634be9d8691161023e5780636ce46bc3116102185780636ce46bc3146106825780636ddd1713146106a25780636ec518b8146106c357806370a08231146106e357600080fd5b80634be9d8691461062c578063571ac8b01461064c5780636b67c4df1461066c57600080fd5b8063313ce5671161027a578063313ce5671461057d5780633f4218e0146105a457806340291143146105d4578063455a43961461060c57600080fd5b80632929abe6146105195780632b112e49146105395780632f54bf6e1461054e57600080fd5b8063095ea7b31161030d578063193dba36116102e7578063193dba36146104ae5780631da1db5e146104c35780631df4ccfc146104e357806323b872dd146104f957600080fd5b8063095ea7b314610453578063180b0d7e1461048357806318160ddd1461049957600080fd5b80621086831461035d5780625dd8ed1461037f578062bff4461461039f5780630445b667146103bf57806306fdde03146103e857806309302dc61461043357600080fd5b3661035857005b600080fd5b34801561036957600080fd5b5061037d610378366004612bae565b610ab9565b005b34801561038b57600080fd5b5061037d61039a366004612c3b565b610bdc565b3480156103ab57600080fd5b5061037d6103ba366004612bae565b610c72565b3480156103cb57600080fd5b506103d560185481565b6040519081526020015b60405180910390f35b3480156103f457600080fd5b50610426604051806040016040528060128152602001714b616d616c6120446576692048617272697360701b81525081565b6040516103df9190612d12565b34801561043f57600080fd5b5061037d61044e366004612d60565b610d86565b34801561045f57600080fd5b5061047361046e366004612d79565b610e7c565b60405190151581526020016103df565b34801561048f57600080fd5b506103d56103e881565b3480156104a557600080fd5b506103d5610ee9565b3480156104ba57600080fd5b5061037d610f07565b3480156104cf57600080fd5b5061037d6104de366004612d60565b610f8a565b3480156104ef57600080fd5b506103d560105481565b34801561050557600080fd5b50610473610514366004612da5565b611072565b34801561052557600080fd5b5061037d610534366004612de6565b611134565b34801561054557600080fd5b506103d56112fd565b34801561055a57600080fd5b50610473610569366004612e52565b6000546001600160a01b0391821691161490565b34801561058957600080fd5b50610592600981565b60405160ff90911681526020016103df565b3480156105b057600080fd5b506104736105bf366004612e52565b60086020526000908152604090205460ff1681565b3480156105e057600080fd5b506015546105f4906001600160a01b031681565b6040516001600160a01b0390911681526020016103df565b34801561061857600080fd5b5061037d610627366004612e6f565b611385565b34801561063857600080fd5b5061037d610647366004612bae565b6113da565b34801561065857600080fd5b50610473610667366004612e52565b6114ee565b34801561067857600080fd5b506103d5600c5481565b34801561068e57600080fd5b5061037d61069d366004612ea8565b6114fc565b3480156106ae57600080fd5b5060175461047390600160a81b900460ff1681565b3480156106cf57600080fd5b506016546105f4906001600160a01b031681565b3480156106ef57600080fd5b506103d56106fe366004612e52565b60066020526000908152604090205481565b34801561071c57600080fd5b5061037d611538565b34801561073157600080fd5b50610473610740366004612d79565b6115a5565b34801561075157600080fd5b506103d560055481565b34801561076757600080fd5b5061037d6116f6565b34801561077c57600080fd5b506103d560045481565b34801561079257600080fd5b506000546001600160a01b03166105f4565b3480156107b057600080fd5b506104736107bf366004612e52565b60096020526000908152604090205460ff1681565b3480156107e057600080fd5b50610426604051806040016040528060068152602001654b414d414c4160d01b81525081565b34801561081257600080fd5b506103d5600b5481565b34801561082857600080fd5b506103d5600e5481565b34801561083e57600080fd5b506105f47f00000000000000000000000084def13638f5f342c04e9ecd8c2f6adb31c823fc81565b34801561087257600080fd5b50610473610881366004612d79565b611876565b34801561089257600080fd5b5061037d6108a1366004612e52565b611883565b3480156108b257600080fd5b5061037d6108c1366004612d60565b6118f3565b3480156108d257600080fd5b506104736108e1366004612e52565b600a6020526000908152604090205460ff1681565b34801561090257600080fd5b5061037d610911366004612ed4565b6119e8565b34801561092257600080fd5b506103d5600d5481565b34801561093857600080fd5b506103d5610947366004612f14565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561097e57600080fd5b5061037d61098d366004612f42565b611a8e565b34801561099e57600080fd5b506014546105f4906001600160a01b031681565b3480156109be57600080fd5b5061037d6109cd366004612e52565b611b87565b3480156109de57600080fd5b5061037d6109ed366004612e52565b611c4d565b3480156109fe57600080fd5b506017546105f4906001600160a01b031681565b348015610a1e57600080fd5b5061037d610a2d366004612f60565b611d17565b348015610a3e57600080fd5b506103d5600f5481565b348015610a5457600080fd5b50610473610a63366004612e52565b60036020526000908152604090205460ff1681565b348015610a8457600080fd5b50610473610a93366004612e52565b611d97565b348015610aa457600080fd5b5060175461047390600160a01b900460ff1681565b610ac233611d97565b610ae75760405162461bcd60e51b8152600401610ade90612f9b565b60405180910390fd5b6101f58210610b085760405162461bcd60e51b8152600401610ade90612fc0565b60005b82811015610bd65781600a6000868685818110610b2a57610b2a613005565b9050602002016020810190610b3f9190612e52565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f566c2270277919680152b0734389ae919d95ff7e9024c03fc3c7c209ec8412c7848483818110610b9a57610b9a613005565b9050602002016020810190610baf9190612e52565b83604051610bbe92919061301b565b60405180910390a1610bcf8161304c565b9050610b0b565b50505050565b6000546001600160a01b03163314610c065760405162461bcd60e51b8152600401610ade90613065565b60005b8251811015610c6d578160036000858481518110610c2957610c29613005565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610c658161304c565b915050610c09565b505050565b610c7b33611d97565b610c975760405162461bcd60e51b8152600401610ade90612f9b565b6101f58210610cb85760405162461bcd60e51b8152600401610ade90612fc0565b60005b82811015610bd6578160086000868685818110610cda57610cda613005565b9050602002016020810190610cef9190612e52565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f9fbd25f95d342f2efc070b56d2fadd2341d264ef8c915dc268609b2ca1bb25de848483818110610d4a57610d4a613005565b9050602002016020810190610d5f9190612e52565b83604051610d6e92919061301b565b60405180910390a1610d7f8161304c565b9050610cbb565b6000546001600160a01b03163314610db05760405162461bcd60e51b8152600401610ade90613065565b6005811015610e0d5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b6064820152608401610ade565b6103e881610e1d6009600a613169565b610e2c906402540be400613178565b610e369190613178565b610e409190613197565b60058190556040519081527fa69fa556bf940aa0c695b9c8e1b229fdb1476830e2025e44da1028e0c1458d4a906020015b60405180910390a150565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ed79086815260200190565b60405180910390a35060015b92915050565b610ef56009600a613169565b610f04906402540be400613178565b81565b6000546001600160a01b03163314610f315760405162461bcd60e51b8152600401610ade90613065565b6017805460ff60a01b1916600160a01b908117918290556040517ff865819dcfd8250cfaa23e1ab7129c1ec65c617bae1e716699dfe07dd7c489ee92610f8092900460ff161515815260200190565b60405180910390a1565b6000546001600160a01b03163314610fb45760405162461bcd60e51b8152600401610ade90613065565b60658110610fef5760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b6044820152606401610ade565b4760006064610ffe8484613178565b6110089190613197565b604051909150339082156108fc029083906000818181858888f19350505050158015611038573d6000803e3d6000fd5b506040518181527f377153983e64f72f80af47182763316780b9133be808b7082a16710202b8fbda906020015b60405180910390a1505050565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461111f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546110fa918490611db5565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b61112a848484611def565b90505b9392505050565b6000546001600160a01b0316331461115e5760405162461bcd60e51b8152600401610ade90613065565b336101f584106111805760405162461bcd60e51b8152600401610ade90612fc0565b8382146111e05760405162461bcd60e51b815260206004820152602860248201527f4d69736d61746368206265747765656e206164647265737320616e6420746f6b604482015267195b8818dbdd5b9d60c21b6064820152608401610ade565b6000805b85811015611224578484828181106111fe576111fe613005565b905060200201358261121091906131b9565b91508061121c8161304c565b9150506111e4565b506001600160a01b03821660009081526006602052604090205481111561128d5760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c657400000000006044820152606401610ade565b60005b858110156112f4576112e1838888848181106112ae576112ae613005565b90506020020160208101906112c39190612e52565b8787858181106112d5576112d5613005565b9050602002013561221b565b50806112ec8161304c565b915050611290565b50505050505050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e225490919061135d6009600a613169565b61136c906402540be400613178565b61137691906131cc565b61138091906131cc565b905090565b6000546001600160a01b031633146113af5760405162461bcd60e51b8152600401610ade90613065565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6113e333611d97565b6113ff5760405162461bcd60e51b8152600401610ade90612f9b565b6101f582106114205760405162461bcd60e51b8152600401610ade90612fc0565b60005b82811015610bd657816009600086868581811061144257611442613005565b90506020020160208101906114579190612e52565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f3c4f06d74861dea6c152189f2ac8853b6f789feb0e1182101b7ad9d1858f70e38484838181106114b2576114b2613005565b90506020020160208101906114c79190612e52565b836040516114d692919061301b565b60405180910390a16114e78161304c565b9050611423565b6000610ee382600019610e7c565b61150533611d97565b6115215760405162461bcd60e51b8152600401610ade90612f9b565b601282905560118390556013819055610c6d6122ef565b6000546001600160a01b031633146115625760405162461bcd60e51b8152600401610ade90613065565b600180546001600160a01b03191690556040516000808252907fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef22290602001610e71565b600080546001600160a01b031633146115d05760405162461bcd60e51b8152600401610ade90613065565b81600003611643576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561161c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164091906131df565b91505b604080516001600160a01b0385168152602081018490527f960427a4fde284dcc8da2c51a43d210cfd7ed6f4328a24ba33eee49910db564b910160405180910390a160405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156116d2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112d91906131f8565b6001546001600160a01b031633146117875760405162461bcd60e51b815260206004820152604860248201527f596f75206d757374206265206e6f6d696e6174656420617320706f74656e746960448201527f616c206f776e6572206265666f726520796f752063616e2061636365707420746064820152673432903937b6329760c11b608482015260a401610ade565b600080546001600160a01b03908116825260026020526040808320805460ff1990811690915560018054841685528285208054909216179055825490516000805160206132d5833981519152936117e39392909216919061301b565b60405180910390a1600180546040516000805160206132d583398151915292611815926001600160a01b03169161301b565b60405180910390a160018054600080546001600160a01b0383166001600160a01b031991821681179092559091169091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390602001610f80565b600061112d338484611def565b6000546001600160a01b031633146118ad5760405162461bcd60e51b8152600401610ade90613065565b6001600160a01b03811660009081526002602052604090819020805460ff1916600190811790915590516000805160206132d583398151915291610e719184919061301b565b6000546001600160a01b0316331461191d5760405162461bcd60e51b8152600401610ade90613065565b60058110156119805760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b6064820152608401610ade565b6103e8816119906009600a613169565b61199f906402540be400613178565b6119a99190613178565b6119b39190613197565b60048190556040519081527f365a2bb07537fddd750e9ac8d56970e584f83a144bb5225e77491b83bccd118390602001610e71565b6000546001600160a01b03163314611a125760405162461bcd60e51b8152600401610ade90613065565b601480546001600160a01b038581166001600160a01b0319928316811790935560158054868316908416811790915560168054928616929093168217909255604080519384526020840192909252908201527fb93b1ef445620c8661ebddddb575085ede7dfe08ccc6a91b933a6520249c3c7c90606001611065565b6000546001600160a01b03163314611ab85760405162461bcd60e51b8152600401610ade90613065565b600a611ac5600982613169565b611ad4906402540be400613178565b611ade9190613197565b8110611b1e5760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40d0d2ced608b1b6044820152606401610ade565b6017805460ff60a81b1916600160a81b8415158102919091179182905560188390556040805184815260ff9290930491909116151560208301527f34c2d4c263b6f41223c6d30ae2e7bcb18629892587e0a4138f57ba2c523953d0910160405180910390a15050565b6000546001600160a01b03163314611bb15760405162461bcd60e51b8152600401610ade90613065565b6000546001600160a01b0390811690821603611c0f5760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a65640000000000006044820152606401610ade565b6001600160a01b038116600090815260026020526040808220805460ff19169055516000805160206132d583398151915291610e719184919061301b565b6000546001600160a01b03163314611c775760405162461bcd60e51b8152600401610ade90613065565b6000546001600160a01b0390811690821603611cc95760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903a34329037bbb732b960791b6044820152606401610ade565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef22290602001610e71565b6000546001600160a01b03163314611d415760405162461bcd60e51b8152600401610ade90613065565b600b859055600c849055600d839055600e829055600f819055818184611d6787896131b9565b611d7191906131b9565b611d7b91906131b9565b611d8591906131b9565b601055611d906122ef565b5050505050565b6001600160a01b031660009081526002602052604090205460ff1690565b60008184841115611dd95760405162461bcd60e51b8152600401610ade9190612d12565b506000611de684866131cc565b95945050505050565b6001600160a01b03831660009081526003602052604081205460ff16158015611e3157506001600160a01b03831660009081526003602052604090205460ff16155b611e735760405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b6044820152606401610ade565b60195460ff1615611e9057611e8984848461221b565b905061112d565b6001600160a01b03841660009081526002602052604090205460ff16158015611ed257506001600160a01b03831660009081526002602052604090205460ff16155b15611f2757601754600160a01b900460ff16611f275760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610ade565b6001600160a01b03841660009081526002602052604090205460ff16158015611f6957506001600160a01b0384166000908152600a602052604090205460ff16155b8015611f8e57506001600160a01b0383166000908152600a602052604090205460ff16155b8015611fcc57507f00000000000000000000000084def13638f5f342c04e9ecd8c2f6adb31c823fc6001600160a01b0316836001600160a01b031614155b15612046576005546001600160a01b038416600090815260066020526040902054611ff89084906131b9565b11156120465760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610ade565b6004548211158061206f57506001600160a01b03841660009081526009602052604090205460ff165b8061209257506001600160a01b03831660009081526009602052604090205460ff165b6120d65760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610ade565b6120de61238e565b156120eb576120eb612401565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526006909152919091205461213d918490611db5565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff168061218a57506001600160a01b03841660009081526008602052604090205460ff165b61219e57612199858486612795565b6121a0565b825b6001600160a01b0385166000908152600660205260409020549091506121c690826129ae565b6001600160a01b0380861660008181526006602052604090819020939093559151908716906000805160206132b5833981519152906122089085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461226c918490611db5565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461229b90836129ae565b6001600160a01b0380851660008181526006602052604090819020939093559151908616906000805160206132b5833981519152906122dd9086815260200190565b60405180910390a35060019392505050565b7f375884ed7f92283ee74d8884b39a803f4aee832b15766fe016b74fc791fc2ada612332606461232c601154601054612a0d90919063ffffffff16565b90612a8f565b61234e606461232c601254601054612a0d90919063ffffffff16565b61236a606461232c601354601054612a0d90919063ffffffff16565b6040805160ff94851681529284166020840152921691810191909152606001610f80565b6000336001600160a01b037f00000000000000000000000084def13638f5f342c04e9ecd8c2f6adb31c823fc16148015906123cc575060195460ff16155b80156123e15750601754600160a81b900460ff165b801561138057505060185430600090815260066020526040902054101590565b6019805460ff19166001179055600f54601054600091612420916131cc565b9050600061242f826002613178565b600b5460185461243f9190613178565b6124499190613197565b905060008160185461245b91906131cc565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061249557612495613005565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106124e9576124e9613005565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b815291169063791ac9479061252f908590600090869030904290600401613215565b600060405180830381600087803b15801561254957600080fd5b505af115801561255d573d6000803e3d6000fd5b5050600b544792506125729150600290613197565b61257c90866131cc565b9450600061258b866002613178565b600b546125989084613178565b6125a29190613197565b9050600086600c54846125b59190613178565b6125bf9190613197565b9050600087600d54856125d29190613178565b6125dc9190613197565b9050600088600e54866125ef9190613178565b6125f99190613197565b6014546040519192506001600160a01b03169084156108fc029085906000818181858888f19350505050158015612634573d6000803e3d6000fd5b506015546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561266f573d6000803e3d6000fd5b506016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156126aa573d6000803e3d6000fd5b5087156127805760175460405163f305d71960e01b81523060048201819052602482018b9052600060448301819052606483015260848201524260a48201526001600160a01b039091169063f305d71990869060c40160606040518083038185885af115801561271e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127439190613286565b505060408051868152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506019805460ff1916905550505050505050565b60008215806127a45750601054155b156127b057508161112d565b6013546001600160a01b037f00000000000000000000000084def13638f5f342c04e9ecd8c2f6adb31c823fc8116908416036127ef575060125461282d565b7f00000000000000000000000084def13638f5f342c04e9ecd8c2f6adb31c823fc6001600160a01b0316856001600160a01b03160361282d57506011545b600061285e61283f6103e86064613178565b61232c846128586010548a612a0d90919063ffffffff16565b90612a0d565b9050600061287d60105461232c600f5485612a0d90919063ffffffff16565b9050600061288b8383612ad1565b905080156128f557306000908152600660205260409020546128ad90826129ae565b30600081815260066020526040908190209290925590516001600160a01b038a16906000805160206132b5833981519152906128ec9085815260200190565b60405180910390a35b81156129985761dead60005260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e225461293290836129ae565b61dead600081905260066020527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22919091556040516001600160a01b038a16906000805160206132b58339815191529061298f9086815260200190565b60405180910390a35b6129a28784612ad1565b98975050505050505050565b6000806129bb83856131b9565b90508381101561112d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ade565b600082600003612a1f57506000610ee3565b6000612a2b8385613178565b905082612a388583613197565b1461112d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ade565b600061112d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b13565b600061112d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611db5565b60008183612b345760405162461bcd60e51b8152600401610ade9190612d12565b506000611de68486613197565b60008083601f840112612b5357600080fd5b50813567ffffffffffffffff811115612b6b57600080fd5b6020830191508360208260051b8501011115612b8657600080fd5b9250929050565b8015158114612b9b57600080fd5b50565b8035612ba981612b8d565b919050565b600080600060408486031215612bc357600080fd5b833567ffffffffffffffff811115612bda57600080fd5b612be686828701612b41565b9094509250506020840135612bfa81612b8d565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114612b9b57600080fd5b8035612ba981612c1b565b60008060408385031215612c4e57600080fd5b823567ffffffffffffffff80821115612c6657600080fd5b818501915085601f830112612c7a57600080fd5b8135602082821115612c8e57612c8e612c05565b8160051b604051601f19603f83011681018181108682111715612cb357612cb3612c05565b604052928352818301935084810182019289841115612cd157600080fd5b948201945b83861015612cf657612ce786612c30565b85529482019493820193612cd6565b9650612d059050878201612b9e565b9450505050509250929050565b600060208083528351808285015260005b81811015612d3f57858101830151858201604001528201612d23565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215612d7257600080fd5b5035919050565b60008060408385031215612d8c57600080fd5b8235612d9781612c1b565b946020939093013593505050565b600080600060608486031215612dba57600080fd5b8335612dc581612c1b565b92506020840135612dd581612c1b565b929592945050506040919091013590565b60008060008060408587031215612dfc57600080fd5b843567ffffffffffffffff80821115612e1457600080fd5b612e2088838901612b41565b90965094506020870135915080821115612e3957600080fd5b50612e4687828801612b41565b95989497509550505050565b600060208284031215612e6457600080fd5b813561112d81612c1b565b60008060408385031215612e8257600080fd5b8235612e8d81612c1b565b91506020830135612e9d81612b8d565b809150509250929050565b600080600060608486031215612ebd57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215612ee957600080fd5b8335612ef481612c1b565b92506020840135612f0481612c1b565b91506040840135612bfa81612c1b565b60008060408385031215612f2757600080fd5b8235612f3281612c1b565b91506020830135612e9d81612c1b565b60008060408385031215612f5557600080fd5b8235612d9781612b8d565b600080600080600060a08688031215612f7857600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526025908201527f474153204572726f723a206d6178206c696d6974206973203530302061646472604082015264657373657360d81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921682521515602082015260400190565b634e487b7160e01b600052601160045260246000fd5b60006001820161305e5761305e613036565b5060010190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600181815b808511156130c05781600019048211156130a6576130a6613036565b808516156130b357918102915b93841c939080029061308a565b509250929050565b6000826130d757506001610ee3565b816130e457506000610ee3565b81600181146130fa576002811461310457613120565b6001915050610ee3565b60ff84111561311557613115613036565b50506001821b610ee3565b5060208310610133831016604e8410600b8410161715613143575081810a610ee3565b61314d8383613085565b806000190482111561316157613161613036565b029392505050565b600061112d60ff8416836130c8565b600081600019048311821515161561319257613192613036565b500290565b6000826131b457634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610ee357610ee3613036565b81810381811115610ee357610ee3613036565b6000602082840312156131f157600080fd5b5051919050565b60006020828403121561320a57600080fd5b815161112d81612b8d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156132655784516001600160a01b031683529383019391830191600101613240565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561329b57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b9505a2646970667358221220558f09d493113fbb3e9de00f5619025c6f9642a651f2e9f7ba360fcd00cb6f1b64736f6c63430008100033

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

0000000000000000000000006b6abbcacc331f457d3261fea429a4ed44a6372b0000000000000000000000006b6abbcacc331f457d3261fea429a4ed44a6372b0000000000000000000000006b6abbcacc331f457d3261fea429a4ed44a6372b

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

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000006b6abbcacc331f457d3261fea429a4ed44a6372b
Arg [1] : 0000000000000000000000006b6abbcacc331f457d3261fea429a4ed44a6372b
Arg [2] : 0000000000000000000000006b6abbcacc331f457d3261fea429a4ed44a6372b


Deployed Bytecode Sourcemap

4897:14746:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15813:373;;;;;;;;;;-1:-1:-1;15813:373:0;;;;;:::i;:::-;;:::i;:::-;;8986:204;;;;;;;;;;-1:-1:-1;8986:204:0;;;;;:::i;:::-;;:::i;15084:353::-;;;;;;;;;;-1:-1:-1;15084:353:0;;;;;:::i;:::-;;:::i;6608:49::-;;;;;;;;;;;;;;;;;;;2962:25:1;;;2950:2;2935:18;6608:49:0;;;;;;;;5147:50;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5147:50:0;;;;;;;;;;;;:::i;9198:310::-;;;;;;;;;;-1:-1:-1;9198:310:0;;;;;:::i;:::-;;:::i;7960:216::-;;;;;;;;;;-1:-1:-1;7960:216:0;;;;;:::i;:::-;;:::i;:::-;;;4221:14:1;;4214:22;4196:41;;4184:2;4169:18;7960:216:0;4056:187:1;6168:45:0;;;;;;;;;;;;6209:4;6168:45;;5294:63;;;;;;;;;;;;;:::i;13358:132::-;;;;;;;;;;;;;:::i;12650:356::-;;;;;;;;;;-1:-1:-1;12650:356:0;;;;;:::i;:::-;;:::i;6071:90::-;;;;;;;;;;;;;;;;8478:370;;;;;;;;;;-1:-1:-1;8478:370:0;;;;;:::i;:::-;;:::i;18310:651::-;;;;;;;;;;-1:-1:-1;18310:651:0;;;;;:::i;:::-;;:::i;18165: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;5251:34;;;;;;;;;;;;5284:1;5251:34;;;;;5911:4:1;5899:17;;;5881:36;;5869:2;5854:18;5251:34:0;5739:184:1;5720:44:0;;;;;;;;;;-1:-1:-1;5720:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6378:30;;;;;;;;;;-1:-1:-1;6378:30:0;;;;-1:-1:-1;;;;;6378:30:0;;;;;;-1:-1:-1;;;;;6092:32:1;;;6074:51;;6062:2;6047:18;6378:30:0;5928:203:1;8856:122:0;;;;;;;;;;-1:-1:-1;8856:122:0;;;;;:::i;:::-;;:::i;15445:360::-;;;;;;;;;;-1:-1:-1;15445:360:0;;;;;:::i;:::-;;:::i;8184:122::-;;;;;;;;;;-1:-1:-1;8184:122:0;;;;;:::i;:::-;;:::i;5926:32::-;;;;;;;;;;;;;;;;16451:225;;;;;;;;;;-1:-1:-1;16451:225:0;;;;;:::i;:::-;;:::i;6570:31::-;;;;;;;;;;-1:-1:-1;6570:31:0;;;;-1:-1:-1;;;6570:31:0;;;;;;6415:37;;;;;;;;;;-1:-1:-1;6415:37:0;;;;-1:-1:-1;;;;;6415:37:0;;;5598:45;;;;;;;;;;-1:-1:-1;5598:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;3127:161;;;;;;;;;;;;;:::i;13014:336::-;;;;;;;;;;-1:-1:-1;13014:336:0;;;;;:::i;:::-;;:::i;5535:54::-;;;;;;;;;;;;;;;;3296:480;;;;;;;;;;;;;:::i;5477:51::-;;;;;;;;;;;;;;;;7735:78;;;;;;;;;;-1:-1:-1;7787:7:0;7805:5;-1:-1:-1;;;;;7805:5:0;7735:78;;5771:48;;;;;;;;;;-1:-1:-1;5771:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5204:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5204:40:0;;;;;5887:32;;;;;;;;;;;;;;;;5998:33;;;;;;;;;;;;;;;;6492:29;;;;;;;;;;;;;;;8314:156;;;;;;;;;;-1:-1:-1;8314:156:0;;;;;:::i;:::-;;:::i;2337:138::-;;;;;;;;;;-1:-1:-1;2337:138:0;;;;;:::i;:::-;;:::i;9516:313::-;;;;;;;;;;-1:-1:-1;9516:313:0;;;;;:::i;:::-;;:::i;5826:52::-;;;;;;;;;;-1:-1:-1;5826:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17157:705;;;;;;;;;;-1:-1:-1;17157:705:0;;;;;:::i;:::-;;:::i;5965:26::-;;;;;;;;;;;;;;;;7819:133;;;;;;;;;;-1:-1:-1;7819:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7921:19:0;;;7903:7;7921:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7819:133;17870:287;;;;;;;;;;-1:-1:-1;17870:287:0;;;;;:::i;:::-;;:::i;6336:35::-;;;;;;;;;;-1:-1:-1;6336:35:0;;;;-1:-1:-1;;;;;6336:35:0;;;2483:204;;;;;;;;;;-1:-1:-1;2483:204:0;;;;;:::i;:::-;;:::i;2921:198::-;;;;;;;;;;-1:-1:-1;2921:198:0;;;;;:::i;:::-;;:::i;6461:24::-;;;;;;;;;;-1:-1:-1;6461:24:0;;;;-1:-1:-1;;;;;6461:24:0;;;16684:465;;;;;;;;;;-1:-1:-1;16684:465:0;;;;;:::i;:::-;;:::i;6038:26::-;;;;;;;;;;;;;;;;5366:45;;;;;;;;;;-1:-1:-1;5366:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2806:107;;;;;;;;;;-1:-1:-1;2806:107:0;;;;;:::i;:::-;;:::i;6530:31::-;;;;;;;;;;-1:-1:-1;6530:31:0;;;;-1:-1:-1;;;6530:31:0;;;;;;15813:373;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;-1:-1:-1;;;2270:48:0;;;;;;;:::i;:::-;;;;;;;;;15948:3:::1;15929:22:::0;::::1;15921:71;;;;-1:-1:-1::0;;;15921:71:0::1;;;;;;;:::i;:::-;16008:9;16003:176;16021:20:::0;;::::1;16003:176;;;16099:6;16063:19;:33;16083:9;;16093:1;16083:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16063:33:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;16063:33:0;:42;;-1:-1:-1;;16063:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16125::::1;16146:9:::0;;16156:1;16146:12;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;16160:6;16125:42;;;;;;;:::i;:::-;;;;;;;;16043:3;::::0;::::1;:::i;:::-;;;16003:176;;;;15813:373:::0;;;:::o;8986:204::-;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;9081:9:::1;9077:106;9099:8;:15;9095:1;:19;9077:106;;;9164:5;9135:13;:26;9149:8;9158:1;9149:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9135:26:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9135:26:0;:34;;-1:-1:-1;;9135:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9116:3;::::1;::::0;::::1;:::i;:::-;;;;9077:106;;;;8986:204:::0;;:::o;15084:353::-;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;-1:-1:-1;;;2270:48:0;;;;;;;:::i;:::-;15211:3:::1;15192:22:::0;::::1;15184:71;;;;-1:-1:-1::0;;;15184:71:0::1;;;;;;;:::i;:::-;15271:9;15266:164;15284:20:::0;;::::1;15266:164;;;15354:6;15326:11;:25;15338:9;;15348:1;15338:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15326:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;15326:25:0;:34;;-1:-1:-1;;15326:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15380:38:::1;15397:9:::0;;15407:1;15397:12;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;15411:6;15380:38;;;;;;;:::i;:::-;;;;;;;;15306:3;::::0;::::1;:::i;:::-;;;15266:164;;9198: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;:::-;9334:1:::1;9307:23;:28;;9299:76;;;::::0;-1:-1:-1;;;9299:76:0;;11005:2:1;9299:76:0::1;::::0;::::1;10987:21:1::0;11044:2;11024:18;;;11017:30;11083:34;11063:18;;;11056:62;-1:-1:-1;;;11134:18:1;;;11127:34;11178:19;;9299:76:0::1;10803:400:1::0;9299:76:0::1;9447:4;9419:23:::0;5345:12:::1;5284:1;5345:2;:12;:::i;:::-;5332:25;::::0;:10:::1;:25;:::i;:::-;9405:37;;;;:::i;:::-;9404:47;;;;:::i;:::-;9386:15;:65:::0;;;9467:33:::1;::::0;2962:25:1;;;9467:33:0::1;::::0;2950:2:1;2935:18;9467:33:0::1;;;;;;;;9198:310:::0;:::o;7960:216::-;8064:10;8035:4;8052:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8052:32:0;;;;;;;;;;:41;;;8109:37;8035:4;;8052:32;;8109:37;;;;8087:6;2962:25:1;;2950:2;2935:18;;2816:177;8109:37:0;;;;;;;;-1:-1:-1;8164:4:0;7960:216;;;;;:::o;5294:63::-;5345:12;5284:1;5345:2;:12;:::i;:::-;5332:25;;:10;:25;:::i;:::-;5294:63;:::o;13358:132::-;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;13415:11:::1;:18:::0;;-1:-1:-1;;;;13415:18:0::1;-1:-1:-1::0;;;13415:18:0;;::::1;::::0;;;;13449:33:::1;::::0;::::1;::::0;::::1;::::0;13470:11;::::1;13415:18;13470:11;4221:14:1::0;4214:22;4196:41;;4184:2;4169:18;;4056:187;13449:33:0::1;;;;;;;;13358:132::o:0;12650:356::-;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;12760:3:::1;12741:16;:22;12733:43;;;::::0;-1:-1:-1;;;12733:43:0;;13188:2:1;12733:43:0::1;::::0;::::1;13170:21:1::0;13227:1;13207:18;;;13200:29;-1:-1:-1;;;13245:18:1;;;13238:38;13293:18;;12733:43:0::1;12986:331:1::0;12733:43:0::1;12807:21;12787:17;12898:3;12865:28;12877:16:::0;12807:21;12865:28:::1;:::i;:::-;12863:38;;;;:::i;:::-;12912:43;::::0;12839:62;;-1:-1:-1;12920:10:0::1;::::0;12912:43;::::1;;;::::0;12839:62;;12912:43:::1;::::0;;;12839:62;12920:10;12912:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;12971:27:0::1;::::0;2962:25:1;;;12971:27:0::1;::::0;2950:2:1;2935:18;12971:27:0::1;;;;;;;;12722:284;;12650:356:::0;:::o;8478:370::-;-1:-1:-1;;;;;8598:19:0;;8578:4;8598:19;;;:11;:19;;;;;;;;8618:10;8598:31;;;;;;;;-1:-1:-1;;8598:52:0;8595:186;;8700:69;;;;;;;;;;;-1:-1:-1;;;8700:69:0;;;;;;;;-1:-1:-1;;;;;8700:19:0;;-1:-1:-1;8700:19:0;;;:11;:19;;;;;8720:10;8700:31;;;;;;;;;;:69;;8736:6;;8700:35;:69::i;:::-;-1:-1:-1;;;;;8666:19:0;;;;;;:11;:19;;;;;;;;8686:10;8666:31;;;;;;;:103;8595:186;8800:40;8814:6;8822:9;8833:6;8800:13;:40::i;:::-;8793:47;;8478:370;;;;;;:::o;18310:651::-;2750:4;2785:5;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;18432:10:::1;18482:3;18463:22:::0;::::1;18455:71;;;;-1:-1:-1::0;;;18455:71:0::1;;;;;;;:::i;:::-;18545:33:::0;;::::1;18537:85;;;::::0;-1:-1:-1;;;18537:85:0;;13524:2:1;18537:85:0::1;::::0;::::1;13506:21:1::0;13563:2;13543:18;;;13536:30;13602:34;13582:18;;;13575:62;-1:-1:-1;;;13653:18:1;;;13646:38;13701:19;;18537:85:0::1;13322:404:1::0;18537:85:0::1;18635:12;18668:6:::0;18664:90:::1;18678:20:::0;;::::1;18664:90;;;18733:6;;18740:1;18733:9;;;;;;;:::i;:::-;;;;;;;18726:4;:16;;;;:::i;:::-;18719:23:::0;-1:-1:-1;18700:3:0;::::1;::::0;::::1;:::i;:::-;;;;18664:90;;;-1:-1:-1::0;;;;;;18774:15:0;::::1;;::::0;;;:9:::1;:15;::::0;;;;;:23;-1:-1:-1;18774:23:0::1;18766:63;;;::::0;-1:-1:-1;;;18766:63:0;;14063:2:1;18766:63:0::1;::::0;::::1;14045:21:1::0;14102:2;14082:18;;;14075:30;14141:29;14121:18;;;14114:57;14188:18;;18766:63:0::1;13861:351:1::0;18766:63:0::1;18846:6;18842:110;18856:20:::0;;::::1;18842:110;;;18897:43;18912:4;18917:9;;18927:1;18917:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;18930:6;;18937:1;18930:9;;;;;;;:::i;:::-;;;;;;;18897:14;:43::i;:::-;-1:-1:-1::0;18878:3:0;::::1;::::0;::::1;:::i;:::-;;;;18842:110;;;;18406:555;;18310:651:::0;;;;:::o;18165:137::-;18278:9;:15;;;;5023:42;18218:7;18260:15;;;;;18218:7;;18278:15;5345:12;5284:1;5345:2;:12;:::i;:::-;5332:25;;:10;:25;:::i;:::-;18246:29;;;;:::i;:::-;:47;;;;:::i;:::-;18238:56;;18165:137;:::o;8856: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;;;;;8940:22:0;;;::::1;;::::0;;;:13:::1;:22;::::0;;;;:30;;-1:-1:-1;;8940:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8856:122::o;15445:360::-;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;-1:-1:-1;;;2270:48:0;;;;;;;:::i;:::-;15576:3:::1;15557:22:::0;::::1;15549:71;;;;-1:-1:-1::0;;;15549:71:0::1;;;;;;;:::i;:::-;15636:9;15631:167;15649:20:::0;;::::1;15631:167;;;15723:6;15691:15;:29;15707:9;;15717:1;15707:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15691:29:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;15691:29:0;:38;;-1:-1:-1;;15691:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15749:37:::1;15765:9:::0;;15775:1;15765:12;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;15779:6;15749:37;;;;;;;:::i;:::-;;;;;;;;15671:3;::::0;::::1;:::i;:::-;;;15631:167;;8184:122:::0;8239:4;8263:35;8271:7;-1:-1:-1;;8263:7:0;:35::i;16451:225::-;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;-1:-1:-1;;;2270:48:0;;;;;;;:::i;:::-;16551:14:::1;:22:::0;;;16584:13:::1;:20:::0;;;16615:18:::1;:27:::0;;;16655: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;6074:51:1;;;-1:-1:-1;3257:23:0::1;::::0;6062:2:1;6047:18;3257:23:0::1;5928:203:1::0;13014:336:0;13105:12;2785:5;;-1:-1:-1;;;;;2785:5:0;2196:10;2774:16;2180:38;;;;-1:-1:-1;;;2180:38:0;;;;;;;:::i;:::-;13133:6:::1;13143:1;13133:11:::0;13130:95:::1;;13169:44;::::0;-1:-1:-1;;;13169:44:0;;13207:4:::1;13169:44;::::0;::::1;6074:51:1::0;-1:-1:-1;;;;;13169:29:0;::::1;::::0;::::1;::::0;6047:18:1;;13169:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13160:53;;13130:95;13242:32;::::0;;-1:-1:-1;;;;;14731:32:1;;14713:51;;14795:2;14780:18;;14773:34;;;13242:32:0::1;::::0;14686:18:1;13242:32:0::1;;;;;;;13294:48;::::0;-1:-1:-1;;;13294:48:0;;13323:10:::1;13294:48;::::0;::::1;14713:51:1::0;14780:18;;;14773:34;;;-1:-1:-1;;;;;13294:28:0;::::1;::::0;::::1;::::0;14686:18:1;;13294: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;;15270:2:1;3343:113:0;;;15252:21:1;15309:2;15289:18;;;15282:30;15348:34;15328:18;;;15321:62;15419:34;15399:18;;;15392:62;-1:-1:-1;;;15470:19:1;;;15463:39;15519:19;;3343:113:0;15068: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;;6074:51:1;;;3741:27:0;;6062:2:1;6047:18;3741:27:0;5928:203:1;8314:156:0;8394:4;8418:44;8432:10;8444:9;8455:6;8418: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;9516: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;:::-;9650:1:::1;9622:24;:29;;9614:82;;;::::0;-1:-1:-1;;;9614:82:0;;15751:2:1;9614:82:0::1;::::0;::::1;15733:21:1::0;15790:2;15770:18;;;15763:30;15829:34;15809:18;;;15802:62;-1:-1:-1;;;15880:18:1;;;15873:39;15929:19;;9614:82:0::1;15549:405:1::0;9614:82:0::1;9766:4;9737:24:::0;5345:12:::1;5284:1;5345:2;:12;:::i;:::-;5332:25;::::0;:10:::1;:25;:::i;:::-;9723:38;;;;:::i;:::-;9722:48;;;;:::i;:::-;9707:12;:63:::0;;;9786:35:::1;::::0;2962:25:1;;;9786:35:0::1;::::0;2950:2:1;2935:18;9786:35:0::1;2816:177:1::0;17157: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;:::-;17614:20:::1;:44:::0;;-1:-1:-1;;;;;17614:44:0;;::::1;-1:-1:-1::0;;;;;;17614:44:0;;::::1;::::0;::::1;::::0;;;17669:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;17714:22:::1;:48:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;17780:74:::1;::::0;;16199:34:1;;;16264:2;16249:18;;16242:43;;;;16301:18;;;16294:43;17780:74:0::1;::::0;16149:2:1;16134:18;17780:74:0::1;15959:384:1::0;17870: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;:::-;17992:2:::1;5345:12;5284:1;17992:2:::0;5345:12:::1;:::i;:::-;5332:25;::::0;:10:::1;:25;:::i;:::-;17980:14;;;;:::i;:::-;17969:7;:26;17961:54;;;::::0;-1:-1:-1;;;17961:54:0;;16550:2:1;17961:54:0::1;::::0;::::1;16532:21:1::0;16589:2;16569:18;;;16562:30;-1:-1:-1;;;16608:18:1;;;16601:45;16663:18;;17961:54:0::1;16348:339:1::0;17961:54:0::1;18028:11;:22:::0;;-1:-1:-1;;;;18028:22:0::1;-1:-1:-1::0;;;18028:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;18061:13:::1;:23:::0;;;18102:47:::1;::::0;;16860:25:1;;;18028:22:0::1;18137:11:::0;;;::::1;::::0;;;::::1;16928:14:1::0;16921:22;16916:2;16901:18;;16894:50;18102:47:0::1;::::0;16833:18:1;18102:47:0::1;;;;;;;17870: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;;17157:2:1;2547:51:0::1;::::0;::::1;17139:21:1::0;17196:2;17176:18;;;17169:30;17235:28;17215:18;;;17208:56;17281:18;;2547:51:0::1;16955: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;;17512:2:1;2999:42:0::1;::::0;::::1;17494:21:1::0;17551:2;17531:18;;;17524:30;-1:-1:-1;;;17570:18:1;;;17563:47;17627:18;;2999:42:0::1;17310: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;6074:51:1;;;3088:23:0::1;::::0;6062:2:1;6047:18;3088:23:0::1;5928:203:1::0;16684: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;:::-;16848:12:::1;:28:::0;;;16887:12:::1;:28:::0;;;16926:7:::1;:18:::0;;;16955:14:::1;:32:::0;;;16998:7:::1;:18:::0;;;16972:15;17008:8;16936;17038:29:::1;16902:13:::0;16863;17038:29:::1;:::i;:::-;:40;;;;:::i;:::-;:51;;;;:::i;:::-;:69;;;;:::i;:::-;17027:8;:80:::0;17128:13:::1;:11;:13::i;:::-;16684: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;9837:1211::-;-1:-1:-1;;;;;9955:21:0;;9929:4;9955:21;;;:13;:21;;;;;;;;9954:22;:51;;;;-1:-1:-1;;;;;;9981:24:0;;;;;;:13;:24;;;;;;;;9980:25;9954:51;9946:83;;;;-1:-1:-1;;;9946:83:0;;18074:2:1;9946:83:0;;;18056:21:1;18113:2;18093:18;;;18086:30;-1:-1:-1;;;18132:18:1;;;18125:49;18191:18;;9946:83:0;17872:343:1;9946:83:0;10045:6;;;;10042:63;;;10061:41;10076:6;10084:9;10095:6;10061:14;:41::i;:::-;10054:48;;;;10042:63;-1:-1:-1;;;;;10121:22:0;;;;;;:14;:22;;;;;;;;10120:23;:53;;;;-1:-1:-1;;;;;;10148:25:0;;;;;;:14;:25;;;;;;;;10147:26;10120:53;10117:127;;;10197:11;;-1:-1:-1;;;10197:11:0;;;;10189:43;;;;-1:-1:-1;;;10189:43:0;;18422:2:1;10189:43:0;;;18404:21:1;18461:2;18441:18;;;18434:30;-1:-1:-1;;;18480:18:1;;;18473:50;18540:18;;10189:43:0;18220:344:1;10189:43:0;-1:-1:-1;;;;;10261:22:0;;;;;;:14;:22;;;;;;;;10260:23;:55;;;;-1:-1:-1;;;;;;10288:27:0;;;;;;:19;:27;;;;;;;;10287:28;10260:55;:90;;;;-1:-1:-1;;;;;;10320:30:0;;;;;;:19;:30;;;;;;;;10319:31;10260:90;:111;;;;;10367:4;-1:-1:-1;;;;;10354:17:0;:9;-1:-1:-1;;;;;10354:17:0;;;10260:111;10256:230;;;10431:15;;-1:-1:-1;;;;;10397:20:0;;;;;;:9;:20;;;;;;:29;;10420:6;;10397:29;:::i;:::-;10396:50;;10388:86;;;;-1:-1:-1;;;10388:86:0;;18771:2:1;10388:86:0;;;18753:21:1;18810:2;18790:18;;;18783:30;18849:26;18829:18;;;18822:54;18893:18;;10388:86:0;18569:348:1;10388:86:0;10521:12;;10511:6;:22;;10510:51;;;-1:-1:-1;;;;;;10538:23:0;;;;;;:15;:23;;;;;;;;10510:51;:81;;;-1:-1:-1;;;;;;10565:26:0;;;;;;:15;:26;;;;;;;;10510:81;10502:115;;;;-1:-1:-1;;;10502:115:0;;19124:2:1;10502:115:0;;;19106:21:1;19163:2;19143:18;;;19136:30;-1:-1:-1;;;19182:18:1;;;19175:51;19243:18;;10502:115:0;18922:345:1;10502:115:0;10633:16;:14;:16::i;:::-;10630:35;;;10652:10;:8;:10::i;:::-;10697:53;;;;;;;;;;;-1:-1:-1;;;10697:53:0;;;;;;;;-1:-1:-1;;;;;10697:17:0;;-1:-1:-1;10697:17:0;;;:9;:17;;;;;;;;:53;;10719:6;;10697:21;:53::i;:::-;-1:-1:-1;;;;;10677:17:0;;;;;;:9;:17;;;;;;;;:73;;;;10789:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;10812:22:0;;;;;;:11;:22;;;;;;;;10789:45;10788:93;;10847:34;10855:6;10863;10871:9;10847:7;:34::i;:::-;10788:93;;;10838:6;10788:93;-1:-1:-1;;;;;10917:20:0;;;;;;:9;:20;;;;;;10763:118;;-1:-1:-1;10917:40:0;;10763:118;10917:24;:40::i;:::-;-1:-1:-1;;;;;10894:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10975:43;;;;;;-1:-1:-1;;;;;;;;;;;10975:43:0;;;11003:14;2962:25:1;;2950:2;2935:18;;2816:177;10975:43:0;;;;;;;;-1:-1:-1;11036:4:0;;9837:1211;-1:-1:-1;;;;9837:1211:0:o;11060:330::-;11190:53;;;;;;;;;;;-1:-1:-1;;;11190:53:0;;;;;;;;-1:-1:-1;;;;;11190:17:0;;11153:4;11190:17;;;:9;:17;;;;;;;:53;;11212:6;;11190:21;:53::i;:::-;-1:-1:-1;;;;;11170:17:0;;;;;;;:9;:17;;;;;;:73;;;;11277:20;;;;;;;:32;;11302:6;11277:24;:32::i;:::-;-1:-1:-1;;;;;11254:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11325:35;;;;;;-1:-1:-1;;;;;;;;;;;11325:35:0;;;11353:6;2962:25:1;;2950:2;2935:18;;2816:177;11325:35:0;;;;;;;;-1:-1:-1;11378:4:0;11060:330;;;;;:::o;16194:249::-;16244:191;16261:36;16293:3;16261:27;16274:13;;16261:8;;:12;;:27;;;;:::i;:::-;:31;;:36::i;:::-;16319:37;16352:3;16319:28;16332:14;;16319:8;;:12;;:28;;;;:::i;:37::-;16378:41;16415:3;16378:32;16391:18;;16378:8;;:12;;:32;;;;:::i;:41::-;16244:191;;;19492:4:1;19480:17;;;19462:36;;19534:17;;;19529:2;19514:18;;19507:45;19588:17;;19568:18;;;19561:45;;;;19450:2;19435:18;16244:191:0;19272:340:1;12445:197:0;12494:4;12518:10;-1:-1:-1;;;;;12532:4:0;12518:18;;;;;:38;;-1:-1:-1;12550:6:0;;;;12549:7;12518:38;:62;;;;-1:-1:-1;12569:11:0;;-1:-1:-1;;;12569:11:0;;;;12518:62;:116;;;;-1:-1:-1;;12621:13:0;;12611:4;12593:24;;;;:9;:24;;;;;;:41;;;12445:197::o;13498:1578::-;6704:6;:13;;-1:-1:-1;;6704:13:0;6713:4;6704:13;;;13582:7:::1;::::0;13571:8:::1;::::0;6704:6;;13571:18:::1;::::0;::::1;:::i;:::-;13549:40:::0;-1:-1:-1;13602:23:0::1;13660:15;13549:40:::0;13674:1:::1;13660:15;:::i;:::-;13645:12;;13629:13;;:28;;;;:::i;:::-;13628:48;;;;:::i;:::-;13602:74;;13687:20;13726:15;13710:13;;:31;;;;:::i;:::-;13778:16;::::0;;13792:1:::1;13778:16:::0;;;;;::::1;::::0;;13687:54;;-1:-1:-1;13754:21:0::1;::::0;13778:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13778:16:0::1;13754:40;;13823:4;13805;13810:1;13805:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;13805:23:0::1;;;-1:-1:-1::0;;;;;13805:23:0::1;;;::::0;::::1;13849:4;13839;13844:1;13839:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13839:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;13866:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;13866:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;13938:12;;13866:6:::1;::::0;13981:4;;14008::::1;::::0;14028:15:::1;::::0;13866:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;14150:12:0::1;::::0;14087:21:::1;::::0;-1:-1:-1;14150:16:0::1;::::0;-1:-1:-1;14165:1:0::1;::::0;14150:16:::1;:::i;:::-;14135:32;::::0;:11;:32:::1;:::i;:::-;14121:46:::0;-1:-1:-1;14188:26:0::1;14247:15;14121:46:::0;14261:1:::1;14247:15;:::i;:::-;14230:12;::::0;14218:24:::1;::::0;:9;:24:::1;:::i;:::-;14217:46;;;;:::i;:::-;14188:75;;14274:26;14332:11;14316:12;;14304:9;:24;;;;:::i;:::-;14303:40;;;;:::i;:::-;14274:69;;14354:21;14402:11;14391:7;;14379:9;:19;;;;:::i;:::-;14378:35;;;;:::i;:::-;14354:59;;14424:28;14486:11;14468:14;;14456:9;:26;;;;:::i;:::-;14455:42;;;;:::i;:::-;14518:20;::::0;14510:58:::1;::::0;14424:73;;-1:-1:-1;;;;;;14518:20:0::1;::::0;14510:58;::::1;;;::::0;14549:18;;14518:20:::1;14510:58:::0;14518:20;14510:58;14549:18;14518:20;14510:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14587:15:0::1;::::0;14579:48:::1;::::0;-1:-1:-1;;;;;14587:15:0;;::::1;::::0;14579:48;::::1;;;::::0;14613:13;;14587:15:::1;14579:48:::0;14587:15;14579:48;14613:13;14587:15;14579:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14646:22:0::1;::::0;14638:62:::1;::::0;-1:-1:-1;;;;;14646:22:0;;::::1;::::0;14638:62;::::1;;;::::0;14679:20;;14646:22:::1;14638:62:::0;14646:22;14638:62;14679:20;14646:22;14638:62;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14718:19:0;;14715:354:::1;;14753:6;::::0;:236:::1;::::0;-1:-1:-1;;;14753:236:0;;14829:4:::1;14753:236;::::0;::::1;20943:34:1::0;;;20993:18;;;20986:34;;;14753:6:0::1;21036:18:1::0;;;21029:34;;;21079:18;;;21072:34;21122:19;;;21115:44;14959:15:0::1;21175:19:1::0;;;21168:35;-1:-1:-1;;;;;14753:6:0;;::::1;::::0;:22:::1;::::0;14783:18;;20877:19:1;;14753:236:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;15009:48:0::1;::::0;;21699:25:1;;;21755:2;21740:18;;21733:34;;;15009:48:0::1;::::0;-1:-1:-1;21672:18:1;15009:48:0::1;;;;;;;14715:354;-1:-1:-1::0;;6722:6:0;:14;;-1:-1:-1;;6722:14:0;;;-1:-1:-1;;;;;;;13498:1578:0:o;11398:1039::-;11484:7;11507:11;;;:28;;-1:-1:-1;11522:8:0;;:13;11507:28;11504:72;;;-1:-1:-1;11558:6:0;11551:13;;11504:72;11609:18;;-1:-1:-1;;;;;11656:4:0;11643:17;;;;;;11640:154;;-1:-1:-1;11690:14:0;;11640:154;;;11735:4;-1:-1:-1;;;;;11725:14:0;:6;-1:-1:-1;;;;;11725:14:0;;11722:72;;-1:-1:-1;11769:13:0;;11722:72;11806:17;11826:62;11867:20;6209:4;11884:3;11867:20;:::i;:::-;11826:36;11851:10;11826:20;11837:8;;11826:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:62::-;11806:82;;11899:18;11920:36;11947:8;;11920:22;11934:7;;11920:9;:13;;:22;;;;:::i;:36::-;11899:57;-1:-1:-1;11967:22:0;11992:25;:9;11899:57;11992:13;:25::i;:::-;11967:50;-1:-1:-1;12033:18:0;;12030:187;;12112:4;12094:24;;;;:9;:24;;;;;;:44;;12123:14;12094:28;:44::i;:::-;12085:4;12067:24;;;;:9;:24;;;;;;;:71;;;;12158:47;;-1:-1:-1;;;;;12158:47:0;;;-1:-1:-1;;;;;;;;;;;12158:47:0;;;12190:14;2962:25:1;;2950:2;2935:18;;2816:177;12158:47:0;;;;;;;;12030:187;12240:14;;12237:152;;5023:42;12288:15;;:9;:15;;;;:31;;12308:10;12288:19;:31::i;:::-;5023:42;12270:15;;;;:9;:15;;;:49;;;;:15;12339:34;-1:-1:-1;;;;;12339:34:0;;;-1:-1:-1;;;;;;;;;;;12339:34:0;;;12362:10;2962:25:1;;2950:2;2935:18;;2816:177;12339:34:0;;;;;;;;12237:152;12408:21;:6;12419:9;12408:10;:21::i;:::-;12401:28;11398:1039;-1:-1:-1;;;;;;;;11398: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;;21980:2:1;199:46:0;;;21962:21:1;22019:2;21999:18;;;21992:30;22058:29;22038:18;;;22031:57;22105:18;;199:46:0;21778: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;;22336:2:1;785:56:0;;;22318:21:1;22375:2;22355:18;;;22348:30;22414:34;22394:18;;;22387:62;-1:-1:-1;;;22465:18:1;;;22458:31;22506:19;;785:56:0;22134: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;1213:127::-;1274:10;1269:3;1265:20;1262:1;1255:31;1305:4;1302:1;1295:15;1329:4;1326:1;1319:15;1345:131;-1:-1:-1;;;;;1420:31:1;;1410:42;;1400:70;;1466:1;1463;1456:12;1481:134;1549:20;;1578:31;1549:20;1578:31;:::i;1620:1191::-;1710:6;1718;1771:2;1759:9;1750:7;1746:23;1742:32;1739:52;;;1787:1;1784;1777:12;1739:52;1827:9;1814:23;1856:18;1897:2;1889:6;1886:14;1883:34;;;1913:1;1910;1903:12;1883:34;1951:6;1940:9;1936:22;1926:32;;1996:7;1989:4;1985:2;1981:13;1977:27;1967:55;;2018:1;2015;2008:12;1967:55;2054:2;2041:16;2076:4;2099:2;2095;2092:10;2089:36;;;2105:18;;:::i;:::-;2151:2;2148:1;2144:10;2183:2;2177:9;2246:2;2242:7;2237:2;2233;2229:11;2225:25;2217:6;2213:38;2301:6;2289:10;2286:22;2281:2;2269:10;2266:18;2263:46;2260:72;;;2312:18;;:::i;:::-;2348:2;2341:22;2398:18;;;2432:15;;;;-1:-1:-1;2474:11:1;;;2470:20;;;2502:19;;;2499:39;;;2534:1;2531;2524:12;2499:39;2558:11;;;;2578:148;2594:6;2589:3;2586:15;2578:148;;;2660:23;2679:3;2660:23;:::i;:::-;2648:36;;2611:12;;;;2704;;;;2578:148;;;2745:6;-1:-1:-1;2770:35:1;;-1:-1:-1;2786:18:1;;;2770:35;:::i;:::-;2760:45;;;;;;1620:1191;;;;;:::o;2998:548::-;3110:4;3139:2;3168;3157:9;3150:21;3200:6;3194:13;3243:6;3238:2;3227:9;3223:18;3216:34;3268:1;3278:140;3292:6;3289:1;3286:13;3278:140;;;3387:14;;;3383:23;;3377:30;3353:17;;;3372:2;3349:26;3342:66;3307:10;;3278:140;;;3282:3;3467:1;3462:2;3453:6;3442:9;3438:22;3434:31;3427:42;3537:2;3530;3526:7;3521:2;3513:6;3509:15;3505:29;3494:9;3490:45;3486:54;3478:62;;;;2998:548;;;;:::o;3551:180::-;3610:6;3663:2;3651:9;3642:7;3638:23;3634:32;3631:52;;;3679:1;3676;3669:12;3631:52;-1:-1:-1;3702:23:1;;3551:180;-1:-1:-1;3551:180:1:o;3736:315::-;3804:6;3812;3865:2;3853:9;3844:7;3840:23;3836:32;3833:52;;;3881:1;3878;3871:12;3833:52;3920:9;3907:23;3939:31;3964:5;3939:31;:::i;:::-;3989:5;4041:2;4026:18;;;;4013:32;;-1:-1:-1;;;3736:315:1:o;4248:456::-;4325:6;4333;4341;4394:2;4382:9;4373:7;4369:23;4365:32;4362:52;;;4410:1;4407;4400:12;4362:52;4449:9;4436:23;4468:31;4493:5;4468:31;:::i;:::-;4518:5;-1:-1:-1;4575:2:1;4560:18;;4547:32;4588:33;4547:32;4588:33;:::i;:::-;4248:456;;4640:7;;-1:-1:-1;;;4694:2:1;4679:18;;;;4666:32;;4248:456::o;4709:773::-;4831:6;4839;4847;4855;4908:2;4896:9;4887:7;4883:23;4879:32;4876:52;;;4924:1;4921;4914:12;4876:52;4964:9;4951:23;4993:18;5034:2;5026:6;5023:14;5020:34;;;5050:1;5047;5040:12;5020:34;5089:70;5151:7;5142:6;5131:9;5127:22;5089:70;:::i;:::-;5178:8;;-1:-1:-1;5063:96:1;-1:-1:-1;5266:2:1;5251:18;;5238:32;;-1:-1:-1;5282:16:1;;;5279:36;;;5311:1;5308;5301:12;5279:36;;5350:72;5414:7;5403:8;5392:9;5388:24;5350:72;:::i;:::-;4709:773;;;;-1:-1:-1;5441:8:1;-1:-1:-1;;;;4709:773:1:o;5487:247::-;5546:6;5599:2;5587:9;5578:7;5574:23;5570:32;5567:52;;;5615:1;5612;5605:12;5567:52;5654:9;5641:23;5673:31;5698:5;5673:31;:::i;6136:382::-;6201:6;6209;6262:2;6250:9;6241:7;6237:23;6233:32;6230:52;;;6278:1;6275;6268:12;6230:52;6317:9;6304:23;6336:31;6361:5;6336:31;:::i;:::-;6386:5;-1:-1:-1;6443:2:1;6428:18;;6415:32;6456:30;6415:32;6456:30;:::i;:::-;6505:7;6495:17;;;6136:382;;;;;:::o;6523:316::-;6600:6;6608;6616;6669:2;6657:9;6648:7;6644:23;6640:32;6637:52;;;6685:1;6682;6675:12;6637:52;-1:-1:-1;;6708:23:1;;;6778:2;6763:18;;6750:32;;-1:-1:-1;6829:2:1;6814:18;;;6801:32;;6523:316;-1:-1:-1;6523:316:1:o;6844:529::-;6921:6;6929;6937;6990:2;6978:9;6969:7;6965:23;6961:32;6958:52;;;7006:1;7003;6996:12;6958:52;7045:9;7032:23;7064:31;7089:5;7064:31;:::i;:::-;7114:5;-1:-1:-1;7171:2:1;7156:18;;7143:32;7184:33;7143:32;7184:33;:::i;:::-;7236:7;-1:-1:-1;7295:2:1;7280:18;;7267:32;7308:33;7267:32;7308:33;:::i;7378:388::-;7446:6;7454;7507:2;7495:9;7486:7;7482:23;7478:32;7475:52;;;7523:1;7520;7513:12;7475:52;7562:9;7549:23;7581:31;7606:5;7581:31;:::i;:::-;7631:5;-1:-1:-1;7688:2:1;7673:18;;7660:32;7701:33;7660:32;7701:33;:::i;7771:309::-;7836:6;7844;7897:2;7885:9;7876:7;7872:23;7868:32;7865:52;;;7913:1;7910;7903:12;7865:52;7952:9;7939:23;7971:28;7993:5;7971:28;:::i;8571:454::-;8666:6;8674;8682;8690;8698;8751:3;8739:9;8730:7;8726:23;8722:33;8719:53;;;8768:1;8765;8758:12;8719:53;-1:-1:-1;;8791:23:1;;;8861:2;8846:18;;8833:32;;-1:-1:-1;8912:2:1;8897:18;;8884:32;;8963:2;8948:18;;8935:32;;-1:-1:-1;9014:3:1;8999:19;8986:33;;-1:-1:-1;8571:454:1;-1:-1:-1;8571:454:1:o;9030:335::-;9232:2;9214:21;;;9271:2;9251:18;;;9244:30;-1:-1:-1;;;9305:2:1;9290:18;;9283:41;9356:2;9341:18;;9030:335::o;9370:401::-;9572:2;9554:21;;;9611:2;9591:18;;;9584:30;9650:34;9645:2;9630:18;;9623:62;-1:-1:-1;;;9716:2:1;9701:18;;9694:35;9761:3;9746:19;;9370:401::o;9776:127::-;9837:10;9832:3;9828:20;9825:1;9818:31;9868:4;9865:1;9858:15;9892:4;9889:1;9882:15;9908:284;-1:-1:-1;;;;;10094:32:1;;;;10076:51;;10170:14;10163:22;10158:2;10143:18;;10136:50;10064:2;10049:18;;9908:284::o;10197:127::-;10258:10;10253:3;10249:20;10246:1;10239:31;10289:4;10286:1;10279:15;10313:4;10310:1;10303:15;10329:135;10368:3;10389:17;;;10386:43;;10409:18;;:::i;:::-;-1:-1:-1;10456:1:1;10445:13;;10329:135::o;10469:329::-;10671:2;10653:21;;;10710:1;10690:18;;;10683:29;-1:-1:-1;;;10743:2:1;10728:18;;10721:36;10789:2;10774:18;;10469:329::o;11208:422::-;11297:1;11340:5;11297:1;11354:270;11375:7;11365:8;11362:21;11354:270;;;11434:4;11430:1;11426:6;11422:17;11416:4;11413:27;11410:53;;;11443:18;;:::i;:::-;11493:7;11483:8;11479:22;11476:55;;;11513:16;;;;11476:55;11592:22;;;;11552:15;;;;11354:270;;;11358:3;11208:422;;;;;:::o;11635:806::-;11684:5;11714:8;11704:80;;-1:-1:-1;11755:1:1;11769:5;;11704:80;11803:4;11793:76;;-1:-1:-1;11840:1:1;11854:5;;11793:76;11885:4;11903:1;11898:59;;;;11971:1;11966:130;;;;11878:218;;11898:59;11928:1;11919:10;;11942:5;;;11966:130;12003:3;11993:8;11990:17;11987:43;;;12010:18;;:::i;:::-;-1:-1:-1;;12066:1:1;12052:16;;12081:5;;11878:218;;12180:2;12170:8;12167:16;12161:3;12155:4;12152:13;12148:36;12142:2;12132:8;12129:16;12124:2;12118:4;12115:12;12111:35;12108:77;12105:159;;;-1:-1:-1;12217:19:1;;;12249:5;;12105:159;12296:34;12321:8;12315:4;12296:34;:::i;:::-;12366:6;12362:1;12358:6;12354:19;12345:7;12342:32;12339:58;;;12377:18;;:::i;:::-;12415:20;;11635:806;-1:-1:-1;;;11635:806:1:o;12446:140::-;12504:5;12533:47;12574:4;12564:8;12560:19;12554:4;12533:47;:::i;12591:168::-;12631:7;12697:1;12693;12689:6;12685:14;12682:1;12679:21;12674:1;12667:9;12660:17;12656:45;12653:71;;;12704:18;;:::i;:::-;-1:-1:-1;12744:9:1;;12591:168::o;12764:217::-;12804:1;12830;12820:132;;12874:10;12869:3;12865:20;12862:1;12855:31;12909:4;12906:1;12899:15;12937:4;12934:1;12927:15;12820:132;-1:-1:-1;12966:9:1;;12764:217::o;13731:125::-;13796:9;;;13817:10;;;13814:36;;;13830:18;;:::i;14217:128::-;14284:9;;;14305:11;;;14302:37;;;14319:18;;:::i;14350:184::-;14420:6;14473:2;14461:9;14452:7;14448:23;14444:32;14441:52;;;14489:1;14486;14479:12;14441:52;-1:-1:-1;14512:16:1;;14350:184;-1:-1:-1;14350:184:1:o;14818:245::-;14885:6;14938:2;14926:9;14917:7;14913:23;14909:32;14906:52;;;14954:1;14951;14944:12;14906:52;14986:9;14980:16;15005:28;15027:5;15005:28;:::i;19617:980::-;19879:4;19927:3;19916:9;19912:19;19958:6;19947:9;19940:25;19984:2;20022:6;20017:2;20006:9;20002:18;19995:34;20065:3;20060:2;20049:9;20045:18;20038:31;20089:6;20124;20118:13;20155:6;20147;20140:22;20193:3;20182:9;20178:19;20171:26;;20232:2;20224:6;20220:15;20206:29;;20253:1;20263:195;20277:6;20274:1;20271:13;20263:195;;;20342:13;;-1:-1:-1;;;;;20338:39:1;20326:52;;20433:15;;;;20398:12;;;;20374:1;20292:9;20263:195;;;-1:-1:-1;;;;;;;20514:32:1;;;;20509:2;20494:18;;20487:60;-1:-1:-1;;;20578:3:1;20563:19;20556:35;20475:3;19617:980;-1:-1:-1;;;19617:980:1:o;21214:306::-;21302:6;21310;21318;21371:2;21359:9;21350:7;21346:23;21342:32;21339:52;;;21387:1;21384;21377:12;21339:52;21416:9;21410:16;21400:26;;21466:2;21455:9;21451:18;21445:25;21435:35;;21510:2;21499:9;21495:18;21489:25;21479:35;;21214:306;;;;;:::o

Swarm Source

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