ETH Price: $2,361.18 (+1.42%)

Token

Slime Doge (Sloge)
 

Overview

Max Total Supply

1,000,000,000 Sloge

Holders

51

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
10,351,680.352363165097851304 Sloge

Value
$0.00
0x6bda39bc6978d69d9e4da36b6c84a21adbcfa6ed
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Sloge

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-11-01
*/

/**
 * 
Telegram: https://t.me/Slime_Doge
Twitter: @SlogeSlimeDoge

$Sloge, the slippery slimy doge has manifested itself straight out of one doges funkiest dream.
Supported by a clever and passionate web3 dev and a raving artist, $Sloge has cum to stay.
Shiny and slimy 4/4 taxes are going straight into auto-deflationary tokenomics and the development of our slithery fast $Sloge swap, 
the Sloge lottery and our hectic NFTs, that in combination with $Sloge will give you access to all these utilities.

*/


// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;


abstract contract ERC20 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;


    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {

        _transfer(msg.sender, to,amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        _transfer(from, to, amount);

        uint256 currentAllowance = allowance[from][msg.sender];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");

        if (currentAllowance != type(uint256).max) allowance[from][msg.sender] = currentAllowance - amount;

        return true;
    }


    function _transfer(address sender, address recipient, uint amount) internal virtual {

        require(sender != address(0), "not 0");
        require(recipient != address(0), "not 0");

        uint256 senderBalance = balanceOf[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            balanceOf[sender] = senderBalance - amount;
        }
        balanceOf[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(address(0), to, amount);
    }

}




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

interface IUniswapV2Pair {
    function sync() external;
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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



contract Sloge is ERC20 {

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    address public constant deadAddress = address(0xdead);

    bool private swapping;
    address public owner;

    address public marketingWallet = address(0x5Edf53b8373E925e42d498A059bb87A3b0D7fcc3);
    address public devWallet = address(0xC36bD1d1E2CFce872464bf243b5062e7B97A50C3);

    uint256 public maxTransactionAmount;
    uint256 public swapTokensAtAmount;
    uint256 public maxWallet;

    uint256 public percentForLPBurn = 25; // 25 = .25%
    bool public lpBurnEnabled = true;
    uint256 public lpBurnFrequency = 3600 seconds;
    uint256 public lastLpBurnTime;

    uint256 public manualBurnFrequency = 30 minutes;
    uint256 public lastManualLpBurnTime;

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public swapEnabled = false;

    // Anti-bot and anti-whale mappings and variables
    mapping(address => uint256) private _holderLastTransferTimestamp; // to hold last Transfers temporarily during launch
    bool public transferDelayEnabled = true;

    uint256 public buyTotalFees = 4;
    uint256 public buyMarketingFee = 2;
    uint256 public buyLiquidityFee = 0;
    uint256 public buyDevFee = 2;

    uint256 public sellTotalFees = 4;
    uint256 public sellMarketingFee = 2;
    uint256 public sellLiquidityFee = 0;
    uint256 public sellDevFee = 2;

    uint256 public tokensForMarketing;
    uint256 public tokensForLiquidity;
    uint256 public tokensForDev;

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

    // exlcude from fees and max transaction amount
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public _isExcludedMaxTransactionAmount;

    // store addresses that a automatic market maker pairs. Any transfer *to* these addresses
    // could be subject to a maximum transfer amount
    mapping(address => bool) public automatedMarketMakerPairs;

    event ExcludeFromFees(address indexed account, bool isExcluded);

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiquidity
    );

    event AutoNukeLP();

    modifier onlyOwner() {
        require(owner == msg.sender, "not owner");
        _;
    }

    constructor() ERC20("Slime Doge", "Sloge", 18) {
        owner = msg.sender;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;

        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        automatedMarketMakerPairs[address(uniswapV2Pair)] = true;


        uint256 tS = 1_000_000_000 * 1e18;

        maxTransactionAmount = 20_000_000 * 1e18; // 2% from total supply maxTransactionAmountTxn
        maxWallet = 20_000_000 * 1e18; // 3% from total supply maxWallet
        swapTokensAtAmount = (tS * 5) / 10000; // 0.05% swap wallet


        // exclude from paying fees or having max transaction amount
        excludeFromFees(owner, true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);

        excludeFromMaxTransaction(owner, true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(0xdead), true);

        /*
            _mint is an internal function in ERC20.sol that is only called here,
            and CANNOT be called ever again
        */
        _mint(msg.sender, tS);
    }

    receive() external payable {}

    // once enabled, can never be turned off
    function enableTrading() external onlyOwner {
        tradingActive = true;
        swapEnabled = true;
        lastLpBurnTime = block.timestamp;
    }

    // remove limits after token is stable
    function removeLimits() external onlyOwner returns (bool) {
        limitsInEffect = false;
        return true;
    }

    // disable Transfer delay - cannot be reenabled
    function disableTransferDelay() external onlyOwner returns (bool) {
        transferDelayEnabled = false;
        return true;
    }



    function excludeFromMaxTransaction(address updAds, bool isEx)
        public
        onlyOwner
    {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    // only use to disable contract sales if absolutely necessary (emergency use only)
    function updateSwapEnabled(bool enabled) external onlyOwner {
        swapEnabled = enabled;
    }



    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }



    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }


    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        if (limitsInEffect) {
            if (
                from != owner &&
                to != owner &&
                to != address(0xdead) &&
                !swapping
            ) {
                if (!tradingActive) {
                    require(
                        _isExcludedFromFees[from] || _isExcludedFromFees[to],
                        "Trading is not active."
                    );
                }

                // at launch if the transfer delay is enabled, ensure the block timestamps for purchasers is set -- during launch.
                if (transferDelayEnabled) {
                    if (
                        to != owner &&
                        to != address(uniswapV2Router) &&
                        to != address(uniswapV2Pair)
                    ) {
                        require(
                            _holderLastTransferTimestamp[tx.origin] <
                                block.number,
                            "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                        );
                        _holderLastTransferTimestamp[tx.origin] = block.number;
                    }
                }

                //when buy
                if (
                    automatedMarketMakerPairs[from] &&
                    !_isExcludedMaxTransactionAmount[to]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "Buy transfer amount exceeds the maxTransactionAmount."
                    );
                    require(
                        amount + balanceOf[to] <= maxWallet,
                        "Max wallet exceeded"
                    );
                }
                //when sell
                else if (
                    automatedMarketMakerPairs[to] &&
                    !_isExcludedMaxTransactionAmount[from]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "Sell transfer amount exceeds the maxTransactionAmount."
                    );
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(
                        amount + balanceOf[to] <= maxWallet,
                        "Max wallet exceeded"
                    );
                }
            }
        }

        uint256 contractTokenBalance = balanceOf[address(this)];

        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if (
            canSwap &&
            swapEnabled &&
            !swapping &&
            !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            swapping = true;

            swapBack();

            swapping = false;
        }

        if (
            !swapping &&
            automatedMarketMakerPairs[to] &&
            lpBurnEnabled &&
            block.timestamp >= lastLpBurnTime + lpBurnFrequency &&
            !_isExcludedFromFees[from]
        ) {
            autoBurnLiquidityPairTokens();
        }

        bool takeFee = !swapping;

        // if any account belongs to _isExcludedFromFee account then remove the fee
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        // only take fees on buys/sells, do not take on wallet transfers
        if (takeFee) {
            // on sell
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = amount * sellTotalFees / 100;
                tokensForLiquidity += (fees * sellLiquidityFee) / sellTotalFees;
                tokensForDev += (fees * sellDevFee) / sellTotalFees;
                tokensForMarketing += (fees * sellMarketingFee) / sellTotalFees;
            }
            // on buy
            else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = amount * buyTotalFees / 100;
                tokensForLiquidity += (fees * buyLiquidityFee) / buyTotalFees;
                tokensForDev += (fees * buyDevFee) / buyTotalFees;
                tokensForMarketing += (fees * buyMarketingFee) / buyTotalFees;
            }

            if (fees > 0) {
                super._transfer(from,address(this), fees);
            }

            amount -= fees;
        }

        super._transfer(from,to, amount);

    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        approve(address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        approve(address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            deadAddress,
            block.timestamp
        );
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf[address(this)];
        uint256 totalTokensToSwap = tokensForLiquidity +
            tokensForMarketing +
            tokensForDev;
        bool success;

        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }

        if (contractBalance > swapTokensAtAmount * 20) {
            contractBalance = swapTokensAtAmount * 20;
        }

        // Halve the amount of liquidity tokens
        uint256 liquidityTokens = (contractBalance * tokensForLiquidity) /
            totalTokensToSwap /
            2;
        uint256 amountToSwapForETH = contractBalance - liquidityTokens;

        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(amountToSwapForETH);

        uint256 ethBalance = address(this).balance - initialETHBalance;

        uint256 ethForMarketing = ethBalance * tokensForMarketing / totalTokensToSwap;

        uint256 ethForDev = ethBalance * tokensForDev / totalTokensToSwap;

        uint256 ethForLiquidity = ethBalance - ethForMarketing - ethForDev;

        tokensForLiquidity = 0;
        tokensForMarketing = 0;
        tokensForDev = 0;

        (success, ) = address(devWallet).call{value: ethForDev}("");

        if (liquidityTokens > 0 && ethForLiquidity > 0) {
            addLiquidity(liquidityTokens, ethForLiquidity);
            emit SwapAndLiquify(
                amountToSwapForETH,
                ethForLiquidity,
                tokensForLiquidity
            );
        }

        (success, ) = address(marketingWallet).call{
            value: address(this).balance
        }("");
    }

    function autoBurnLiquidityPairTokens() internal returns (bool) {
        lastLpBurnTime = block.timestamp;

        // get balance of liquidity pair
        uint256 liquidityPairBalance = this.balanceOf(uniswapV2Pair);

        // calculate amount to burn
        uint256 amountToBurn = liquidityPairBalance * (percentForLPBurn) / (
            10000
        );

        // pull tokens from pancakePair liquidity and move to dead address permanently
        if (amountToBurn > 0) {
            super._transfer(uniswapV2Pair, address(0xdead), amountToBurn);
        }

        //sync price since this is not in a swap transaction!
        IUniswapV2Pair pair = IUniswapV2Pair(uniswapV2Pair);
        pair.sync();
        emit AutoNukeLP();
        return true;
    }

}

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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"AutoNukeLP","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastManualLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e0604052735edf53b8373e925e42d498a059bb87a3b0d7fcc3600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c36bd1d1e2cfce872464bf243b5062e7b97a50c3600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506019600b556001600c60006101000a81548160ff021916908315150217905550610e10600d55610708600f556001601160006101000a81548160ff0219169083151502179055506000601160016101000a81548160ff0219169083151502179055506000601160026101000a81548160ff0219169083151502179055506001601360006101000a81548160ff0219169083151502179055506004601455600260155560006016556002601755600460185560026019556000601a556002601b553480156200017b57600080fd5b506040518060400160405280600a81526020017f536c696d6520446f6765000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f536c6f676500000000000000000000000000000000000000000000000000000081525060128260009081620001fb919062000b6e565b5081600190816200020d919062000b6e565b508060ff1660808160ff168152505050505033600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90506200028c816001620005f460201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000332919062000cbf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200039a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c0919062000cbf565b6040518363ffffffff1660e01b8152600401620003df92919062000d02565b6020604051808303816000875af1158015620003ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000425919062000cbf565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250506200046d60c0516001620005f460201b60201c565b60016021600060c05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060006b033b2e3c9fd0803ce800000090506a108b2a2c280290940000006008819055506a108b2a2c28029094000000600a819055506127106005826200050e919062000d5e565b6200051a919062000dd8565b60098190555062000555600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620006e260201b60201c565b62000568306001620006e260201b60201c565b6200057d61dead6001620006e260201b60201c565b620005b2600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620005f460201b60201c565b620005c5306001620005f460201b60201c565b620005da61dead6001620005f460201b60201c565b620005ec33826200082060201b60201c565b505062000f36565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000687576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200067e9062000e71565b60405180910390fd5b80602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000775576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200076c9062000e71565b60405180910390fd5b80601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000814919062000eb0565b60405180910390a25050565b806002600082825462000834919062000ecd565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620008e8919062000f19565b60405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200097657607f821691505b6020821081036200098c576200098b6200092e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009f67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620009b7565b62000a028683620009b7565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000a4f62000a4962000a438462000a1a565b62000a24565b62000a1a565b9050919050565b6000819050919050565b62000a6b8362000a2e565b62000a8362000a7a8262000a56565b848454620009c4565b825550505050565b600090565b62000a9a62000a8b565b62000aa781848462000a60565b505050565b5b8181101562000acf5762000ac360008262000a90565b60018101905062000aad565b5050565b601f82111562000b1e5762000ae88162000992565b62000af384620009a7565b8101602085101562000b03578190505b62000b1b62000b1285620009a7565b83018262000aac565b50505b505050565b600082821c905092915050565b600062000b436000198460080262000b23565b1980831691505092915050565b600062000b5e838362000b30565b9150826002028217905092915050565b62000b7982620008f4565b67ffffffffffffffff81111562000b955762000b94620008ff565b5b62000ba182546200095d565b62000bae82828562000ad3565b600060209050601f83116001811462000be6576000841562000bd1578287015190505b62000bdd858262000b50565b86555062000c4d565b601f19841662000bf68662000992565b60005b8281101562000c205784890151825560018201915060208501945060208101905062000bf9565b8683101562000c40578489015162000c3c601f89168262000b30565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c878262000c5a565b9050919050565b62000c998162000c7a565b811462000ca557600080fd5b50565b60008151905062000cb98162000c8e565b92915050565b60006020828403121562000cd85762000cd762000c55565b5b600062000ce88482850162000ca8565b91505092915050565b62000cfc8162000c7a565b82525050565b600060408201905062000d19600083018562000cf1565b62000d28602083018462000cf1565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000d6b8262000a1a565b915062000d788362000a1a565b925082820262000d888162000a1a565b9150828204841483151762000da25762000da162000d2f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000de58262000a1a565b915062000df28362000a1a565b92508262000e055762000e0462000da9565b5b828204905092915050565b600082825260208201905092915050565b7f6e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b600062000e5960098362000e10565b915062000e668262000e21565b602082019050919050565b6000602082019050818103600083015262000e8c8162000e4a565b9050919050565b60008115159050919050565b62000eaa8162000e93565b82525050565b600060208201905062000ec7600083018462000e9f565b92915050565b600062000eda8262000a1a565b915062000ee78362000a1a565b925082820190508082111562000f025762000f0162000d2f565b5b92915050565b62000f138162000a1a565b82525050565b600060208201905062000f30600083018462000f08565b92915050565b60805160a05160c051613e0362000fac60003960008181610ee001528181611a4101528181612a3301528181612ade0152612b0b015260008181610cca015281816119e901528181612c6101528181612d4101528181612d6901528181612e040152612e2c01526000610ebc0152613e036000f3fe6080604052600436106102975760003560e01c80638a8c523c1161015a578063b62496f5116100c1578063dd62ed3e1161007a578063dd62ed3e14610a15578063e2f4560514610a52578063e884f26014610a7d578063f11a24d314610aa8578063f637434214610ad3578063f8b45b0514610afe5761029e565b8063b62496f514610903578063bbc0c74214610940578063c02466681461096b578063c876d0b914610994578063c8c8ebe4146109bf578063d85ba063146109ea5761029e565b80639c3b4fdc116101135780639c3b4fdc146107ef5780639ec22c0e1461081a5780639fccce3214610845578063a0d82dc514610870578063a4c82a001461089b578063a9059cbb146108c65761029e565b80638a8c523c146107035780638da5cb5b1461071a5780638ea5220f146107455780639213691314610770578063924de9b71461079b57806395d89b41146107c45761029e565b80632e82f1a0116101fe5780636ddd1713116101b75780636ddd1713146105f157806370a082311461061c578063751039fc146106595780637571336a1461068457806375f0a874146106ad5780637bce5a04146106d85761029e565b80632e82f1a0146104dd578063313ce5671461050857806349bd5a5e146105335780634a62bb651461055e5780634fbee193146105895780636a486a8e146105c65761029e565b8063199ffc7211610250578063199ffc72146103c95780631a8145bb146103f45780631f3fed8f1461041f57806323b872dd1461044a57806327c8f835146104875780632c3e486c146104b25761029e565b806306fdde03146102a3578063095ea7b3146102ce57806310d5de531461030b5780631694505e1461034857806318160ddd14610373578063184c16c51461039e5761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102b8610b29565b6040516102c59190612f6b565b60405180910390f35b3480156102da57600080fd5b506102f560048036038101906102f09190613026565b610bb7565b6040516103029190613081565b60405180910390f35b34801561031757600080fd5b50610332600480360381019061032d919061309c565b610ca9565b60405161033f9190613081565b60405180910390f35b34801561035457600080fd5b5061035d610cc8565b60405161036a9190613128565b60405180910390f35b34801561037f57600080fd5b50610388610cec565b6040516103959190613152565b60405180910390f35b3480156103aa57600080fd5b506103b3610cf2565b6040516103c09190613152565b60405180910390f35b3480156103d557600080fd5b506103de610cf8565b6040516103eb9190613152565b60405180910390f35b34801561040057600080fd5b50610409610cfe565b6040516104169190613152565b60405180910390f35b34801561042b57600080fd5b50610434610d04565b6040516104419190613152565b60405180910390f35b34801561045657600080fd5b50610471600480360381019061046c919061316d565b610d0a565b60405161047e9190613081565b60405180910390f35b34801561049357600080fd5b5061049c610e9b565b6040516104a991906131cf565b60405180910390f35b3480156104be57600080fd5b506104c7610ea1565b6040516104d49190613152565b60405180910390f35b3480156104e957600080fd5b506104f2610ea7565b6040516104ff9190613081565b60405180910390f35b34801561051457600080fd5b5061051d610eba565b60405161052a9190613206565b60405180910390f35b34801561053f57600080fd5b50610548610ede565b60405161055591906131cf565b60405180910390f35b34801561056a57600080fd5b50610573610f02565b6040516105809190613081565b60405180910390f35b34801561059557600080fd5b506105b060048036038101906105ab919061309c565b610f15565b6040516105bd9190613081565b60405180910390f35b3480156105d257600080fd5b506105db610f6b565b6040516105e89190613152565b60405180910390f35b3480156105fd57600080fd5b50610606610f71565b6040516106139190613081565b60405180910390f35b34801561062857600080fd5b50610643600480360381019061063e919061309c565b610f84565b6040516106509190613152565b60405180910390f35b34801561066557600080fd5b5061066e610f9c565b60405161067b9190613081565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a6919061324d565b611050565b005b3480156106b957600080fd5b506106c261113b565b6040516106cf91906131cf565b60405180910390f35b3480156106e457600080fd5b506106ed611161565b6040516106fa9190613152565b60405180910390f35b34801561070f57600080fd5b50610718611167565b005b34801561072657600080fd5b5061072f611236565b60405161073c91906131cf565b60405180910390f35b34801561075157600080fd5b5061075a61125c565b60405161076791906131cf565b60405180910390f35b34801561077c57600080fd5b50610785611282565b6040516107929190613152565b60405180910390f35b3480156107a757600080fd5b506107c260048036038101906107bd919061328d565b611288565b005b3480156107d057600080fd5b506107d9611335565b6040516107e69190612f6b565b60405180910390f35b3480156107fb57600080fd5b506108046113c3565b6040516108119190613152565b60405180910390f35b34801561082657600080fd5b5061082f6113c9565b60405161083c9190613152565b60405180910390f35b34801561085157600080fd5b5061085a6113cf565b6040516108679190613152565b60405180910390f35b34801561087c57600080fd5b506108856113d5565b6040516108929190613152565b60405180910390f35b3480156108a757600080fd5b506108b06113db565b6040516108bd9190613152565b60405180910390f35b3480156108d257600080fd5b506108ed60048036038101906108e89190613026565b6113e1565b6040516108fa9190613081565b60405180910390f35b34801561090f57600080fd5b5061092a6004803603810190610925919061309c565b6113f8565b6040516109379190613081565b60405180910390f35b34801561094c57600080fd5b50610955611418565b6040516109629190613081565b60405180910390f35b34801561097757600080fd5b50610992600480360381019061098d919061324d565b61142b565b005b3480156109a057600080fd5b506109a9611564565b6040516109b69190613081565b60405180910390f35b3480156109cb57600080fd5b506109d4611577565b6040516109e19190613152565b60405180910390f35b3480156109f657600080fd5b506109ff61157d565b604051610a0c9190613152565b60405180910390f35b348015610a2157600080fd5b50610a3c6004803603810190610a3791906132ba565b611583565b604051610a499190613152565b60405180910390f35b348015610a5e57600080fd5b50610a676115a8565b604051610a749190613152565b60405180910390f35b348015610a8957600080fd5b50610a926115ae565b604051610a9f9190613081565b60405180910390f35b348015610ab457600080fd5b50610abd611662565b604051610aca9190613152565b60405180910390f35b348015610adf57600080fd5b50610ae8611668565b604051610af59190613152565b60405180910390f35b348015610b0a57600080fd5b50610b1361166e565b604051610b209190613152565b60405180910390f35b60008054610b3690613329565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6290613329565b8015610baf5780601f10610b8457610100808354040283529160200191610baf565b820191906000526020600020905b815481529060010190602001808311610b9257829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c979190613152565b60405180910390a36001905092915050565b602080528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60025481565b600f5481565b600b5481565b601d5481565b601c5481565b6000610d17848484611674565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd2906133cc565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e8f578281610e0e919061341b565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60019150509392505050565b61dead81565b600d5481565b600c60009054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b601160009054906101000a900460ff1681565b6000601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60185481565b601160029054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60003373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110259061349b565b60405180910390fd5b6000601160006101000a81548160ff0219169083151502179055506001905090565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d79061349b565b60405180910390fd5b80602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee9061349b565b60405180910390fd5b6001601160016101000a81548160ff0219169083151502179055506001601160026101000a81548160ff02191690831515021790555042600e81905550565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60195481565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130f9061349b565b60405180910390fd5b80601160026101000a81548160ff02191690831515021790555050565b6001805461134290613329565b80601f016020809104026020016040519081016040528092919081815260200182805461136e90613329565b80156113bb5780601f10611390576101008083540402835291602001916113bb565b820191906000526020600020905b81548152906001019060200180831161139e57829003601f168201915b505050505081565b60175481565b60105481565b601e5481565b601b5481565b600e5481565b60006113ee338484611674565b6001905092915050565b60216020528060005260406000206000915054906101000a900460ff1681565b601160019054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b29061349b565b60405180910390fd5b80601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516115589190613081565b60405180910390a25050565b601360009054906101000a900460ff1681565b60085481565b60145481565b6004602052816000526040600020602052806000526040600020600091509150505481565b60095481565b60003373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611640576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116379061349b565b60405180910390fd5b6000601360006101000a81548160ff0219169083151502179055506001905090565b60165481565b601a5481565b600a5481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da9061352d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611752576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611749906135bf565b60405180910390fd5b6000810361176b57611766838360006124aa565b6124a5565b601160009054906101000a900460ff1615611eb457600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561182c5750600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611866575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187f5750600560009054906101000a900460ff16155b15611eb357601160019054906101000a900460ff1661197957601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119395750601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196f9061362b565b60405180910390fd5b5b601360009054906101000a900460ff1615611b5c57600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611a3857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a9057507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b5b5743601260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0d906136e3565b60405180910390fd5b43601260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611bff5750602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cdd57600854811115611c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4090613775565b60405180910390fd5b600a54600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611c979190613795565b1115611cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccf90613815565b60405180910390fd5b611eb2565b602160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611d805750602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611dcf57600854811115611dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc1906138a7565b60405180910390fd5b611eb1565b602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611eb057600a54600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e6e9190613795565b1115611eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea690613815565b60405180910390fd5b5b5b5b5b5b6000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006009548210159050808015611f1b5750601160029054906101000a900460ff165b8015611f345750600560009054906101000a900460ff16155b8015611f8a5750602160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611fe05750601f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120365750601f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561207a576001600560006101000a81548160ff02191690831515021790555061205e612716565b6000600560006101000a81548160ff0219169083151502179055505b600560009054906101000a900460ff161580156120e05750602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156120f85750600c60009054906101000a900460ff165b80156121135750600d54600e5461210f9190613795565b4210155b80156121695750601f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561217857612176612a0a565b505b6000600560009054906101000a900460ff16159050601f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061222e5750601f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561223857600090505b6000811561249557602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561229b57506000601854115b1561235a576064601854866122b091906138c7565b6122ba9190613938565b9050601854601a54826122cd91906138c7565b6122d79190613938565b601d60008282546122e89190613795565b92505081905550601854601b548261230091906138c7565b61230a9190613938565b601e600082825461231b9190613795565b925050819055506018546019548261233391906138c7565b61233d9190613938565b601c600082825461234e9190613795565b92505081905550612471565b602160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156123b557506000601454115b15612470576064601454866123ca91906138c7565b6123d49190613938565b9050601454601654826123e791906138c7565b6123f19190613938565b601d60008282546124029190613795565b925050819055506014546017548261241a91906138c7565b6124249190613938565b601e60008282546124359190613795565b925050819055506014546015548261244d91906138c7565b6124579190613938565b601c60008282546124689190613795565b925050819055505b5b6000811115612486576124858730836124aa565b5b8085612492919061341b565b94505b6124a08787876124aa565b505050505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612519576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612510906139b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257f906139b5565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561260f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260690613a47565b60405180910390fd5b818103600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126a49190613795565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127089190613152565b60405180910390a350505050565b6000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000601e54601c54601d5461276f9190613795565b6127799190613795565b905060008083148061278b5750600082145b1561279857505050612a08565b60146009546127a791906138c7565b8311156127c05760146009546127bd91906138c7565b92505b6000600283601d54866127d391906138c7565b6127dd9190613938565b6127e79190613938565b9050600081856127f7919061341b565b9050600047905061280782612bc2565b60008147612815919061341b565b9050600086601c548361282891906138c7565b6128329190613938565b9050600087601e548461284591906138c7565b61284f9190613938565b90506000818385612860919061341b565b61286a919061341b565b90506000601d819055506000601c819055506000601e81905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516128ca90613a98565b60006040518083038185875af1925050503d8060008114612907576040519150601f19603f3d011682016040523d82523d6000602084013e61290c565b606091505b5050809850506000871180156129225750600081115b1561296f576129318782612dff565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601d5460405161296693929190613aad565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516129b590613a98565b60006040518083038185875af1925050503d80600081146129f2576040519150601f19603f3d011682016040523d82523d6000602084013e6129f7565b606091505b505080985050505050505050505050505b565b600042600e8190555060003073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401612a6e91906131cf565b602060405180830381865afa158015612a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aaf9190613af9565b90506000612710600b5483612ac491906138c7565b612ace9190613938565b90506000811115612b0757612b067f000000000000000000000000000000000000000000000000000000000000000061dead836124aa565b5b60007f000000000000000000000000000000000000000000000000000000000000000090508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612b7457600080fd5b505af1158015612b88573d6000803e3d6000fd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b6000600267ffffffffffffffff811115612bdf57612bde613b26565b5b604051908082528060200260200182016040528015612c0d5781602001602082028036833780820191505090505b5090503081600081518110612c2557612c24613b55565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cee9190613b99565b81600181518110612d0257612d01613b55565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612d667f000000000000000000000000000000000000000000000000000000000000000083610bb7565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612dc9959493929190613cbf565b600060405180830381600087803b158015612de357600080fd5b505af1158015612df7573d6000803e3d6000fd5b505050505050565b612e297f000000000000000000000000000000000000000000000000000000000000000083610bb7565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401612e9196959493929190613d19565b60606040518083038185885af1158015612eaf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612ed49190613d7a565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f15578082015181840152602081019050612efa565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f3d82612edb565b612f478185612ee6565b9350612f57818560208601612ef7565b612f6081612f21565b840191505092915050565b60006020820190508181036000830152612f858184612f32565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fbd82612f92565b9050919050565b612fcd81612fb2565b8114612fd857600080fd5b50565b600081359050612fea81612fc4565b92915050565b6000819050919050565b61300381612ff0565b811461300e57600080fd5b50565b60008135905061302081612ffa565b92915050565b6000806040838503121561303d5761303c612f8d565b5b600061304b85828601612fdb565b925050602061305c85828601613011565b9150509250929050565b60008115159050919050565b61307b81613066565b82525050565b60006020820190506130966000830184613072565b92915050565b6000602082840312156130b2576130b1612f8d565b5b60006130c084828501612fdb565b91505092915050565b6000819050919050565b60006130ee6130e96130e484612f92565b6130c9565b612f92565b9050919050565b6000613100826130d3565b9050919050565b6000613112826130f5565b9050919050565b61312281613107565b82525050565b600060208201905061313d6000830184613119565b92915050565b61314c81612ff0565b82525050565b60006020820190506131676000830184613143565b92915050565b60008060006060848603121561318657613185612f8d565b5b600061319486828701612fdb565b93505060206131a586828701612fdb565b92505060406131b686828701613011565b9150509250925092565b6131c981612fb2565b82525050565b60006020820190506131e460008301846131c0565b92915050565b600060ff82169050919050565b613200816131ea565b82525050565b600060208201905061321b60008301846131f7565b92915050565b61322a81613066565b811461323557600080fd5b50565b60008135905061324781613221565b92915050565b6000806040838503121561326457613263612f8d565b5b600061327285828601612fdb565b925050602061328385828601613238565b9150509250929050565b6000602082840312156132a3576132a2612f8d565b5b60006132b184828501613238565b91505092915050565b600080604083850312156132d1576132d0612f8d565b5b60006132df85828601612fdb565b92505060206132f085828601612fdb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061334157607f821691505b602082108103613354576133536132fa565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006133b6602883612ee6565b91506133c18261335a565b604082019050919050565b600060208201905081810360008301526133e5816133a9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061342682612ff0565b915061343183612ff0565b9250828203905081811115613449576134486133ec565b5b92915050565b7f6e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b6000613485600983612ee6565b91506134908261344f565b602082019050919050565b600060208201905081810360008301526134b481613478565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613517602583612ee6565b9150613522826134bb565b604082019050919050565b600060208201905081810360008301526135468161350a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006135a9602383612ee6565b91506135b48261354d565b604082019050919050565b600060208201905081810360008301526135d88161359c565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000613615601683612ee6565b9150613620826135df565b602082019050919050565b6000602082019050818103600083015261364481613608565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006136cd604983612ee6565b91506136d88261364b565b606082019050919050565b600060208201905081810360008301526136fc816136c0565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b600061375f603583612ee6565b915061376a82613703565b604082019050919050565b6000602082019050818103600083015261378e81613752565b9050919050565b60006137a082612ff0565b91506137ab83612ff0565b92508282019050808211156137c3576137c26133ec565b5b92915050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006137ff601383612ee6565b915061380a826137c9565b602082019050919050565b6000602082019050818103600083015261382e816137f2565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613891603683612ee6565b915061389c82613835565b604082019050919050565b600060208201905081810360008301526138c081613884565b9050919050565b60006138d282612ff0565b91506138dd83612ff0565b92508282026138eb81612ff0565b91508282048414831517613902576139016133ec565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061394382612ff0565b915061394e83612ff0565b92508261395e5761395d613909565b5b828204905092915050565b7f6e6f742030000000000000000000000000000000000000000000000000000000600082015250565b600061399f600583612ee6565b91506139aa82613969565b602082019050919050565b600060208201905081810360008301526139ce81613992565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613a31602683612ee6565b9150613a3c826139d5565b604082019050919050565b60006020820190508181036000830152613a6081613a24565b9050919050565b600081905092915050565b50565b6000613a82600083613a67565b9150613a8d82613a72565b600082019050919050565b6000613aa382613a75565b9150819050919050565b6000606082019050613ac26000830186613143565b613acf6020830185613143565b613adc6040830184613143565b949350505050565b600081519050613af381612ffa565b92915050565b600060208284031215613b0f57613b0e612f8d565b5b6000613b1d84828501613ae4565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613b9381612fc4565b92915050565b600060208284031215613baf57613bae612f8d565b5b6000613bbd84828501613b84565b91505092915050565b6000819050919050565b6000613beb613be6613be184613bc6565b6130c9565b612ff0565b9050919050565b613bfb81613bd0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613c3681612fb2565b82525050565b6000613c488383613c2d565b60208301905092915050565b6000602082019050919050565b6000613c6c82613c01565b613c768185613c0c565b9350613c8183613c1d565b8060005b83811015613cb2578151613c998882613c3c565b9750613ca483613c54565b925050600181019050613c85565b5085935050505092915050565b600060a082019050613cd46000830188613143565b613ce16020830187613bf2565b8181036040830152613cf38186613c61565b9050613d0260608301856131c0565b613d0f6080830184613143565b9695505050505050565b600060c082019050613d2e60008301896131c0565b613d3b6020830188613143565b613d486040830187613bf2565b613d556060830186613bf2565b613d6260808301856131c0565b613d6f60a0830184613143565b979650505050505050565b600080600060608486031215613d9357613d92612f8d565b5b6000613da186828701613ae4565b9350506020613db286828701613ae4565b9250506040613dc386828701613ae4565b915050925092509256fea26469706673582212200b58f7026cdc918a5104341546ed3cd5fcd525306237face4e4f26d0eb8b190064736f6c63430008110033

Deployed Bytecode

0x6080604052600436106102975760003560e01c80638a8c523c1161015a578063b62496f5116100c1578063dd62ed3e1161007a578063dd62ed3e14610a15578063e2f4560514610a52578063e884f26014610a7d578063f11a24d314610aa8578063f637434214610ad3578063f8b45b0514610afe5761029e565b8063b62496f514610903578063bbc0c74214610940578063c02466681461096b578063c876d0b914610994578063c8c8ebe4146109bf578063d85ba063146109ea5761029e565b80639c3b4fdc116101135780639c3b4fdc146107ef5780639ec22c0e1461081a5780639fccce3214610845578063a0d82dc514610870578063a4c82a001461089b578063a9059cbb146108c65761029e565b80638a8c523c146107035780638da5cb5b1461071a5780638ea5220f146107455780639213691314610770578063924de9b71461079b57806395d89b41146107c45761029e565b80632e82f1a0116101fe5780636ddd1713116101b75780636ddd1713146105f157806370a082311461061c578063751039fc146106595780637571336a1461068457806375f0a874146106ad5780637bce5a04146106d85761029e565b80632e82f1a0146104dd578063313ce5671461050857806349bd5a5e146105335780634a62bb651461055e5780634fbee193146105895780636a486a8e146105c65761029e565b8063199ffc7211610250578063199ffc72146103c95780631a8145bb146103f45780631f3fed8f1461041f57806323b872dd1461044a57806327c8f835146104875780632c3e486c146104b25761029e565b806306fdde03146102a3578063095ea7b3146102ce57806310d5de531461030b5780631694505e1461034857806318160ddd14610373578063184c16c51461039e5761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102b8610b29565b6040516102c59190612f6b565b60405180910390f35b3480156102da57600080fd5b506102f560048036038101906102f09190613026565b610bb7565b6040516103029190613081565b60405180910390f35b34801561031757600080fd5b50610332600480360381019061032d919061309c565b610ca9565b60405161033f9190613081565b60405180910390f35b34801561035457600080fd5b5061035d610cc8565b60405161036a9190613128565b60405180910390f35b34801561037f57600080fd5b50610388610cec565b6040516103959190613152565b60405180910390f35b3480156103aa57600080fd5b506103b3610cf2565b6040516103c09190613152565b60405180910390f35b3480156103d557600080fd5b506103de610cf8565b6040516103eb9190613152565b60405180910390f35b34801561040057600080fd5b50610409610cfe565b6040516104169190613152565b60405180910390f35b34801561042b57600080fd5b50610434610d04565b6040516104419190613152565b60405180910390f35b34801561045657600080fd5b50610471600480360381019061046c919061316d565b610d0a565b60405161047e9190613081565b60405180910390f35b34801561049357600080fd5b5061049c610e9b565b6040516104a991906131cf565b60405180910390f35b3480156104be57600080fd5b506104c7610ea1565b6040516104d49190613152565b60405180910390f35b3480156104e957600080fd5b506104f2610ea7565b6040516104ff9190613081565b60405180910390f35b34801561051457600080fd5b5061051d610eba565b60405161052a9190613206565b60405180910390f35b34801561053f57600080fd5b50610548610ede565b60405161055591906131cf565b60405180910390f35b34801561056a57600080fd5b50610573610f02565b6040516105809190613081565b60405180910390f35b34801561059557600080fd5b506105b060048036038101906105ab919061309c565b610f15565b6040516105bd9190613081565b60405180910390f35b3480156105d257600080fd5b506105db610f6b565b6040516105e89190613152565b60405180910390f35b3480156105fd57600080fd5b50610606610f71565b6040516106139190613081565b60405180910390f35b34801561062857600080fd5b50610643600480360381019061063e919061309c565b610f84565b6040516106509190613152565b60405180910390f35b34801561066557600080fd5b5061066e610f9c565b60405161067b9190613081565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a6919061324d565b611050565b005b3480156106b957600080fd5b506106c261113b565b6040516106cf91906131cf565b60405180910390f35b3480156106e457600080fd5b506106ed611161565b6040516106fa9190613152565b60405180910390f35b34801561070f57600080fd5b50610718611167565b005b34801561072657600080fd5b5061072f611236565b60405161073c91906131cf565b60405180910390f35b34801561075157600080fd5b5061075a61125c565b60405161076791906131cf565b60405180910390f35b34801561077c57600080fd5b50610785611282565b6040516107929190613152565b60405180910390f35b3480156107a757600080fd5b506107c260048036038101906107bd919061328d565b611288565b005b3480156107d057600080fd5b506107d9611335565b6040516107e69190612f6b565b60405180910390f35b3480156107fb57600080fd5b506108046113c3565b6040516108119190613152565b60405180910390f35b34801561082657600080fd5b5061082f6113c9565b60405161083c9190613152565b60405180910390f35b34801561085157600080fd5b5061085a6113cf565b6040516108679190613152565b60405180910390f35b34801561087c57600080fd5b506108856113d5565b6040516108929190613152565b60405180910390f35b3480156108a757600080fd5b506108b06113db565b6040516108bd9190613152565b60405180910390f35b3480156108d257600080fd5b506108ed60048036038101906108e89190613026565b6113e1565b6040516108fa9190613081565b60405180910390f35b34801561090f57600080fd5b5061092a6004803603810190610925919061309c565b6113f8565b6040516109379190613081565b60405180910390f35b34801561094c57600080fd5b50610955611418565b6040516109629190613081565b60405180910390f35b34801561097757600080fd5b50610992600480360381019061098d919061324d565b61142b565b005b3480156109a057600080fd5b506109a9611564565b6040516109b69190613081565b60405180910390f35b3480156109cb57600080fd5b506109d4611577565b6040516109e19190613152565b60405180910390f35b3480156109f657600080fd5b506109ff61157d565b604051610a0c9190613152565b60405180910390f35b348015610a2157600080fd5b50610a3c6004803603810190610a3791906132ba565b611583565b604051610a499190613152565b60405180910390f35b348015610a5e57600080fd5b50610a676115a8565b604051610a749190613152565b60405180910390f35b348015610a8957600080fd5b50610a926115ae565b604051610a9f9190613081565b60405180910390f35b348015610ab457600080fd5b50610abd611662565b604051610aca9190613152565b60405180910390f35b348015610adf57600080fd5b50610ae8611668565b604051610af59190613152565b60405180910390f35b348015610b0a57600080fd5b50610b1361166e565b604051610b209190613152565b60405180910390f35b60008054610b3690613329565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6290613329565b8015610baf5780601f10610b8457610100808354040283529160200191610baf565b820191906000526020600020905b815481529060010190602001808311610b9257829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c979190613152565b60405180910390a36001905092915050565b602080528060005260406000206000915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b60025481565b600f5481565b600b5481565b601d5481565b601c5481565b6000610d17848484611674565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd2906133cc565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e8f578281610e0e919061341b565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60019150509392505050565b61dead81565b600d5481565b600c60009054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000001281565b7f000000000000000000000000b011efae90d01f62e5179eb8b147fca586ee513f81565b601160009054906101000a900460ff1681565b6000601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60185481565b601160029054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60003373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110259061349b565b60405180910390fd5b6000601160006101000a81548160ff0219169083151502179055506001905090565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d79061349b565b60405180910390fd5b80602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee9061349b565b60405180910390fd5b6001601160016101000a81548160ff0219169083151502179055506001601160026101000a81548160ff02191690831515021790555042600e81905550565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60195481565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130f9061349b565b60405180910390fd5b80601160026101000a81548160ff02191690831515021790555050565b6001805461134290613329565b80601f016020809104026020016040519081016040528092919081815260200182805461136e90613329565b80156113bb5780601f10611390576101008083540402835291602001916113bb565b820191906000526020600020905b81548152906001019060200180831161139e57829003601f168201915b505050505081565b60175481565b60105481565b601e5481565b601b5481565b600e5481565b60006113ee338484611674565b6001905092915050565b60216020528060005260406000206000915054906101000a900460ff1681565b601160019054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b29061349b565b60405180910390fd5b80601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516115589190613081565b60405180910390a25050565b601360009054906101000a900460ff1681565b60085481565b60145481565b6004602052816000526040600020602052806000526040600020600091509150505481565b60095481565b60003373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611640576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116379061349b565b60405180910390fd5b6000601360006101000a81548160ff0219169083151502179055506001905090565b60165481565b601a5481565b600a5481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da9061352d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611752576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611749906135bf565b60405180910390fd5b6000810361176b57611766838360006124aa565b6124a5565b601160009054906101000a900460ff1615611eb457600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561182c5750600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611866575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187f5750600560009054906101000a900460ff16155b15611eb357601160019054906101000a900460ff1661197957601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119395750601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196f9061362b565b60405180910390fd5b5b601360009054906101000a900460ff1615611b5c57600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611a3857507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a9057507f000000000000000000000000b011efae90d01f62e5179eb8b147fca586ee513f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b5b5743601260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0d906136e3565b60405180910390fd5b43601260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611bff5750602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cdd57600854811115611c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4090613775565b60405180910390fd5b600a54600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611c979190613795565b1115611cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccf90613815565b60405180910390fd5b611eb2565b602160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611d805750602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611dcf57600854811115611dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc1906138a7565b60405180910390fd5b611eb1565b602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611eb057600a54600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e6e9190613795565b1115611eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea690613815565b60405180910390fd5b5b5b5b5b5b6000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006009548210159050808015611f1b5750601160029054906101000a900460ff165b8015611f345750600560009054906101000a900460ff16155b8015611f8a5750602160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611fe05750601f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120365750601f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561207a576001600560006101000a81548160ff02191690831515021790555061205e612716565b6000600560006101000a81548160ff0219169083151502179055505b600560009054906101000a900460ff161580156120e05750602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156120f85750600c60009054906101000a900460ff165b80156121135750600d54600e5461210f9190613795565b4210155b80156121695750601f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561217857612176612a0a565b505b6000600560009054906101000a900460ff16159050601f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061222e5750601f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561223857600090505b6000811561249557602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561229b57506000601854115b1561235a576064601854866122b091906138c7565b6122ba9190613938565b9050601854601a54826122cd91906138c7565b6122d79190613938565b601d60008282546122e89190613795565b92505081905550601854601b548261230091906138c7565b61230a9190613938565b601e600082825461231b9190613795565b925050819055506018546019548261233391906138c7565b61233d9190613938565b601c600082825461234e9190613795565b92505081905550612471565b602160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156123b557506000601454115b15612470576064601454866123ca91906138c7565b6123d49190613938565b9050601454601654826123e791906138c7565b6123f19190613938565b601d60008282546124029190613795565b925050819055506014546017548261241a91906138c7565b6124249190613938565b601e60008282546124359190613795565b925050819055506014546015548261244d91906138c7565b6124579190613938565b601c60008282546124689190613795565b925050819055505b5b6000811115612486576124858730836124aa565b5b8085612492919061341b565b94505b6124a08787876124aa565b505050505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612519576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612510906139b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257f906139b5565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561260f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260690613a47565b60405180910390fd5b818103600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126a49190613795565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127089190613152565b60405180910390a350505050565b6000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000601e54601c54601d5461276f9190613795565b6127799190613795565b905060008083148061278b5750600082145b1561279857505050612a08565b60146009546127a791906138c7565b8311156127c05760146009546127bd91906138c7565b92505b6000600283601d54866127d391906138c7565b6127dd9190613938565b6127e79190613938565b9050600081856127f7919061341b565b9050600047905061280782612bc2565b60008147612815919061341b565b9050600086601c548361282891906138c7565b6128329190613938565b9050600087601e548461284591906138c7565b61284f9190613938565b90506000818385612860919061341b565b61286a919061341b565b90506000601d819055506000601c819055506000601e81905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516128ca90613a98565b60006040518083038185875af1925050503d8060008114612907576040519150601f19603f3d011682016040523d82523d6000602084013e61290c565b606091505b5050809850506000871180156129225750600081115b1561296f576129318782612dff565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601d5460405161296693929190613aad565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516129b590613a98565b60006040518083038185875af1925050503d80600081146129f2576040519150601f19603f3d011682016040523d82523d6000602084013e6129f7565b606091505b505080985050505050505050505050505b565b600042600e8190555060003073ffffffffffffffffffffffffffffffffffffffff166370a082317f000000000000000000000000b011efae90d01f62e5179eb8b147fca586ee513f6040518263ffffffff1660e01b8152600401612a6e91906131cf565b602060405180830381865afa158015612a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aaf9190613af9565b90506000612710600b5483612ac491906138c7565b612ace9190613938565b90506000811115612b0757612b067f000000000000000000000000b011efae90d01f62e5179eb8b147fca586ee513f61dead836124aa565b5b60007f000000000000000000000000b011efae90d01f62e5179eb8b147fca586ee513f90508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612b7457600080fd5b505af1158015612b88573d6000803e3d6000fd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b6000600267ffffffffffffffff811115612bdf57612bde613b26565b5b604051908082528060200260200182016040528015612c0d5781602001602082028036833780820191505090505b5090503081600081518110612c2557612c24613b55565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cee9190613b99565b81600181518110612d0257612d01613b55565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612d667f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d83610bb7565b507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612dc9959493929190613cbf565b600060405180830381600087803b158015612de357600080fd5b505af1158015612df7573d6000803e3d6000fd5b505050505050565b612e297f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d83610bb7565b507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401612e9196959493929190613d19565b60606040518083038185885af1158015612eaf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612ed49190613d7a565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f15578082015181840152602081019050612efa565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f3d82612edb565b612f478185612ee6565b9350612f57818560208601612ef7565b612f6081612f21565b840191505092915050565b60006020820190508181036000830152612f858184612f32565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fbd82612f92565b9050919050565b612fcd81612fb2565b8114612fd857600080fd5b50565b600081359050612fea81612fc4565b92915050565b6000819050919050565b61300381612ff0565b811461300e57600080fd5b50565b60008135905061302081612ffa565b92915050565b6000806040838503121561303d5761303c612f8d565b5b600061304b85828601612fdb565b925050602061305c85828601613011565b9150509250929050565b60008115159050919050565b61307b81613066565b82525050565b60006020820190506130966000830184613072565b92915050565b6000602082840312156130b2576130b1612f8d565b5b60006130c084828501612fdb565b91505092915050565b6000819050919050565b60006130ee6130e96130e484612f92565b6130c9565b612f92565b9050919050565b6000613100826130d3565b9050919050565b6000613112826130f5565b9050919050565b61312281613107565b82525050565b600060208201905061313d6000830184613119565b92915050565b61314c81612ff0565b82525050565b60006020820190506131676000830184613143565b92915050565b60008060006060848603121561318657613185612f8d565b5b600061319486828701612fdb565b93505060206131a586828701612fdb565b92505060406131b686828701613011565b9150509250925092565b6131c981612fb2565b82525050565b60006020820190506131e460008301846131c0565b92915050565b600060ff82169050919050565b613200816131ea565b82525050565b600060208201905061321b60008301846131f7565b92915050565b61322a81613066565b811461323557600080fd5b50565b60008135905061324781613221565b92915050565b6000806040838503121561326457613263612f8d565b5b600061327285828601612fdb565b925050602061328385828601613238565b9150509250929050565b6000602082840312156132a3576132a2612f8d565b5b60006132b184828501613238565b91505092915050565b600080604083850312156132d1576132d0612f8d565b5b60006132df85828601612fdb565b92505060206132f085828601612fdb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061334157607f821691505b602082108103613354576133536132fa565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006133b6602883612ee6565b91506133c18261335a565b604082019050919050565b600060208201905081810360008301526133e5816133a9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061342682612ff0565b915061343183612ff0565b9250828203905081811115613449576134486133ec565b5b92915050565b7f6e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b6000613485600983612ee6565b91506134908261344f565b602082019050919050565b600060208201905081810360008301526134b481613478565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613517602583612ee6565b9150613522826134bb565b604082019050919050565b600060208201905081810360008301526135468161350a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006135a9602383612ee6565b91506135b48261354d565b604082019050919050565b600060208201905081810360008301526135d88161359c565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000613615601683612ee6565b9150613620826135df565b602082019050919050565b6000602082019050818103600083015261364481613608565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006136cd604983612ee6565b91506136d88261364b565b606082019050919050565b600060208201905081810360008301526136fc816136c0565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b600061375f603583612ee6565b915061376a82613703565b604082019050919050565b6000602082019050818103600083015261378e81613752565b9050919050565b60006137a082612ff0565b91506137ab83612ff0565b92508282019050808211156137c3576137c26133ec565b5b92915050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006137ff601383612ee6565b915061380a826137c9565b602082019050919050565b6000602082019050818103600083015261382e816137f2565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613891603683612ee6565b915061389c82613835565b604082019050919050565b600060208201905081810360008301526138c081613884565b9050919050565b60006138d282612ff0565b91506138dd83612ff0565b92508282026138eb81612ff0565b91508282048414831517613902576139016133ec565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061394382612ff0565b915061394e83612ff0565b92508261395e5761395d613909565b5b828204905092915050565b7f6e6f742030000000000000000000000000000000000000000000000000000000600082015250565b600061399f600583612ee6565b91506139aa82613969565b602082019050919050565b600060208201905081810360008301526139ce81613992565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613a31602683612ee6565b9150613a3c826139d5565b604082019050919050565b60006020820190508181036000830152613a6081613a24565b9050919050565b600081905092915050565b50565b6000613a82600083613a67565b9150613a8d82613a72565b600082019050919050565b6000613aa382613a75565b9150819050919050565b6000606082019050613ac26000830186613143565b613acf6020830185613143565b613adc6040830184613143565b949350505050565b600081519050613af381612ffa565b92915050565b600060208284031215613b0f57613b0e612f8d565b5b6000613b1d84828501613ae4565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613b9381612fc4565b92915050565b600060208284031215613baf57613bae612f8d565b5b6000613bbd84828501613b84565b91505092915050565b6000819050919050565b6000613beb613be6613be184613bc6565b6130c9565b612ff0565b9050919050565b613bfb81613bd0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613c3681612fb2565b82525050565b6000613c488383613c2d565b60208301905092915050565b6000602082019050919050565b6000613c6c82613c01565b613c768185613c0c565b9350613c8183613c1d565b8060005b83811015613cb2578151613c998882613c3c565b9750613ca483613c54565b925050600181019050613c85565b5085935050505092915050565b600060a082019050613cd46000830188613143565b613ce16020830187613bf2565b8181036040830152613cf38186613c61565b9050613d0260608301856131c0565b613d0f6080830184613143565b9695505050505050565b600060c082019050613d2e60008301896131c0565b613d3b6020830188613143565b613d486040830187613bf2565b613d556060830186613bf2565b613d6260808301856131c0565b613d6f60a0830184613143565b979650505050505050565b600080600060608486031215613d9357613d92612f8d565b5b6000613da186828701613ae4565b9350506020613db286828701613ae4565b9250506040613dc386828701613ae4565b915050925092509256fea26469706673582212200b58f7026cdc918a5104341546ed3cd5fcd525306237face4e4f26d0eb8b190064736f6c63430008110033

Deployed Bytecode Sourcemap

5459:13739:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1156:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2178:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7210:63;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5492:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1439:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6192:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6007:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6994:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6954;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2562:466;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5595:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6102:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6063:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1212:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5550:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6290:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10491:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6793:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6370:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1474:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9593:121;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9922:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5714:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6674:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9386:155;;;;;;;;;;;;;:::i;:::-;;5685:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5805:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6832:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10185:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1183:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6756:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6246:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7034:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6916:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6154;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2403:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7431:57;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6330:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10297:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6588:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5892:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6636:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1527:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5934:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9775:135;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6715:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6874:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5974:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1156:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2178:217::-;2252:4;2302:6;2269:9;:21;2279:10;2269:21;;;;;;;;;;;;;;;:30;2291:7;2269:30;;;;;;;;;;;;;;;:39;;;;2347:7;2326:37;;2335:10;2326:37;;;2356:6;2326:37;;;;;;:::i;:::-;;;;;;;;2383:4;2376:11;;2178:217;;;;:::o;7210:63::-;;;;;;;;;;;;;;;;;;;;;;:::o;5492:51::-;;;:::o;1439:26::-;;;;:::o;6192:47::-;;;;:::o;6007:36::-;;;;:::o;6994:33::-;;;;:::o;6954:::-;;;;:::o;2562:466::-;2684:4;2701:27;2711:4;2717:2;2721:6;2701:9;:27::i;:::-;2741:24;2768:9;:15;2778:4;2768:15;;;;;;;;;;;;;;;:27;2784:10;2768:27;;;;;;;;;;;;;;;;2741:54;;2834:6;2814:16;:26;;2806:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;2922:17;2902:16;:37;2898:98;;2990:6;2971:16;:25;;;;:::i;:::-;2941:9;:15;2951:4;2941:15;;;;;;;;;;;;;;;:27;2957:10;2941:27;;;;;;;;;;;;;;;:55;;;;2898:98;3016:4;3009:11;;;2562:466;;;;;:::o;5595:53::-;5641:6;5595:53;:::o;6102:45::-;;;;:::o;6063:32::-;;;;;;;;;;;;;:::o;1212:31::-;;;:::o;5550:38::-;;;:::o;6290:33::-;;;;;;;;;;;;;:::o;10491:126::-;10557:4;10581:19;:28;10601:7;10581:28;;;;;;;;;;;;;;;;;;;;;;;;;10574:35;;10491:126;;;:::o;6793:32::-;;;;:::o;6370:31::-;;;;;;;;;;;;;:::o;1474:44::-;;;;;;;;;;;;;;;;;:::o;9593:121::-;9645:4;7781:10;7772:19;;:5;;;;;;;;;;;:19;;;7764:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;9679:5:::1;9662:14;;:22;;;;;;;;;;;;;;;;;;9702:4;9695:11;;9593:121:::0;:::o;9922:167::-;7781:10;7772:19;;:5;;;;;;;;;;;:19;;;7764:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;10077:4:::1;10035:31;:39;10067:6;10035:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;9922:167:::0;;:::o;5714:84::-;;;;;;;;;;;;;:::o;6674:34::-;;;;:::o;9386:155::-;7781:10;7772:19;;:5;;;;;;;;;;;:19;;;7764:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;9457:4:::1;9441:13;;:20;;;;;;;;;;;;;;;;;;9486:4;9472:11;;:18;;;;;;;;;;;;;;;;;;9518:15;9501:14;:32;;;;9386:155::o:0;5685:20::-;;;;;;;;;;;;;:::o;5805:78::-;;;;;;;;;;;;;:::o;6832:35::-;;;;:::o;10185:100::-;7781:10;7772:19;;:5;;;;;;;;;;;:19;;;7764:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;10270:7:::1;10256:11;;:21;;;;;;;;;;;;;;;;;;10185:100:::0;:::o;1183:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6756:28::-;;;;:::o;6246:35::-;;;;:::o;7034:27::-;;;;:::o;6916:29::-;;;;:::o;6154:::-;;;;:::o;2403:151::-;2473:4;2492:32;2502:10;2514:2;2517:6;2492:9;:32::i;:::-;2542:4;2535:11;;2403:151;;;;:::o;7431:57::-;;;;;;;;;;;;;;;;;;;;;;:::o;6330:33::-;;;;;;;;;;;;;:::o;10297:182::-;7781:10;7772:19;;:5;;;;;;;;;;;:19;;;7764:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;10413:8:::1;10382:19;:28;10402:7;10382:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;10453:7;10437:34;;;10462:8;10437:34;;;;;;:::i;:::-;;;;;;;;10297:182:::0;;:::o;6588:39::-;;;;;;;;;;;;;:::o;5892:35::-;;;;:::o;6636:31::-;;;;:::o;1527:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5934:33::-;;;;:::o;9775:135::-;9835:4;7781:10;7772:19;;:5;;;;;;;;;;;:19;;;7764:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;9875:5:::1;9852:20;;:28;;;;;;;;;;;;;;;;;;9898:4;9891:11;;9775:135:::0;:::o;6715:34::-;;;;:::o;6874:35::-;;;;:::o;5974:24::-;;;;:::o;10627:4958::-;10777:1;10761:18;;:4;:18;;;10753:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10854:1;10840:16;;:2;:16;;;10832:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10923:1;10913:6;:11;10909:93;;10941:28;10957:4;10963:2;10967:1;10941:15;:28::i;:::-;10984:7;;10909:93;11018:14;;;;;;;;;;;11014:2444;;;11079:5;;;;;;;;;;;11071:13;;:4;:13;;;;:45;;;;;11111:5;;;;;;;;;;;11105:11;;:2;:11;;;;11071:45;:87;;;;;11151:6;11137:21;;:2;:21;;;;11071:87;:117;;;;;11180:8;;;;;;;;;;;11179:9;11071:117;11049:2398;;;11228:13;;;;;;;;;;;11223:223;;11300:19;:25;11320:4;11300:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;11329:19;:23;11349:2;11329:23;;;;;;;;;;;;;;;;;;;;;;;;;11300:52;11266:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;11223:223;11602:20;;;;;;;;;;;11598:639;;;11683:5;;;;;;;;;;;11677:11;;:2;:11;;;;:70;;;;;11731:15;11717:30;;:2;:30;;;;11677:70;:127;;;;;11790:13;11776:28;;:2;:28;;;;11677:127;11647:571;;;11968:12;11893:28;:39;11922:9;11893:39;;;;;;;;;;;;;;;;:87;11855:258;;;;;;;;;;;;:::i;:::-;;;;;;;;;12182:12;12140:28;:39;12169:9;12140:39;;;;;;;;;;;;;;;:54;;;;11647:571;11598:639;12311:25;:31;12337:4;12311:31;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;12368:31;:35;12400:2;12368:35;;;;;;;;;;;;;;;;;;;;;;;;;12367:36;12311:92;12285:1147;;;12490:20;;12480:6;:30;;12446:169;;;;;;;;;;;;:::i;:::-;;;;;;;;;12698:9;;12681;:13;12691:2;12681:13;;;;;;;;;;;;;;;;12672:6;:22;;;;:::i;:::-;:35;;12638:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;12285:1147;;;12876:25;:29;12902:2;12876:29;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;12931:31;:37;12963:4;12931:37;;;;;;;;;;;;;;;;;;;;;;;;;12930:38;12876:92;12850:582;;;13055:20;;13045:6;:30;;13011:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;12850:582;;;13212:31;:35;13244:2;13212:35;;;;;;;;;;;;;;;;;;;;;;;;;13207:225;;13332:9;;13315;:13;13325:2;13315:13;;;;;;;;;;;;;;;;13306:6;:22;;;;:::i;:::-;:35;;13272:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;13207:225;12850:582;12285:1147;11049:2398;11014:2444;13470:28;13501:9;:24;13519:4;13501:24;;;;;;;;;;;;;;;;13470:55;;13538:12;13577:18;;13553:20;:42;;13538:57;;13626:7;:35;;;;;13650:11;;;;;;;;;;;13626:35;:61;;;;;13679:8;;;;;;;;;;;13678:9;13626:61;:110;;;;;13705:25;:31;13731:4;13705:31;;;;;;;;;;;;;;;;;;;;;;;;;13704:32;13626:110;:153;;;;;13754:19;:25;13774:4;13754:25;;;;;;;;;;;;;;;;;;;;;;;;;13753:26;13626:153;:194;;;;;13797:19;:23;13817:2;13797:23;;;;;;;;;;;;;;;;;;;;;;;;;13796:24;13626:194;13608:326;;;13858:4;13847:8;;:15;;;;;;;;;;;;;;;;;;13879:10;:8;:10::i;:::-;13917:5;13906:8;;:16;;;;;;;;;;;;;;;;;;13608:326;13965:8;;;;;;;;;;;13964:9;:55;;;;;13990:25;:29;14016:2;13990:29;;;;;;;;;;;;;;;;;;;;;;;;;13964:55;:85;;;;;14036:13;;;;;;;;;;;13964:85;:153;;;;;14102:15;;14085:14;;:32;;;;:::i;:::-;14066:15;:51;;13964:153;:196;;;;;14135:19;:25;14155:4;14135:25;;;;;;;;;;;;;;;;;;;;;;;;;14134:26;13964:196;13946:282;;;14187:29;:27;:29::i;:::-;;13946:282;14240:12;14256:8;;;;;;;;;;;14255:9;14240:24;;14366:19;:25;14386:4;14366:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;14395:19;:23;14415:2;14395:23;;;;;;;;;;;;;;;;;;;;;;;;;14366:52;14362:100;;;14445:5;14435:15;;14362:100;14474:12;14579:7;14575:956;;;14631:25;:29;14657:2;14631:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;14680:1;14664:13;;:17;14631:50;14627:756;;;14734:3;14718:13;;14709:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;14702:35;;14806:13;;14786:16;;14779:4;:23;;;;:::i;:::-;14778:41;;;;:::i;:::-;14756:18;;:63;;;;;;;:::i;:::-;;;;;;;;14876:13;;14862:10;;14855:4;:17;;;;:::i;:::-;14854:35;;;;:::i;:::-;14838:12;;:51;;;;;;;:::i;:::-;;;;;;;;14958:13;;14938:16;;14931:4;:23;;;;:::i;:::-;14930:41;;;;:::i;:::-;14908:18;;:63;;;;;;;:::i;:::-;;;;;;;;14627:756;;;15033:25;:31;15059:4;15033:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;15083:1;15068:12;;:16;15033:51;15029:354;;;15136:3;15121:12;;15112:6;:21;;;;:::i;:::-;:27;;;;:::i;:::-;15105:34;;15207:12;;15188:15;;15181:4;:22;;;;:::i;:::-;15180:39;;;;:::i;:::-;15158:18;;:61;;;;;;;:::i;:::-;;;;;;;;15275:12;;15262:9;;15255:4;:16;;;;:::i;:::-;15254:33;;;;:::i;:::-;15238:12;;:49;;;;;;;:::i;:::-;;;;;;;;15355:12;;15336:15;;15329:4;:22;;;;:::i;:::-;15328:39;;;;:::i;:::-;15306:18;;:61;;;;;;;:::i;:::-;;;;;;;;15029:354;14627:756;15410:1;15403:4;:8;15399:90;;;15432:41;15448:4;15461;15468;15432:15;:41::i;:::-;15399:90;15515:4;15505:14;;;;;:::i;:::-;;;14575:956;15543:32;15559:4;15564:2;15568:6;15543:15;:32::i;:::-;10740:4845;;;;10627:4958;;;;:::o;3038:517::-;3161:1;3143:20;;:6;:20;;;3135:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3213:1;3192:23;;:9;:23;;;3184:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;3238:21;3262:9;:17;3272:6;3262:17;;;;;;;;;;;;;;;;3238:41;;3315:6;3298:13;:23;;3290:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;3436:6;3420:13;:22;3400:9;:17;3410:6;3400:17;;;;;;;;;;;;;;;:42;;;;3488:6;3464:9;:20;3474:9;3464:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;3529:9;3512:35;;3521:6;3512:35;;;3540:6;3512:35;;;;;;:::i;:::-;;;;;;;;3122:433;3038:517;;;:::o;16683:1716::-;16722:23;16748:9;:24;16766:4;16748:24;;;;;;;;;;;;;;;;16722:50;;16783:25;16879:12;;16845:18;;16811;;:52;;;;:::i;:::-;:80;;;;:::i;:::-;16783:108;;16902:12;16950:1;16931:15;:20;:46;;;;16976:1;16955:17;:22;16931:46;16927:85;;;16994:7;;;;;16927:85;17067:2;17046:18;;:23;;;;:::i;:::-;17028:15;:41;17024:115;;;17125:2;17104:18;;:23;;;;:::i;:::-;17086:41;;17024:115;17200:23;17313:1;17280:17;17245:18;;17227:15;:36;;;;:::i;:::-;17226:71;;;;:::i;:::-;:88;;;;:::i;:::-;17200:114;;17325:26;17372:15;17354;:33;;;;:::i;:::-;17325:62;;17400:25;17428:21;17400:49;;17462:36;17479:18;17462:16;:36::i;:::-;17511:18;17556:17;17532:21;:41;;;;:::i;:::-;17511:62;;17586:23;17646:17;17625:18;;17612:10;:31;;;;:::i;:::-;:51;;;;:::i;:::-;17586:77;;17676:17;17724;17709:12;;17696:10;:25;;;;:::i;:::-;:45;;;;:::i;:::-;17676:65;;17754:23;17811:9;17793:15;17780:10;:28;;;;:::i;:::-;:40;;;;:::i;:::-;17754:66;;17854:1;17833:18;:22;;;;17887:1;17866:18;:22;;;;17914:1;17899:12;:16;;;;17950:9;;;;;;;;;;;17942:23;;17973:9;17942:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17928:59;;;;;18022:1;18004:15;:19;:42;;;;;18045:1;18027:15;:19;18004:42;18000:278;;;18063:46;18076:15;18093;18063:12;:46::i;:::-;18129:137;18162:18;18199:15;18233:18;;18129:137;;;;;;;;:::i;:::-;;;;;;;;18000:278;18312:15;;;;;;;;;;;18304:29;;18355:21;18304:87;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18290:101;;;;;16711:1688;;;;;;;;;;16683:1716;:::o;18407:786::-;18464:4;18498:15;18481:14;:32;;;;18568:28;18599:4;:14;;;18614:13;18599:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18568:60;;18678:20;18760:5;18725:16;;18701:20;:41;;;;:::i;:::-;:75;;;;:::i;:::-;18678:98;;18896:1;18881:12;:16;18877:110;;;18914:61;18930:13;18953:6;18962:12;18914:15;:61::i;:::-;18877:110;19062:19;19099:13;19062:51;;19124:4;:9;;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19151:12;;;;;;;;;;19181:4;19174:11;;;;;18407:786;:::o;15593:573::-;15719:21;15757:1;15743:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15719:40;;15788:4;15770;15775:1;15770:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15814:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15804:4;15809:1;15804:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;15849:46;15865:15;15883:11;15849:7;:46::i;:::-;;15934:15;:66;;;16015:11;16041:1;16085:4;16112;16132:15;15934:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15648:518;15593:573;:::o;16174:501::-;16322:46;16338:15;16356:11;16322:7;:46::i;:::-;;16411:15;:31;;;16450:9;16483:4;16503:11;16529:1;16572;5641:6;16641:15;16411:256;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16174:501;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:60::-;3809:3;3830:5;3823:12;;3781:60;;;:::o;3847:142::-;3897:9;3930:53;3948:34;3957:24;3975:5;3957:24;:::i;:::-;3948:34;:::i;:::-;3930:53;:::i;:::-;3917:66;;3847:142;;;:::o;3995:126::-;4045:9;4078:37;4109:5;4078:37;:::i;:::-;4065:50;;3995:126;;;:::o;4127:152::-;4203:9;4236:37;4267:5;4236:37;:::i;:::-;4223:50;;4127:152;;;:::o;4285:183::-;4398:63;4455:5;4398:63;:::i;:::-;4393:3;4386:76;4285:183;;:::o;4474:274::-;4593:4;4631:2;4620:9;4616:18;4608:26;;4644:97;4738:1;4727:9;4723:17;4714:6;4644:97;:::i;:::-;4474:274;;;;:::o;4754:118::-;4841:24;4859:5;4841:24;:::i;:::-;4836:3;4829:37;4754:118;;:::o;4878:222::-;4971:4;5009:2;4998:9;4994:18;4986:26;;5022:71;5090:1;5079:9;5075:17;5066:6;5022:71;:::i;:::-;4878:222;;;;:::o;5106:619::-;5183:6;5191;5199;5248:2;5236:9;5227:7;5223:23;5219:32;5216:119;;;5254:79;;:::i;:::-;5216:119;5374:1;5399:53;5444:7;5435:6;5424:9;5420:22;5399:53;:::i;:::-;5389:63;;5345:117;5501:2;5527:53;5572:7;5563:6;5552:9;5548:22;5527:53;:::i;:::-;5517:63;;5472:118;5629:2;5655:53;5700:7;5691:6;5680:9;5676:22;5655:53;:::i;:::-;5645:63;;5600:118;5106:619;;;;;:::o;5731:118::-;5818:24;5836:5;5818:24;:::i;:::-;5813:3;5806:37;5731:118;;:::o;5855:222::-;5948:4;5986:2;5975:9;5971:18;5963:26;;5999:71;6067:1;6056:9;6052:17;6043:6;5999:71;:::i;:::-;5855:222;;;;:::o;6083:86::-;6118:7;6158:4;6151:5;6147:16;6136:27;;6083:86;;;:::o;6175:112::-;6258:22;6274:5;6258:22;:::i;:::-;6253:3;6246:35;6175:112;;:::o;6293:214::-;6382:4;6420:2;6409:9;6405:18;6397:26;;6433:67;6497:1;6486:9;6482:17;6473:6;6433:67;:::i;:::-;6293:214;;;;:::o;6513:116::-;6583:21;6598:5;6583:21;:::i;:::-;6576:5;6573:32;6563:60;;6619:1;6616;6609:12;6563:60;6513:116;:::o;6635:133::-;6678:5;6716:6;6703:20;6694:29;;6732:30;6756:5;6732:30;:::i;:::-;6635:133;;;;:::o;6774:468::-;6839:6;6847;6896:2;6884:9;6875:7;6871:23;6867:32;6864:119;;;6902:79;;:::i;:::-;6864:119;7022:1;7047:53;7092:7;7083:6;7072:9;7068:22;7047:53;:::i;:::-;7037:63;;6993:117;7149:2;7175:50;7217:7;7208:6;7197:9;7193:22;7175:50;:::i;:::-;7165:60;;7120:115;6774:468;;;;;:::o;7248:323::-;7304:6;7353:2;7341:9;7332:7;7328:23;7324:32;7321:119;;;7359:79;;:::i;:::-;7321:119;7479:1;7504:50;7546:7;7537:6;7526:9;7522:22;7504:50;:::i;:::-;7494:60;;7450:114;7248:323;;;;:::o;7577:474::-;7645:6;7653;7702:2;7690:9;7681:7;7677:23;7673:32;7670:119;;;7708:79;;:::i;:::-;7670:119;7828:1;7853:53;7898:7;7889:6;7878:9;7874:22;7853:53;:::i;:::-;7843:63;;7799:117;7955:2;7981:53;8026:7;8017:6;8006:9;8002:22;7981:53;:::i;:::-;7971:63;;7926:118;7577:474;;;;;:::o;8057:180::-;8105:77;8102:1;8095:88;8202:4;8199:1;8192:15;8226:4;8223:1;8216:15;8243:320;8287:6;8324:1;8318:4;8314:12;8304:22;;8371:1;8365:4;8361:12;8392:18;8382:81;;8448:4;8440:6;8436:17;8426:27;;8382:81;8510:2;8502:6;8499:14;8479:18;8476:38;8473:84;;8529:18;;:::i;:::-;8473:84;8294:269;8243:320;;;:::o;8569:227::-;8709:34;8705:1;8697:6;8693:14;8686:58;8778:10;8773:2;8765:6;8761:15;8754:35;8569:227;:::o;8802:366::-;8944:3;8965:67;9029:2;9024:3;8965:67;:::i;:::-;8958:74;;9041:93;9130:3;9041:93;:::i;:::-;9159:2;9154:3;9150:12;9143:19;;8802:366;;;:::o;9174:419::-;9340:4;9378:2;9367:9;9363:18;9355:26;;9427:9;9421:4;9417:20;9413:1;9402:9;9398:17;9391:47;9455:131;9581:4;9455:131;:::i;:::-;9447:139;;9174:419;;;:::o;9599:180::-;9647:77;9644:1;9637:88;9744:4;9741:1;9734:15;9768:4;9765:1;9758:15;9785:194;9825:4;9845:20;9863:1;9845:20;:::i;:::-;9840:25;;9879:20;9897:1;9879:20;:::i;:::-;9874:25;;9923:1;9920;9916:9;9908:17;;9947:1;9941:4;9938:11;9935:37;;;9952:18;;:::i;:::-;9935:37;9785:194;;;;:::o;9985:159::-;10125:11;10121:1;10113:6;10109:14;10102:35;9985:159;:::o;10150:365::-;10292:3;10313:66;10377:1;10372:3;10313:66;:::i;:::-;10306:73;;10388:93;10477:3;10388:93;:::i;:::-;10506:2;10501:3;10497:12;10490:19;;10150:365;;;:::o;10521:419::-;10687:4;10725:2;10714:9;10710:18;10702:26;;10774:9;10768:4;10764:20;10760:1;10749:9;10745:17;10738:47;10802:131;10928:4;10802:131;:::i;:::-;10794:139;;10521:419;;;:::o;10946:224::-;11086:34;11082:1;11074:6;11070:14;11063:58;11155:7;11150:2;11142:6;11138:15;11131:32;10946:224;:::o;11176:366::-;11318:3;11339:67;11403:2;11398:3;11339:67;:::i;:::-;11332:74;;11415:93;11504:3;11415:93;:::i;:::-;11533:2;11528:3;11524:12;11517:19;;11176:366;;;:::o;11548:419::-;11714:4;11752:2;11741:9;11737:18;11729:26;;11801:9;11795:4;11791:20;11787:1;11776:9;11772:17;11765:47;11829:131;11955:4;11829:131;:::i;:::-;11821:139;;11548:419;;;:::o;11973:222::-;12113:34;12109:1;12101:6;12097:14;12090:58;12182:5;12177:2;12169:6;12165:15;12158:30;11973:222;:::o;12201:366::-;12343:3;12364:67;12428:2;12423:3;12364:67;:::i;:::-;12357:74;;12440:93;12529:3;12440:93;:::i;:::-;12558:2;12553:3;12549:12;12542:19;;12201:366;;;:::o;12573:419::-;12739:4;12777:2;12766:9;12762:18;12754:26;;12826:9;12820:4;12816:20;12812:1;12801:9;12797:17;12790:47;12854:131;12980:4;12854:131;:::i;:::-;12846:139;;12573:419;;;:::o;12998:172::-;13138:24;13134:1;13126:6;13122:14;13115:48;12998:172;:::o;13176:366::-;13318:3;13339:67;13403:2;13398:3;13339:67;:::i;:::-;13332:74;;13415:93;13504:3;13415:93;:::i;:::-;13533:2;13528:3;13524:12;13517:19;;13176:366;;;:::o;13548:419::-;13714:4;13752:2;13741:9;13737:18;13729:26;;13801:9;13795:4;13791:20;13787:1;13776:9;13772:17;13765:47;13829:131;13955:4;13829:131;:::i;:::-;13821:139;;13548:419;;;:::o;13973:297::-;14113:34;14109:1;14101:6;14097:14;14090:58;14182:34;14177:2;14169:6;14165:15;14158:59;14251:11;14246:2;14238:6;14234:15;14227:36;13973:297;:::o;14276:366::-;14418:3;14439:67;14503:2;14498:3;14439:67;:::i;:::-;14432:74;;14515:93;14604:3;14515:93;:::i;:::-;14633:2;14628:3;14624:12;14617:19;;14276:366;;;:::o;14648:419::-;14814:4;14852:2;14841:9;14837:18;14829:26;;14901:9;14895:4;14891:20;14887:1;14876:9;14872:17;14865:47;14929:131;15055:4;14929:131;:::i;:::-;14921:139;;14648:419;;;:::o;15073:240::-;15213:34;15209:1;15201:6;15197:14;15190:58;15282:23;15277:2;15269:6;15265:15;15258:48;15073:240;:::o;15319:366::-;15461:3;15482:67;15546:2;15541:3;15482:67;:::i;:::-;15475:74;;15558:93;15647:3;15558:93;:::i;:::-;15676:2;15671:3;15667:12;15660:19;;15319:366;;;:::o;15691:419::-;15857:4;15895:2;15884:9;15880:18;15872:26;;15944:9;15938:4;15934:20;15930:1;15919:9;15915:17;15908:47;15972:131;16098:4;15972:131;:::i;:::-;15964:139;;15691:419;;;:::o;16116:191::-;16156:3;16175:20;16193:1;16175:20;:::i;:::-;16170:25;;16209:20;16227:1;16209:20;:::i;:::-;16204:25;;16252:1;16249;16245:9;16238:16;;16273:3;16270:1;16267:10;16264:36;;;16280:18;;:::i;:::-;16264:36;16116:191;;;;:::o;16313:169::-;16453:21;16449:1;16441:6;16437:14;16430:45;16313:169;:::o;16488:366::-;16630:3;16651:67;16715:2;16710:3;16651:67;:::i;:::-;16644:74;;16727:93;16816:3;16727:93;:::i;:::-;16845:2;16840:3;16836:12;16829:19;;16488:366;;;:::o;16860:419::-;17026:4;17064:2;17053:9;17049:18;17041:26;;17113:9;17107:4;17103:20;17099:1;17088:9;17084:17;17077:47;17141:131;17267:4;17141:131;:::i;:::-;17133:139;;16860:419;;;:::o;17285:241::-;17425:34;17421:1;17413:6;17409:14;17402:58;17494:24;17489:2;17481:6;17477:15;17470:49;17285:241;:::o;17532:366::-;17674:3;17695:67;17759:2;17754:3;17695:67;:::i;:::-;17688:74;;17771:93;17860:3;17771:93;:::i;:::-;17889:2;17884:3;17880:12;17873:19;;17532:366;;;:::o;17904:419::-;18070:4;18108:2;18097:9;18093:18;18085:26;;18157:9;18151:4;18147:20;18143:1;18132:9;18128:17;18121:47;18185:131;18311:4;18185:131;:::i;:::-;18177:139;;17904:419;;;:::o;18329:410::-;18369:7;18392:20;18410:1;18392:20;:::i;:::-;18387:25;;18426:20;18444:1;18426:20;:::i;:::-;18421:25;;18481:1;18478;18474:9;18503:30;18521:11;18503:30;:::i;:::-;18492:41;;18682:1;18673:7;18669:15;18666:1;18663:22;18643:1;18636:9;18616:83;18593:139;;18712:18;;:::i;:::-;18593:139;18377:362;18329:410;;;;:::o;18745:180::-;18793:77;18790:1;18783:88;18890:4;18887:1;18880:15;18914:4;18911:1;18904:15;18931:185;18971:1;18988:20;19006:1;18988:20;:::i;:::-;18983:25;;19022:20;19040:1;19022:20;:::i;:::-;19017:25;;19061:1;19051:35;;19066:18;;:::i;:::-;19051:35;19108:1;19105;19101:9;19096:14;;18931:185;;;;:::o;19122:155::-;19262:7;19258:1;19250:6;19246:14;19239:31;19122:155;:::o;19283:365::-;19425:3;19446:66;19510:1;19505:3;19446:66;:::i;:::-;19439:73;;19521:93;19610:3;19521:93;:::i;:::-;19639:2;19634:3;19630:12;19623:19;;19283:365;;;:::o;19654:419::-;19820:4;19858:2;19847:9;19843:18;19835:26;;19907:9;19901:4;19897:20;19893:1;19882:9;19878:17;19871:47;19935:131;20061:4;19935:131;:::i;:::-;19927:139;;19654:419;;;:::o;20079:225::-;20219:34;20215:1;20207:6;20203:14;20196:58;20288:8;20283:2;20275:6;20271:15;20264:33;20079:225;:::o;20310:366::-;20452:3;20473:67;20537:2;20532:3;20473:67;:::i;:::-;20466:74;;20549:93;20638:3;20549:93;:::i;:::-;20667:2;20662:3;20658:12;20651:19;;20310:366;;;:::o;20682:419::-;20848:4;20886:2;20875:9;20871:18;20863:26;;20935:9;20929:4;20925:20;20921:1;20910:9;20906:17;20899:47;20963:131;21089:4;20963:131;:::i;:::-;20955:139;;20682:419;;;:::o;21107:147::-;21208:11;21245:3;21230:18;;21107:147;;;;:::o;21260:114::-;;:::o;21380:398::-;21539:3;21560:83;21641:1;21636:3;21560:83;:::i;:::-;21553:90;;21652:93;21741:3;21652:93;:::i;:::-;21770:1;21765:3;21761:11;21754:18;;21380:398;;;:::o;21784:379::-;21968:3;21990:147;22133:3;21990:147;:::i;:::-;21983:154;;22154:3;22147:10;;21784:379;;;:::o;22169:442::-;22318:4;22356:2;22345:9;22341:18;22333:26;;22369:71;22437:1;22426:9;22422:17;22413:6;22369:71;:::i;:::-;22450:72;22518:2;22507:9;22503:18;22494:6;22450:72;:::i;:::-;22532;22600:2;22589:9;22585:18;22576:6;22532:72;:::i;:::-;22169:442;;;;;;:::o;22617:143::-;22674:5;22705:6;22699:13;22690:22;;22721:33;22748:5;22721:33;:::i;:::-;22617:143;;;;:::o;22766:351::-;22836:6;22885:2;22873:9;22864:7;22860:23;22856:32;22853:119;;;22891:79;;:::i;:::-;22853:119;23011:1;23036:64;23092:7;23083:6;23072:9;23068:22;23036:64;:::i;:::-;23026:74;;22982:128;22766:351;;;;:::o;23123:180::-;23171:77;23168:1;23161:88;23268:4;23265:1;23258:15;23292:4;23289:1;23282:15;23309:180;23357:77;23354:1;23347:88;23454:4;23451:1;23444:15;23478:4;23475:1;23468:15;23495:143;23552:5;23583:6;23577:13;23568:22;;23599:33;23626:5;23599:33;:::i;:::-;23495:143;;;;:::o;23644:351::-;23714:6;23763:2;23751:9;23742:7;23738:23;23734:32;23731:119;;;23769:79;;:::i;:::-;23731:119;23889:1;23914:64;23970:7;23961:6;23950:9;23946:22;23914:64;:::i;:::-;23904:74;;23860:128;23644:351;;;;:::o;24001:85::-;24046:7;24075:5;24064:16;;24001:85;;;:::o;24092:158::-;24150:9;24183:61;24201:42;24210:32;24236:5;24210:32;:::i;:::-;24201:42;:::i;:::-;24183:61;:::i;:::-;24170:74;;24092:158;;;:::o;24256:147::-;24351:45;24390:5;24351:45;:::i;:::-;24346:3;24339:58;24256:147;;:::o;24409:114::-;24476:6;24510:5;24504:12;24494:22;;24409:114;;;:::o;24529:184::-;24628:11;24662:6;24657:3;24650:19;24702:4;24697:3;24693:14;24678:29;;24529:184;;;;:::o;24719:132::-;24786:4;24809:3;24801:11;;24839:4;24834:3;24830:14;24822:22;;24719:132;;;:::o;24857:108::-;24934:24;24952:5;24934:24;:::i;:::-;24929:3;24922:37;24857:108;;:::o;24971:179::-;25040:10;25061:46;25103:3;25095:6;25061:46;:::i;:::-;25139:4;25134:3;25130:14;25116:28;;24971:179;;;;:::o;25156:113::-;25226:4;25258;25253:3;25249:14;25241:22;;25156:113;;;:::o;25305:732::-;25424:3;25453:54;25501:5;25453:54;:::i;:::-;25523:86;25602:6;25597:3;25523:86;:::i;:::-;25516:93;;25633:56;25683:5;25633:56;:::i;:::-;25712:7;25743:1;25728:284;25753:6;25750:1;25747:13;25728:284;;;25829:6;25823:13;25856:63;25915:3;25900:13;25856:63;:::i;:::-;25849:70;;25942:60;25995:6;25942:60;:::i;:::-;25932:70;;25788:224;25775:1;25772;25768:9;25763:14;;25728:284;;;25732:14;26028:3;26021:10;;25429:608;;;25305:732;;;;:::o;26043:831::-;26306:4;26344:3;26333:9;26329:19;26321:27;;26358:71;26426:1;26415:9;26411:17;26402:6;26358:71;:::i;:::-;26439:80;26515:2;26504:9;26500:18;26491:6;26439:80;:::i;:::-;26566:9;26560:4;26556:20;26551:2;26540:9;26536:18;26529:48;26594:108;26697:4;26688:6;26594:108;:::i;:::-;26586:116;;26712:72;26780:2;26769:9;26765:18;26756:6;26712:72;:::i;:::-;26794:73;26862:3;26851:9;26847:19;26838:6;26794:73;:::i;:::-;26043:831;;;;;;;;:::o;26880:807::-;27129:4;27167:3;27156:9;27152:19;27144:27;;27181:71;27249:1;27238:9;27234:17;27225:6;27181:71;:::i;:::-;27262:72;27330:2;27319:9;27315:18;27306:6;27262:72;:::i;:::-;27344:80;27420:2;27409:9;27405:18;27396:6;27344:80;:::i;:::-;27434;27510:2;27499:9;27495:18;27486:6;27434:80;:::i;:::-;27524:73;27592:3;27581:9;27577:19;27568:6;27524:73;:::i;:::-;27607;27675:3;27664:9;27660:19;27651:6;27607:73;:::i;:::-;26880:807;;;;;;;;;:::o;27693:663::-;27781:6;27789;27797;27846:2;27834:9;27825:7;27821:23;27817:32;27814:119;;;27852:79;;:::i;:::-;27814:119;27972:1;27997:64;28053:7;28044:6;28033:9;28029:22;27997:64;:::i;:::-;27987:74;;27943:128;28110:2;28136:64;28192:7;28183:6;28172:9;28168:22;28136:64;:::i;:::-;28126:74;;28081:129;28249:2;28275:64;28331:7;28322:6;28311:9;28307:22;28275:64;:::i;:::-;28265:74;;28220:129;27693:663;;;;;:::o

Swarm Source

ipfs://0b58f7026cdc918a5104341546ed3cd5fcd525306237face4e4f26d0eb8b1900
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.