ETH Price: $3,285.04 (-0.44%)

Token

UXOS AI (UXOS)
 

Overview

Max Total Supply

1,000,000,000 UXOS

Holders

391

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 UXOS

Value
$0.00
0xbB0a3b7490b629C91CE8eb86ca26E72450a6CDa4
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

UXOS AI is a Web 3-based marketing firm. Powered by cutting-edge AI technology and our proprietary UXOS dashboard, we go undetected from any AI or bot detector.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
UXOS

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-22
*/

// SPDX-License-Identifier: MIT

//  ____ _______  ___________    _________              _____  .___ 
// |    |   \   \/  /\_      \  /   _____/             /  _  \ |   |
// |    |   /\     /  /   |   \ \_____  \    ______   /  /_\  \|   |
// |    |  / /     \ /    |    \/        \  /_____/  /    |    \   |
// |______/ /___/\  \\_______  /_______  /           \____|__  /___|
//                \_/        \/        \/                    \/     
// 
// 
// $UXOS is a multi-tier ecosystem driven token that is heavily utility based.
// It's utilities comprise of cutting edge AI integrated marketing bots.
// Our AI accounts are based across multiple social media platforms.
// These AI accounts are capable of targeting a specific demographic of investor, to
// yield the best results for the project and build a solid, organic community without
// lifting a finger. All whilst acting like a human. 
// We are creating an unstopable force.. influencial beyond anything ever seen before..
//
// Think of the worlds biggest shilling army. All automated. Never sleeping, never taking
// a break.. Never stopping.. We're building it. (and it works).
//
// www.uxos-ai.com
//
// t.me/UXOStoken
//
// The future is now.

pragma solidity 0.8.13;

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

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}


abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


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


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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

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

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

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


contract UXOS is IERC20, Ownable {

    address private WETH;

    string private constant _name = "UXOS AI";
    string private constant _symbol = "UXOS";
    uint8 private constant _decimals = 9;
    
    uint256 _totalSupply = 1 * 10**9 * (10 ** _decimals);
    uint256 maxWallet = _totalSupply / 50; // 2%
    uint256 maxTransaction = _totalSupply / 100; // 1%
    uint256 public swapThreshold = _totalSupply / 1000; // Starting at 0.1%

    uint256 public maxBuy = _totalSupply / 200; // 0.5%
    bool public maxBuyEnabled = true;

    mapping (address => uint256) private _balances;
    mapping (address => mapping(address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isWalletExempt;
    mapping (address => bool) public isTxExempt;

    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    uint[3] taxesCollected = [0, 0, 0];

    uint256 public launchedAt;
    address public liquidityPool = DEAD;

    // All fees are in basis points (100 = 1%)
    uint256 private buyMkt = 200;
    uint256 private sellMkt = 200;
    uint256 private buyLP = 200;
    uint256 private sellLP = 200;
    uint256 private buyDev = 100;
    uint256 private sellDev = 100;

    uint256 _baseBuyFee = buyMkt + buyLP + buyDev;
    uint256 _baseSellFee = sellMkt + sellLP + sellDev;

    IDEXRouter public router;
    address public pair;
    address public factory;
    address public marketingWallet = payable(0x01859e5D0541Ca170E0Ff80EF8EdaE633528BA9f);
    address public devWallet = payable(0xDc0bd2dA5CACBd2d8622378bA4fAe1ACC210E290);

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public tradingOpen = false;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

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

        isFeeExempt[owner()] = true;
        isFeeExempt[marketingWallet] = true;
        isFeeExempt[address(this)] = true;
        isWalletExempt[owner()] = true;
        isWalletExempt[marketingWallet] = true;
        isWalletExempt[DEAD] = true;
        isTxExempt[owner()] = true;
        isTxExempt[marketingWallet] = true;
        isTxExempt[DEAD] = true;

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

    receive() external payable { }

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

    function changeIsWalletExempt(address holder, bool exempt) external onlyOwner {
        isWalletExempt[holder] = exempt;
    }

    function changeIsTxExempt(address holder, bool exempt) external onlyOwner {
        isTxExempt[holder] = exempt;
    }

    function launchSequence(uint hold) external onlyOwner {
	    require(launchedAt == 0, "Already launched");
        launchedAt = block.number + hold;
        tradingOpen = true;
    }

    function toggleTrade(bool _switch) external onlyOwner {
	    tradingOpen = _switch;
    }

    function toggleMaxBuy(bool _switch) external onlyOwner {
	    maxBuyEnabled = _switch;
    }

    function changeMaxBuyAmount(uint _amt) external onlyOwner {
	    require(_amt >= (_totalSupply / 200), "Must be at least 0.5%");
	    maxBuy = _amt;
    }

    function changeMaxWallet(uint _amt) external onlyOwner {
        require(_amt >= (_totalSupply / 50), "Must be at least 2%");
        maxWallet = _amt;
    }

    function changeMaxTransaction(uint _amt) external onlyOwner {
        require(_amt >= (_totalSupply / 100), "Must be at least 1%");
        maxTransaction = _amt;
    }

    function setMarketingWallet(address payable newMarketingWallet) external onlyOwner {
        marketingWallet = payable(newMarketingWallet);
    }

    function setDevWallet(address payable newDevWallet) external onlyOwner {
	    devWallet = payable(newDevWallet);
    }

    function setLiquidityPool(address newLiquidityPool) external onlyOwner {
        liquidityPool = newLiquidityPool;
    }

    function changeSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit) external onlyOwner {
        swapAndLiquifyEnabled  = enableSwapBack;
        swapThreshold = newSwapBackLimit;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO);
    }

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

    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 addTaxCollected(uint mkt, uint lp, uint dev) internal {
        taxesCollected[0] += mkt;
        taxesCollected[1] += lp;
	    taxesCollected[2] += dev;
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transfer(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] - amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function _transfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(sender != address(0), "BEP20: transfer from the zero address");
        require(recipient != address(0), "BEP20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount < maxTransaction || isTxExempt[sender], "Exceeds Transaction Limit");

        if(recipient != pair) {
            uint256 recipientBalance = _balances[recipient];
            require(recipientBalance + amount < maxWallet || isWalletExempt[recipient]);
        }

	    if(sender == pair && maxBuyEnabled) { require(amount <= maxBuy || isTxExempt[recipient], "Exceeds Max Buy"); }
        if(sender != owner() && recipient != owner()) { require(tradingOpen || isFeeExempt[sender], "Trading not active"); }
        if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); }
    	if(sender != pair && recipient != pair) { return _basicTransfer(sender, recipient, amount); }
        if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); }
    	if(sender == pair && block.number < launchedAt) { recipient = DEAD; }

        _balances[sender] = _balances[sender] - amount;
        
        uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount;

        _balances[recipient] = _balances[recipient] + finalAmount;

        emit Transfer(sender, recipient, finalAmount);
        return true;
    }  

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 mktTaxB = amount * buyMkt / 10000;
	    uint256 mktTaxS = amount * sellMkt / 10000;
        uint256 lpTaxB = amount * buyLP / 10000;
	    uint256 lpTaxS = amount * sellLP / 10000;
	    uint256 devB = amount * buyDev / 10000;
	    uint256 devS = amount * sellDev / 10000;
        uint256 taxToGet;

	    if(sender == pair && recipient != address(pair) && !isFeeExempt[recipient]) {
            taxToGet = mktTaxB + lpTaxB + devB;
	        addTaxCollected(mktTaxB, lpTaxB, devB);
	    }

	    if(!inSwapAndLiquify && sender != pair && tradingOpen) {
	        taxToGet = mktTaxS + lpTaxS + devS;
	        addTaxCollected(mktTaxS, lpTaxS, devS);
	    }

        _balances[address(this)] = _balances[address(this)] + taxToGet;
        emit Transfer(sender, address(this), taxToGet);

        return amount - taxToGet;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }  

    function updateBuyFees(uint256 newBuyMktFee, uint256 newBuyLpFee, uint256 newBuyDev) public onlyOwner {
	    require(newBuyMktFee + newBuyLpFee + newBuyDev <= 1000, "Fees Too High");
	    buyMkt = newBuyMktFee;
	    buyLP = newBuyLpFee;
        buyDev = newBuyDev;
    }
    
    function updateSellFees(uint256 newSellMktFee,uint256 newSellLpFee, uint256 newSellDev) public onlyOwner {
	    require(newSellMktFee + newSellLpFee + newSellDev <= 1000, "Fees Too High");
	    sellMkt = newSellMktFee;
	    sellLP = newSellLpFee;
	    sellDev = newSellDev;
    }

    function swapTokensForETH(uint256 tokenAmount) private {

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

        approve(address(this), tokenAmount);

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

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidityPool,
            block.timestamp
        );
    }

    function swapBack() internal lockTheSwap {
    
        uint256 tokenBalance = _balances[address(this)];
        uint256 _totalCollected = taxesCollected[0] + taxesCollected[1] + taxesCollected[2];
        uint256 mktShare = taxesCollected[0];
        uint256 lpShare = taxesCollected[1];
	    uint256 devShare = taxesCollected[2];
        uint256 tokensForLiquidity = lpShare / 2;  
        uint256 amountToSwap = tokenBalance - tokensForLiquidity;

        swapTokensForETH(amountToSwap);

        uint256 totalETHBalance = address(this).balance;
        uint256 ETHForMkt = totalETHBalance * mktShare / _totalCollected;
        uint256 ETHForLiquidity = totalETHBalance * lpShare / _totalCollected / 2;
	    uint256 ETHForDev = totalETHBalance * devShare/ _totalCollected;
      
        if (totalETHBalance > 0) {
            payable(marketingWallet).transfer(ETHForMkt);
        }
  
        if (tokensForLiquidity > 0) {
            addLiquidity(tokensForLiquidity, ETHForLiquidity);
        }
	
	    if (ETHForDev > 0) {
	        payable(devWallet).transfer(ETHForDev);
        }

	    delete taxesCollected;
    }

    function manualSwapBack() external onlyOwner {
        swapBack();
    }

    function clearStuckETH() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        if(contractETHBalance > 0) { 
            payable(marketingWallet).transfer(contractETHBalance);
    	}
    }

    function clearStuckTokens(address contractAddress) external onlyOwner {
        IERC20 erc20Token = IERC20(contractAddress);
        uint256 balance = erc20Token.balanceOf(address(this));
        erc20Token.transfer(marketingWallet, balance);
    }

    function massDistributeTokens(address[] calldata _airdropAddresses, uint amtPerAddress) external onlyOwner {
	    for (uint i = 0; i < _airdropAddresses.length; i++) {
	        IERC20(address(this)).transfer(_airdropAddresses[i], amtPerAddress);
        }
    }

    function distributeTokensByAmount(address[] calldata _airdropAddresses, uint[] calldata _airdropAmounts) external onlyOwner {
	    for (uint i = 0; i < _airdropAddresses.length; i++) {
	        IERC20(address(this)).transfer(_airdropAddresses[i], _airdropAmounts[i]);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsTxExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsWalletExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amt","type":"uint256"}],"name":"changeMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amt","type":"uint256"}],"name":"changeMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amt","type":"uint256"}],"name":"changeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_airdropAddresses","type":"address[]"},{"internalType":"uint256[]","name":"_airdropAmounts","type":"uint256[]"}],"name":"distributeTokensByAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"hold","type":"uint256"}],"name":"launchSequence","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_airdropAddresses","type":"address[]"},{"internalType":"uint256","name":"amtPerAddress","type":"uint256"}],"name":"massDistributeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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 payable","name":"newDevWallet","type":"address"}],"name":"setDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityPool","type":"address"}],"name":"setLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMarketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_switch","type":"bool"}],"name":"toggleMaxBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_switch","type":"bool"}],"name":"toggleTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyMktFee","type":"uint256"},{"internalType":"uint256","name":"newBuyLpFee","type":"uint256"},{"internalType":"uint256","name":"newBuyDev","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellMktFee","type":"uint256"},{"internalType":"uint256","name":"newSellLpFee","type":"uint256"},{"internalType":"uint256","name":"newSellDev","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a62000014919062000e49565b633b9aca0062000025919062000e9a565b600255603260025462000039919062000f2a565b60035560646002546200004d919062000f2a565b6004556103e860025462000062919062000f2a565b60055560c860025462000076919062000f2a565b6006556001600760006101000a81548160ff02191690831515021790555061dead600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060600160405280600060ff168152602001600060ff168152602001600060ff16815250600f9060036200015292919062000c46565b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c860145560c860155560c860165560c860175560646018556064601955601854601654601454620001e9919062000f62565b620001f5919062000f62565b601a556019546017546015546200020d919062000f62565b62000219919062000f62565b601b557301859e5d0541ca170e0ff80ef8edae633528ba9f601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073dc0bd2da5cacbd2d8622378ba4fae1acc210e290602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001602060156101000a81548160ff0219169083151502179055506000602060166101000a81548160ff0219169083151502179055503480156200030957600080fd5b506200032a6200031e62000b5160201b60201c565b62000b5960201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000413919062001029565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e7919062001029565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401620005459291906200106c565b6020604051808303816000875af115801562000565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200058b919062001029565b601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a6000620006a462000c1d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000620007dd62000c1d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60006200093862000c1d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506002546008600062000a9462000c1d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000ae262000c1d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60025460405162000b439190620010aa565b60405180910390a3620010c7565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b826003810192821562000c7d579160200282015b8281111562000c7c578251829060ff1690559160200191906001019062000c5a565b5b50905062000c8c919062000c90565b5090565b5b8082111562000cab57600081600090555060010162000c91565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000d3d5780860481111562000d155762000d1462000caf565b5b600185161562000d255780820291505b808102905062000d358562000cde565b945062000cf5565b94509492505050565b60008262000d58576001905062000e2b565b8162000d68576000905062000e2b565b816001811462000d81576002811462000d8c5762000dc2565b600191505062000e2b565b60ff84111562000da15762000da062000caf565b5b8360020a91508482111562000dbb5762000dba62000caf565b5b5062000e2b565b5060208310610133831016604e8410600b841016171562000dfc5782820a90508381111562000df65762000df562000caf565b5b62000e2b565b62000e0b848484600162000ceb565b9250905081840481111562000e255762000e2462000caf565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000e568262000e32565b915062000e638362000e3c565b925062000e927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000d46565b905092915050565b600062000ea78262000e32565b915062000eb48362000e32565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ef05762000eef62000caf565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000f378262000e32565b915062000f448362000e32565b92508262000f575762000f5662000efb565b5b828204905092915050565b600062000f6f8262000e32565b915062000f7c8362000e32565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000fb45762000fb362000caf565b5b828201905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ff18262000fc4565b9050919050565b620010038162000fe4565b81146200100f57600080fd5b50565b600081519050620010238162000ff8565b92915050565b60006020828403121562001042576200104162000fbf565b5b6000620010528482850162001012565b91505092915050565b620010668162000fe4565b82525050565b60006040820190506200108360008301856200105b565b6200109260208301846200105b565b9392505050565b620010a48162000e32565b82525050565b6000602082019050620010c1600083018462001099565b92915050565b6144a580620010d76000396000f3fe6080604052600436106103035760003560e01c806375f0a87411610190578063c17b5b8c116100dc578063d726b22111610095578063f887ea401161006f578063f887ea4014610b75578063f88de0c314610ba0578063f8ae277d14610bb7578063ffb54a9914610be05761030a565b8063d726b22114610ae4578063dd62ed3e14610b0f578063f2fde38b14610b4c5761030a565b8063c17b5b8c146109d6578063c45a0155146109ff578063c821fcb814610a2a578063cd73ab0214610a67578063d073a01f14610a90578063d120c8cb14610abb5761030a565b806395d89b4111610149578063a9059cbb11610123578063a9059cbb14610908578063af06a3f614610945578063bf56b3711461096e578063bf8e28b9146109995761030a565b806395d89b4114610889578063a3a2e89e146108b4578063a8aa1b31146108dd5761030a565b806375f0a8741461078b5780638095d564146107b657806388c5440f146107df578063893d20e8146108085780638da5cb5b146108335780638ea5220f1461085e5761030a565b8063346cc7be1161024f578063571ac8b01161020857806366eb3785116101e257806366eb3785146106f557806370a082311461070c57806370db69d614610749578063715018a6146107745761030a565b8063571ac8b0146106645780635d098b38146106a1578063665a11ca146106ca5761030a565b8063346cc7be1461055657806334bfe0df1461057f5780633dab5269146105a85780633f4218e0146105d1578063417fd2d61461060e5780634a74bb02146106395761030a565b80630b006d60116102bc5780631f53ac02116102965780631f53ac021461049a57806323b872dd146104c35780632b112e4914610500578063313ce5671461052b5761030a565b80630b006d601461041d57806318160ddd146104465780631d5cd545146104715761030a565b8063018770201461030f57806302affaf5146103385780630445b6671461036157806306fdde031461038c578063095ea7b3146103b75780630a37ac95146103f45761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b50610336600480360381019061033191906132c0565b610c0b565b005b34801561034457600080fd5b5061035f600480360381019061035a9190613325565b610c57565b005b34801561036d57600080fd5b50610376610cba565b604051610383919061337e565b60405180910390f35b34801561039857600080fd5b506103a1610cc0565b6040516103ae9190613432565b60405180910390f35b3480156103c357600080fd5b506103de60048036038101906103d99190613480565b610cfd565b6040516103eb91906134cf565b60405180910390f35b34801561040057600080fd5b5061041b60048036038101906104169190613325565b610def565b005b34801561042957600080fd5b50610444600480360381019061043f91906134ea565b610e52565b005b34801561045257600080fd5b5061045b610eb5565b604051610468919061337e565b60405180910390f35b34801561047d57600080fd5b50610498600480360381019061049391906134ea565b610ebf565b005b3480156104a657600080fd5b506104c160048036038101906104bc9190613555565b610f22565b005b3480156104cf57600080fd5b506104ea60048036038101906104e59190613582565b610f6e565b6040516104f791906134cf565b60405180910390f35b34801561050c57600080fd5b50610515611130565b604051610522919061337e565b60405180910390f35b34801561053757600080fd5b506105406111a4565b60405161054d91906135f1565b60405180910390f35b34801561056257600080fd5b5061057d600480360381019061057891906132c0565b6111ad565b005b34801561058b57600080fd5b506105a660048036038101906105a191906136c7565b6112de565b005b3480156105b457600080fd5b506105cf60048036038101906105ca9190613748565b6113cd565b005b3480156105dd57600080fd5b506105f860048036038101906105f391906132c0565b6113fa565b60405161060591906134cf565b60405180910390f35b34801561061a57600080fd5b5061062361141a565b60405161063091906134cf565b60405180910390f35b34801561064557600080fd5b5061064e61142d565b60405161065b91906134cf565b60405180910390f35b34801561067057600080fd5b5061068b600480360381019061068691906132c0565b611440565b60405161069891906134cf565b60405180910390f35b3480156106ad57600080fd5b506106c860048036038101906106c39190613555565b611473565b005b3480156106d657600080fd5b506106df6114bf565b6040516106ec9190613797565b60405180910390f35b34801561070157600080fd5b5061070a6114e5565b005b34801561071857600080fd5b50610733600480360381019061072e91906132c0565b6114f7565b604051610740919061337e565b60405180910390f35b34801561075557600080fd5b5061075e611540565b60405161076b919061337e565b60405180910390f35b34801561078057600080fd5b50610789611546565b005b34801561079757600080fd5b506107a061155a565b6040516107ad9190613797565b60405180910390f35b3480156107c257600080fd5b506107dd60048036038101906107d891906137b2565b611580565b005b3480156107eb57600080fd5b5061080660048036038101906108019190613805565b6115fd565b005b34801561081457600080fd5b5061081d6116d2565b60405161082a9190613797565b60405180910390f35b34801561083f57600080fd5b506108486116e1565b6040516108559190613797565b60405180910390f35b34801561086a57600080fd5b5061087361170a565b6040516108809190613797565b60405180910390f35b34801561089557600080fd5b5061089e611730565b6040516108ab9190613432565b60405180910390f35b3480156108c057600080fd5b506108db60048036038101906108d69190613325565b61176d565b005b3480156108e957600080fd5b506108f26117d0565b6040516108ff9190613797565b60405180910390f35b34801561091457600080fd5b5061092f600480360381019061092a9190613480565b6117f6565b60405161093c91906134cf565b60405180910390f35b34801561095157600080fd5b5061096c60048036038101906109679190613865565b61180b565b005b34801561097a57600080fd5b50610983611830565b604051610990919061337e565b60405180910390f35b3480156109a557600080fd5b506109c060048036038101906109bb91906132c0565b611836565b6040516109cd91906134cf565b60405180910390f35b3480156109e257600080fd5b506109fd60048036038101906109f891906137b2565b611856565b005b348015610a0b57600080fd5b50610a146118d3565b604051610a219190613797565b60405180910390f35b348015610a3657600080fd5b50610a516004803603810190610a4c91906132c0565b6118f9565b604051610a5e91906134cf565b60405180910390f35b348015610a7357600080fd5b50610a8e6004803603810190610a8991906134ea565b611919565b005b348015610a9c57600080fd5b50610aa561197c565b604051610ab2919061337e565b60405180910390f35b348015610ac757600080fd5b50610ae26004803603810190610add91906134ea565b611986565b005b348015610af057600080fd5b50610af9611a03565b604051610b06919061337e565b60405180910390f35b348015610b1b57600080fd5b50610b366004803603810190610b319190613892565b611a0d565b604051610b43919061337e565b60405180910390f35b348015610b5857600080fd5b50610b736004803603810190610b6e91906132c0565b611a94565b005b348015610b8157600080fd5b50610b8a611b17565b604051610b979190613931565b60405180910390f35b348015610bac57600080fd5b50610bb5611b3d565b005b348015610bc357600080fd5b50610bde6004803603810190610bd99190613865565b611bc0565b005b348015610bec57600080fd5b50610bf5611be5565b604051610c0291906134cf565b60405180910390f35b610c13611bf8565b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610c5f611bf8565b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60055481565b60606040518060400160405280600781526020017f55584f5320414900000000000000000000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610ddd919061337e565b60405180910390a36001905092915050565b610df7611bf8565b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610e5a611bf8565b6032600254610e6991906139aa565b811015610eab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea290613a27565b60405180910390fd5b8060038190555050565b6000600254905090565b610ec7611bf8565b60c8600254610ed691906139aa565b811015610f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0f90613a93565b60405180910390fd5b8060068190555050565b610f2a611bf8565b80602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461111c5781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b9190613ab3565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611127848484611c76565b90509392505050565b600061115d600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166114f7565b611188600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166114f7565b6002546111959190613ab3565b61119f9190613ab3565b905090565b60006009905090565b6111b5611bf8565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111f59190613797565b602060405180830381865afa158015611212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112369190613afc565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611295929190613b29565b6020604051808303816000875af11580156112b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d89190613b67565b50505050565b6112e6611bf8565b60005b848490508110156113c6573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86868481811061132357611322613b94565b5b905060200201602081019061133891906132c0565b85858581811061134b5761134a613b94565b5b905060200201356040518363ffffffff1660e01b815260040161136f929190613b29565b6020604051808303816000875af115801561138e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b29190613b67565b5080806113be90613bc3565b9150506112e9565b5050505050565b6113d5611bf8565b81602060156101000a81548160ff021916908315150217905550806005819055505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900460ff1681565b602060159054906101000a900460ff1681565b600061146c827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610cfd565b9050919050565b61147b611bf8565b80601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6114ed611bf8565b6114f56125fc565b565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b61154e611bf8565b61155860006128c5565b565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611588611bf8565b6103e88183856115989190613c0b565b6115a29190613c0b565b11156115e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da90613cad565b60405180910390fd5b826014819055508160168190555080601881905550505050565b611605611bf8565b60005b838390508110156116cc573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85858481811061164257611641613b94565b5b905060200201602081019061165791906132c0565b846040518363ffffffff1660e01b8152600401611675929190613b29565b6020604051808303816000875af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b89190613b67565b5080806116c490613bc3565b915050611608565b50505050565b60006116dc6116e1565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600481526020017f55584f5300000000000000000000000000000000000000000000000000000000815250905090565b611775611bf8565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611803338484611c76565b905092915050565b611813611bf8565b80602060166101000a81548160ff02191690831515021790555050565b60125481565b600c6020528060005260406000206000915054906101000a900460ff1681565b61185e611bf8565b6103e881838561186e9190613c0b565b6118789190613c0b565b11156118b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b090613cad565b60405180910390fd5b826015819055508160178190555080601981905550505050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020528060005260406000206000915054906101000a900460ff1681565b611921611bf8565b606460025461193091906139aa565b811015611972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196990613d19565b60405180910390fd5b8060048190555050565b6000601b54905090565b61198e611bf8565b6000601254146119d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ca90613d85565b60405180910390fd5b80436119df9190613c0b565b6012819055506001602060166101000a81548160ff02191690831515021790555050565b6000601a54905090565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611a9c611bf8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0290613e17565b60405180910390fd5b611b14816128c5565b50565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b45611bf8565b60004790506000811115611bbd57601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611bbb573d6000803e3d6000fd5b505b50565b611bc8611bf8565b80600760006101000a81548160ff02191690831515021790555050565b602060169054906101000a900460ff1681565b611c00612989565b73ffffffffffffffffffffffffffffffffffffffff16611c1e6116e1565b73ffffffffffffffffffffffffffffffffffffffff1614611c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6b90613e83565b60405180910390fd5b565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdd90613f15565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4c90613fa7565b60405180910390fd5b60008211611d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8f90614039565b60405180910390fd5b600454821080611df15750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e27906140a5565b60405180910390fd5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611f38576000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506003548382611ed89190613c0b565b1080611f2d5750600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611f3657600080fd5b505b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611fa15750600760009054906101000a900460ff165b1561204057600654821115806120005750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61203f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203690614111565b60405180910390fd5b5b6120486116e1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156120b657506120866116e1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561215f57602060169054906101000a900460ff168061211f5750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61215e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121559061417d565b60405180910390fd5b5b602060149054906101000a900460ff16156121865761217f848484612991565b90506125f5565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156122325750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561224957612242848484612991565b90506125f5565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156122b45750602060149054906101000a900460ff16155b80156122cc5750602060159054906101000a900460ff165b80156123195750600554600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15612327576123266125fc565b5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612385575060125443105b156123b057600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505b81600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123fb9190613ab3565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156124e45750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6124ee57826124fa565b6124f9858585612b1f565b5b905080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125479190613c0b565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125e7919061337e565b60405180910390a360019150505b9392505050565b6001602060146101000a81548160ff0219169083151502179055506000600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600f60026003811061267257612671613b94565b5b0154600f60016003811061268957612688613b94565b5b0154600f6000600381106126a05761269f613b94565b5b01546126ac9190613c0b565b6126b69190613c0b565b90506000600f6000600381106126cf576126ce613b94565b5b015490506000600f6001600381106126ea576126e9613b94565b5b015490506000600f60026003811061270557612704613b94565b5b01549050600060028361271891906139aa565b9050600081876127289190613ab3565b905061273381612ec3565b60004790506000878783612747919061419d565b61275191906139aa565b905060006002898885612764919061419d565b61276e91906139aa565b61277891906139aa565b90506000898785612789919061419d565b61279391906139aa565b9050600084111561280857601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612806573d6000803e3d6000fd5b505b600086111561281c5761281b86836130e4565b5b600081111561288f57602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561288d573d6000803e3d6000fd5b505b600f600061289d9190613243565b50505050505050505050506000602060146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600081600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129de9190613ab3565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a6c9190613c0b565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b0c919061337e565b60405180910390a3600190509392505050565b60008061271060145484612b33919061419d565b612b3d91906139aa565b9050600061271060155485612b52919061419d565b612b5c91906139aa565b9050600061271060165486612b71919061419d565b612b7b91906139aa565b9050600061271060175487612b90919061419d565b612b9a91906139aa565b9050600061271060185488612baf919061419d565b612bb991906139aa565b9050600061271060195489612bce919061419d565b612bd891906139aa565b90506000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff16148015612c875750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614155b8015612cdd5750600a60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612d0757828588612cef9190613c0b565b612cf99190613c0b565b9050612d068786856131b7565b5b602060149054906101000a900460ff16158015612d725750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff1614155b8015612d8a5750602060169054906101000a900460ff165b15612db457818487612d9c9190613c0b565b612da69190613c0b565b9050612db38685846131b7565b5b80600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dff9190613c0b565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e9f919061337e565b60405180910390a38089612eb39190613ab3565b9750505050505050509392505050565b6000600267ffffffffffffffff811115612ee057612edf6141f7565b5b604051908082528060200260200182016040528015612f0e5781602001602082028036833780820191505090505b5090503081600081518110612f2657612f25613b94565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ff1919061423b565b8160018151811061300557613004613b94565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506130493083610cfd565b50601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016130ae959493929190614361565b600060405180830381600087803b1580156130c857600080fd5b505af11580156130dc573d6000803e3d6000fd5b505050505050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161316d969594939291906143bb565b60606040518083038185885af115801561318b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131b0919061441c565b5050505050565b82600f6000600381106131cd576131cc613b94565b5b0160008282546131dd9190613c0b565b9250508190555081600f6001600381106131fa576131f9613b94565b5b01600082825461320a9190613c0b565b9250508190555080600f60026003811061322757613226613b94565b5b0160008282546132379190613c0b565b92505081905550505050565b50600081556001016000815560010160009055565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061328d82613262565b9050919050565b61329d81613282565b81146132a857600080fd5b50565b6000813590506132ba81613294565b92915050565b6000602082840312156132d6576132d5613258565b5b60006132e4848285016132ab565b91505092915050565b60008115159050919050565b613302816132ed565b811461330d57600080fd5b50565b60008135905061331f816132f9565b92915050565b6000806040838503121561333c5761333b613258565b5b600061334a858286016132ab565b925050602061335b85828601613310565b9150509250929050565b6000819050919050565b61337881613365565b82525050565b6000602082019050613393600083018461336f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133d35780820151818401526020810190506133b8565b838111156133e2576000848401525b50505050565b6000601f19601f8301169050919050565b600061340482613399565b61340e81856133a4565b935061341e8185602086016133b5565b613427816133e8565b840191505092915050565b6000602082019050818103600083015261344c81846133f9565b905092915050565b61345d81613365565b811461346857600080fd5b50565b60008135905061347a81613454565b92915050565b6000806040838503121561349757613496613258565b5b60006134a5858286016132ab565b92505060206134b68582860161346b565b9150509250929050565b6134c9816132ed565b82525050565b60006020820190506134e460008301846134c0565b92915050565b600060208284031215613500576134ff613258565b5b600061350e8482850161346b565b91505092915050565b600061352282613262565b9050919050565b61353281613517565b811461353d57600080fd5b50565b60008135905061354f81613529565b92915050565b60006020828403121561356b5761356a613258565b5b600061357984828501613540565b91505092915050565b60008060006060848603121561359b5761359a613258565b5b60006135a9868287016132ab565b93505060206135ba868287016132ab565b92505060406135cb8682870161346b565b9150509250925092565b600060ff82169050919050565b6135eb816135d5565b82525050565b600060208201905061360660008301846135e2565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126136315761363061360c565b5b8235905067ffffffffffffffff81111561364e5761364d613611565b5b60208301915083602082028301111561366a57613669613616565b5b9250929050565b60008083601f8401126136875761368661360c565b5b8235905067ffffffffffffffff8111156136a4576136a3613611565b5b6020830191508360208202830111156136c0576136bf613616565b5b9250929050565b600080600080604085870312156136e1576136e0613258565b5b600085013567ffffffffffffffff8111156136ff576136fe61325d565b5b61370b8782880161361b565b9450945050602085013567ffffffffffffffff81111561372e5761372d61325d565b5b61373a87828801613671565b925092505092959194509250565b6000806040838503121561375f5761375e613258565b5b600061376d85828601613310565b925050602061377e8582860161346b565b9150509250929050565b61379181613282565b82525050565b60006020820190506137ac6000830184613788565b92915050565b6000806000606084860312156137cb576137ca613258565b5b60006137d98682870161346b565b93505060206137ea8682870161346b565b92505060406137fb8682870161346b565b9150509250925092565b60008060006040848603121561381e5761381d613258565b5b600084013567ffffffffffffffff81111561383c5761383b61325d565b5b6138488682870161361b565b9350935050602061385b8682870161346b565b9150509250925092565b60006020828403121561387b5761387a613258565b5b600061388984828501613310565b91505092915050565b600080604083850312156138a9576138a8613258565b5b60006138b7858286016132ab565b92505060206138c8858286016132ab565b9150509250929050565b6000819050919050565b60006138f76138f26138ed84613262565b6138d2565b613262565b9050919050565b6000613909826138dc565b9050919050565b600061391b826138fe565b9050919050565b61392b81613910565b82525050565b60006020820190506139466000830184613922565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139b582613365565b91506139c083613365565b9250826139d0576139cf61394c565b5b828204905092915050565b7f4d757374206265206174206c6561737420322500000000000000000000000000600082015250565b6000613a116013836133a4565b9150613a1c826139db565b602082019050919050565b60006020820190508181036000830152613a4081613a04565b9050919050565b7f4d757374206265206174206c6561737420302e35250000000000000000000000600082015250565b6000613a7d6015836133a4565b9150613a8882613a47565b602082019050919050565b60006020820190508181036000830152613aac81613a70565b9050919050565b6000613abe82613365565b9150613ac983613365565b925082821015613adc57613adb61397b565b5b828203905092915050565b600081519050613af681613454565b92915050565b600060208284031215613b1257613b11613258565b5b6000613b2084828501613ae7565b91505092915050565b6000604082019050613b3e6000830185613788565b613b4b602083018461336f565b9392505050565b600081519050613b61816132f9565b92915050565b600060208284031215613b7d57613b7c613258565b5b6000613b8b84828501613b52565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613bce82613365565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613c0057613bff61397b565b5b600182019050919050565b6000613c1682613365565b9150613c2183613365565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c5657613c5561397b565b5b828201905092915050565b7f4665657320546f6f204869676800000000000000000000000000000000000000600082015250565b6000613c97600d836133a4565b9150613ca282613c61565b602082019050919050565b60006020820190508181036000830152613cc681613c8a565b9050919050565b7f4d757374206265206174206c6561737420312500000000000000000000000000600082015250565b6000613d036013836133a4565b9150613d0e82613ccd565b602082019050919050565b60006020820190508181036000830152613d3281613cf6565b9050919050565b7f416c7265616479206c61756e6368656400000000000000000000000000000000600082015250565b6000613d6f6010836133a4565b9150613d7a82613d39565b602082019050919050565b60006020820190508181036000830152613d9e81613d62565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613e016026836133a4565b9150613e0c82613da5565b604082019050919050565b60006020820190508181036000830152613e3081613df4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613e6d6020836133a4565b9150613e7882613e37565b602082019050919050565b60006020820190508181036000830152613e9c81613e60565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613eff6025836133a4565b9150613f0a82613ea3565b604082019050919050565b60006020820190508181036000830152613f2e81613ef2565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613f916023836133a4565b9150613f9c82613f35565b604082019050919050565b60006020820190508181036000830152613fc081613f84565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006140236029836133a4565b915061402e82613fc7565b604082019050919050565b6000602082019050818103600083015261405281614016565b9050919050565b7f45786365656473205472616e73616374696f6e204c696d697400000000000000600082015250565b600061408f6019836133a4565b915061409a82614059565b602082019050919050565b600060208201905081810360008301526140be81614082565b9050919050565b7f45786365656473204d6178204275790000000000000000000000000000000000600082015250565b60006140fb600f836133a4565b9150614106826140c5565b602082019050919050565b6000602082019050818103600083015261412a816140ee565b9050919050565b7f54726164696e67206e6f74206163746976650000000000000000000000000000600082015250565b60006141676012836133a4565b915061417282614131565b602082019050919050565b600060208201905081810360008301526141968161415a565b9050919050565b60006141a882613365565b91506141b383613365565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156141ec576141eb61397b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061423581613294565b92915050565b60006020828403121561425157614250613258565b5b600061425f84828501614226565b91505092915050565b6000819050919050565b600061428d61428861428384614268565b6138d2565b613365565b9050919050565b61429d81614272565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6142d881613282565b82525050565b60006142ea83836142cf565b60208301905092915050565b6000602082019050919050565b600061430e826142a3565b61431881856142ae565b9350614323836142bf565b8060005b8381101561435457815161433b88826142de565b9750614346836142f6565b925050600181019050614327565b5085935050505092915050565b600060a082019050614376600083018861336f565b6143836020830187614294565b81810360408301526143958186614303565b90506143a46060830185613788565b6143b1608083018461336f565b9695505050505050565b600060c0820190506143d06000830189613788565b6143dd602083018861336f565b6143ea6040830187614294565b6143f76060830186614294565b6144046080830185613788565b61441160a083018461336f565b979650505050505050565b60008060006060848603121561443557614434613258565b5b600061444386828701613ae7565b935050602061445486828701613ae7565b925050604061446586828701613ae7565b915050925092509256fea26469706673582212202f0b2224d5303546970178180d2ec5c6400b4c22b094d2f0d6f8e12eea37129864736f6c634300080d0033

Deployed Bytecode

0x6080604052600436106103035760003560e01c806375f0a87411610190578063c17b5b8c116100dc578063d726b22111610095578063f887ea401161006f578063f887ea4014610b75578063f88de0c314610ba0578063f8ae277d14610bb7578063ffb54a9914610be05761030a565b8063d726b22114610ae4578063dd62ed3e14610b0f578063f2fde38b14610b4c5761030a565b8063c17b5b8c146109d6578063c45a0155146109ff578063c821fcb814610a2a578063cd73ab0214610a67578063d073a01f14610a90578063d120c8cb14610abb5761030a565b806395d89b4111610149578063a9059cbb11610123578063a9059cbb14610908578063af06a3f614610945578063bf56b3711461096e578063bf8e28b9146109995761030a565b806395d89b4114610889578063a3a2e89e146108b4578063a8aa1b31146108dd5761030a565b806375f0a8741461078b5780638095d564146107b657806388c5440f146107df578063893d20e8146108085780638da5cb5b146108335780638ea5220f1461085e5761030a565b8063346cc7be1161024f578063571ac8b01161020857806366eb3785116101e257806366eb3785146106f557806370a082311461070c57806370db69d614610749578063715018a6146107745761030a565b8063571ac8b0146106645780635d098b38146106a1578063665a11ca146106ca5761030a565b8063346cc7be1461055657806334bfe0df1461057f5780633dab5269146105a85780633f4218e0146105d1578063417fd2d61461060e5780634a74bb02146106395761030a565b80630b006d60116102bc5780631f53ac02116102965780631f53ac021461049a57806323b872dd146104c35780632b112e4914610500578063313ce5671461052b5761030a565b80630b006d601461041d57806318160ddd146104465780631d5cd545146104715761030a565b8063018770201461030f57806302affaf5146103385780630445b6671461036157806306fdde031461038c578063095ea7b3146103b75780630a37ac95146103f45761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b50610336600480360381019061033191906132c0565b610c0b565b005b34801561034457600080fd5b5061035f600480360381019061035a9190613325565b610c57565b005b34801561036d57600080fd5b50610376610cba565b604051610383919061337e565b60405180910390f35b34801561039857600080fd5b506103a1610cc0565b6040516103ae9190613432565b60405180910390f35b3480156103c357600080fd5b506103de60048036038101906103d99190613480565b610cfd565b6040516103eb91906134cf565b60405180910390f35b34801561040057600080fd5b5061041b60048036038101906104169190613325565b610def565b005b34801561042957600080fd5b50610444600480360381019061043f91906134ea565b610e52565b005b34801561045257600080fd5b5061045b610eb5565b604051610468919061337e565b60405180910390f35b34801561047d57600080fd5b50610498600480360381019061049391906134ea565b610ebf565b005b3480156104a657600080fd5b506104c160048036038101906104bc9190613555565b610f22565b005b3480156104cf57600080fd5b506104ea60048036038101906104e59190613582565b610f6e565b6040516104f791906134cf565b60405180910390f35b34801561050c57600080fd5b50610515611130565b604051610522919061337e565b60405180910390f35b34801561053757600080fd5b506105406111a4565b60405161054d91906135f1565b60405180910390f35b34801561056257600080fd5b5061057d600480360381019061057891906132c0565b6111ad565b005b34801561058b57600080fd5b506105a660048036038101906105a191906136c7565b6112de565b005b3480156105b457600080fd5b506105cf60048036038101906105ca9190613748565b6113cd565b005b3480156105dd57600080fd5b506105f860048036038101906105f391906132c0565b6113fa565b60405161060591906134cf565b60405180910390f35b34801561061a57600080fd5b5061062361141a565b60405161063091906134cf565b60405180910390f35b34801561064557600080fd5b5061064e61142d565b60405161065b91906134cf565b60405180910390f35b34801561067057600080fd5b5061068b600480360381019061068691906132c0565b611440565b60405161069891906134cf565b60405180910390f35b3480156106ad57600080fd5b506106c860048036038101906106c39190613555565b611473565b005b3480156106d657600080fd5b506106df6114bf565b6040516106ec9190613797565b60405180910390f35b34801561070157600080fd5b5061070a6114e5565b005b34801561071857600080fd5b50610733600480360381019061072e91906132c0565b6114f7565b604051610740919061337e565b60405180910390f35b34801561075557600080fd5b5061075e611540565b60405161076b919061337e565b60405180910390f35b34801561078057600080fd5b50610789611546565b005b34801561079757600080fd5b506107a061155a565b6040516107ad9190613797565b60405180910390f35b3480156107c257600080fd5b506107dd60048036038101906107d891906137b2565b611580565b005b3480156107eb57600080fd5b5061080660048036038101906108019190613805565b6115fd565b005b34801561081457600080fd5b5061081d6116d2565b60405161082a9190613797565b60405180910390f35b34801561083f57600080fd5b506108486116e1565b6040516108559190613797565b60405180910390f35b34801561086a57600080fd5b5061087361170a565b6040516108809190613797565b60405180910390f35b34801561089557600080fd5b5061089e611730565b6040516108ab9190613432565b60405180910390f35b3480156108c057600080fd5b506108db60048036038101906108d69190613325565b61176d565b005b3480156108e957600080fd5b506108f26117d0565b6040516108ff9190613797565b60405180910390f35b34801561091457600080fd5b5061092f600480360381019061092a9190613480565b6117f6565b60405161093c91906134cf565b60405180910390f35b34801561095157600080fd5b5061096c60048036038101906109679190613865565b61180b565b005b34801561097a57600080fd5b50610983611830565b604051610990919061337e565b60405180910390f35b3480156109a557600080fd5b506109c060048036038101906109bb91906132c0565b611836565b6040516109cd91906134cf565b60405180910390f35b3480156109e257600080fd5b506109fd60048036038101906109f891906137b2565b611856565b005b348015610a0b57600080fd5b50610a146118d3565b604051610a219190613797565b60405180910390f35b348015610a3657600080fd5b50610a516004803603810190610a4c91906132c0565b6118f9565b604051610a5e91906134cf565b60405180910390f35b348015610a7357600080fd5b50610a8e6004803603810190610a8991906134ea565b611919565b005b348015610a9c57600080fd5b50610aa561197c565b604051610ab2919061337e565b60405180910390f35b348015610ac757600080fd5b50610ae26004803603810190610add91906134ea565b611986565b005b348015610af057600080fd5b50610af9611a03565b604051610b06919061337e565b60405180910390f35b348015610b1b57600080fd5b50610b366004803603810190610b319190613892565b611a0d565b604051610b43919061337e565b60405180910390f35b348015610b5857600080fd5b50610b736004803603810190610b6e91906132c0565b611a94565b005b348015610b8157600080fd5b50610b8a611b17565b604051610b979190613931565b60405180910390f35b348015610bac57600080fd5b50610bb5611b3d565b005b348015610bc357600080fd5b50610bde6004803603810190610bd99190613865565b611bc0565b005b348015610bec57600080fd5b50610bf5611be5565b604051610c0291906134cf565b60405180910390f35b610c13611bf8565b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610c5f611bf8565b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60055481565b60606040518060400160405280600781526020017f55584f5320414900000000000000000000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610ddd919061337e565b60405180910390a36001905092915050565b610df7611bf8565b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610e5a611bf8565b6032600254610e6991906139aa565b811015610eab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea290613a27565b60405180910390fd5b8060038190555050565b6000600254905090565b610ec7611bf8565b60c8600254610ed691906139aa565b811015610f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0f90613a93565b60405180910390fd5b8060068190555050565b610f2a611bf8565b80602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461111c5781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109b9190613ab3565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611127848484611c76565b90509392505050565b600061115d600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166114f7565b611188600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166114f7565b6002546111959190613ab3565b61119f9190613ab3565b905090565b60006009905090565b6111b5611bf8565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111f59190613797565b602060405180830381865afa158015611212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112369190613afc565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611295929190613b29565b6020604051808303816000875af11580156112b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d89190613b67565b50505050565b6112e6611bf8565b60005b848490508110156113c6573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86868481811061132357611322613b94565b5b905060200201602081019061133891906132c0565b85858581811061134b5761134a613b94565b5b905060200201356040518363ffffffff1660e01b815260040161136f929190613b29565b6020604051808303816000875af115801561138e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b29190613b67565b5080806113be90613bc3565b9150506112e9565b5050505050565b6113d5611bf8565b81602060156101000a81548160ff021916908315150217905550806005819055505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900460ff1681565b602060159054906101000a900460ff1681565b600061146c827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610cfd565b9050919050565b61147b611bf8565b80601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6114ed611bf8565b6114f56125fc565b565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b61154e611bf8565b61155860006128c5565b565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611588611bf8565b6103e88183856115989190613c0b565b6115a29190613c0b565b11156115e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da90613cad565b60405180910390fd5b826014819055508160168190555080601881905550505050565b611605611bf8565b60005b838390508110156116cc573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85858481811061164257611641613b94565b5b905060200201602081019061165791906132c0565b846040518363ffffffff1660e01b8152600401611675929190613b29565b6020604051808303816000875af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b89190613b67565b5080806116c490613bc3565b915050611608565b50505050565b60006116dc6116e1565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600481526020017f55584f5300000000000000000000000000000000000000000000000000000000815250905090565b611775611bf8565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611803338484611c76565b905092915050565b611813611bf8565b80602060166101000a81548160ff02191690831515021790555050565b60125481565b600c6020528060005260406000206000915054906101000a900460ff1681565b61185e611bf8565b6103e881838561186e9190613c0b565b6118789190613c0b565b11156118b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b090613cad565b60405180910390fd5b826015819055508160178190555080601981905550505050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020528060005260406000206000915054906101000a900460ff1681565b611921611bf8565b606460025461193091906139aa565b811015611972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196990613d19565b60405180910390fd5b8060048190555050565b6000601b54905090565b61198e611bf8565b6000601254146119d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ca90613d85565b60405180910390fd5b80436119df9190613c0b565b6012819055506001602060166101000a81548160ff02191690831515021790555050565b6000601a54905090565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611a9c611bf8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0290613e17565b60405180910390fd5b611b14816128c5565b50565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b45611bf8565b60004790506000811115611bbd57601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611bbb573d6000803e3d6000fd5b505b50565b611bc8611bf8565b80600760006101000a81548160ff02191690831515021790555050565b602060169054906101000a900460ff1681565b611c00612989565b73ffffffffffffffffffffffffffffffffffffffff16611c1e6116e1565b73ffffffffffffffffffffffffffffffffffffffff1614611c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6b90613e83565b60405180910390fd5b565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdd90613f15565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4c90613fa7565b60405180910390fd5b60008211611d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8f90614039565b60405180910390fd5b600454821080611df15750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e27906140a5565b60405180910390fd5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611f38576000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506003548382611ed89190613c0b565b1080611f2d5750600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611f3657600080fd5b505b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611fa15750600760009054906101000a900460ff165b1561204057600654821115806120005750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61203f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203690614111565b60405180910390fd5b5b6120486116e1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156120b657506120866116e1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561215f57602060169054906101000a900460ff168061211f5750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61215e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121559061417d565b60405180910390fd5b5b602060149054906101000a900460ff16156121865761217f848484612991565b90506125f5565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156122325750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561224957612242848484612991565b90506125f5565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156122b45750602060149054906101000a900460ff16155b80156122cc5750602060159054906101000a900460ff165b80156123195750600554600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15612327576123266125fc565b5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612385575060125443105b156123b057600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505b81600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123fb9190613ab3565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156124e45750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6124ee57826124fa565b6124f9858585612b1f565b5b905080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125479190613c0b565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125e7919061337e565b60405180910390a360019150505b9392505050565b6001602060146101000a81548160ff0219169083151502179055506000600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600f60026003811061267257612671613b94565b5b0154600f60016003811061268957612688613b94565b5b0154600f6000600381106126a05761269f613b94565b5b01546126ac9190613c0b565b6126b69190613c0b565b90506000600f6000600381106126cf576126ce613b94565b5b015490506000600f6001600381106126ea576126e9613b94565b5b015490506000600f60026003811061270557612704613b94565b5b01549050600060028361271891906139aa565b9050600081876127289190613ab3565b905061273381612ec3565b60004790506000878783612747919061419d565b61275191906139aa565b905060006002898885612764919061419d565b61276e91906139aa565b61277891906139aa565b90506000898785612789919061419d565b61279391906139aa565b9050600084111561280857601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612806573d6000803e3d6000fd5b505b600086111561281c5761281b86836130e4565b5b600081111561288f57602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561288d573d6000803e3d6000fd5b505b600f600061289d9190613243565b50505050505050505050506000602060146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600081600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129de9190613ab3565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a6c9190613c0b565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b0c919061337e565b60405180910390a3600190509392505050565b60008061271060145484612b33919061419d565b612b3d91906139aa565b9050600061271060155485612b52919061419d565b612b5c91906139aa565b9050600061271060165486612b71919061419d565b612b7b91906139aa565b9050600061271060175487612b90919061419d565b612b9a91906139aa565b9050600061271060185488612baf919061419d565b612bb991906139aa565b9050600061271060195489612bce919061419d565b612bd891906139aa565b90506000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff16148015612c875750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614155b8015612cdd5750600a60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612d0757828588612cef9190613c0b565b612cf99190613c0b565b9050612d068786856131b7565b5b602060149054906101000a900460ff16158015612d725750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff1614155b8015612d8a5750602060169054906101000a900460ff165b15612db457818487612d9c9190613c0b565b612da69190613c0b565b9050612db38685846131b7565b5b80600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dff9190613c0b565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e9f919061337e565b60405180910390a38089612eb39190613ab3565b9750505050505050509392505050565b6000600267ffffffffffffffff811115612ee057612edf6141f7565b5b604051908082528060200260200182016040528015612f0e5781602001602082028036833780820191505090505b5090503081600081518110612f2657612f25613b94565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ff1919061423b565b8160018151811061300557613004613b94565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506130493083610cfd565b50601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016130ae959493929190614361565b600060405180830381600087803b1580156130c857600080fd5b505af11580156130dc573d6000803e3d6000fd5b505050505050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161316d969594939291906143bb565b60606040518083038185885af115801561318b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131b0919061441c565b5050505050565b82600f6000600381106131cd576131cc613b94565b5b0160008282546131dd9190613c0b565b9250508190555081600f6001600381106131fa576131f9613b94565b5b01600082825461320a9190613c0b565b9250508190555080600f60026003811061322757613226613b94565b5b0160008282546132379190613c0b565b92505081905550505050565b50600081556001016000815560010160009055565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061328d82613262565b9050919050565b61329d81613282565b81146132a857600080fd5b50565b6000813590506132ba81613294565b92915050565b6000602082840312156132d6576132d5613258565b5b60006132e4848285016132ab565b91505092915050565b60008115159050919050565b613302816132ed565b811461330d57600080fd5b50565b60008135905061331f816132f9565b92915050565b6000806040838503121561333c5761333b613258565b5b600061334a858286016132ab565b925050602061335b85828601613310565b9150509250929050565b6000819050919050565b61337881613365565b82525050565b6000602082019050613393600083018461336f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133d35780820151818401526020810190506133b8565b838111156133e2576000848401525b50505050565b6000601f19601f8301169050919050565b600061340482613399565b61340e81856133a4565b935061341e8185602086016133b5565b613427816133e8565b840191505092915050565b6000602082019050818103600083015261344c81846133f9565b905092915050565b61345d81613365565b811461346857600080fd5b50565b60008135905061347a81613454565b92915050565b6000806040838503121561349757613496613258565b5b60006134a5858286016132ab565b92505060206134b68582860161346b565b9150509250929050565b6134c9816132ed565b82525050565b60006020820190506134e460008301846134c0565b92915050565b600060208284031215613500576134ff613258565b5b600061350e8482850161346b565b91505092915050565b600061352282613262565b9050919050565b61353281613517565b811461353d57600080fd5b50565b60008135905061354f81613529565b92915050565b60006020828403121561356b5761356a613258565b5b600061357984828501613540565b91505092915050565b60008060006060848603121561359b5761359a613258565b5b60006135a9868287016132ab565b93505060206135ba868287016132ab565b92505060406135cb8682870161346b565b9150509250925092565b600060ff82169050919050565b6135eb816135d5565b82525050565b600060208201905061360660008301846135e2565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126136315761363061360c565b5b8235905067ffffffffffffffff81111561364e5761364d613611565b5b60208301915083602082028301111561366a57613669613616565b5b9250929050565b60008083601f8401126136875761368661360c565b5b8235905067ffffffffffffffff8111156136a4576136a3613611565b5b6020830191508360208202830111156136c0576136bf613616565b5b9250929050565b600080600080604085870312156136e1576136e0613258565b5b600085013567ffffffffffffffff8111156136ff576136fe61325d565b5b61370b8782880161361b565b9450945050602085013567ffffffffffffffff81111561372e5761372d61325d565b5b61373a87828801613671565b925092505092959194509250565b6000806040838503121561375f5761375e613258565b5b600061376d85828601613310565b925050602061377e8582860161346b565b9150509250929050565b61379181613282565b82525050565b60006020820190506137ac6000830184613788565b92915050565b6000806000606084860312156137cb576137ca613258565b5b60006137d98682870161346b565b93505060206137ea8682870161346b565b92505060406137fb8682870161346b565b9150509250925092565b60008060006040848603121561381e5761381d613258565b5b600084013567ffffffffffffffff81111561383c5761383b61325d565b5b6138488682870161361b565b9350935050602061385b8682870161346b565b9150509250925092565b60006020828403121561387b5761387a613258565b5b600061388984828501613310565b91505092915050565b600080604083850312156138a9576138a8613258565b5b60006138b7858286016132ab565b92505060206138c8858286016132ab565b9150509250929050565b6000819050919050565b60006138f76138f26138ed84613262565b6138d2565b613262565b9050919050565b6000613909826138dc565b9050919050565b600061391b826138fe565b9050919050565b61392b81613910565b82525050565b60006020820190506139466000830184613922565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139b582613365565b91506139c083613365565b9250826139d0576139cf61394c565b5b828204905092915050565b7f4d757374206265206174206c6561737420322500000000000000000000000000600082015250565b6000613a116013836133a4565b9150613a1c826139db565b602082019050919050565b60006020820190508181036000830152613a4081613a04565b9050919050565b7f4d757374206265206174206c6561737420302e35250000000000000000000000600082015250565b6000613a7d6015836133a4565b9150613a8882613a47565b602082019050919050565b60006020820190508181036000830152613aac81613a70565b9050919050565b6000613abe82613365565b9150613ac983613365565b925082821015613adc57613adb61397b565b5b828203905092915050565b600081519050613af681613454565b92915050565b600060208284031215613b1257613b11613258565b5b6000613b2084828501613ae7565b91505092915050565b6000604082019050613b3e6000830185613788565b613b4b602083018461336f565b9392505050565b600081519050613b61816132f9565b92915050565b600060208284031215613b7d57613b7c613258565b5b6000613b8b84828501613b52565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613bce82613365565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613c0057613bff61397b565b5b600182019050919050565b6000613c1682613365565b9150613c2183613365565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c5657613c5561397b565b5b828201905092915050565b7f4665657320546f6f204869676800000000000000000000000000000000000000600082015250565b6000613c97600d836133a4565b9150613ca282613c61565b602082019050919050565b60006020820190508181036000830152613cc681613c8a565b9050919050565b7f4d757374206265206174206c6561737420312500000000000000000000000000600082015250565b6000613d036013836133a4565b9150613d0e82613ccd565b602082019050919050565b60006020820190508181036000830152613d3281613cf6565b9050919050565b7f416c7265616479206c61756e6368656400000000000000000000000000000000600082015250565b6000613d6f6010836133a4565b9150613d7a82613d39565b602082019050919050565b60006020820190508181036000830152613d9e81613d62565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613e016026836133a4565b9150613e0c82613da5565b604082019050919050565b60006020820190508181036000830152613e3081613df4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613e6d6020836133a4565b9150613e7882613e37565b602082019050919050565b60006020820190508181036000830152613e9c81613e60565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613eff6025836133a4565b9150613f0a82613ea3565b604082019050919050565b60006020820190508181036000830152613f2e81613ef2565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613f916023836133a4565b9150613f9c82613f35565b604082019050919050565b60006020820190508181036000830152613fc081613f84565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006140236029836133a4565b915061402e82613fc7565b604082019050919050565b6000602082019050818103600083015261405281614016565b9050919050565b7f45786365656473205472616e73616374696f6e204c696d697400000000000000600082015250565b600061408f6019836133a4565b915061409a82614059565b602082019050919050565b600060208201905081810360008301526140be81614082565b9050919050565b7f45786365656473204d6178204275790000000000000000000000000000000000600082015250565b60006140fb600f836133a4565b9150614106826140c5565b602082019050919050565b6000602082019050818103600083015261412a816140ee565b9050919050565b7f54726164696e67206e6f74206163746976650000000000000000000000000000600082015250565b60006141676012836133a4565b915061417282614131565b602082019050919050565b600060208201905081810360008301526141968161415a565b9050919050565b60006141a882613365565b91506141b383613365565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156141ec576141eb61397b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061423581613294565b92915050565b60006020828403121561425157614250613258565b5b600061425f84828501614226565b91505092915050565b6000819050919050565b600061428d61428861428384614268565b6138d2565b613365565b9050919050565b61429d81614272565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6142d881613282565b82525050565b60006142ea83836142cf565b60208301905092915050565b6000602082019050919050565b600061430e826142a3565b61431881856142ae565b9350614323836142bf565b8060005b8381101561435457815161433b88826142de565b9750614346836142f6565b925050600181019050614327565b5085935050505092915050565b600060a082019050614376600083018861336f565b6143836020830187614294565b81810360408301526143958186614303565b90506143a46060830185613788565b6143b1608083018461336f565b9695505050505050565b600060c0820190506143d06000830189613788565b6143dd602083018861336f565b6143ea6040830187614294565b6143f76060830186614294565b6144046080830185613788565b61441160a083018461336f565b979650505050505050565b60008060006060848603121561443557614434613258565b5b600061444386828701613ae7565b935050602061445486828701613ae7565b925050604061446586828701613ae7565b915050925092509256fea26469706673582212202f0b2224d5303546970178180d2ec5c6400b4c22b094d2f0d6f8e12eea37129864736f6c634300080d0033

Deployed Bytecode Sourcemap

4981:13290:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9369:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7915:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5361:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10120:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10710:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8051:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8739:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9850:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8574:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9241:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11404:337;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9706:136;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9944:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17448:252;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17981:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9499:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5666:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5497:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6735:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10934:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9086:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6028:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17130:74;;;;;;;;;;;;;:::i;:::-;;10292:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5440:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2982:103;;;;;;;;;;;;;:::i;:::-;;6529:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14660:275;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17708:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10206:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2747:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6620:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10030:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7785:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6474:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11244:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8373:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5996:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5771:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14947:284;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6500:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5717:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8907:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10624:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8179:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10542:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10403:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3093:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6443:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17212:228;;;;;;;;;;;;;:::i;:::-;;8472:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6782:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9369:122;2706:13;:11;:13::i;:::-;9467:16:::1;9451:13;;:32;;;;;;;;;;;;;;;;;;9369:122:::0;:::o;7915:128::-;2706:13;:11;:13::i;:::-;8029:6:::1;8004:14;:22;8019:6;8004:22;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;7915:128:::0;;:::o;5361:50::-;;;;:::o;10120:80::-;10168:13;10192:5;;;;;;;;;;;;;;;;;10185:12;;10120:80;:::o;10710:216::-;10785:4;10837:6;10802:11;:23;10814:10;10802:23;;;;;;;;;;;;;;;:32;10826:7;10802:32;;;;;;;;;;;;;;;:41;;;;10880:7;10859:37;;10868:10;10859:37;;;10889:6;10859:37;;;;;;:::i;:::-;;;;;;;;10914:4;10907:11;;10710:216;;;;:::o;8051:120::-;2706:13;:11;:13::i;:::-;8157:6:::1;8136:10;:18;8147:6;8136:18;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;8051:120:::0;;:::o;8739:160::-;2706:13;:11;:13::i;:::-;8837:2:::1;8822:12;;:17;;;;:::i;:::-;8813:4;:27;;8805:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8887:4;8875:9;:16;;;;8739:160:::0;:::o;9850:88::-;9905:7;9923:12;;9916:19;;9850:88;:::o;8574:157::-;2706:13;:11;:13::i;:::-;8672:3:::1;8657:12;;:18;;;;:::i;:::-;8648:4;:28;;8640:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;8719:4;8710:6;:13;;;;8574:157:::0;:::o;9241:120::-;2706:13;:11;:13::i;:::-;9340:12:::1;9320:9;;:33;;;;;;;;;;;;;;;;;;9241:120:::0;:::o;11404:337::-;11504:4;11559:17;11524:11;:19;11536:6;11524:19;;;;;;;;;;;;;;;:31;11544:10;11524:31;;;;;;;;;;;;;;;;:52;11521:157;;11660:6;11626:11;:19;11638:6;11626:19;;;;;;;;;;;;;;;:31;11646:10;11626:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;11592:11;:19;11604:6;11592:19;;;;;;;;;;;;;;;:31;11612:10;11592:31;;;;;;;;;;;;;;;:74;;;;11521:157;11697:36;11707:6;11715:9;11726:6;11697:9;:36::i;:::-;11690:43;;11404:337;;;;;:::o;9706:136::-;9759:7;9819:15;9829:4;;;;;;;;;;;9819:9;:15::i;:::-;9801;9811:4;;;;;;;;;;;9801:9;:15::i;:::-;9786:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;9779:55;;9706:136;:::o;9944:80::-;9996:5;5182:1;10005:16;;9944:80;:::o;17448:252::-;2706:13;:11;:13::i;:::-;17529:17:::1;17556:15;17529:43;;17583:15;17601:10;:20;;;17630:4;17601:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17583:53;;17647:10;:19;;;17667:15;;;;;;;;;;;17684:7;17647:45;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17518:182;;17448:252:::0;:::o;17981:287::-;2706:13;:11;:13::i;:::-;18118:6:::1;18113:148;18134:17;;:24;;18130:1;:28;18113:148;;;18192:4;18177:30;;;18208:17;;18226:1;18208:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18230:15;;18246:1;18230:18;;;;;;;:::i;:::-;;;;;;;;18177:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18160:3;;;;;:::i;:::-;;;;18113:148;;;;17981:287:::0;;;;:::o;9499:199::-;2706:13;:11;:13::i;:::-;9633:14:::1;9608:21;;:39;;;;;;;;;;;;;;;;;;9674:16;9658:13;:32;;;;9499:199:::0;;:::o;5666:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;5497:32::-;;;;;;;;;;;;;:::o;6735:40::-;;;;;;;;;;;;;:::o;10934:122::-;10989:4;11013:35;11021:7;11030:17;11013:7;:35::i;:::-;11006:42;;10934:122;;;:::o;9086:147::-;2706:13;:11;:13::i;:::-;9206:18:::1;9180:15;;:45;;;;;;;;;;;;;;;;;;9086:147:::0;:::o;6028:35::-;;;;;;;;;;;;;:::o;17130:74::-;2706:13;:11;:13::i;:::-;17186:10:::1;:8;:10::i;:::-;17130:74::o:0;10292:105::-;10358:7;10376:9;:18;10386:7;10376:18;;;;;;;;;;;;;;;;10369:25;;10292:105;;;:::o;5440:42::-;;;;:::o;2982:103::-;2706:13;:11;:13::i;:::-;3047:30:::1;3074:1;3047:18;:30::i;:::-;2982:103::o:0;6529:84::-;;;;;;;;;;;;;:::o;14660:275::-;2706:13;:11;:13::i;:::-;14820:4:::1;14807:9;14793:11;14778:12;:26;;;;:::i;:::-;:38;;;;:::i;:::-;:46;;14770:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;14859:12;14850:6;:21;;;;14887:11;14879:5;:19;;;;14918:9;14909:6;:18;;;;14660:275:::0;;;:::o;17708:265::-;2706:13;:11;:13::i;:::-;17828:6:::1;17823:143;17844:17;;:24;;17840:1;:28;17823:143;;;17902:4;17887:30;;;17918:17;;17936:1;17918:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;17940:13;17887:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17870:3;;;;;:::i;:::-;;;;17823:143;;;;17708:265:::0;;;:::o;10206:80::-;10258:7;10276;:5;:7::i;:::-;10269:14;;10206:80;:::o;2747:87::-;2793:7;2820:6;;;;;;;;;;;2813:13;;2747:87;:::o;6620:78::-;;;;;;;;;;;;;:::o;10030:84::-;10080:13;10104:7;;;;;;;;;;;;;;;;;10097:14;;10030:84;:::o;7785:122::-;2706:13;:11;:13::i;:::-;7893:6:::1;7871:11;:19;7883:6;7871:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;7785:122:::0;;:::o;6474:19::-;;;;;;;;;;;;;:::o;11244:152::-;11324:4;11348:40;11358:10;11370:9;11381:6;11348:9;:40::i;:::-;11341:47;;11244:152;;;;:::o;8373:91::-;2706:13;:11;:13::i;:::-;8449:7:::1;8435:11;;:21;;;;;;;;;;;;;;;;;;8373:91:::0;:::o;5996:25::-;;;;:::o;5771:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;14947:284::-;2706:13;:11;:13::i;:::-;15113:4:::1;15099:10;15084:12;15068:13;:28;;;;:::i;:::-;:41;;;;:::i;:::-;:49;;15060:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;15153:13;15143:7;:23;;;;15183:12;15174:6;:21;;;;15213:10;15203:7;:20;;;;14947:284:::0;;;:::o;6500:22::-;;;;;;;;;;;;;:::o;5717:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;8907:171::-;2706:13;:11;:13::i;:::-;9010:3:::1;8995:12;;:18;;;;:::i;:::-;8986:4;:28;;8978:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9066:4;9049:14;:21;;;;8907:171:::0;:::o;10624:78::-;10670:7;10687:12;;10680:19;;10624:78;:::o;8179:186::-;2706:13;:11;:13::i;:::-;8263:1:::1;8249:10;;:15;8241:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;8324:4;8309:12;:19;;;;:::i;:::-;8296:10;:32;;;;8353:4;8339:11;;:18;;;;;;;;;;;;;;;;;;8179:186:::0;:::o;10542:76::-;10587:7;10604:11;;10597:18;;10542:76;:::o;10403:133::-;10487:7;10505:11;:19;10517:6;10505:19;;;;;;;;;;;;;;;:28;10525:7;10505:28;;;;;;;;;;;;;;;;10498:35;;10403:133;;;;:::o;3093:201::-;2706:13;:11;:13::i;:::-;3202:1:::1;3182:22;;:8;:22;;::::0;3174:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3258:28;3277:8;3258:18;:28::i;:::-;3093:201:::0;:::o;6443:24::-;;;;;;;;;;;;;:::o;17212:228::-;2706:13;:11;:13::i;:::-;17267:26:::1;17296:21;17267:50;;17352:1;17331:18;:22;17328:105;;;17379:15;;;;;;;;;;;17371:33;;:53;17405:18;17371:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;17328:105;17256:184;17212:228::o:0;8472:94::-;2706:13;:11;:13::i;:::-;8551:7:::1;8535:13;;:23;;;;;;;;;;;;;;;;;;8472:94:::0;:::o;6782:31::-;;;;;;;;;;;;;:::o;2842:132::-;2917:12;:10;:12::i;:::-;2906:23;;:7;:5;:7::i;:::-;:23;;;2898:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2842:132::o;11749:1619::-;11837:4;11880:1;11862:20;;:6;:20;;;11854:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11964:1;11943:23;;:9;:23;;;11935:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12034:1;12025:6;:10;12017:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12109:14;;12100:6;:23;:45;;;;12127:10;:18;12138:6;12127:18;;;;;;;;;;;;;;;;;;;;;;;;;12100:45;12092:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;12204:4;;;;;;;;;;;12191:17;;:9;:17;;;12188:186;;12225:24;12252:9;:20;12262:9;12252:20;;;;;;;;;;;;;;;;12225:47;;12323:9;;12314:6;12295:16;:25;;;;:::i;:::-;:37;:66;;;;12336:14;:25;12351:9;12336:25;;;;;;;;;;;;;;;;;;;;;;;;;12295:66;12287:75;;;;;;12210:164;12188:186;12396:4;;;;;;;;;;;12386:14;;:6;:14;;;:31;;;;;12404:13;;;;;;;;;;;12386:31;12383:110;;;12439:6;;12429;:16;;:41;;;;12449:10;:21;12460:9;12449:21;;;;;;;;;;;;;;;;;;;;;;;;;12429:41;12421:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;12383:110;12516:7;:5;:7::i;:::-;12506:17;;:6;:17;;;;:41;;;;;12540:7;:5;:7::i;:::-;12527:20;;:9;:20;;;;12506:41;12503:116;;;12559:11;;;;;;;;;;;:34;;;;12574:11;:19;12586:6;12574:19;;;;;;;;;;;;;;;;;;;;;;;;;12559:34;12551:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;12503:116;12632:16;;;;;;;;;;;12629:73;;;12658:41;12673:6;12681:9;12692:6;12658:14;:41::i;:::-;12651:48;;;;12629:73;12722:4;;;;;;;;;;;12712:14;;:6;:14;;;;:35;;;;;12743:4;;;;;;;;;;;12730:17;;:9;:17;;;;12712:35;12709:93;;;12758:41;12773:6;12781:9;12792:6;12758:14;:41::i;:::-;12751:48;;;;12709:93;12829:4;;;;;;;;;;;12815:18;;:10;:18;;;;:39;;;;;12838:16;;;;;;;;;;;12837:17;12815:39;:64;;;;;12858:21;;;;;;;;;;;12815:64;:109;;;;;12911:13;;12883:9;:24;12901:4;12883:24;;;;;;;;;;;;;;;;:41;;12815:109;12812:128;;;12927:10;:8;:10::i;:::-;12812:128;12960:4;;;;;;;;;;;12950:14;;:6;:14;;;:43;;;;;12983:10;;12968:12;:25;12950:43;12947:69;;;13009:4;;;;;;;;;;;12997:16;;12947:69;13068:6;13048:9;:17;13058:6;13048:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;13028:9;:17;13038:6;13028:17;;;;;;;;;;;;;;;:46;;;;13095:19;13118:11;:19;13130:6;13118:19;;;;;;;;;;;;;;;;;;;;;;;;;13117:20;:47;;;;;13142:11;:22;13154:9;13142:22;;;;;;;;;;;;;;;;;;;;;;;;;13141:23;13117:47;:93;;13204:6;13117:93;;;13167:34;13175:6;13183:9;13194:6;13167:7;:34::i;:::-;13117:93;13095:115;;13269:11;13246:9;:20;13256:9;13246:20;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;13223:9;:20;13233:9;13223:20;;;;;;;;;;;;;;;:57;;;;13315:9;13298:40;;13307:6;13298:40;;;13326:11;13298:40;;;;;;:::i;:::-;;;;;;;;13356:4;13349:11;;;11749:1619;;;;;;:::o;15971:1151::-;6873:4;6854:16;;:23;;;;;;;;;;;;;;;;;;16029:20:::1;16052:9;:24;16070:4;16052:24;;;;;;;;;;;;;;;;16029:47;;16087:23;16153:14;16168:1;16153:17;;;;;;;:::i;:::-;;;;16133:14;16148:1;16133:17;;;;;;;:::i;:::-;;;;16113:14;16128:1;16113:17;;;;;;;:::i;:::-;;;;:37;;;;:::i;:::-;:57;;;;:::i;:::-;16087:83;;16181:16;16200:14;16215:1;16200:17;;;;;;;:::i;:::-;;;;16181:36;;16228:15;16246:14;16261:1;16246:17;;;;;;;:::i;:::-;;;;16228:35;;16271:16;16290:14;16305:1;16290:17;;;;;;;:::i;:::-;;;;16271:36;;16318:26;16357:1;16347:7;:11;;;;:::i;:::-;16318:40;;16371:20;16409:18;16394:12;:33;;;;:::i;:::-;16371:56;;16440:30;16457:12;16440:16;:30::i;:::-;16483:23;16509:21;16483:47;;16541:17;16590:15;16579:8;16561:15;:26;;;;:::i;:::-;:44;;;;:::i;:::-;16541:64;;16616:23;16688:1;16670:15;16660:7;16642:15;:25;;;;:::i;:::-;:43;;;;:::i;:::-;:47;;;;:::i;:::-;16616:73;;16697:17;16745:15;16735:8;16717:15;:26;;;;:::i;:::-;:43;;;;:::i;:::-;16697:63;;16801:1;16783:15;:19;16779:96;;;16827:15;;;;;;;;;;;16819:33;;:44;16853:9;16819:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;16779:96;16914:1;16893:18;:22;16889:104;;;16932:49;16945:18;16965:15;16932:12;:49::i;:::-;16889:104;17019:1;17007:9;:13;17003:81;;;17042:9;;;;;;;;;;;17034:27;;:38;17062:9;17034:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;17003:81;17100:14;;17093:21;;;;:::i;:::-;16012:1110;;;;;;;;;;;6919:5:::0;6900:16;;:24;;;;;;;;;;;;;;;;;;15971:1151::o;3302:191::-;3376:16;3395:6;;;;;;;;;;;3376:25;;3421:8;3412:6;;:17;;;;;;;;;;;;;;;;;;3476:8;3445:40;;3466:8;3445:40;;;;;;;;;;;;3365:128;3302:191;:::o;2218:98::-;2271:7;2298:10;2291:17;;2218:98;:::o;14350:300::-;14443:4;14500:6;14480:9;:17;14490:6;14480:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;14460:9;:17;14470:6;14460:17;;;;;;;;;;;;;;;:46;;;;14563:6;14540:9;:20;14550:9;14540:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;14517:9;:20;14527:9;14517:20;;;;;;;;;;;;;;;:52;;;;14602:9;14585:35;;14594:6;14585:35;;;14613:6;14585:35;;;;;;:::i;:::-;;;;;;;;14638:4;14631:11;;14350:300;;;;;:::o;13378:964::-;13464:7;13494:15;13530:5;13521:6;;13512;:15;;;;:::i;:::-;:23;;;;:::i;:::-;13494:41;;13543:15;13580:5;13570:7;;13561:6;:16;;;;:::i;:::-;:24;;;;:::i;:::-;13543:42;;13596:14;13630:5;13622;;13613:6;:14;;;;:::i;:::-;:22;;;;:::i;:::-;13596:39;;13643:14;13678:5;13669:6;;13660;:15;;;;:::i;:::-;:23;;;;:::i;:::-;13643:40;;13691:12;13724:5;13715:6;;13706;:15;;;;:::i;:::-;:23;;;;:::i;:::-;13691:38;;13737:12;13771:5;13761:7;;13752:6;:16;;;;:::i;:::-;:24;;;;:::i;:::-;13737:39;;13787:16;13826:4;;;;;;;;;;;13816:14;;:6;:14;;;:44;;;;;13855:4;;;;;;;;;;;13834:26;;:9;:26;;;;13816:44;:71;;;;;13865:11;:22;13877:9;13865:22;;;;;;;;;;;;;;;;;;;;;;;;;13864:23;13816:71;13813:184;;;13934:4;13925:6;13915:7;:16;;;;:::i;:::-;:23;;;;:::i;:::-;13904:34;;13950:38;13966:7;13975:6;13983:4;13950:15;:38::i;:::-;13813:184;14010:16;;;;;;;;;;;14009:17;:35;;;;;14040:4;;;;;;;;;;;14030:14;;:6;:14;;;;14009:35;:50;;;;;14048:11;;;;;;;;;;;14009:50;14006:160;;;14103:4;14094:6;14084:7;:16;;;;:::i;:::-;:23;;;;:::i;:::-;14073:34;;14119:38;14135:7;14144:6;14152:4;14119:15;:38::i;:::-;14006:160;14232:8;14205:9;:24;14223:4;14205:24;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;14178:9;:24;14196:4;14178:24;;;;;;;;;;;;;;;:62;;;;14281:4;14256:41;;14265:6;14256:41;;;14288:8;14256:41;;;;;;:::i;:::-;;;;;;;;14326:8;14317:6;:17;;;;:::i;:::-;14310:24;;;;;;;;;13378:964;;;;;:::o;15239:432::-;15307:21;15345:1;15331:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15307:40;;15376:4;15358;15363:1;15358:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15402:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15392:4;15397:1;15392:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15428:35;15444:4;15451:11;15428:7;:35::i;:::-;;15476:6;;;;;;;;;;;:57;;;15548:11;15574:1;15590:4;15617;15637:15;15476:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15294:377;15239:432;:::o;15679:284::-;15760:6;;;;;;;;;;;:22;;;15790:9;15823:4;15843:11;15869:1;15885;15901:13;;;;;;;;;;;15929:15;15760:195;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15679:284;;:::o;11064:172::-;11159:3;11138:14;11153:1;11138:17;;;;;;;:::i;:::-;;;;:24;;;;;;;:::i;:::-;;;;;;;;11194:2;11173:14;11188:1;11173:17;;;;;;;:::i;:::-;;;;:23;;;;;;;:::i;:::-;;;;;;;;11225:3;11204:14;11219:1;11204:17;;;;;;;:::i;:::-;;;;:24;;;;;;;:::i;:::-;;;;;;;;11064:172;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:116::-;1342:21;1357:5;1342:21;:::i;:::-;1335:5;1332:32;1322:60;;1378:1;1375;1368:12;1322:60;1272:116;:::o;1394:133::-;1437:5;1475:6;1462:20;1453:29;;1491:30;1515:5;1491:30;:::i;:::-;1394:133;;;;:::o;1533:468::-;1598:6;1606;1655:2;1643:9;1634:7;1630:23;1626:32;1623:119;;;1661:79;;:::i;:::-;1623:119;1781:1;1806:53;1851:7;1842:6;1831:9;1827:22;1806:53;:::i;:::-;1796:63;;1752:117;1908:2;1934:50;1976:7;1967:6;1956:9;1952:22;1934:50;:::i;:::-;1924:60;;1879:115;1533:468;;;;;:::o;2007:77::-;2044:7;2073:5;2062:16;;2007:77;;;:::o;2090:118::-;2177:24;2195:5;2177:24;:::i;:::-;2172:3;2165:37;2090:118;;:::o;2214:222::-;2307:4;2345:2;2334:9;2330:18;2322:26;;2358:71;2426:1;2415:9;2411:17;2402:6;2358:71;:::i;:::-;2214:222;;;;:::o;2442:99::-;2494:6;2528:5;2522:12;2512:22;;2442:99;;;:::o;2547:169::-;2631:11;2665:6;2660:3;2653:19;2705:4;2700:3;2696:14;2681:29;;2547:169;;;;:::o;2722:307::-;2790:1;2800:113;2814:6;2811:1;2808:13;2800:113;;;2899:1;2894:3;2890:11;2884:18;2880:1;2875:3;2871:11;2864:39;2836:2;2833:1;2829:10;2824:15;;2800:113;;;2931:6;2928:1;2925:13;2922:101;;;3011:1;3002:6;2997:3;2993:16;2986:27;2922:101;2771:258;2722:307;;;:::o;3035:102::-;3076:6;3127:2;3123:7;3118:2;3111:5;3107:14;3103:28;3093:38;;3035:102;;;:::o;3143:364::-;3231:3;3259:39;3292:5;3259:39;:::i;:::-;3314:71;3378:6;3373:3;3314:71;:::i;:::-;3307:78;;3394:52;3439:6;3434:3;3427:4;3420:5;3416:16;3394:52;:::i;:::-;3471:29;3493:6;3471:29;:::i;:::-;3466:3;3462:39;3455:46;;3235:272;3143:364;;;;:::o;3513:313::-;3626:4;3664:2;3653:9;3649:18;3641:26;;3713:9;3707:4;3703:20;3699:1;3688:9;3684:17;3677:47;3741:78;3814:4;3805:6;3741:78;:::i;:::-;3733:86;;3513:313;;;;:::o;3832:122::-;3905:24;3923:5;3905:24;:::i;:::-;3898:5;3895:35;3885:63;;3944:1;3941;3934:12;3885:63;3832:122;:::o;3960:139::-;4006:5;4044:6;4031:20;4022:29;;4060:33;4087:5;4060:33;:::i;:::-;3960:139;;;;:::o;4105:474::-;4173:6;4181;4230:2;4218:9;4209:7;4205:23;4201:32;4198:119;;;4236:79;;:::i;:::-;4198:119;4356:1;4381:53;4426:7;4417:6;4406:9;4402:22;4381:53;:::i;:::-;4371:63;;4327:117;4483:2;4509:53;4554:7;4545:6;4534:9;4530:22;4509:53;:::i;:::-;4499:63;;4454:118;4105:474;;;;;:::o;4585:109::-;4666:21;4681:5;4666:21;:::i;:::-;4661:3;4654:34;4585:109;;:::o;4700:210::-;4787:4;4825:2;4814:9;4810:18;4802:26;;4838:65;4900:1;4889:9;4885:17;4876:6;4838:65;:::i;:::-;4700:210;;;;:::o;4916:329::-;4975:6;5024:2;5012:9;5003:7;4999:23;4995:32;4992:119;;;5030:79;;:::i;:::-;4992:119;5150:1;5175:53;5220:7;5211:6;5200:9;5196:22;5175:53;:::i;:::-;5165:63;;5121:117;4916:329;;;;:::o;5251:104::-;5296:7;5325:24;5343:5;5325:24;:::i;:::-;5314:35;;5251:104;;;:::o;5361:138::-;5442:32;5468:5;5442:32;:::i;:::-;5435:5;5432:43;5422:71;;5489:1;5486;5479:12;5422:71;5361:138;:::o;5505:155::-;5559:5;5597:6;5584:20;5575:29;;5613:41;5648:5;5613:41;:::i;:::-;5505:155;;;;:::o;5666:345::-;5733:6;5782:2;5770:9;5761:7;5757:23;5753:32;5750:119;;;5788:79;;:::i;:::-;5750:119;5908:1;5933:61;5986:7;5977:6;5966:9;5962:22;5933:61;:::i;:::-;5923:71;;5879:125;5666:345;;;;:::o;6017:619::-;6094:6;6102;6110;6159:2;6147:9;6138:7;6134:23;6130:32;6127:119;;;6165:79;;:::i;:::-;6127:119;6285:1;6310:53;6355:7;6346:6;6335:9;6331:22;6310:53;:::i;:::-;6300:63;;6256:117;6412:2;6438:53;6483:7;6474:6;6463:9;6459:22;6438:53;:::i;:::-;6428:63;;6383:118;6540:2;6566:53;6611:7;6602:6;6591:9;6587:22;6566:53;:::i;:::-;6556:63;;6511:118;6017:619;;;;;:::o;6642:86::-;6677:7;6717:4;6710:5;6706:16;6695:27;;6642:86;;;:::o;6734:112::-;6817:22;6833:5;6817:22;:::i;:::-;6812:3;6805:35;6734:112;;:::o;6852:214::-;6941:4;6979:2;6968:9;6964:18;6956:26;;6992:67;7056:1;7045:9;7041:17;7032:6;6992:67;:::i;:::-;6852:214;;;;:::o;7072:117::-;7181:1;7178;7171:12;7195:117;7304:1;7301;7294:12;7318:117;7427:1;7424;7417:12;7458:568;7531:8;7541:6;7591:3;7584:4;7576:6;7572:17;7568:27;7558:122;;7599:79;;:::i;:::-;7558:122;7712:6;7699:20;7689:30;;7742:18;7734:6;7731:30;7728:117;;;7764:79;;:::i;:::-;7728:117;7878:4;7870:6;7866:17;7854:29;;7932:3;7924:4;7916:6;7912:17;7902:8;7898:32;7895:41;7892:128;;;7939:79;;:::i;:::-;7892:128;7458:568;;;;;:::o;8049:::-;8122:8;8132:6;8182:3;8175:4;8167:6;8163:17;8159:27;8149:122;;8190:79;;:::i;:::-;8149:122;8303:6;8290:20;8280:30;;8333:18;8325:6;8322:30;8319:117;;;8355:79;;:::i;:::-;8319:117;8469:4;8461:6;8457:17;8445:29;;8523:3;8515:4;8507:6;8503:17;8493:8;8489:32;8486:41;8483:128;;;8530:79;;:::i;:::-;8483:128;8049:568;;;;;:::o;8623:934::-;8745:6;8753;8761;8769;8818:2;8806:9;8797:7;8793:23;8789:32;8786:119;;;8824:79;;:::i;:::-;8786:119;8972:1;8961:9;8957:17;8944:31;9002:18;8994:6;8991:30;8988:117;;;9024:79;;:::i;:::-;8988:117;9137:80;9209:7;9200:6;9189:9;9185:22;9137:80;:::i;:::-;9119:98;;;;8915:312;9294:2;9283:9;9279:18;9266:32;9325:18;9317:6;9314:30;9311:117;;;9347:79;;:::i;:::-;9311:117;9460:80;9532:7;9523:6;9512:9;9508:22;9460:80;:::i;:::-;9442:98;;;;9237:313;8623:934;;;;;;;:::o;9563:468::-;9628:6;9636;9685:2;9673:9;9664:7;9660:23;9656:32;9653:119;;;9691:79;;:::i;:::-;9653:119;9811:1;9836:50;9878:7;9869:6;9858:9;9854:22;9836:50;:::i;:::-;9826:60;;9782:114;9935:2;9961:53;10006:7;9997:6;9986:9;9982:22;9961:53;:::i;:::-;9951:63;;9906:118;9563:468;;;;;:::o;10037:118::-;10124:24;10142:5;10124:24;:::i;:::-;10119:3;10112:37;10037:118;;:::o;10161:222::-;10254:4;10292:2;10281:9;10277:18;10269:26;;10305:71;10373:1;10362:9;10358:17;10349:6;10305:71;:::i;:::-;10161:222;;;;:::o;10389:619::-;10466:6;10474;10482;10531:2;10519:9;10510:7;10506:23;10502:32;10499:119;;;10537:79;;:::i;:::-;10499:119;10657:1;10682:53;10727:7;10718:6;10707:9;10703:22;10682:53;:::i;:::-;10672:63;;10628:117;10784:2;10810:53;10855:7;10846:6;10835:9;10831:22;10810:53;:::i;:::-;10800:63;;10755:118;10912:2;10938:53;10983:7;10974:6;10963:9;10959:22;10938:53;:::i;:::-;10928:63;;10883:118;10389:619;;;;;:::o;11014:704::-;11109:6;11117;11125;11174:2;11162:9;11153:7;11149:23;11145:32;11142:119;;;11180:79;;:::i;:::-;11142:119;11328:1;11317:9;11313:17;11300:31;11358:18;11350:6;11347:30;11344:117;;;11380:79;;:::i;:::-;11344:117;11493:80;11565:7;11556:6;11545:9;11541:22;11493:80;:::i;:::-;11475:98;;;;11271:312;11622:2;11648:53;11693:7;11684:6;11673:9;11669:22;11648:53;:::i;:::-;11638:63;;11593:118;11014:704;;;;;:::o;11724:323::-;11780:6;11829:2;11817:9;11808:7;11804:23;11800:32;11797:119;;;11835:79;;:::i;:::-;11797:119;11955:1;11980:50;12022:7;12013:6;12002:9;11998:22;11980:50;:::i;:::-;11970:60;;11926:114;11724:323;;;;:::o;12053:474::-;12121:6;12129;12178:2;12166:9;12157:7;12153:23;12149:32;12146:119;;;12184:79;;:::i;:::-;12146:119;12304:1;12329:53;12374:7;12365:6;12354:9;12350:22;12329:53;:::i;:::-;12319:63;;12275:117;12431:2;12457:53;12502:7;12493:6;12482:9;12478:22;12457:53;:::i;:::-;12447:63;;12402:118;12053:474;;;;;:::o;12533:60::-;12561:3;12582:5;12575:12;;12533:60;;;:::o;12599:142::-;12649:9;12682:53;12700:34;12709:24;12727:5;12709:24;:::i;:::-;12700:34;:::i;:::-;12682:53;:::i;:::-;12669:66;;12599:142;;;:::o;12747:126::-;12797:9;12830:37;12861:5;12830:37;:::i;:::-;12817:50;;12747:126;;;:::o;12879:144::-;12947:9;12980:37;13011:5;12980:37;:::i;:::-;12967:50;;12879:144;;;:::o;13029:167::-;13134:55;13183:5;13134:55;:::i;:::-;13129:3;13122:68;13029:167;;:::o;13202:258::-;13313:4;13351:2;13340:9;13336:18;13328:26;;13364:89;13450:1;13439:9;13435:17;13426:6;13364:89;:::i;:::-;13202:258;;;;:::o;13466:180::-;13514:77;13511:1;13504:88;13611:4;13608:1;13601:15;13635:4;13632:1;13625:15;13652:180;13700:77;13697:1;13690:88;13797:4;13794:1;13787:15;13821:4;13818:1;13811:15;13838:185;13878:1;13895:20;13913:1;13895:20;:::i;:::-;13890:25;;13929:20;13947:1;13929:20;:::i;:::-;13924:25;;13968:1;13958:35;;13973:18;;:::i;:::-;13958:35;14015:1;14012;14008:9;14003:14;;13838:185;;;;:::o;14029:169::-;14169:21;14165:1;14157:6;14153:14;14146:45;14029:169;:::o;14204:366::-;14346:3;14367:67;14431:2;14426:3;14367:67;:::i;:::-;14360:74;;14443:93;14532:3;14443:93;:::i;:::-;14561:2;14556:3;14552:12;14545:19;;14204:366;;;:::o;14576:419::-;14742:4;14780:2;14769:9;14765:18;14757:26;;14829:9;14823:4;14819:20;14815:1;14804:9;14800:17;14793:47;14857:131;14983:4;14857:131;:::i;:::-;14849:139;;14576:419;;;:::o;15001:171::-;15141:23;15137:1;15129:6;15125:14;15118:47;15001:171;:::o;15178:366::-;15320:3;15341:67;15405:2;15400:3;15341:67;:::i;:::-;15334:74;;15417:93;15506:3;15417:93;:::i;:::-;15535:2;15530:3;15526:12;15519:19;;15178:366;;;:::o;15550:419::-;15716:4;15754:2;15743:9;15739:18;15731:26;;15803:9;15797:4;15793:20;15789:1;15778:9;15774:17;15767:47;15831:131;15957:4;15831:131;:::i;:::-;15823:139;;15550:419;;;:::o;15975:191::-;16015:4;16035:20;16053:1;16035:20;:::i;:::-;16030:25;;16069:20;16087:1;16069:20;:::i;:::-;16064:25;;16108:1;16105;16102:8;16099:34;;;16113:18;;:::i;:::-;16099:34;16158:1;16155;16151:9;16143:17;;15975:191;;;;:::o;16172:143::-;16229:5;16260:6;16254:13;16245:22;;16276:33;16303:5;16276:33;:::i;:::-;16172:143;;;;:::o;16321:351::-;16391:6;16440:2;16428:9;16419:7;16415:23;16411:32;16408:119;;;16446:79;;:::i;:::-;16408:119;16566:1;16591:64;16647:7;16638:6;16627:9;16623:22;16591:64;:::i;:::-;16581:74;;16537:128;16321:351;;;;:::o;16678:332::-;16799:4;16837:2;16826:9;16822:18;16814:26;;16850:71;16918:1;16907:9;16903:17;16894:6;16850:71;:::i;:::-;16931:72;16999:2;16988:9;16984:18;16975:6;16931:72;:::i;:::-;16678:332;;;;;:::o;17016:137::-;17070:5;17101:6;17095:13;17086:22;;17117:30;17141:5;17117:30;:::i;:::-;17016:137;;;;:::o;17159:345::-;17226:6;17275:2;17263:9;17254:7;17250:23;17246:32;17243:119;;;17281:79;;:::i;:::-;17243:119;17401:1;17426:61;17479:7;17470:6;17459:9;17455:22;17426:61;:::i;:::-;17416:71;;17372:125;17159:345;;;;:::o;17510:180::-;17558:77;17555:1;17548:88;17655:4;17652:1;17645:15;17679:4;17676:1;17669:15;17696:233;17735:3;17758:24;17776:5;17758:24;:::i;:::-;17749:33;;17804:66;17797:5;17794:77;17791:103;;17874:18;;:::i;:::-;17791:103;17921:1;17914:5;17910:13;17903:20;;17696:233;;;:::o;17935:305::-;17975:3;17994:20;18012:1;17994:20;:::i;:::-;17989:25;;18028:20;18046:1;18028:20;:::i;:::-;18023:25;;18182:1;18114:66;18110:74;18107:1;18104:81;18101:107;;;18188:18;;:::i;:::-;18101:107;18232:1;18229;18225:9;18218:16;;17935:305;;;;:::o;18246:163::-;18386:15;18382:1;18374:6;18370:14;18363:39;18246:163;:::o;18415:366::-;18557:3;18578:67;18642:2;18637:3;18578:67;:::i;:::-;18571:74;;18654:93;18743:3;18654:93;:::i;:::-;18772:2;18767:3;18763:12;18756:19;;18415:366;;;:::o;18787:419::-;18953:4;18991:2;18980:9;18976:18;18968:26;;19040:9;19034:4;19030:20;19026:1;19015:9;19011:17;19004:47;19068:131;19194:4;19068:131;:::i;:::-;19060:139;;18787:419;;;:::o;19212:169::-;19352:21;19348:1;19340:6;19336:14;19329:45;19212:169;:::o;19387:366::-;19529:3;19550:67;19614:2;19609:3;19550:67;:::i;:::-;19543:74;;19626:93;19715:3;19626:93;:::i;:::-;19744:2;19739:3;19735:12;19728:19;;19387:366;;;:::o;19759:419::-;19925:4;19963:2;19952:9;19948:18;19940:26;;20012:9;20006:4;20002:20;19998:1;19987:9;19983:17;19976:47;20040:131;20166:4;20040:131;:::i;:::-;20032:139;;19759:419;;;:::o;20184:166::-;20324:18;20320:1;20312:6;20308:14;20301:42;20184:166;:::o;20356:366::-;20498:3;20519:67;20583:2;20578:3;20519:67;:::i;:::-;20512:74;;20595:93;20684:3;20595:93;:::i;:::-;20713:2;20708:3;20704:12;20697:19;;20356:366;;;:::o;20728:419::-;20894:4;20932:2;20921:9;20917:18;20909:26;;20981:9;20975:4;20971:20;20967:1;20956:9;20952:17;20945:47;21009:131;21135:4;21009:131;:::i;:::-;21001:139;;20728:419;;;:::o;21153:225::-;21293:34;21289:1;21281:6;21277:14;21270:58;21362:8;21357:2;21349:6;21345:15;21338:33;21153:225;:::o;21384:366::-;21526:3;21547:67;21611:2;21606:3;21547:67;:::i;:::-;21540:74;;21623:93;21712:3;21623:93;:::i;:::-;21741:2;21736:3;21732:12;21725:19;;21384:366;;;:::o;21756:419::-;21922:4;21960:2;21949:9;21945:18;21937:26;;22009:9;22003:4;21999:20;21995:1;21984:9;21980:17;21973:47;22037:131;22163:4;22037:131;:::i;:::-;22029:139;;21756:419;;;:::o;22181:182::-;22321:34;22317:1;22309:6;22305:14;22298:58;22181:182;:::o;22369:366::-;22511:3;22532:67;22596:2;22591:3;22532:67;:::i;:::-;22525:74;;22608:93;22697:3;22608:93;:::i;:::-;22726:2;22721:3;22717:12;22710:19;;22369:366;;;:::o;22741:419::-;22907:4;22945:2;22934:9;22930:18;22922:26;;22994:9;22988:4;22984:20;22980:1;22969:9;22965:17;22958:47;23022:131;23148:4;23022:131;:::i;:::-;23014:139;;22741:419;;;:::o;23166:224::-;23306:34;23302:1;23294:6;23290:14;23283:58;23375:7;23370:2;23362:6;23358:15;23351:32;23166:224;:::o;23396:366::-;23538:3;23559:67;23623:2;23618:3;23559:67;:::i;:::-;23552:74;;23635:93;23724:3;23635:93;:::i;:::-;23753:2;23748:3;23744:12;23737:19;;23396:366;;;:::o;23768:419::-;23934:4;23972:2;23961:9;23957:18;23949:26;;24021:9;24015:4;24011:20;24007:1;23996:9;23992:17;23985:47;24049:131;24175:4;24049:131;:::i;:::-;24041:139;;23768:419;;;:::o;24193:222::-;24333:34;24329:1;24321:6;24317:14;24310:58;24402:5;24397:2;24389:6;24385:15;24378:30;24193:222;:::o;24421:366::-;24563:3;24584:67;24648:2;24643:3;24584:67;:::i;:::-;24577:74;;24660:93;24749:3;24660:93;:::i;:::-;24778:2;24773:3;24769:12;24762:19;;24421:366;;;:::o;24793:419::-;24959:4;24997:2;24986:9;24982:18;24974:26;;25046:9;25040:4;25036:20;25032:1;25021:9;25017:17;25010:47;25074:131;25200:4;25074:131;:::i;:::-;25066:139;;24793:419;;;:::o;25218:228::-;25358:34;25354:1;25346:6;25342:14;25335:58;25427:11;25422:2;25414:6;25410:15;25403:36;25218:228;:::o;25452:366::-;25594:3;25615:67;25679:2;25674:3;25615:67;:::i;:::-;25608:74;;25691:93;25780:3;25691:93;:::i;:::-;25809:2;25804:3;25800:12;25793:19;;25452:366;;;:::o;25824:419::-;25990:4;26028:2;26017:9;26013:18;26005:26;;26077:9;26071:4;26067:20;26063:1;26052:9;26048:17;26041:47;26105:131;26231:4;26105:131;:::i;:::-;26097:139;;25824:419;;;:::o;26249:175::-;26389:27;26385:1;26377:6;26373:14;26366:51;26249:175;:::o;26430:366::-;26572:3;26593:67;26657:2;26652:3;26593:67;:::i;:::-;26586:74;;26669:93;26758:3;26669:93;:::i;:::-;26787:2;26782:3;26778:12;26771:19;;26430:366;;;:::o;26802:419::-;26968:4;27006:2;26995:9;26991:18;26983:26;;27055:9;27049:4;27045:20;27041:1;27030:9;27026:17;27019:47;27083:131;27209:4;27083:131;:::i;:::-;27075:139;;26802:419;;;:::o;27227:165::-;27367:17;27363:1;27355:6;27351:14;27344:41;27227:165;:::o;27398:366::-;27540:3;27561:67;27625:2;27620:3;27561:67;:::i;:::-;27554:74;;27637:93;27726:3;27637:93;:::i;:::-;27755:2;27750:3;27746:12;27739:19;;27398:366;;;:::o;27770:419::-;27936:4;27974:2;27963:9;27959:18;27951:26;;28023:9;28017:4;28013:20;28009:1;27998:9;27994:17;27987:47;28051:131;28177:4;28051:131;:::i;:::-;28043:139;;27770:419;;;:::o;28195:168::-;28335:20;28331:1;28323:6;28319:14;28312:44;28195:168;:::o;28369:366::-;28511:3;28532:67;28596:2;28591:3;28532:67;:::i;:::-;28525:74;;28608:93;28697:3;28608:93;:::i;:::-;28726:2;28721:3;28717:12;28710:19;;28369:366;;;:::o;28741:419::-;28907:4;28945:2;28934:9;28930:18;28922:26;;28994:9;28988:4;28984:20;28980:1;28969:9;28965:17;28958:47;29022:131;29148:4;29022:131;:::i;:::-;29014:139;;28741:419;;;:::o;29166:348::-;29206:7;29229:20;29247:1;29229:20;:::i;:::-;29224:25;;29263:20;29281:1;29263:20;:::i;:::-;29258:25;;29451:1;29383:66;29379:74;29376:1;29373:81;29368:1;29361:9;29354:17;29350:105;29347:131;;;29458:18;;:::i;:::-;29347:131;29506:1;29503;29499:9;29488:20;;29166:348;;;;:::o;29520:180::-;29568:77;29565:1;29558:88;29665:4;29662:1;29655:15;29689:4;29686:1;29679:15;29706:143;29763:5;29794:6;29788:13;29779:22;;29810:33;29837:5;29810:33;:::i;:::-;29706:143;;;;:::o;29855:351::-;29925:6;29974:2;29962:9;29953:7;29949:23;29945:32;29942:119;;;29980:79;;:::i;:::-;29942:119;30100:1;30125:64;30181:7;30172:6;30161:9;30157:22;30125:64;:::i;:::-;30115:74;;30071:128;29855:351;;;;:::o;30212:85::-;30257:7;30286:5;30275:16;;30212:85;;;:::o;30303:158::-;30361:9;30394:61;30412:42;30421:32;30447:5;30421:32;:::i;:::-;30412:42;:::i;:::-;30394:61;:::i;:::-;30381:74;;30303:158;;;:::o;30467:147::-;30562:45;30601:5;30562:45;:::i;:::-;30557:3;30550:58;30467:147;;:::o;30620:114::-;30687:6;30721:5;30715:12;30705:22;;30620:114;;;:::o;30740:184::-;30839:11;30873:6;30868:3;30861:19;30913:4;30908:3;30904:14;30889:29;;30740:184;;;;:::o;30930:132::-;30997:4;31020:3;31012:11;;31050:4;31045:3;31041:14;31033:22;;30930:132;;;:::o;31068:108::-;31145:24;31163:5;31145:24;:::i;:::-;31140:3;31133:37;31068:108;;:::o;31182:179::-;31251:10;31272:46;31314:3;31306:6;31272:46;:::i;:::-;31350:4;31345:3;31341:14;31327:28;;31182:179;;;;:::o;31367:113::-;31437:4;31469;31464:3;31460:14;31452:22;;31367:113;;;:::o;31516:732::-;31635:3;31664:54;31712:5;31664:54;:::i;:::-;31734:86;31813:6;31808:3;31734:86;:::i;:::-;31727:93;;31844:56;31894:5;31844:56;:::i;:::-;31923:7;31954:1;31939:284;31964:6;31961:1;31958:13;31939:284;;;32040:6;32034:13;32067:63;32126:3;32111:13;32067:63;:::i;:::-;32060:70;;32153:60;32206:6;32153:60;:::i;:::-;32143:70;;31999:224;31986:1;31983;31979:9;31974:14;;31939:284;;;31943:14;32239:3;32232:10;;31640:608;;;31516:732;;;;:::o;32254:831::-;32517:4;32555:3;32544:9;32540:19;32532:27;;32569:71;32637:1;32626:9;32622:17;32613:6;32569:71;:::i;:::-;32650:80;32726:2;32715:9;32711:18;32702:6;32650:80;:::i;:::-;32777:9;32771:4;32767:20;32762:2;32751:9;32747:18;32740:48;32805:108;32908:4;32899:6;32805:108;:::i;:::-;32797:116;;32923:72;32991:2;32980:9;32976:18;32967:6;32923:72;:::i;:::-;33005:73;33073:3;33062:9;33058:19;33049:6;33005:73;:::i;:::-;32254:831;;;;;;;;:::o;33091:807::-;33340:4;33378:3;33367:9;33363:19;33355:27;;33392:71;33460:1;33449:9;33445:17;33436:6;33392:71;:::i;:::-;33473:72;33541:2;33530:9;33526:18;33517:6;33473:72;:::i;:::-;33555:80;33631:2;33620:9;33616:18;33607:6;33555:80;:::i;:::-;33645;33721:2;33710:9;33706:18;33697:6;33645:80;:::i;:::-;33735:73;33803:3;33792:9;33788:19;33779:6;33735:73;:::i;:::-;33818;33886:3;33875:9;33871:19;33862:6;33818:73;:::i;:::-;33091:807;;;;;;;;;:::o;33904:663::-;33992:6;34000;34008;34057:2;34045:9;34036:7;34032:23;34028:32;34025:119;;;34063:79;;:::i;:::-;34025:119;34183:1;34208:64;34264:7;34255:6;34244:9;34240:22;34208:64;:::i;:::-;34198:74;;34154:128;34321:2;34347:64;34403:7;34394:6;34383:9;34379:22;34347:64;:::i;:::-;34337:74;;34292:129;34460:2;34486:64;34542:7;34533:6;34522:9;34518:22;34486:64;:::i;:::-;34476:74;;34431:129;33904:663;;;;;:::o

Swarm Source

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