ETH Price: $3,503.93 (+2.28%)
Gas: 3 Gwei

Token

TTF (TTF)
 

Overview

Max Total Supply

100,000,000 TTF

Holders

597 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
41,875.915972891 TTF

Value
$0.00
0x0f64d1da9281d00bacfb45ea106c5e9373376a48
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

TTF's utility is one of the most comprehensive Due Diligence Telegram Bots. Provides token analysis, charts, tax reports, holders insights, linked wallets, wallet portfolios, buy and sell charts, and alerts.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
TTF

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-04
*/

/**

Website: https://www.ttfbot.io/

Twitter: https://twitter.com/TTFBot

Telegram: https://t.me/TTFBotOfficial

*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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

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

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

contract TTF is IERC20Metadata, Ownable {
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isExcludedFromMaxWalletToken;

    address payable public marketingWallet;
    address payable public devWallet;
    address payable public constant burnWallet = payable(0x000000000000000000000000000000000000dEaD);
    address payable public lpWallet;

    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 10**8 * 10**_decimals;
    string private constant _name = "TTF";
    string private constant _symbol = "TTF";

    uint256 public swapMinTokens = 10**4 * 10**_decimals;

    uint256 public buyTax = 5;
    uint256 public sellTax = 20;
    uint256 public maxTransactionTax = 5;

    uint256 public marketingPct = 40;
    uint256 public devPct = 40;
    uint256 public lpPct = 20;
    uint256 public maxPct = 100;

    uint256 public maxWalletSize = (_tTotal * 2) / maxPct;

    IUniswapV2Router02 public _uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;

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

    event UpdateLpWallet(address newLp_, address oldLpWallet);
    event UpdatedBuySellTaxes(uint256 buyTax, uint256 sellTax);
    event UpdatedPercentTaxes(uint256 marketing, uint256 dev, uint256 lp);
    event UpdatedIsExcludedFromFee(address account, bool flag);
    event UpdatedIsExcludedFromMaxWallet(address account, bool flag);
    event UpdatedMarketingAndDevWallet(address marketing, address dev);

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

    constructor(address uniswapRouterAddress, address marketing, address dev, address lpWalletAddress) {
        _tOwned[owner()] = _tTotal;

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

        marketingWallet = payable(marketing);
        devWallet = payable(dev);
        lpWallet = payable(lpWalletAddress);

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[marketingWallet] = true;
        isExcludedFromFee[devWallet] = true;
        isExcludedFromFee[burnWallet] = true;
        isExcludedFromFee[lpWallet] = true;
        isExcludedFromFee[uniswapRouterAddress] = true;

        isExcludedFromMaxWalletToken[uniswapRouterAddress] = true;
        isExcludedFromMaxWalletToken[owner()] = true;
        isExcludedFromMaxWalletToken[address(this)] = true;
        isExcludedFromMaxWalletToken[marketingWallet] = true;
        isExcludedFromMaxWalletToken[devWallet] = true;
        isExcludedFromMaxWalletToken[burnWallet] = true;
        isExcludedFromMaxWalletToken[lpWallet] = true;
        isExcludedFromMaxWalletToken[uniswapV2Pair] = true;

        emit Transfer(address(0), owner(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[account];
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address theOwner, address theSpender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[theOwner][theSpender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] + addedValue
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] - subtractedValue
        );
        return true;
    }

    receive() external payable {}

    function _approve(
        address theOwner,
        address theSpender,
        uint256 amount
    ) private {
        require(
            theOwner != address(0) && theSpender != address(0),
            "Zero address."
        );
        _allowances[theOwner][theSpender] = amount;
        emit Approval(theOwner, theSpender, amount);
    }

    function setLpWallet(address newLp_) external onlyOwner {
        require(newLp_ != address(0), "TTF::Lp wallet cannot be zero address");

        address oldLpWallet = lpWallet;
        lpWallet = payable(newLp_);

        emit UpdateLpWallet(newLp_, oldLpWallet);
    }

    function setTax(
        uint256 buy,
        uint256 sell
    ) public onlyOwner {
        require(buy <= maxTransactionTax, "Buy tax cannot exceed the maximum.");
        require(sell <= maxTransactionTax, "Sell tax cannot exceed the maximum.");

        buyTax = buy;
        sellTax = sell;

        emit UpdatedBuySellTaxes(buy, sell);
    }

    function setPercentTax(
        uint256 marketing,
        uint256 dev,
        uint256 lp
    ) public onlyOwner {
        require(marketing + dev + lp == maxPct, "The sum of percentages must equal 100.");
        marketingPct = marketing;
        devPct = dev;
        lpPct = lp;

        emit UpdatedPercentTaxes(marketing, dev,lp);
    }
    function excludeFromFee(address account) external onlyOwner {
        isExcludedFromFee[account] = true;

        emit UpdatedIsExcludedFromFee(account, true);
    }

    function includeInFee(address account) external onlyOwner {
        isExcludedFromFee[account] = false;

        emit UpdatedIsExcludedFromFee(account, false);
    }

	function excludeMaxWallet(address account) external onlyOwner {
        isExcludedFromMaxWalletToken[account] = true;
        emit UpdatedIsExcludedFromMaxWallet(account, true);
    }

    function includeMaxWallet(address account) external onlyOwner {
        isExcludedFromMaxWalletToken[account] = false;
        emit UpdatedIsExcludedFromMaxWallet(account, false);
    }

    function setWallets(
        address marketing,
        address dev
    ) public onlyOwner {
        require(marketing != address(0) && dev != address(0), "Invalid wallet addresses.");
        isExcludedFromFee[marketingWallet] = false;
        isExcludedFromFee[devWallet] = false;

        marketingWallet = payable(marketing);
        devWallet = payable(dev);

        isExcludedFromFee[marketing] = true;
        isExcludedFromFee[dev] = true;

        emit UpdatedMarketingAndDevWallet(marketing, dev);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        if (!isExcludedFromMaxWalletToken[to]) {
            uint256 heldTokens = balanceOf(to);
            require(
                (heldTokens + amount) <= maxWalletSize,
                "Over wallet limit."
            );
        }

        require(
            from != address(0) && to != address(0),
            "Using 0 address!"
        );

        require(amount > 0, "Token value must be higher than zero.");

        if (
            balanceOf(address(this)) >= swapMinTokens &&
            !inSwapAndLiquify &&
            from != uniswapV2Pair
        ) {
            swapAndDistributeTaxes();
        }

        _tokenTransfer(from, to, amount);
    }

   function multipleAirdrop(
        address[] memory _address,
        uint256[] memory _amount
    ) external onlyOwner {
        require(_address.length == _amount.length, "Arrays length mismatch");
        uint256 totalAmount = 0;
        for (uint256 i = 0; i < _amount.length; i++) {
            totalAmount += _amount[i];
        }
        require(balanceOf(msg.sender) >= totalAmount * 10**decimals(), "Insufficient balance");

        for (uint256 i = 0; i < _amount.length; i++) {
            address adr = _address[i];
            uint256 amnt = _amount[i] * 10**decimals();
            _transfer(msg.sender, adr, amnt);
        }
    }

    function _sendToWallet(address payable wallet, uint256 amount) private {
        wallet.transfer(amount);
    }

    function setSwapMinTokens(uint256 minTokens) external onlyOwner {
        swapMinTokens = minTokens * 10**decimals();
        require(swapMinTokens < totalSupply(), "Min tokens for swap is too high.");
    }

    function swapAndDistributeTaxes() private lockTheSwap {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 marketingTokensShare = (contractTokenBalance * marketingPct) / maxPct;
        uint256 devTokensShare = (contractTokenBalance * devPct) / maxPct;
        uint256 lpTokensHalfShare = (contractTokenBalance * lpPct) / (2 * maxPct);

        uint256 bnbBalanceBeforeSwap = address(this).balance;
        swapTokensForBNB(lpTokensHalfShare + marketingTokensShare + devTokensShare);
        uint256 bnbReceived = address(this).balance - bnbBalanceBeforeSwap;

        uint256 marketingSplit = (marketingPct * maxPct) / (lpPct + marketingPct + devPct);
        uint256 bnbToMarketing = (bnbReceived * marketingSplit) / maxPct;

        uint256 devSplit = (devPct * maxPct) / (lpPct + marketingPct + devPct);
        uint256 bnbToDev = (bnbReceived * devSplit) / maxPct;

        addLiquidity(lpTokensHalfShare, (bnbReceived - bnbToMarketing - bnbToDev));
        emit SwapAndLiquify(
            lpTokensHalfShare,
            (bnbReceived - bnbToMarketing - bnbToDev),
            lpTokensHalfShare
        );

        _sendToWallet(marketingWallet, bnbToMarketing);
        _sendToWallet(devWallet, address(this).balance);
    }

    function swapTokensForBNB(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();
        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 BNBAmount) private {
        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.addLiquidityETH{value: BNBAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            lpWallet, // Add liquidity to lp wallet
            block.timestamp
        );
    }

    function withdraw() external onlyOwner {
        uint256 contractBalance = address(this).balance;
        require(contractBalance > 0, "TTF::Contract balance is empty");

        (bool status, ) = payable(owner()).call{value: contractBalance}("");

        require(status, "TTF::Failed to send contract balance");
    }

    function removeStuckTokens (
        address tokenAddress,
        uint256 pctOfTokens
    ) public returns (bool _sent) {
        require(
            tokenAddress != address(this),
            "Can not remove native token."
        );
        require(pctOfTokens <= 100, "Percentage must be less than or equal to 100.");
        uint256 totalRandom = IERC20(tokenAddress).balanceOf(address(this));
        uint256 removeRandom = (totalRandom * pctOfTokens) / maxPct;
        _sent = IERC20(tokenAddress).transfer(devWallet, removeRandom);
    }

    function _tokenTransfer(
        address from,
        address to,
        uint256 tAmount
    ) private {
        bool isBuy = (from == uniswapV2Pair);
        bool isSell = (to == uniswapV2Pair);
        bool isBuyOrSell = isBuy || isSell;
        bool takeFee = isBuyOrSell && !(isExcludedFromFee[from] || isExcludedFromFee[to]);

        uint256 fee = !takeFee
            ? 0
            : isBuy
                ? (tAmount * buyTax) / maxPct
                : (tAmount * sellTax) / maxPct;
        uint256 tTransferAmount = tAmount - fee;

        _tOwned[from] = _tOwned[from] - tAmount;
        _tOwned[to] = _tOwned[to] + tTransferAmount;
        _tOwned[address(this)] = _tOwned[address(this)] + fee;
        emit Transfer(from, to, tTransferAmount);
        if (to == burnWallet) _tTotal = _tTotal - tTransferAmount;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"uniswapRouterAddress","type":"address"},{"internalType":"address","name":"marketing","type":"address"},{"internalType":"address","name":"dev","type":"address"},{"internalType":"address","name":"lpWalletAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"tokensIntoLiqudity","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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newLp_","type":"address"},{"indexed":false,"internalType":"address","name":"oldLpWallet","type":"address"}],"name":"UpdateLpWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buyTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellTax","type":"uint256"}],"name":"UpdatedBuySellTaxes","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"flag","type":"bool"}],"name":"UpdatedIsExcludedFromFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"flag","type":"bool"}],"name":"UpdatedIsExcludedFromMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketing","type":"address"},{"indexed":false,"internalType":"address","name":"dev","type":"address"}],"name":"UpdatedMarketingAndDevWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dev","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lp","type":"uint256"}],"name":"UpdatedPercentTaxes","type":"event"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxWalletToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"multipleAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"pctOfTokens","type":"uint256"}],"name":"removeStuckTokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newLp_","type":"address"}],"name":"setLpWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"lp","type":"uint256"}],"name":"setPercentTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minTokens","type":"uint256"}],"name":"setSwapMinTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketing","type":"address"},{"internalType":"address","name":"dev","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapMinTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a62000014919062000d6f565b6305f5e10062000025919062000dc0565b6008556009600a62000038919062000d6f565b61271062000047919062000dc0565b6009556005600a556014600b556005600c556028600d556028600e556014600f556064601055601054600260085462000081919062000dc0565b6200008d919062000e3a565b6011553480156200009d57600080fd5b5060405162005947380380620059478339818101604052810190620000c3919062000edc565b620000e3620000d762000ae060201b60201c565b62000ae860201b60201c565b60085460016000620000fa62000bac60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020d919062000f4e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd919062000f4e565b6040518363ffffffff1660e01b8152600401620002dc92919062000f91565b6020604051808303816000875af1158015620002fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000322919062000f4e565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360006200043b62000bac60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460006200077262000bac60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000a6d62000bac60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60085460405162000ace919062000fcf565b60405180910390a35050505062000fec565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000c635780860481111562000c3b5762000c3a62000bd5565b5b600185161562000c4b5780820291505b808102905062000c5b8562000c04565b945062000c1b565b94509492505050565b60008262000c7e576001905062000d51565b8162000c8e576000905062000d51565b816001811462000ca7576002811462000cb25762000ce8565b600191505062000d51565b60ff84111562000cc75762000cc662000bd5565b5b8360020a91508482111562000ce15762000ce062000bd5565b5b5062000d51565b5060208310610133831016604e8410600b841016171562000d225782820a90508381111562000d1c5762000d1b62000bd5565b5b62000d51565b62000d31848484600162000c11565b9250905081840481111562000d4b5762000d4a62000bd5565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000d7c8262000d58565b915062000d898362000d62565b925062000db87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c6c565b905092915050565b600062000dcd8262000d58565b915062000dda8362000d58565b925082820262000dea8162000d58565b9150828204841483151762000e045762000e0362000bd5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e478262000d58565b915062000e548362000d58565b92508262000e675762000e6662000e0b565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ea48262000e77565b9050919050565b62000eb68162000e97565b811462000ec257600080fd5b50565b60008151905062000ed68162000eab565b92915050565b6000806000806080858703121562000ef95762000ef862000e72565b5b600062000f098782880162000ec5565b945050602062000f1c8782880162000ec5565b935050604062000f2f8782880162000ec5565b925050606062000f428782880162000ec5565b91505092959194509250565b60006020828403121562000f675762000f6662000e72565b5b600062000f778482850162000ec5565b91505092915050565b62000f8b8162000e97565b82525050565b600060408201905062000fa8600083018562000f80565b62000fb7602083018462000f80565b9392505050565b62000fc98162000d58565b82525050565b600060208201905062000fe6600083018462000fbe565b92915050565b61494b8062000ffc6000396000f3fe60806040526004361061026b5760003560e01c80635450e093116101445780638ea5220f116100b6578063a9059cbb1161007a578063a9059cbb14610931578063cc1776d31461096e578063d3f6a15714610999578063dd62ed3e146109c2578063ea2f0b37146109ff578063f2fde38b14610a2857610272565b80638ea5220f146108485780638f3fa86014610873578063950fdad71461089e57806395d89b41146108c9578063a457c2d7146108f457610272565b8063667f652611610108578063667f65261461074c57806370a0823114610775578063715018a6146107b257806375f0a874146107c95780637df6ccf5146107f45780638da5cb5b1461081d57610272565b80635450e09314610665578063546417a914610690578063583e0568146106b95780636303516c146106e45780636476b0691461070f57610272565b806339509351116101dd57806349bd5a5e116101a157806349bd5a5e146105555780634a73a280146105805780634f7041a5146105a95780634fb639f3146105d4578063522ac058146105fd5780635342acb41461062857610272565b806339509351146104865780633ccfd60b146104c3578063437823ec146104da57806343f07b5814610503578063468c7ee21461052c57610272565b806311f9262f1161022f57806311f9262f146103725780631783e0521461039d57806318160ddd146103c8578063220f6696146103f357806323b872dd1461041e578063313ce5671461045b57610272565b8063062287491461027757806306fdde03146102a2578063095ea7b3146102cd5780630fe0eb0f1461030a5780630ff974e71461033557610272565b3661027257005b600080fd5b34801561028357600080fd5b5061028c610a51565b6040516102999190613226565b60405180910390f35b3480156102ae57600080fd5b506102b7610a57565b6040516102c491906132d1565b60405180910390f35b3480156102d957600080fd5b506102f460048036038101906102ef919061337b565b610a94565b60405161030191906133d6565b60405180910390f35b34801561031657600080fd5b5061031f610ab2565b60405161032c9190613400565b60405180910390f35b34801561034157600080fd5b5061035c6004803603810190610357919061341b565b610ab8565b60405161036991906133d6565b60405180910390f35b34801561037e57600080fd5b50610387610ad8565b6040516103949190613400565b60405180910390f35b3480156103a957600080fd5b506103b2610ade565b6040516103bf9190613400565b60405180910390f35b3480156103d457600080fd5b506103dd610ae4565b6040516103ea9190613400565b60405180910390f35b3480156103ff57600080fd5b50610408610aee565b60405161041591906133d6565b60405180910390f35b34801561042a57600080fd5b5061044560048036038101906104409190613448565b610b01565b60405161045291906133d6565b60405180910390f35b34801561046757600080fd5b50610470610bb9565b60405161047d91906134b7565b60405180910390f35b34801561049257600080fd5b506104ad60048036038101906104a8919061337b565b610bc2565b6040516104ba91906133d6565b60405180910390f35b3480156104cf57600080fd5b506104d8610c6e565b005b3480156104e657600080fd5b5061050160048036038101906104fc919061341b565b610de9565b005b34801561050f57600080fd5b5061052a6004803603810190610525919061341b565b610efa565b005b34801561053857600080fd5b50610553600480360381019061054e919061341b565b61100b565b005b34801561056157600080fd5b5061056a61119b565b60405161057791906134e1565b60405180910390f35b34801561058c57600080fd5b506105a760048036038101906105a29190613707565b6111c1565b005b3480156105b557600080fd5b506105be6113c1565b6040516105cb9190613400565b60405180910390f35b3480156105e057600080fd5b506105fb60048036038101906105f6919061377f565b6113c7565b005b34801561060957600080fd5b506106126114b6565b60405161061f9190613400565b60405180910390f35b34801561063457600080fd5b5061064f600480360381019061064a919061341b565b6114bc565b60405161065c91906133d6565b60405180910390f35b34801561067157600080fd5b5061067a6114dc565b6040516106879190613400565b60405180910390f35b34801561069c57600080fd5b506106b760048036038101906106b2919061341b565b6114e2565b005b3480156106c557600080fd5b506106ce6115f3565b6040516106db919061380b565b60405180910390f35b3480156106f057600080fd5b506106f9611619565b6040516107069190613226565b60405180910390f35b34801561071b57600080fd5b506107366004803603810190610731919061337b565b61163f565b60405161074391906133d6565b60405180910390f35b34801561075857600080fd5b50610773600480360381019061076e9190613826565b611838565b005b34801561078157600080fd5b5061079c6004803603810190610797919061341b565b611989565b6040516107a99190613400565b60405180910390f35b3480156107be57600080fd5b506107c76119d2565b005b3480156107d557600080fd5b506107de611a5a565b6040516107eb9190613226565b60405180910390f35b34801561080057600080fd5b5061081b60048036038101906108169190613866565b611a80565b005b34801561082957600080fd5b50610832611bab565b60405161083f91906134e1565b60405180910390f35b34801561085457600080fd5b5061085d611bd4565b60405161086a9190613226565b60405180910390f35b34801561087f57600080fd5b50610888611bfa565b6040516108959190613400565b60405180910390f35b3480156108aa57600080fd5b506108b3611c00565b6040516108c09190613400565b60405180910390f35b3480156108d557600080fd5b506108de611c06565b6040516108eb91906132d1565b60405180910390f35b34801561090057600080fd5b5061091b6004803603810190610916919061337b565b611c43565b60405161092891906133d6565b60405180910390f35b34801561093d57600080fd5b506109586004803603810190610953919061337b565b611cef565b60405161096591906133d6565b60405180910390f35b34801561097a57600080fd5b50610983611d0d565b6040516109909190613400565b60405180910390f35b3480156109a557600080fd5b506109c060048036038101906109bb91906138b9565b611d13565b005b3480156109ce57600080fd5b506109e960048036038101906109e491906138b9565b61209b565b6040516109f69190613400565b60405180910390f35b348015610a0b57600080fd5b50610a266004803603810190610a21919061341b565b612122565b005b348015610a3457600080fd5b50610a4f6004803603810190610a4a919061341b565b612233565b005b61dead81565b60606040518060400160405280600381526020017f5454460000000000000000000000000000000000000000000000000000000000815250905090565b6000610aa8610aa161232a565b8484612332565b6001905092915050565b600c5481565b60046020528060005260406000206000915054906101000a900460ff1681565b600f5481565b60095481565b6000600854905090565b601360149054906101000a900460ff1681565b6000610b0e8484846124c6565b610bae84610b1a61232a565b84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b6461232a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba99190613928565b612332565b600190509392505050565b60006009905090565b6000610c64610bcf61232a565b848460026000610bdd61232a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5f919061395c565b612332565b6001905092915050565b610c7661232a565b73ffffffffffffffffffffffffffffffffffffffff16610c94611bab565b73ffffffffffffffffffffffffffffffffffffffff1614610cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce1906139dc565b60405180910390fd5b600047905060008111610d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2990613a48565b60405180910390fd5b6000610d3c611bab565b73ffffffffffffffffffffffffffffffffffffffff1682604051610d5f90613a99565b60006040518083038185875af1925050503d8060008114610d9c576040519150601f19603f3d011682016040523d82523d6000602084013e610da1565b606091505b5050905080610de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddc90613b20565b60405180910390fd5b5050565b610df161232a565b73ffffffffffffffffffffffffffffffffffffffff16610e0f611bab565b73ffffffffffffffffffffffffffffffffffffffff1614610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c906139dc565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f4347816001604051610eef929190613b40565b60405180910390a150565b610f0261232a565b73ffffffffffffffffffffffffffffffffffffffff16610f20611bab565b73ffffffffffffffffffffffffffffffffffffffff1614610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d906139dc565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda411816000604051611000929190613b40565b60405180910390a150565b61101361232a565b73ffffffffffffffffffffffffffffffffffffffff16611031611bab565b73ffffffffffffffffffffffffffffffffffffffff1614611087576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107e906139dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ed90613bdb565b60405180910390fd5b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f9b605aae8f83676cfb10dbe7d27053ddf283489a08a395c9b1b33166857ed16d828260405161118f929190613bfb565b60405180910390a15050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111c961232a565b73ffffffffffffffffffffffffffffffffffffffff166111e7611bab565b73ffffffffffffffffffffffffffffffffffffffff161461123d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611234906139dc565b60405180910390fd5b8051825114611281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127890613c70565b60405180910390fd5b6000805b82518110156112c9578281815181106112a1576112a0613c90565b5b6020026020010151826112b4919061395c565b915080806112c190613cbf565b915050611285565b506112d2610bb9565b600a6112de9190613e3a565b816112e99190613e85565b6112f233611989565b1015611333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132a90613f13565b60405180910390fd5b60005b82518110156113bb57600084828151811061135457611353613c90565b5b602002602001015190506000611368610bb9565b600a6113749190613e3a565b85848151811061138757611386613c90565b5b60200260200101516113999190613e85565b90506113a63383836124c6565b505080806113b390613cbf565b915050611336565b50505050565b600a5481565b6113cf61232a565b73ffffffffffffffffffffffffffffffffffffffff166113ed611bab565b73ffffffffffffffffffffffffffffffffffffffff1614611443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143a906139dc565b60405180910390fd5b61144b610bb9565b600a6114579190613e3a565b816114629190613e85565b600981905550611470610ae4565b600954106114b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114aa90613f7f565b60405180910390fd5b50565b60105481565b60036020528060005260406000206000915054906101000a900460ff1681565b600d5481565b6114ea61232a565b73ffffffffffffffffffffffffffffffffffffffff16611508611bab565b73ffffffffffffffffffffffffffffffffffffffff161461155e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611555906139dc565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4118160016040516115e8929190613b40565b60405180910390a150565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a690613feb565b60405180910390fd5b60648211156116f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ea9061407d565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161172e91906134e1565b602060405180830381865afa15801561174b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176f91906140b2565b9050600060105484836117829190613e85565b61178c919061410e565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016117eb929190614160565b6020604051808303816000875af115801561180a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182e91906141b5565b9250505092915050565b61184061232a565b73ffffffffffffffffffffffffffffffffffffffff1661185e611bab565b73ffffffffffffffffffffffffffffffffffffffff16146118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ab906139dc565b60405180910390fd5b600c548211156118f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f090614254565b60405180910390fd5b600c5481111561193e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611935906142e6565b60405180910390fd5b81600a8190555080600b819055507fee384adbada91a649af3c708314e31b6fe6974f02a951d6be3674ad17c956efe828260405161197d929190614306565b60405180910390a15050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6119da61232a565b73ffffffffffffffffffffffffffffffffffffffff166119f8611bab565b73ffffffffffffffffffffffffffffffffffffffff1614611a4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a45906139dc565b60405180910390fd5b611a586000612701565b565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611a8861232a565b73ffffffffffffffffffffffffffffffffffffffff16611aa6611bab565b73ffffffffffffffffffffffffffffffffffffffff1614611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af3906139dc565b60405180910390fd5b601054818385611b0c919061395c565b611b16919061395c565b14611b56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4d906143a1565b60405180910390fd5b82600d8190555081600e8190555080600f819055507f12cef84d4d9918df500462be0ba79e5a447be771e44a010c8624661a6a108cbc838383604051611b9e939291906143c1565b60405180910390a1505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b600e5481565b60606040518060400160405280600381526020017f5454460000000000000000000000000000000000000000000000000000000000815250905090565b6000611ce5611c5061232a565b848460026000611c5e61232a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ce09190613928565b612332565b6001905092915050565b6000611d03611cfc61232a565b84846124c6565b6001905092915050565b600b5481565b611d1b61232a565b73ffffffffffffffffffffffffffffffffffffffff16611d39611bab565b73ffffffffffffffffffffffffffffffffffffffff1614611d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d86906139dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611df95750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b611e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2f90614444565b60405180910390fd5b600060036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060036000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1e28ff4341fc5e5dbba78e864f67855d4b87ecce752be336375b358c90b529ec828260405161208f929190613bfb565b60405180910390a15050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61212a61232a565b73ffffffffffffffffffffffffffffffffffffffff16612148611bab565b73ffffffffffffffffffffffffffffffffffffffff161461219e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612195906139dc565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f4347816000604051612228929190613b40565b60405180910390a150565b61223b61232a565b73ffffffffffffffffffffffffffffffffffffffff16612259611bab565b73ffffffffffffffffffffffffffffffffffffffff16146122af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a6906139dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361231e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612315906144d6565b60405180910390fd5b61232781612701565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561239c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6123db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d290614542565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516124b99190613400565b60405180910390a3505050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661257657600061252283611989565b90506011548282612533919061395c565b1115612574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256b906145ae565b60405180910390fd5b505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125e05750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61261f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126169061461a565b60405180910390fd5b60008111612662576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612659906146ac565b60405180910390fd5b60095461266e30611989565b101580156126895750601360149054906101000a900460ff16155b80156126e35750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156126f1576126f06127c5565b5b6126fc838383612a2a565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601360146101000a81548160ff02191690831515021790555060006127eb30611989565b90506000601054600d54836128009190613e85565b61280a919061410e565b90506000601054600e548461281f9190613e85565b612829919061410e565b90506000601054600261283c9190613e85565b600f548561284a9190613e85565b612854919061410e565b9050600047905061287a83858461286b919061395c565b612875919061395c565b612e57565b600081476128889190613928565b90506000600e54600d54600f5461289f919061395c565b6128a9919061395c565b601054600d546128b99190613e85565b6128c3919061410e565b9050600060105482846128d69190613e85565b6128e0919061410e565b90506000600e54600d54600f546128f7919061395c565b612901919061395c565b601054600e546129119190613e85565b61291b919061410e565b90506000601054828661292e9190613e85565b612938919061410e565b905061295a8782858861294b9190613928565b6129559190613928565b61309a565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561878285886129899190613928565b6129939190613928565b896040516129a3939291906143c1565b60405180910390a16129d7600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461319a565b612a03600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff164761319a565b505050505050505050506000601360146101000a81548160ff021916908315150217905550565b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490506000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614905060008280612adf5750815b90506000818015612b8e5750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612b8c5750600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b155b905060008115612bde5784612bbd57601054600b5487612bae9190613e85565b612bb8919061410e565b612bd9565b601054600a5487612bce9190613e85565b612bd8919061410e565b5b612be1565b60005b905060008187612bf19190613928565b905086600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e9190613928565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ccc919061395c565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d5a919061395c565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612dfa9190613400565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1603612e4c5780600854612e459190613928565b6008819055505b505050505050505050565b6000600267ffffffffffffffff811115612e7457612e73613501565b5b604051908082528060200260200182016040528015612ea25781602001602082028036833780820191505090505b5090503081600081518110612eba57612eb9613c90565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f8591906146e1565b81600181518110612f9957612f98613c90565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061300030601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612332565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613064959493929190614807565b600060405180830381600087803b15801561307e57600080fd5b505af1158015613092573d6000803e3d6000fd5b505050505050565b6130c730601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612332565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161315096959493929190614861565b60606040518083038185885af115801561316e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061319391906148c2565b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156131e0573d6000803e3d6000fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613210826131e5565b9050919050565b61322081613205565b82525050565b600060208201905061323b6000830184613217565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561327b578082015181840152602081019050613260565b60008484015250505050565b6000601f19601f8301169050919050565b60006132a382613241565b6132ad818561324c565b93506132bd81856020860161325d565b6132c681613287565b840191505092915050565b600060208201905081810360008301526132eb8184613298565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000613312826131e5565b9050919050565b61332281613307565b811461332d57600080fd5b50565b60008135905061333f81613319565b92915050565b6000819050919050565b61335881613345565b811461336357600080fd5b50565b6000813590506133758161334f565b92915050565b60008060408385031215613392576133916132fd565b5b60006133a085828601613330565b92505060206133b185828601613366565b9150509250929050565b60008115159050919050565b6133d0816133bb565b82525050565b60006020820190506133eb60008301846133c7565b92915050565b6133fa81613345565b82525050565b600060208201905061341560008301846133f1565b92915050565b600060208284031215613431576134306132fd565b5b600061343f84828501613330565b91505092915050565b600080600060608486031215613461576134606132fd565b5b600061346f86828701613330565b935050602061348086828701613330565b925050604061349186828701613366565b9150509250925092565b600060ff82169050919050565b6134b18161349b565b82525050565b60006020820190506134cc60008301846134a8565b92915050565b6134db81613307565b82525050565b60006020820190506134f660008301846134d2565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61353982613287565b810181811067ffffffffffffffff8211171561355857613557613501565b5b80604052505050565b600061356b6132f3565b90506135778282613530565b919050565b600067ffffffffffffffff82111561359757613596613501565b5b602082029050602081019050919050565b600080fd5b60006135c06135bb8461357c565b613561565b905080838252602082019050602084028301858111156135e3576135e26135a8565b5b835b8181101561360c57806135f88882613330565b8452602084019350506020810190506135e5565b5050509392505050565b600082601f83011261362b5761362a6134fc565b5b813561363b8482602086016135ad565b91505092915050565b600067ffffffffffffffff82111561365f5761365e613501565b5b602082029050602081019050919050565b600061368361367e84613644565b613561565b905080838252602082019050602084028301858111156136a6576136a56135a8565b5b835b818110156136cf57806136bb8882613366565b8452602084019350506020810190506136a8565b5050509392505050565b600082601f8301126136ee576136ed6134fc565b5b81356136fe848260208601613670565b91505092915050565b6000806040838503121561371e5761371d6132fd565b5b600083013567ffffffffffffffff81111561373c5761373b613302565b5b61374885828601613616565b925050602083013567ffffffffffffffff81111561376957613768613302565b5b613775858286016136d9565b9150509250929050565b600060208284031215613795576137946132fd565b5b60006137a384828501613366565b91505092915050565b6000819050919050565b60006137d16137cc6137c7846131e5565b6137ac565b6131e5565b9050919050565b60006137e3826137b6565b9050919050565b60006137f5826137d8565b9050919050565b613805816137ea565b82525050565b600060208201905061382060008301846137fc565b92915050565b6000806040838503121561383d5761383c6132fd565b5b600061384b85828601613366565b925050602061385c85828601613366565b9150509250929050565b60008060006060848603121561387f5761387e6132fd565b5b600061388d86828701613366565b935050602061389e86828701613366565b92505060406138af86828701613366565b9150509250925092565b600080604083850312156138d0576138cf6132fd565b5b60006138de85828601613330565b92505060206138ef85828601613330565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061393382613345565b915061393e83613345565b9250828203905081811115613956576139556138f9565b5b92915050565b600061396782613345565b915061397283613345565b925082820190508082111561398a576139896138f9565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006139c660208361324c565b91506139d182613990565b602082019050919050565b600060208201905081810360008301526139f5816139b9565b9050919050565b7f5454463a3a436f6e74726163742062616c616e636520697320656d7074790000600082015250565b6000613a32601e8361324c565b9150613a3d826139fc565b602082019050919050565b60006020820190508181036000830152613a6181613a25565b9050919050565b600081905092915050565b50565b6000613a83600083613a68565b9150613a8e82613a73565b600082019050919050565b6000613aa482613a76565b9150819050919050565b7f5454463a3a4661696c656420746f2073656e6420636f6e74726163742062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b6000613b0a60248361324c565b9150613b1582613aae565b604082019050919050565b60006020820190508181036000830152613b3981613afd565b9050919050565b6000604082019050613b5560008301856134d2565b613b6260208301846133c7565b9392505050565b7f5454463a3a4c702077616c6c65742063616e6e6f74206265207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613bc560258361324c565b9150613bd082613b69565b604082019050919050565b60006020820190508181036000830152613bf481613bb8565b9050919050565b6000604082019050613c1060008301856134d2565b613c1d60208301846134d2565b9392505050565b7f417272617973206c656e677468206d69736d6174636800000000000000000000600082015250565b6000613c5a60168361324c565b9150613c6582613c24565b602082019050919050565b60006020820190508181036000830152613c8981613c4d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613cca82613345565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cfc57613cfb6138f9565b5b600182019050919050565b60008160011c9050919050565b6000808291508390505b6001851115613d5e57808604811115613d3a57613d396138f9565b5b6001851615613d495780820291505b8081029050613d5785613d07565b9450613d1e565b94509492505050565b600082613d775760019050613e33565b81613d855760009050613e33565b8160018114613d9b5760028114613da557613dd4565b6001915050613e33565b60ff841115613db757613db66138f9565b5b8360020a915084821115613dce57613dcd6138f9565b5b50613e33565b5060208310610133831016604e8410600b8410161715613e095782820a905083811115613e0457613e036138f9565b5b613e33565b613e168484846001613d14565b92509050818404811115613e2d57613e2c6138f9565b5b81810290505b9392505050565b6000613e4582613345565b9150613e508361349b565b9250613e7d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d67565b905092915050565b6000613e9082613345565b9150613e9b83613345565b9250828202613ea981613345565b91508282048414831517613ec057613ebf6138f9565b5b5092915050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000613efd60148361324c565b9150613f0882613ec7565b602082019050919050565b60006020820190508181036000830152613f2c81613ef0565b9050919050565b7f4d696e20746f6b656e7320666f72207377617020697320746f6f20686967682e600082015250565b6000613f6960208361324c565b9150613f7482613f33565b602082019050919050565b60006020820190508181036000830152613f9881613f5c565b9050919050565b7f43616e206e6f742072656d6f7665206e617469766520746f6b656e2e00000000600082015250565b6000613fd5601c8361324c565b9150613fe082613f9f565b602082019050919050565b6000602082019050818103600083015261400481613fc8565b9050919050565b7f50657263656e74616765206d757374206265206c657373207468616e206f722060008201527f657175616c20746f203130302e00000000000000000000000000000000000000602082015250565b6000614067602d8361324c565b91506140728261400b565b604082019050919050565b600060208201905081810360008301526140968161405a565b9050919050565b6000815190506140ac8161334f565b92915050565b6000602082840312156140c8576140c76132fd565b5b60006140d68482850161409d565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061411982613345565b915061412483613345565b925082614134576141336140df565b5b828204905092915050565b600061414a826137d8565b9050919050565b61415a8161413f565b82525050565b60006040820190506141756000830185614151565b61418260208301846133f1565b9392505050565b614192816133bb565b811461419d57600080fd5b50565b6000815190506141af81614189565b92915050565b6000602082840312156141cb576141ca6132fd565b5b60006141d9848285016141a0565b91505092915050565b7f427579207461782063616e6e6f742065786365656420746865206d6178696d7560008201527f6d2e000000000000000000000000000000000000000000000000000000000000602082015250565b600061423e60228361324c565b9150614249826141e2565b604082019050919050565b6000602082019050818103600083015261426d81614231565b9050919050565b7f53656c6c207461782063616e6e6f742065786365656420746865206d6178696d60008201527f756d2e0000000000000000000000000000000000000000000000000000000000602082015250565b60006142d060238361324c565b91506142db82614274565b604082019050919050565b600060208201905081810360008301526142ff816142c3565b9050919050565b600060408201905061431b60008301856133f1565b61432860208301846133f1565b9392505050565b7f5468652073756d206f662070657263656e7461676573206d757374206571756160008201527f6c203130302e0000000000000000000000000000000000000000000000000000602082015250565b600061438b60268361324c565b91506143968261432f565b604082019050919050565b600060208201905081810360008301526143ba8161437e565b9050919050565b60006060820190506143d660008301866133f1565b6143e360208301856133f1565b6143f060408301846133f1565b949350505050565b7f496e76616c69642077616c6c6574206164647265737365732e00000000000000600082015250565b600061442e60198361324c565b9150614439826143f8565b602082019050919050565b6000602082019050818103600083015261445d81614421565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006144c060268361324c565b91506144cb82614464565b604082019050919050565b600060208201905081810360008301526144ef816144b3565b9050919050565b7f5a65726f20616464726573732e00000000000000000000000000000000000000600082015250565b600061452c600d8361324c565b9150614537826144f6565b602082019050919050565b6000602082019050818103600083015261455b8161451f565b9050919050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b600061459860128361324c565b91506145a382614562565b602082019050919050565b600060208201905081810360008301526145c78161458b565b9050919050565b7f5573696e67203020616464726573732100000000000000000000000000000000600082015250565b600061460460108361324c565b915061460f826145ce565b602082019050919050565b60006020820190508181036000830152614633816145f7565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b600061469660258361324c565b91506146a18261463a565b604082019050919050565b600060208201905081810360008301526146c581614689565b9050919050565b6000815190506146db81613319565b92915050565b6000602082840312156146f7576146f66132fd565b5b6000614705848285016146cc565b91505092915050565b6000819050919050565b600061473361472e6147298461470e565b6137ac565b613345565b9050919050565b61474381614718565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61477e81613307565b82525050565b60006147908383614775565b60208301905092915050565b6000602082019050919050565b60006147b482614749565b6147be8185614754565b93506147c983614765565b8060005b838110156147fa5781516147e18882614784565b97506147ec8361479c565b9250506001810190506147cd565b5085935050505092915050565b600060a08201905061481c60008301886133f1565b614829602083018761473a565b818103604083015261483b81866147a9565b905061484a60608301856134d2565b61485760808301846133f1565b9695505050505050565b600060c08201905061487660008301896134d2565b61488360208301886133f1565b614890604083018761473a565b61489d606083018661473a565b6148aa6080830185614151565b6148b760a08301846133f1565b979650505050505050565b6000806000606084860312156148db576148da6132fd565b5b60006148e98682870161409d565b93505060206148fa8682870161409d565b925050604061490b8682870161409d565b915050925092509256fea26469706673582212206b3ba01b14a0ba15e7e7961f88601aa911e3e40d684bb61b3443d2d09f3e80f064736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000006072b3dc485872358eb304db39e8395652d036b600000000000000000000000079795beefc8b6186becabb3cafb915a42cfa3fb300000000000000000000000019dae4d4847254663ec65c964e19d8b5b655d3dc

Deployed Bytecode

0x60806040526004361061026b5760003560e01c80635450e093116101445780638ea5220f116100b6578063a9059cbb1161007a578063a9059cbb14610931578063cc1776d31461096e578063d3f6a15714610999578063dd62ed3e146109c2578063ea2f0b37146109ff578063f2fde38b14610a2857610272565b80638ea5220f146108485780638f3fa86014610873578063950fdad71461089e57806395d89b41146108c9578063a457c2d7146108f457610272565b8063667f652611610108578063667f65261461074c57806370a0823114610775578063715018a6146107b257806375f0a874146107c95780637df6ccf5146107f45780638da5cb5b1461081d57610272565b80635450e09314610665578063546417a914610690578063583e0568146106b95780636303516c146106e45780636476b0691461070f57610272565b806339509351116101dd57806349bd5a5e116101a157806349bd5a5e146105555780634a73a280146105805780634f7041a5146105a95780634fb639f3146105d4578063522ac058146105fd5780635342acb41461062857610272565b806339509351146104865780633ccfd60b146104c3578063437823ec146104da57806343f07b5814610503578063468c7ee21461052c57610272565b806311f9262f1161022f57806311f9262f146103725780631783e0521461039d57806318160ddd146103c8578063220f6696146103f357806323b872dd1461041e578063313ce5671461045b57610272565b8063062287491461027757806306fdde03146102a2578063095ea7b3146102cd5780630fe0eb0f1461030a5780630ff974e71461033557610272565b3661027257005b600080fd5b34801561028357600080fd5b5061028c610a51565b6040516102999190613226565b60405180910390f35b3480156102ae57600080fd5b506102b7610a57565b6040516102c491906132d1565b60405180910390f35b3480156102d957600080fd5b506102f460048036038101906102ef919061337b565b610a94565b60405161030191906133d6565b60405180910390f35b34801561031657600080fd5b5061031f610ab2565b60405161032c9190613400565b60405180910390f35b34801561034157600080fd5b5061035c6004803603810190610357919061341b565b610ab8565b60405161036991906133d6565b60405180910390f35b34801561037e57600080fd5b50610387610ad8565b6040516103949190613400565b60405180910390f35b3480156103a957600080fd5b506103b2610ade565b6040516103bf9190613400565b60405180910390f35b3480156103d457600080fd5b506103dd610ae4565b6040516103ea9190613400565b60405180910390f35b3480156103ff57600080fd5b50610408610aee565b60405161041591906133d6565b60405180910390f35b34801561042a57600080fd5b5061044560048036038101906104409190613448565b610b01565b60405161045291906133d6565b60405180910390f35b34801561046757600080fd5b50610470610bb9565b60405161047d91906134b7565b60405180910390f35b34801561049257600080fd5b506104ad60048036038101906104a8919061337b565b610bc2565b6040516104ba91906133d6565b60405180910390f35b3480156104cf57600080fd5b506104d8610c6e565b005b3480156104e657600080fd5b5061050160048036038101906104fc919061341b565b610de9565b005b34801561050f57600080fd5b5061052a6004803603810190610525919061341b565b610efa565b005b34801561053857600080fd5b50610553600480360381019061054e919061341b565b61100b565b005b34801561056157600080fd5b5061056a61119b565b60405161057791906134e1565b60405180910390f35b34801561058c57600080fd5b506105a760048036038101906105a29190613707565b6111c1565b005b3480156105b557600080fd5b506105be6113c1565b6040516105cb9190613400565b60405180910390f35b3480156105e057600080fd5b506105fb60048036038101906105f6919061377f565b6113c7565b005b34801561060957600080fd5b506106126114b6565b60405161061f9190613400565b60405180910390f35b34801561063457600080fd5b5061064f600480360381019061064a919061341b565b6114bc565b60405161065c91906133d6565b60405180910390f35b34801561067157600080fd5b5061067a6114dc565b6040516106879190613400565b60405180910390f35b34801561069c57600080fd5b506106b760048036038101906106b2919061341b565b6114e2565b005b3480156106c557600080fd5b506106ce6115f3565b6040516106db919061380b565b60405180910390f35b3480156106f057600080fd5b506106f9611619565b6040516107069190613226565b60405180910390f35b34801561071b57600080fd5b506107366004803603810190610731919061337b565b61163f565b60405161074391906133d6565b60405180910390f35b34801561075857600080fd5b50610773600480360381019061076e9190613826565b611838565b005b34801561078157600080fd5b5061079c6004803603810190610797919061341b565b611989565b6040516107a99190613400565b60405180910390f35b3480156107be57600080fd5b506107c76119d2565b005b3480156107d557600080fd5b506107de611a5a565b6040516107eb9190613226565b60405180910390f35b34801561080057600080fd5b5061081b60048036038101906108169190613866565b611a80565b005b34801561082957600080fd5b50610832611bab565b60405161083f91906134e1565b60405180910390f35b34801561085457600080fd5b5061085d611bd4565b60405161086a9190613226565b60405180910390f35b34801561087f57600080fd5b50610888611bfa565b6040516108959190613400565b60405180910390f35b3480156108aa57600080fd5b506108b3611c00565b6040516108c09190613400565b60405180910390f35b3480156108d557600080fd5b506108de611c06565b6040516108eb91906132d1565b60405180910390f35b34801561090057600080fd5b5061091b6004803603810190610916919061337b565b611c43565b60405161092891906133d6565b60405180910390f35b34801561093d57600080fd5b506109586004803603810190610953919061337b565b611cef565b60405161096591906133d6565b60405180910390f35b34801561097a57600080fd5b50610983611d0d565b6040516109909190613400565b60405180910390f35b3480156109a557600080fd5b506109c060048036038101906109bb91906138b9565b611d13565b005b3480156109ce57600080fd5b506109e960048036038101906109e491906138b9565b61209b565b6040516109f69190613400565b60405180910390f35b348015610a0b57600080fd5b50610a266004803603810190610a21919061341b565b612122565b005b348015610a3457600080fd5b50610a4f6004803603810190610a4a919061341b565b612233565b005b61dead81565b60606040518060400160405280600381526020017f5454460000000000000000000000000000000000000000000000000000000000815250905090565b6000610aa8610aa161232a565b8484612332565b6001905092915050565b600c5481565b60046020528060005260406000206000915054906101000a900460ff1681565b600f5481565b60095481565b6000600854905090565b601360149054906101000a900460ff1681565b6000610b0e8484846124c6565b610bae84610b1a61232a565b84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b6461232a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba99190613928565b612332565b600190509392505050565b60006009905090565b6000610c64610bcf61232a565b848460026000610bdd61232a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5f919061395c565b612332565b6001905092915050565b610c7661232a565b73ffffffffffffffffffffffffffffffffffffffff16610c94611bab565b73ffffffffffffffffffffffffffffffffffffffff1614610cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce1906139dc565b60405180910390fd5b600047905060008111610d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2990613a48565b60405180910390fd5b6000610d3c611bab565b73ffffffffffffffffffffffffffffffffffffffff1682604051610d5f90613a99565b60006040518083038185875af1925050503d8060008114610d9c576040519150601f19603f3d011682016040523d82523d6000602084013e610da1565b606091505b5050905080610de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddc90613b20565b60405180910390fd5b5050565b610df161232a565b73ffffffffffffffffffffffffffffffffffffffff16610e0f611bab565b73ffffffffffffffffffffffffffffffffffffffff1614610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c906139dc565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f4347816001604051610eef929190613b40565b60405180910390a150565b610f0261232a565b73ffffffffffffffffffffffffffffffffffffffff16610f20611bab565b73ffffffffffffffffffffffffffffffffffffffff1614610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d906139dc565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda411816000604051611000929190613b40565b60405180910390a150565b61101361232a565b73ffffffffffffffffffffffffffffffffffffffff16611031611bab565b73ffffffffffffffffffffffffffffffffffffffff1614611087576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107e906139dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ed90613bdb565b60405180910390fd5b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f9b605aae8f83676cfb10dbe7d27053ddf283489a08a395c9b1b33166857ed16d828260405161118f929190613bfb565b60405180910390a15050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111c961232a565b73ffffffffffffffffffffffffffffffffffffffff166111e7611bab565b73ffffffffffffffffffffffffffffffffffffffff161461123d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611234906139dc565b60405180910390fd5b8051825114611281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127890613c70565b60405180910390fd5b6000805b82518110156112c9578281815181106112a1576112a0613c90565b5b6020026020010151826112b4919061395c565b915080806112c190613cbf565b915050611285565b506112d2610bb9565b600a6112de9190613e3a565b816112e99190613e85565b6112f233611989565b1015611333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132a90613f13565b60405180910390fd5b60005b82518110156113bb57600084828151811061135457611353613c90565b5b602002602001015190506000611368610bb9565b600a6113749190613e3a565b85848151811061138757611386613c90565b5b60200260200101516113999190613e85565b90506113a63383836124c6565b505080806113b390613cbf565b915050611336565b50505050565b600a5481565b6113cf61232a565b73ffffffffffffffffffffffffffffffffffffffff166113ed611bab565b73ffffffffffffffffffffffffffffffffffffffff1614611443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143a906139dc565b60405180910390fd5b61144b610bb9565b600a6114579190613e3a565b816114629190613e85565b600981905550611470610ae4565b600954106114b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114aa90613f7f565b60405180910390fd5b50565b60105481565b60036020528060005260406000206000915054906101000a900460ff1681565b600d5481565b6114ea61232a565b73ffffffffffffffffffffffffffffffffffffffff16611508611bab565b73ffffffffffffffffffffffffffffffffffffffff161461155e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611555906139dc565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4118160016040516115e8929190613b40565b60405180910390a150565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a690613feb565b60405180910390fd5b60648211156116f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ea9061407d565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161172e91906134e1565b602060405180830381865afa15801561174b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176f91906140b2565b9050600060105484836117829190613e85565b61178c919061410e565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016117eb929190614160565b6020604051808303816000875af115801561180a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182e91906141b5565b9250505092915050565b61184061232a565b73ffffffffffffffffffffffffffffffffffffffff1661185e611bab565b73ffffffffffffffffffffffffffffffffffffffff16146118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ab906139dc565b60405180910390fd5b600c548211156118f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f090614254565b60405180910390fd5b600c5481111561193e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611935906142e6565b60405180910390fd5b81600a8190555080600b819055507fee384adbada91a649af3c708314e31b6fe6974f02a951d6be3674ad17c956efe828260405161197d929190614306565b60405180910390a15050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6119da61232a565b73ffffffffffffffffffffffffffffffffffffffff166119f8611bab565b73ffffffffffffffffffffffffffffffffffffffff1614611a4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a45906139dc565b60405180910390fd5b611a586000612701565b565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611a8861232a565b73ffffffffffffffffffffffffffffffffffffffff16611aa6611bab565b73ffffffffffffffffffffffffffffffffffffffff1614611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af3906139dc565b60405180910390fd5b601054818385611b0c919061395c565b611b16919061395c565b14611b56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4d906143a1565b60405180910390fd5b82600d8190555081600e8190555080600f819055507f12cef84d4d9918df500462be0ba79e5a447be771e44a010c8624661a6a108cbc838383604051611b9e939291906143c1565b60405180910390a1505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b600e5481565b60606040518060400160405280600381526020017f5454460000000000000000000000000000000000000000000000000000000000815250905090565b6000611ce5611c5061232a565b848460026000611c5e61232a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ce09190613928565b612332565b6001905092915050565b6000611d03611cfc61232a565b84846124c6565b6001905092915050565b600b5481565b611d1b61232a565b73ffffffffffffffffffffffffffffffffffffffff16611d39611bab565b73ffffffffffffffffffffffffffffffffffffffff1614611d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d86906139dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611df95750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b611e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2f90614444565b60405180910390fd5b600060036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060036000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1e28ff4341fc5e5dbba78e864f67855d4b87ecce752be336375b358c90b529ec828260405161208f929190613bfb565b60405180910390a15050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61212a61232a565b73ffffffffffffffffffffffffffffffffffffffff16612148611bab565b73ffffffffffffffffffffffffffffffffffffffff161461219e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612195906139dc565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f4347816000604051612228929190613b40565b60405180910390a150565b61223b61232a565b73ffffffffffffffffffffffffffffffffffffffff16612259611bab565b73ffffffffffffffffffffffffffffffffffffffff16146122af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a6906139dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361231e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612315906144d6565b60405180910390fd5b61232781612701565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561239c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6123db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d290614542565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516124b99190613400565b60405180910390a3505050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661257657600061252283611989565b90506011548282612533919061395c565b1115612574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256b906145ae565b60405180910390fd5b505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125e05750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61261f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126169061461a565b60405180910390fd5b60008111612662576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612659906146ac565b60405180910390fd5b60095461266e30611989565b101580156126895750601360149054906101000a900460ff16155b80156126e35750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156126f1576126f06127c5565b5b6126fc838383612a2a565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601360146101000a81548160ff02191690831515021790555060006127eb30611989565b90506000601054600d54836128009190613e85565b61280a919061410e565b90506000601054600e548461281f9190613e85565b612829919061410e565b90506000601054600261283c9190613e85565b600f548561284a9190613e85565b612854919061410e565b9050600047905061287a83858461286b919061395c565b612875919061395c565b612e57565b600081476128889190613928565b90506000600e54600d54600f5461289f919061395c565b6128a9919061395c565b601054600d546128b99190613e85565b6128c3919061410e565b9050600060105482846128d69190613e85565b6128e0919061410e565b90506000600e54600d54600f546128f7919061395c565b612901919061395c565b601054600e546129119190613e85565b61291b919061410e565b90506000601054828661292e9190613e85565b612938919061410e565b905061295a8782858861294b9190613928565b6129559190613928565b61309a565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561878285886129899190613928565b6129939190613928565b896040516129a3939291906143c1565b60405180910390a16129d7600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461319a565b612a03600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff164761319a565b505050505050505050506000601360146101000a81548160ff021916908315150217905550565b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490506000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614905060008280612adf5750815b90506000818015612b8e5750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612b8c5750600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b155b905060008115612bde5784612bbd57601054600b5487612bae9190613e85565b612bb8919061410e565b612bd9565b601054600a5487612bce9190613e85565b612bd8919061410e565b5b612be1565b60005b905060008187612bf19190613928565b905086600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e9190613928565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ccc919061395c565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d5a919061395c565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612dfa9190613400565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1603612e4c5780600854612e459190613928565b6008819055505b505050505050505050565b6000600267ffffffffffffffff811115612e7457612e73613501565b5b604051908082528060200260200182016040528015612ea25781602001602082028036833780820191505090505b5090503081600081518110612eba57612eb9613c90565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f8591906146e1565b81600181518110612f9957612f98613c90565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061300030601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612332565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613064959493929190614807565b600060405180830381600087803b15801561307e57600080fd5b505af1158015613092573d6000803e3d6000fd5b505050505050565b6130c730601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612332565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161315096959493929190614861565b60606040518083038185885af115801561316e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061319391906148c2565b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156131e0573d6000803e3d6000fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613210826131e5565b9050919050565b61322081613205565b82525050565b600060208201905061323b6000830184613217565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561327b578082015181840152602081019050613260565b60008484015250505050565b6000601f19601f8301169050919050565b60006132a382613241565b6132ad818561324c565b93506132bd81856020860161325d565b6132c681613287565b840191505092915050565b600060208201905081810360008301526132eb8184613298565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000613312826131e5565b9050919050565b61332281613307565b811461332d57600080fd5b50565b60008135905061333f81613319565b92915050565b6000819050919050565b61335881613345565b811461336357600080fd5b50565b6000813590506133758161334f565b92915050565b60008060408385031215613392576133916132fd565b5b60006133a085828601613330565b92505060206133b185828601613366565b9150509250929050565b60008115159050919050565b6133d0816133bb565b82525050565b60006020820190506133eb60008301846133c7565b92915050565b6133fa81613345565b82525050565b600060208201905061341560008301846133f1565b92915050565b600060208284031215613431576134306132fd565b5b600061343f84828501613330565b91505092915050565b600080600060608486031215613461576134606132fd565b5b600061346f86828701613330565b935050602061348086828701613330565b925050604061349186828701613366565b9150509250925092565b600060ff82169050919050565b6134b18161349b565b82525050565b60006020820190506134cc60008301846134a8565b92915050565b6134db81613307565b82525050565b60006020820190506134f660008301846134d2565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61353982613287565b810181811067ffffffffffffffff8211171561355857613557613501565b5b80604052505050565b600061356b6132f3565b90506135778282613530565b919050565b600067ffffffffffffffff82111561359757613596613501565b5b602082029050602081019050919050565b600080fd5b60006135c06135bb8461357c565b613561565b905080838252602082019050602084028301858111156135e3576135e26135a8565b5b835b8181101561360c57806135f88882613330565b8452602084019350506020810190506135e5565b5050509392505050565b600082601f83011261362b5761362a6134fc565b5b813561363b8482602086016135ad565b91505092915050565b600067ffffffffffffffff82111561365f5761365e613501565b5b602082029050602081019050919050565b600061368361367e84613644565b613561565b905080838252602082019050602084028301858111156136a6576136a56135a8565b5b835b818110156136cf57806136bb8882613366565b8452602084019350506020810190506136a8565b5050509392505050565b600082601f8301126136ee576136ed6134fc565b5b81356136fe848260208601613670565b91505092915050565b6000806040838503121561371e5761371d6132fd565b5b600083013567ffffffffffffffff81111561373c5761373b613302565b5b61374885828601613616565b925050602083013567ffffffffffffffff81111561376957613768613302565b5b613775858286016136d9565b9150509250929050565b600060208284031215613795576137946132fd565b5b60006137a384828501613366565b91505092915050565b6000819050919050565b60006137d16137cc6137c7846131e5565b6137ac565b6131e5565b9050919050565b60006137e3826137b6565b9050919050565b60006137f5826137d8565b9050919050565b613805816137ea565b82525050565b600060208201905061382060008301846137fc565b92915050565b6000806040838503121561383d5761383c6132fd565b5b600061384b85828601613366565b925050602061385c85828601613366565b9150509250929050565b60008060006060848603121561387f5761387e6132fd565b5b600061388d86828701613366565b935050602061389e86828701613366565b92505060406138af86828701613366565b9150509250925092565b600080604083850312156138d0576138cf6132fd565b5b60006138de85828601613330565b92505060206138ef85828601613330565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061393382613345565b915061393e83613345565b9250828203905081811115613956576139556138f9565b5b92915050565b600061396782613345565b915061397283613345565b925082820190508082111561398a576139896138f9565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006139c660208361324c565b91506139d182613990565b602082019050919050565b600060208201905081810360008301526139f5816139b9565b9050919050565b7f5454463a3a436f6e74726163742062616c616e636520697320656d7074790000600082015250565b6000613a32601e8361324c565b9150613a3d826139fc565b602082019050919050565b60006020820190508181036000830152613a6181613a25565b9050919050565b600081905092915050565b50565b6000613a83600083613a68565b9150613a8e82613a73565b600082019050919050565b6000613aa482613a76565b9150819050919050565b7f5454463a3a4661696c656420746f2073656e6420636f6e74726163742062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b6000613b0a60248361324c565b9150613b1582613aae565b604082019050919050565b60006020820190508181036000830152613b3981613afd565b9050919050565b6000604082019050613b5560008301856134d2565b613b6260208301846133c7565b9392505050565b7f5454463a3a4c702077616c6c65742063616e6e6f74206265207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613bc560258361324c565b9150613bd082613b69565b604082019050919050565b60006020820190508181036000830152613bf481613bb8565b9050919050565b6000604082019050613c1060008301856134d2565b613c1d60208301846134d2565b9392505050565b7f417272617973206c656e677468206d69736d6174636800000000000000000000600082015250565b6000613c5a60168361324c565b9150613c6582613c24565b602082019050919050565b60006020820190508181036000830152613c8981613c4d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613cca82613345565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cfc57613cfb6138f9565b5b600182019050919050565b60008160011c9050919050565b6000808291508390505b6001851115613d5e57808604811115613d3a57613d396138f9565b5b6001851615613d495780820291505b8081029050613d5785613d07565b9450613d1e565b94509492505050565b600082613d775760019050613e33565b81613d855760009050613e33565b8160018114613d9b5760028114613da557613dd4565b6001915050613e33565b60ff841115613db757613db66138f9565b5b8360020a915084821115613dce57613dcd6138f9565b5b50613e33565b5060208310610133831016604e8410600b8410161715613e095782820a905083811115613e0457613e036138f9565b5b613e33565b613e168484846001613d14565b92509050818404811115613e2d57613e2c6138f9565b5b81810290505b9392505050565b6000613e4582613345565b9150613e508361349b565b9250613e7d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d67565b905092915050565b6000613e9082613345565b9150613e9b83613345565b9250828202613ea981613345565b91508282048414831517613ec057613ebf6138f9565b5b5092915050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000613efd60148361324c565b9150613f0882613ec7565b602082019050919050565b60006020820190508181036000830152613f2c81613ef0565b9050919050565b7f4d696e20746f6b656e7320666f72207377617020697320746f6f20686967682e600082015250565b6000613f6960208361324c565b9150613f7482613f33565b602082019050919050565b60006020820190508181036000830152613f9881613f5c565b9050919050565b7f43616e206e6f742072656d6f7665206e617469766520746f6b656e2e00000000600082015250565b6000613fd5601c8361324c565b9150613fe082613f9f565b602082019050919050565b6000602082019050818103600083015261400481613fc8565b9050919050565b7f50657263656e74616765206d757374206265206c657373207468616e206f722060008201527f657175616c20746f203130302e00000000000000000000000000000000000000602082015250565b6000614067602d8361324c565b91506140728261400b565b604082019050919050565b600060208201905081810360008301526140968161405a565b9050919050565b6000815190506140ac8161334f565b92915050565b6000602082840312156140c8576140c76132fd565b5b60006140d68482850161409d565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061411982613345565b915061412483613345565b925082614134576141336140df565b5b828204905092915050565b600061414a826137d8565b9050919050565b61415a8161413f565b82525050565b60006040820190506141756000830185614151565b61418260208301846133f1565b9392505050565b614192816133bb565b811461419d57600080fd5b50565b6000815190506141af81614189565b92915050565b6000602082840312156141cb576141ca6132fd565b5b60006141d9848285016141a0565b91505092915050565b7f427579207461782063616e6e6f742065786365656420746865206d6178696d7560008201527f6d2e000000000000000000000000000000000000000000000000000000000000602082015250565b600061423e60228361324c565b9150614249826141e2565b604082019050919050565b6000602082019050818103600083015261426d81614231565b9050919050565b7f53656c6c207461782063616e6e6f742065786365656420746865206d6178696d60008201527f756d2e0000000000000000000000000000000000000000000000000000000000602082015250565b60006142d060238361324c565b91506142db82614274565b604082019050919050565b600060208201905081810360008301526142ff816142c3565b9050919050565b600060408201905061431b60008301856133f1565b61432860208301846133f1565b9392505050565b7f5468652073756d206f662070657263656e7461676573206d757374206571756160008201527f6c203130302e0000000000000000000000000000000000000000000000000000602082015250565b600061438b60268361324c565b91506143968261432f565b604082019050919050565b600060208201905081810360008301526143ba8161437e565b9050919050565b60006060820190506143d660008301866133f1565b6143e360208301856133f1565b6143f060408301846133f1565b949350505050565b7f496e76616c69642077616c6c6574206164647265737365732e00000000000000600082015250565b600061442e60198361324c565b9150614439826143f8565b602082019050919050565b6000602082019050818103600083015261445d81614421565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006144c060268361324c565b91506144cb82614464565b604082019050919050565b600060208201905081810360008301526144ef816144b3565b9050919050565b7f5a65726f20616464726573732e00000000000000000000000000000000000000600082015250565b600061452c600d8361324c565b9150614537826144f6565b602082019050919050565b6000602082019050818103600083015261455b8161451f565b9050919050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b600061459860128361324c565b91506145a382614562565b602082019050919050565b600060208201905081810360008301526145c78161458b565b9050919050565b7f5573696e67203020616464726573732100000000000000000000000000000000600082015250565b600061460460108361324c565b915061460f826145ce565b602082019050919050565b60006020820190508181036000830152614633816145f7565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b600061469660258361324c565b91506146a18261463a565b604082019050919050565b600060208201905081810360008301526146c581614689565b9050919050565b6000815190506146db81613319565b92915050565b6000602082840312156146f7576146f66132fd565b5b6000614705848285016146cc565b91505092915050565b6000819050919050565b600061473361472e6147298461470e565b6137ac565b613345565b9050919050565b61474381614718565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61477e81613307565b82525050565b60006147908383614775565b60208301905092915050565b6000602082019050919050565b60006147b482614749565b6147be8185614754565b93506147c983614765565b8060005b838110156147fa5781516147e18882614784565b97506147ec8361479c565b9250506001810190506147cd565b5085935050505092915050565b600060a08201905061481c60008301886133f1565b614829602083018761473a565b818103604083015261483b81866147a9565b905061484a60608301856134d2565b61485760808301846133f1565b9695505050505050565b600060c08201905061487660008301896134d2565b61488360208301886133f1565b614890604083018761473a565b61489d606083018661473a565b6148aa6080830185614151565b6148b760a08301846133f1565b979650505050505050565b6000806000606084860312156148db576148da6132fd565b5b60006148e98682870161409d565b93505060206148fa8682870161409d565b925050604061490b8682870161409d565b915050925092509256fea26469706673582212206b3ba01b14a0ba15e7e7961f88601aa911e3e40d684bb61b3443d2d09f3e80f064736f6c63430008130033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000006072b3dc485872358eb304db39e8395652d036b600000000000000000000000079795beefc8b6186becabb3cafb915a42cfa3fb300000000000000000000000019dae4d4847254663ec65c964e19d8b5b655d3dc

-----Decoded View---------------
Arg [0] : uniswapRouterAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : marketing (address): 0x6072B3dC485872358Eb304DB39E8395652D036b6
Arg [2] : dev (address): 0x79795bEefc8b6186BEcaBb3CAfB915A42cfA3fb3
Arg [3] : lpWalletAddress (address): 0x19DAE4d4847254663Ec65c964e19d8b5B655D3dC

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 0000000000000000000000006072b3dc485872358eb304db39e8395652d036b6
Arg [2] : 00000000000000000000000079795beefc8b6186becabb3cafb915a42cfa3fb3
Arg [3] : 00000000000000000000000019dae4d4847254663ec65c964e19d8b5b655d3dc


Deployed Bytecode Sourcemap

3593:13772:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3973:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6842:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7758:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4432:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3820:60;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4549:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4305:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7119:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4763:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7959:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7028:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8317:297;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15608:326;;;;;;;;;;;;;:::i;:::-;;10345:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10890:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9335:278;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4728:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12425:660;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4366:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13214:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4581:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3764:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4477:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10696:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4679:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4076:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15942:558;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9621:357;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7222:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1819:94;;;;;;;;;;;;;:::i;:::-;;3889:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9986:353;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1596:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3934:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4617:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4516:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6933:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8622:307;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7347:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4398:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11086:529;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7554:196;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10522:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1921:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3973:96;4026:42;3973:96;:::o;6842:83::-;6879:13;6912:5;;;;;;;;;;;;;;;;;6905:12;;6842:83;:::o;7758:193::-;7860:4;7882:39;7891:12;:10;:12::i;:::-;7905:7;7914:6;7882:8;:39::i;:::-;7939:4;7932:11;;7758:193;;;;:::o;4432:36::-;;;;:::o;3820:60::-;;;;;;;;;;;;;;;;;;;;;;:::o;4549:25::-;;;;:::o;4305:52::-;;;;:::o;7119:95::-;7172:7;7199;;7192:14;;7119:95;:::o;4763:28::-;;;;;;;;;;;;;:::o;7959:350::-;8091:4;8108:36;8118:6;8126:9;8137:6;8108:9;:36::i;:::-;8155:124;8178:6;8199:12;:10;:12::i;:::-;8262:6;8226:11;:19;8238:6;8226:19;;;;;;;;;;;;;;;:33;8246:12;:10;:12::i;:::-;8226:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;8155:8;:124::i;:::-;8297:4;8290:11;;7959:350;;;;;:::o;7028:83::-;7069:5;4151:1;7087:16;;7028:83;:::o;8317:297::-;8432:4;8454:130;8477:12;:10;:12::i;:::-;8504:7;8563:10;8526:11;:25;8538:12;:10;:12::i;:::-;8526:25;;;;;;;;;;;;;;;:34;8552:7;8526:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;8454:8;:130::i;:::-;8602:4;8595:11;;8317:297;;;;:::o;15608:326::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15658:23:::1;15684:21;15658:47;;15742:1;15724:15;:19;15716:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;15792:11;15817:7;:5;:7::i;:::-;15809:21;;15838:15;15809:49;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15791:67;;;15879:6;15871:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;15647:287;;15608:326::o:0;10345:169::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10445:4:::1;10416:17;:26;10434:7;10416:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;10467:39;10492:7;10501:4;10467:39;;;;;;;:::i;:::-;;;;;;;;10345:169:::0;:::o;10890:188::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11003:5:::1;10963:28;:37;10992:7;10963:37;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;11024:46;11055:7;11064:5;11024:46;;;;;;;:::i;:::-;;;;;;;;10890:188:::0;:::o;9335:278::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9428:1:::1;9410:20;;:6;:20;;::::0;9402:70:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;9485:19;9507:8;;;;;;;;;;;9485:30;;9545:6;9526:8;;:26;;;;;;;;;;;;;;;;;;9570:35;9585:6;9593:11;9570:35;;;;;;;:::i;:::-;;;;;;;;9391:222;9335:278:::0;:::o;4728:28::-;;;;;;;;;;;;;:::o;12425:660::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12585:7:::1;:14;12566:8;:15;:33;12558:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12637:19;12676:9:::0;12671:97:::1;12695:7;:14;12691:1;:18;12671:97;;;12746:7;12754:1;12746:10;;;;;;;;:::i;:::-;;;;;;;;12731:25;;;;;:::i;:::-;;;12711:3;;;;;:::i;:::-;;;;12671:97;;;;12829:10;:8;:10::i;:::-;12825:2;:14;;;;:::i;:::-;12811:11;:28;;;;:::i;:::-;12786:21;12796:10;12786:9;:21::i;:::-;:53;;12778:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;12882:9;12877:201;12901:7;:14;12897:1;:18;12877:201;;;12937:11;12951:8;12960:1;12951:11;;;;;;;;:::i;:::-;;;;;;;;12937:25;;12977:12;13009:10;:8;:10::i;:::-;13005:2;:14;;;;:::i;:::-;12992:7;13000:1;12992:10;;;;;;;;:::i;:::-;;;;;;;;:27;;;;:::i;:::-;12977:42;;13034:32;13044:10;13056:3;13061:4;13034:9;:32::i;:::-;12922:156;;12917:3;;;;;:::i;:::-;;;;12877:201;;;;12547:538;12425:660:::0;;:::o;4366:25::-;;;;:::o;13214:210::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13321:10:::1;:8;:10::i;:::-;13317:2;:14;;;;:::i;:::-;13305:9;:26;;;;:::i;:::-;13289:13;:42;;;;13366:13;:11;:13::i;:::-;13350;;:29;13342:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13214:210:::0;:::o;4581:27::-;;;;:::o;3764:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;4477:32::-;;;;:::o;10696:186::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10809:4:::1;10769:28;:37;10798:7;10769:37;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;10829:45;10860:7;10869:4;10829:45;;;;;;;:::i;:::-;;;;;;;;10696:186:::0;:::o;4679:42::-;;;;;;;;;;;;;:::o;4076:31::-;;;;;;;;;;;;;:::o;15942:558::-;16054:10;16123:4;16099:29;;:12;:29;;;16077:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;16218:3;16203:11;:18;;16195:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;16282:19;16311:12;16304:30;;;16343:4;16304:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16282:67;;16360:20;16413:6;;16398:11;16384;:25;;;;:::i;:::-;16383:36;;;;:::i;:::-;16360:59;;16445:12;16438:29;;;16468:9;;;;;;;;;;;16479:12;16438:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16430:62;;16066:434;;15942:558;;;;:::o;9621:357::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9732:17:::1;;9725:3;:24;;9717:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9815:17;;9807:4;:25;;9799:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9894:3;9885:6;:12;;;;9918:4;9908:7;:14;;;;9940:30;9960:3;9965:4;9940:30;;;;;;;:::i;:::-;;;;;;;;9621:357:::0;;:::o;7222:117::-;7288:7;7315;:16;7323:7;7315:16;;;;;;;;;;;;;;;;7308:23;;7222:117;;;:::o;1819:94::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1884:21:::1;1902:1;1884:9;:21::i;:::-;1819:94::o:0;3889:38::-;;;;;;;;;;;;;:::o;9986:353::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10147:6:::1;;10141:2;10135:3;10123:9;:15;;;;:::i;:::-;:20;;;;:::i;:::-;:30;10115:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;10222:9;10207:12;:24;;;;10251:3;10242:6;:12;;;;10273:2;10265:5;:10;;;;10293:38;10313:9;10324:3;10328:2;10293:38;;;;;;;;:::i;:::-;;;;;;;;9986:353:::0;;;:::o;1596:87::-;1642:7;1669:6;;;;;;;;;;;1662:13;;1596:87;:::o;3934:32::-;;;;;;;;;;;;;:::o;4617:53::-;;;;:::o;4516:26::-;;;;:::o;6933:87::-;6972:13;7005:7;;;;;;;;;;;;;;;;;6998:14;;6933:87;:::o;8622:307::-;8742:4;8764:135;8787:12;:10;:12::i;:::-;8814:7;8873:15;8836:11;:25;8848:12;:10;:12::i;:::-;8836:25;;;;;;;;;;;;;;;:34;8862:7;8836:34;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;8764:8;:135::i;:::-;8917:4;8910:11;;8622:307;;;;:::o;7347:199::-;7452:4;7474:42;7484:12;:10;:12::i;:::-;7498:9;7509:6;7474:9;:42::i;:::-;7534:4;7527:11;;7347:199;;;;:::o;4398:27::-;;;;:::o;11086:529::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11220:1:::1;11199:23;;:9;:23;;;;:44;;;;;11241:1;11226:17;;:3;:17;;;;11199:44;11191:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;11321:5;11284:17;:34;11302:15;;;;;;;;;;;11284:34;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;11368:5;11337:17;:28;11355:9;;;;;;;;;;;11337:28;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;11412:9;11386:15;;:36;;;;;;;;;;;;;;;;;;11453:3;11433:9;;:24;;;;;;;;;;;;;;;;;;11501:4;11470:17;:28;11488:9;11470:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;11541:4;11516:17;:22;11534:3;11516:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;11563:44;11592:9;11603:3;11563:44;;;;;;;:::i;:::-;;;;;;;;11086:529:::0;;:::o;7554:196::-;7677:7;7709:11;:21;7721:8;7709:21;;;;;;;;;;;;;;;:33;7731:10;7709:33;;;;;;;;;;;;;;;;7702:40;;7554:196;;;;:::o;10522:169::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10620:5:::1;10591:17;:26;10609:7;10591:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;10643:40;10668:7;10677:5;10643:40;;;;;;;:::i;:::-;;;;;;;;10522:169:::0;:::o;1921:192::-;1742:12;:10;:12::i;:::-;1731:23;;:7;:5;:7::i;:::-;:23;;;1723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2030:1:::1;2010:22;;:8;:22;;::::0;2002:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2086:19;2096:8;2086:9;:19::i;:::-;1921:192:::0;:::o;219:98::-;272:7;299:10;292:17;;219:98;:::o;8974:353::-;9141:1;9121:22;;:8;:22;;;;:50;;;;;9169:1;9147:24;;:10;:24;;;;9121:50;9099:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;9259:6;9223:11;:21;9235:8;9223:21;;;;;;;;;;;;;;;:33;9245:10;9223:33;;;;;;;;;;;;;;;:42;;;;9300:10;9281:38;;9290:8;9281:38;;;9312:6;9281:38;;;;;;:::i;:::-;;;;;;;;8974:353;;;:::o;11623:795::-;11742:28;:32;11771:2;11742:32;;;;;;;;;;;;;;;;;;;;;;;;;11737:233;;11791:18;11812:13;11822:2;11812:9;:13::i;:::-;11791:34;;11891:13;;11880:6;11867:10;:19;;;;:::i;:::-;11866:38;;11840:118;;;;;;;;;;;;:::i;:::-;;;;;;;;;11776:194;11737:233;12020:1;12004:18;;:4;:18;;;;:38;;;;;12040:1;12026:16;;:2;:16;;;;12004:38;11982:104;;;;;;;;;;;;:::i;:::-;;;;;;;;;12116:1;12107:6;:10;12099:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;12218:13;;12190:24;12208:4;12190:9;:24::i;:::-;:41;;:75;;;;;12249:16;;;;;;;;;;;12248:17;12190:75;:113;;;;;12290:13;;;;;;;;;;;12282:21;;:4;:21;;;;12190:113;12172:194;;;12330:24;:22;:24::i;:::-;12172:194;12378:32;12393:4;12399:2;12403:6;12378:14;:32::i;:::-;11623:795;;;:::o;2121:173::-;2177:16;2196:6;;;;;;;;;;;2177:25;;2222:8;2213:6;;:17;;;;;;;;;;;;;;;;;;2277:8;2246:40;;2267:8;2246:40;;;;;;;;;;;;2166:128;2121:173;:::o;13432:1285::-;5404:4;5385:16;;:23;;;;;;;;;;;;;;;;;;13497:28:::1;13528:24;13546:4;13528:9;:24::i;:::-;13497:55;;13563:28;13634:6;;13618:12;;13595:20;:35;;;;:::i;:::-;13594:46;;;;:::i;:::-;13563:77;;13651:22;13710:6;;13700;;13677:20;:29;;;;:::i;:::-;13676:40;;;;:::i;:::-;13651:65;;13727:25;13793:6;;13789:1;:10;;;;:::i;:::-;13779:5;;13756:20;:28;;;;:::i;:::-;13755:45;;;;:::i;:::-;13727:73;;13813:28;13844:21;13813:52;;13876:75;13936:14;13913:20;13893:17;:40;;;;:::i;:::-;:57;;;;:::i;:::-;13876:16;:75::i;:::-;13962:19;14008:20;13984:21;:44;;;;:::i;:::-;13962:66;;14041:22;14116:6;;14101:12;;14093:5;;:20;;;;:::i;:::-;:29;;;;:::i;:::-;14082:6;;14067:12;;:21;;;;:::i;:::-;14066:57;;;;:::i;:::-;14041:82;;14134:22;14192:6;;14174:14;14160:11;:28;;;;:::i;:::-;14159:39;;;;:::i;:::-;14134:64;;14211:16;14274:6;;14259:12;;14251:5;;:20;;;;:::i;:::-;:29;;;;:::i;:::-;14240:6;;14231;;:15;;;;:::i;:::-;14230:51;;;;:::i;:::-;14211:70;;14292:16;14338:6;;14326:8;14312:11;:22;;;;:::i;:::-;14311:33;;;;:::i;:::-;14292:52;;14357:74;14370:17;14421:8;14404:14;14390:11;:28;;;;:::i;:::-;:39;;;;:::i;:::-;14357:12;:74::i;:::-;14447:145;14476:17;14540:8;14523:14;14509:11;:28;;;;:::i;:::-;:39;;;;:::i;:::-;14564:17;14447:145;;;;;;;;:::i;:::-;;;;;;;;14605:46;14619:15;;;;;;;;;;;14636:14;14605:13;:46::i;:::-;14662:47;14676:9;;;;;;;;;;;14687:21;14662:13;:47::i;:::-;13486:1231;;;;;;;;;;5450:5:::0;5431:16;;:24;;;;;;;;;;;;;;;;;;13432:1285::o;16508:854::-;16628:10;16650:13;;;;;;;;;;;16642:21;;:4;:21;;;16628:36;;16675:11;16696:13;;;;;;;;;;;16690:19;;:2;:19;;;16675:35;;16721:16;16740:5;:15;;;;16749:6;16740:15;16721:34;;16766:12;16781:11;:66;;;;;16798:17;:23;16816:4;16798:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;16825:17;:21;16843:2;16825:21;;;;;;;;;;;;;;;;;;;;;;;;;16798:48;16796:51;16781:66;16766:81;;16860:11;16875:7;16874:8;:141;;16915:5;:100;;17009:6;;16998:7;;16988;:17;;;;:::i;:::-;16987:28;;;;:::i;:::-;16915:100;;;16961:6;;16951;;16941:7;:16;;;;:::i;:::-;16940:27;;;;:::i;:::-;16915:100;16874:141;;;16898:1;16874:141;16860:155;;17026:23;17062:3;17052:7;:13;;;;:::i;:::-;17026:39;;17110:7;17094;:13;17102:4;17094:13;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;17078:7;:13;17086:4;17078:13;;;;;;;;;;;;;;;:39;;;;17156:15;17142:7;:11;17150:2;17142:11;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;17128:7;:11;17136:2;17128:11;;;;;;;;;;;;;;;:43;;;;17232:3;17207:7;:22;17223:4;17207:22;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;17182:7;:22;17198:4;17182:22;;;;;;;;;;;;;;;:53;;;;17266:2;17251:35;;17260:4;17251:35;;;17270:15;17251:35;;;;;;:::i;:::-;;;;;;;;4026:42;17301:16;;:2;:16;;;17297:57;;17339:15;17329:7;;:25;;;;:::i;:::-;17319:7;:35;;;;17297:57;16617:745;;;;;;16508:854;;;:::o;14725:474::-;14791:21;14829:1;14815:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14791:40;;14860:4;14842;14847:1;14842:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;14886:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14876:4;14881:1;14876:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;14920:63;14937:4;14952:16;;;;;;;;;;;14971:11;14920:8;:63::i;:::-;14994:16;;;;;;;;;;;:67;;;15076:11;15102:1;15118:4;15145;15165:15;14994:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14780:419;14725:474;:::o;15207:393::-;15288:63;15305:4;15320:16;;;;;;;;;;;15339:11;15288:8;:63::i;:::-;15362:16;;;;;;;;;;;:32;;;15402:9;15435:4;15455:11;15481:1;15497;15513:8;;;;;;;;;;;15566:15;15362:230;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15207:393;;:::o;13093:113::-;13175:6;:15;;:23;13191:6;13175:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13093:113;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:104::-;184:7;213:24;231:5;213:24;:::i;:::-;202:35;;139:104;;;:::o;249:142::-;352:32;378:5;352:32;:::i;:::-;347:3;340:45;249:142;;:::o;397:254::-;506:4;544:2;533:9;529:18;521:26;;557:87;641:1;630:9;626:17;617:6;557:87;:::i;:::-;397:254;;;;:::o;657:99::-;709:6;743:5;737:12;727:22;;657:99;;;:::o;762:169::-;846:11;880:6;875:3;868:19;920:4;915:3;911:14;896:29;;762:169;;;;:::o;937:246::-;1018:1;1028:113;1042:6;1039:1;1036:13;1028:113;;;1127:1;1122:3;1118:11;1112:18;1108:1;1103:3;1099:11;1092:39;1064:2;1061:1;1057:10;1052:15;;1028:113;;;1175:1;1166:6;1161:3;1157:16;1150:27;999:184;937:246;;;:::o;1189:102::-;1230:6;1281:2;1277:7;1272:2;1265:5;1261:14;1257:28;1247:38;;1189:102;;;:::o;1297:377::-;1385:3;1413:39;1446:5;1413:39;:::i;:::-;1468:71;1532:6;1527:3;1468:71;:::i;:::-;1461:78;;1548:65;1606:6;1601:3;1594:4;1587:5;1583:16;1548:65;:::i;:::-;1638:29;1660:6;1638:29;:::i;:::-;1633:3;1629:39;1622:46;;1389:285;1297:377;;;;:::o;1680:313::-;1793:4;1831:2;1820:9;1816:18;1808:26;;1880:9;1874:4;1870:20;1866:1;1855:9;1851:17;1844:47;1908:78;1981:4;1972:6;1908:78;:::i;:::-;1900:86;;1680:313;;;;:::o;1999:75::-;2032:6;2065:2;2059:9;2049:19;;1999:75;:::o;2080:117::-;2189:1;2186;2179:12;2203:117;2312:1;2309;2302:12;2326:96;2363:7;2392:24;2410:5;2392:24;:::i;:::-;2381:35;;2326:96;;;:::o;2428:122::-;2501:24;2519:5;2501:24;:::i;:::-;2494:5;2491:35;2481:63;;2540:1;2537;2530:12;2481:63;2428:122;:::o;2556:139::-;2602:5;2640:6;2627:20;2618:29;;2656:33;2683:5;2656:33;:::i;:::-;2556:139;;;;:::o;2701:77::-;2738:7;2767:5;2756:16;;2701:77;;;:::o;2784:122::-;2857:24;2875:5;2857:24;:::i;:::-;2850:5;2847:35;2837:63;;2896:1;2893;2886:12;2837:63;2784:122;:::o;2912:139::-;2958:5;2996:6;2983:20;2974:29;;3012:33;3039:5;3012:33;:::i;:::-;2912:139;;;;:::o;3057:474::-;3125:6;3133;3182:2;3170:9;3161:7;3157:23;3153:32;3150:119;;;3188:79;;:::i;:::-;3150:119;3308:1;3333:53;3378:7;3369:6;3358:9;3354:22;3333:53;:::i;:::-;3323:63;;3279:117;3435:2;3461:53;3506:7;3497:6;3486:9;3482:22;3461:53;:::i;:::-;3451:63;;3406:118;3057:474;;;;;:::o;3537:90::-;3571:7;3614:5;3607:13;3600:21;3589:32;;3537:90;;;:::o;3633:109::-;3714:21;3729:5;3714:21;:::i;:::-;3709:3;3702:34;3633:109;;:::o;3748:210::-;3835:4;3873:2;3862:9;3858:18;3850:26;;3886:65;3948:1;3937:9;3933:17;3924:6;3886:65;:::i;:::-;3748:210;;;;:::o;3964:118::-;4051:24;4069:5;4051:24;:::i;:::-;4046:3;4039:37;3964:118;;:::o;4088:222::-;4181:4;4219:2;4208:9;4204:18;4196:26;;4232:71;4300:1;4289:9;4285:17;4276:6;4232:71;:::i;:::-;4088:222;;;;:::o;4316:329::-;4375:6;4424:2;4412:9;4403:7;4399:23;4395:32;4392:119;;;4430:79;;:::i;:::-;4392:119;4550:1;4575:53;4620:7;4611:6;4600:9;4596:22;4575:53;:::i;:::-;4565:63;;4521:117;4316:329;;;;:::o;4651:619::-;4728:6;4736;4744;4793:2;4781:9;4772:7;4768:23;4764:32;4761:119;;;4799:79;;:::i;:::-;4761:119;4919:1;4944:53;4989:7;4980:6;4969:9;4965:22;4944:53;:::i;:::-;4934:63;;4890:117;5046:2;5072:53;5117:7;5108:6;5097:9;5093:22;5072:53;:::i;:::-;5062:63;;5017:118;5174:2;5200:53;5245:7;5236:6;5225:9;5221:22;5200:53;:::i;:::-;5190:63;;5145:118;4651:619;;;;;:::o;5276:86::-;5311:7;5351:4;5344:5;5340:16;5329:27;;5276:86;;;:::o;5368:112::-;5451:22;5467:5;5451:22;:::i;:::-;5446:3;5439:35;5368:112;;:::o;5486:214::-;5575:4;5613:2;5602:9;5598:18;5590:26;;5626:67;5690:1;5679:9;5675:17;5666:6;5626:67;:::i;:::-;5486:214;;;;:::o;5706:118::-;5793:24;5811:5;5793:24;:::i;:::-;5788:3;5781:37;5706:118;;:::o;5830:222::-;5923:4;5961:2;5950:9;5946:18;5938:26;;5974:71;6042:1;6031:9;6027:17;6018:6;5974:71;:::i;:::-;5830:222;;;;:::o;6058:117::-;6167:1;6164;6157:12;6181:180;6229:77;6226:1;6219:88;6326:4;6323:1;6316:15;6350:4;6347:1;6340:15;6367:281;6450:27;6472:4;6450:27;:::i;:::-;6442:6;6438:40;6580:6;6568:10;6565:22;6544:18;6532:10;6529:34;6526:62;6523:88;;;6591:18;;:::i;:::-;6523:88;6631:10;6627:2;6620:22;6410:238;6367:281;;:::o;6654:129::-;6688:6;6715:20;;:::i;:::-;6705:30;;6744:33;6772:4;6764:6;6744:33;:::i;:::-;6654:129;;;:::o;6789:311::-;6866:4;6956:18;6948:6;6945:30;6942:56;;;6978:18;;:::i;:::-;6942:56;7028:4;7020:6;7016:17;7008:25;;7088:4;7082;7078:15;7070:23;;6789:311;;;:::o;7106:117::-;7215:1;7212;7205:12;7246:710;7342:5;7367:81;7383:64;7440:6;7383:64;:::i;:::-;7367:81;:::i;:::-;7358:90;;7468:5;7497:6;7490:5;7483:21;7531:4;7524:5;7520:16;7513:23;;7584:4;7576:6;7572:17;7564:6;7560:30;7613:3;7605:6;7602:15;7599:122;;;7632:79;;:::i;:::-;7599:122;7747:6;7730:220;7764:6;7759:3;7756:15;7730:220;;;7839:3;7868:37;7901:3;7889:10;7868:37;:::i;:::-;7863:3;7856:50;7935:4;7930:3;7926:14;7919:21;;7806:144;7790:4;7785:3;7781:14;7774:21;;7730:220;;;7734:21;7348:608;;7246:710;;;;;:::o;7979:370::-;8050:5;8099:3;8092:4;8084:6;8080:17;8076:27;8066:122;;8107:79;;:::i;:::-;8066:122;8224:6;8211:20;8249:94;8339:3;8331:6;8324:4;8316:6;8312:17;8249:94;:::i;:::-;8240:103;;8056:293;7979:370;;;;:::o;8355:311::-;8432:4;8522:18;8514:6;8511:30;8508:56;;;8544:18;;:::i;:::-;8508:56;8594:4;8586:6;8582:17;8574:25;;8654:4;8648;8644:15;8636:23;;8355:311;;;:::o;8689:710::-;8785:5;8810:81;8826:64;8883:6;8826:64;:::i;:::-;8810:81;:::i;:::-;8801:90;;8911:5;8940:6;8933:5;8926:21;8974:4;8967:5;8963:16;8956:23;;9027:4;9019:6;9015:17;9007:6;9003:30;9056:3;9048:6;9045:15;9042:122;;;9075:79;;:::i;:::-;9042:122;9190:6;9173:220;9207:6;9202:3;9199:15;9173:220;;;9282:3;9311:37;9344:3;9332:10;9311:37;:::i;:::-;9306:3;9299:50;9378:4;9373:3;9369:14;9362:21;;9249:144;9233:4;9228:3;9224:14;9217:21;;9173:220;;;9177:21;8791:608;;8689:710;;;;;:::o;9422:370::-;9493:5;9542:3;9535:4;9527:6;9523:17;9519:27;9509:122;;9550:79;;:::i;:::-;9509:122;9667:6;9654:20;9692:94;9782:3;9774:6;9767:4;9759:6;9755:17;9692:94;:::i;:::-;9683:103;;9499:293;9422:370;;;;:::o;9798:894::-;9916:6;9924;9973:2;9961:9;9952:7;9948:23;9944:32;9941:119;;;9979:79;;:::i;:::-;9941:119;10127:1;10116:9;10112:17;10099:31;10157:18;10149:6;10146:30;10143:117;;;10179:79;;:::i;:::-;10143:117;10284:78;10354:7;10345:6;10334:9;10330:22;10284:78;:::i;:::-;10274:88;;10070:302;10439:2;10428:9;10424:18;10411:32;10470:18;10462:6;10459:30;10456:117;;;10492:79;;:::i;:::-;10456:117;10597:78;10667:7;10658:6;10647:9;10643:22;10597:78;:::i;:::-;10587:88;;10382:303;9798:894;;;;;:::o;10698:329::-;10757:6;10806:2;10794:9;10785:7;10781:23;10777:32;10774:119;;;10812:79;;:::i;:::-;10774:119;10932:1;10957:53;11002:7;10993:6;10982:9;10978:22;10957:53;:::i;:::-;10947:63;;10903:117;10698:329;;;;:::o;11033:60::-;11061:3;11082:5;11075:12;;11033:60;;;:::o;11099:142::-;11149:9;11182:53;11200:34;11209:24;11227:5;11209:24;:::i;:::-;11200:34;:::i;:::-;11182:53;:::i;:::-;11169:66;;11099:142;;;:::o;11247:126::-;11297:9;11330:37;11361:5;11330:37;:::i;:::-;11317:50;;11247:126;;;:::o;11379:152::-;11455:9;11488:37;11519:5;11488:37;:::i;:::-;11475:50;;11379:152;;;:::o;11537:183::-;11650:63;11707:5;11650:63;:::i;:::-;11645:3;11638:76;11537:183;;:::o;11726:274::-;11845:4;11883:2;11872:9;11868:18;11860:26;;11896:97;11990:1;11979:9;11975:17;11966:6;11896:97;:::i;:::-;11726:274;;;;:::o;12006:474::-;12074:6;12082;12131:2;12119:9;12110:7;12106:23;12102:32;12099:119;;;12137:79;;:::i;:::-;12099:119;12257:1;12282:53;12327:7;12318:6;12307:9;12303:22;12282:53;:::i;:::-;12272:63;;12228:117;12384:2;12410:53;12455:7;12446:6;12435:9;12431:22;12410:53;:::i;:::-;12400:63;;12355:118;12006:474;;;;;:::o;12486:619::-;12563:6;12571;12579;12628:2;12616:9;12607:7;12603:23;12599:32;12596:119;;;12634:79;;:::i;:::-;12596:119;12754:1;12779:53;12824:7;12815:6;12804:9;12800:22;12779:53;:::i;:::-;12769:63;;12725:117;12881:2;12907:53;12952:7;12943:6;12932:9;12928:22;12907:53;:::i;:::-;12897:63;;12852:118;13009:2;13035:53;13080:7;13071:6;13060:9;13056:22;13035:53;:::i;:::-;13025:63;;12980:118;12486:619;;;;;:::o;13111:474::-;13179:6;13187;13236:2;13224:9;13215:7;13211:23;13207:32;13204:119;;;13242:79;;:::i;:::-;13204:119;13362:1;13387:53;13432:7;13423:6;13412:9;13408:22;13387:53;:::i;:::-;13377:63;;13333:117;13489:2;13515:53;13560:7;13551:6;13540:9;13536:22;13515:53;:::i;:::-;13505:63;;13460:118;13111:474;;;;;:::o;13591:180::-;13639:77;13636:1;13629:88;13736:4;13733:1;13726:15;13760:4;13757:1;13750:15;13777:194;13817:4;13837:20;13855:1;13837:20;:::i;:::-;13832:25;;13871:20;13889:1;13871:20;:::i;:::-;13866:25;;13915:1;13912;13908:9;13900:17;;13939:1;13933:4;13930:11;13927:37;;;13944:18;;:::i;:::-;13927:37;13777:194;;;;:::o;13977:191::-;14017:3;14036:20;14054:1;14036:20;:::i;:::-;14031:25;;14070:20;14088:1;14070:20;:::i;:::-;14065:25;;14113:1;14110;14106:9;14099:16;;14134:3;14131:1;14128:10;14125:36;;;14141:18;;:::i;:::-;14125:36;13977:191;;;;:::o;14174:182::-;14314:34;14310:1;14302:6;14298:14;14291:58;14174:182;:::o;14362:366::-;14504:3;14525:67;14589:2;14584:3;14525:67;:::i;:::-;14518:74;;14601:93;14690:3;14601:93;:::i;:::-;14719:2;14714:3;14710:12;14703:19;;14362:366;;;:::o;14734:419::-;14900:4;14938:2;14927:9;14923:18;14915:26;;14987:9;14981:4;14977:20;14973:1;14962:9;14958:17;14951:47;15015:131;15141:4;15015:131;:::i;:::-;15007:139;;14734:419;;;:::o;15159:180::-;15299:32;15295:1;15287:6;15283:14;15276:56;15159:180;:::o;15345:366::-;15487:3;15508:67;15572:2;15567:3;15508:67;:::i;:::-;15501:74;;15584:93;15673:3;15584:93;:::i;:::-;15702:2;15697:3;15693:12;15686:19;;15345:366;;;:::o;15717:419::-;15883:4;15921:2;15910:9;15906:18;15898:26;;15970:9;15964:4;15960:20;15956:1;15945:9;15941:17;15934:47;15998:131;16124:4;15998:131;:::i;:::-;15990:139;;15717:419;;;:::o;16142:147::-;16243:11;16280:3;16265:18;;16142:147;;;;:::o;16295:114::-;;:::o;16415:398::-;16574:3;16595:83;16676:1;16671:3;16595:83;:::i;:::-;16588:90;;16687:93;16776:3;16687:93;:::i;:::-;16805:1;16800:3;16796:11;16789:18;;16415:398;;;:::o;16819:379::-;17003:3;17025:147;17168:3;17025:147;:::i;:::-;17018:154;;17189:3;17182:10;;16819:379;;;:::o;17204:223::-;17344:34;17340:1;17332:6;17328:14;17321:58;17413:6;17408:2;17400:6;17396:15;17389:31;17204:223;:::o;17433:366::-;17575:3;17596:67;17660:2;17655:3;17596:67;:::i;:::-;17589:74;;17672:93;17761:3;17672:93;:::i;:::-;17790:2;17785:3;17781:12;17774:19;;17433:366;;;:::o;17805:419::-;17971:4;18009:2;17998:9;17994:18;17986:26;;18058:9;18052:4;18048:20;18044:1;18033:9;18029:17;18022:47;18086:131;18212:4;18086:131;:::i;:::-;18078:139;;17805:419;;;:::o;18230:320::-;18345:4;18383:2;18372:9;18368:18;18360:26;;18396:71;18464:1;18453:9;18449:17;18440:6;18396:71;:::i;:::-;18477:66;18539:2;18528:9;18524:18;18515:6;18477:66;:::i;:::-;18230:320;;;;;:::o;18556:224::-;18696:34;18692:1;18684:6;18680:14;18673:58;18765:7;18760:2;18752:6;18748:15;18741:32;18556:224;:::o;18786:366::-;18928:3;18949:67;19013:2;19008:3;18949:67;:::i;:::-;18942:74;;19025:93;19114:3;19025:93;:::i;:::-;19143:2;19138:3;19134:12;19127:19;;18786:366;;;:::o;19158:419::-;19324:4;19362:2;19351:9;19347:18;19339:26;;19411:9;19405:4;19401:20;19397:1;19386:9;19382:17;19375:47;19439:131;19565:4;19439:131;:::i;:::-;19431:139;;19158:419;;;:::o;19583:332::-;19704:4;19742:2;19731:9;19727:18;19719:26;;19755:71;19823:1;19812:9;19808:17;19799:6;19755:71;:::i;:::-;19836:72;19904:2;19893:9;19889:18;19880:6;19836:72;:::i;:::-;19583:332;;;;;:::o;19921:172::-;20061:24;20057:1;20049:6;20045:14;20038:48;19921:172;:::o;20099:366::-;20241:3;20262:67;20326:2;20321:3;20262:67;:::i;:::-;20255:74;;20338:93;20427:3;20338:93;:::i;:::-;20456:2;20451:3;20447:12;20440:19;;20099:366;;;:::o;20471:419::-;20637:4;20675:2;20664:9;20660:18;20652:26;;20724:9;20718:4;20714:20;20710:1;20699:9;20695:17;20688:47;20752:131;20878:4;20752:131;:::i;:::-;20744:139;;20471:419;;;:::o;20896:180::-;20944:77;20941:1;20934:88;21041:4;21038:1;21031:15;21065:4;21062:1;21055:15;21082:233;21121:3;21144:24;21162:5;21144:24;:::i;:::-;21135:33;;21190:66;21183:5;21180:77;21177:103;;21260:18;;:::i;:::-;21177:103;21307:1;21300:5;21296:13;21289:20;;21082:233;;;:::o;21321:102::-;21363:8;21410:5;21407:1;21403:13;21382:34;;21321:102;;;:::o;21429:848::-;21490:5;21497:4;21521:6;21512:15;;21545:5;21536:14;;21559:712;21580:1;21570:8;21567:15;21559:712;;;21675:4;21670:3;21666:14;21660:4;21657:24;21654:50;;;21684:18;;:::i;:::-;21654:50;21734:1;21724:8;21720:16;21717:451;;;22149:4;22142:5;22138:16;22129:25;;21717:451;22199:4;22193;22189:15;22181:23;;22229:32;22252:8;22229:32;:::i;:::-;22217:44;;21559:712;;;21429:848;;;;;;;:::o;22283:1073::-;22337:5;22528:8;22518:40;;22549:1;22540:10;;22551:5;;22518:40;22577:4;22567:36;;22594:1;22585:10;;22596:5;;22567:36;22663:4;22711:1;22706:27;;;;22747:1;22742:191;;;;22656:277;;22706:27;22724:1;22715:10;;22726:5;;;22742:191;22787:3;22777:8;22774:17;22771:43;;;22794:18;;:::i;:::-;22771:43;22843:8;22840:1;22836:16;22827:25;;22878:3;22871:5;22868:14;22865:40;;;22885:18;;:::i;:::-;22865:40;22918:5;;;22656:277;;23042:2;23032:8;23029:16;23023:3;23017:4;23014:13;23010:36;22992:2;22982:8;22979:16;22974:2;22968:4;22965:12;22961:35;22945:111;22942:246;;;23098:8;23092:4;23088:19;23079:28;;23133:3;23126:5;23123:14;23120:40;;;23140:18;;:::i;:::-;23120:40;23173:5;;22942:246;23213:42;23251:3;23241:8;23235:4;23232:1;23213:42;:::i;:::-;23198:57;;;;23287:4;23282:3;23278:14;23271:5;23268:25;23265:51;;;23296:18;;:::i;:::-;23265:51;23345:4;23338:5;23334:16;23325:25;;22283:1073;;;;;;:::o;23362:281::-;23420:5;23444:23;23462:4;23444:23;:::i;:::-;23436:31;;23488:25;23504:8;23488:25;:::i;:::-;23476:37;;23532:104;23569:66;23559:8;23553:4;23532:104;:::i;:::-;23523:113;;23362:281;;;;:::o;23649:410::-;23689:7;23712:20;23730:1;23712:20;:::i;:::-;23707:25;;23746:20;23764:1;23746:20;:::i;:::-;23741:25;;23801:1;23798;23794:9;23823:30;23841:11;23823:30;:::i;:::-;23812:41;;24002:1;23993:7;23989:15;23986:1;23983:22;23963:1;23956:9;23936:83;23913:139;;24032:18;;:::i;:::-;23913:139;23697:362;23649:410;;;;:::o;24065:170::-;24205:22;24201:1;24193:6;24189:14;24182:46;24065:170;:::o;24241:366::-;24383:3;24404:67;24468:2;24463:3;24404:67;:::i;:::-;24397:74;;24480:93;24569:3;24480:93;:::i;:::-;24598:2;24593:3;24589:12;24582:19;;24241:366;;;:::o;24613:419::-;24779:4;24817:2;24806:9;24802:18;24794:26;;24866:9;24860:4;24856:20;24852:1;24841:9;24837:17;24830:47;24894:131;25020:4;24894:131;:::i;:::-;24886:139;;24613:419;;;:::o;25038:182::-;25178:34;25174:1;25166:6;25162:14;25155:58;25038:182;:::o;25226:366::-;25368:3;25389:67;25453:2;25448:3;25389:67;:::i;:::-;25382:74;;25465:93;25554:3;25465:93;:::i;:::-;25583:2;25578:3;25574:12;25567:19;;25226:366;;;:::o;25598:419::-;25764:4;25802:2;25791:9;25787:18;25779:26;;25851:9;25845:4;25841:20;25837:1;25826:9;25822:17;25815:47;25879:131;26005:4;25879:131;:::i;:::-;25871:139;;25598:419;;;:::o;26023:178::-;26163:30;26159:1;26151:6;26147:14;26140:54;26023:178;:::o;26207:366::-;26349:3;26370:67;26434:2;26429:3;26370:67;:::i;:::-;26363:74;;26446:93;26535:3;26446:93;:::i;:::-;26564:2;26559:3;26555:12;26548:19;;26207:366;;;:::o;26579:419::-;26745:4;26783:2;26772:9;26768:18;26760:26;;26832:9;26826:4;26822:20;26818:1;26807:9;26803:17;26796:47;26860:131;26986:4;26860:131;:::i;:::-;26852:139;;26579:419;;;:::o;27004:232::-;27144:34;27140:1;27132:6;27128:14;27121:58;27213:15;27208:2;27200:6;27196:15;27189:40;27004:232;:::o;27242:366::-;27384:3;27405:67;27469:2;27464:3;27405:67;:::i;:::-;27398:74;;27481:93;27570:3;27481:93;:::i;:::-;27599:2;27594:3;27590:12;27583:19;;27242:366;;;:::o;27614:419::-;27780:4;27818:2;27807:9;27803:18;27795:26;;27867:9;27861:4;27857:20;27853:1;27842:9;27838:17;27831:47;27895:131;28021:4;27895:131;:::i;:::-;27887:139;;27614:419;;;:::o;28039:143::-;28096:5;28127:6;28121:13;28112:22;;28143:33;28170:5;28143:33;:::i;:::-;28039:143;;;;:::o;28188:351::-;28258:6;28307:2;28295:9;28286:7;28282:23;28278:32;28275:119;;;28313:79;;:::i;:::-;28275:119;28433:1;28458:64;28514:7;28505:6;28494:9;28490:22;28458:64;:::i;:::-;28448:74;;28404:128;28188:351;;;;:::o;28545:180::-;28593:77;28590:1;28583:88;28690:4;28687:1;28680:15;28714:4;28711:1;28704:15;28731:185;28771:1;28788:20;28806:1;28788:20;:::i;:::-;28783:25;;28822:20;28840:1;28822:20;:::i;:::-;28817:25;;28861:1;28851:35;;28866:18;;:::i;:::-;28851:35;28908:1;28905;28901:9;28896:14;;28731:185;;;;:::o;28922:134::-;28980:9;29013:37;29044:5;29013:37;:::i;:::-;29000:50;;28922:134;;;:::o;29062:147::-;29157:45;29196:5;29157:45;:::i;:::-;29152:3;29145:58;29062:147;;:::o;29215:348::-;29344:4;29382:2;29371:9;29367:18;29359:26;;29395:79;29471:1;29460:9;29456:17;29447:6;29395:79;:::i;:::-;29484:72;29552:2;29541:9;29537:18;29528:6;29484:72;:::i;:::-;29215:348;;;;;:::o;29569:116::-;29639:21;29654:5;29639:21;:::i;:::-;29632:5;29629:32;29619:60;;29675:1;29672;29665:12;29619:60;29569:116;:::o;29691:137::-;29745:5;29776:6;29770:13;29761:22;;29792:30;29816:5;29792:30;:::i;:::-;29691:137;;;;:::o;29834:345::-;29901:6;29950:2;29938:9;29929:7;29925:23;29921:32;29918:119;;;29956:79;;:::i;:::-;29918:119;30076:1;30101:61;30154:7;30145:6;30134:9;30130:22;30101:61;:::i;:::-;30091:71;;30047:125;29834:345;;;;:::o;30185:221::-;30325:34;30321:1;30313:6;30309:14;30302:58;30394:4;30389:2;30381:6;30377:15;30370:29;30185:221;:::o;30412:366::-;30554:3;30575:67;30639:2;30634:3;30575:67;:::i;:::-;30568:74;;30651:93;30740:3;30651:93;:::i;:::-;30769:2;30764:3;30760:12;30753:19;;30412:366;;;:::o;30784:419::-;30950:4;30988:2;30977:9;30973:18;30965:26;;31037:9;31031:4;31027:20;31023:1;31012:9;31008:17;31001:47;31065:131;31191:4;31065:131;:::i;:::-;31057:139;;30784:419;;;:::o;31209:222::-;31349:34;31345:1;31337:6;31333:14;31326:58;31418:5;31413:2;31405:6;31401:15;31394:30;31209:222;:::o;31437:366::-;31579:3;31600:67;31664:2;31659:3;31600:67;:::i;:::-;31593:74;;31676:93;31765:3;31676:93;:::i;:::-;31794:2;31789:3;31785:12;31778:19;;31437:366;;;:::o;31809:419::-;31975:4;32013:2;32002:9;31998:18;31990:26;;32062:9;32056:4;32052:20;32048:1;32037:9;32033:17;32026:47;32090:131;32216:4;32090:131;:::i;:::-;32082:139;;31809:419;;;:::o;32234:332::-;32355:4;32393:2;32382:9;32378:18;32370:26;;32406:71;32474:1;32463:9;32459:17;32450:6;32406:71;:::i;:::-;32487:72;32555:2;32544:9;32540:18;32531:6;32487:72;:::i;:::-;32234:332;;;;;:::o;32572:225::-;32712:34;32708:1;32700:6;32696:14;32689:58;32781:8;32776:2;32768:6;32764:15;32757:33;32572:225;:::o;32803:366::-;32945:3;32966:67;33030:2;33025:3;32966:67;:::i;:::-;32959:74;;33042:93;33131:3;33042:93;:::i;:::-;33160:2;33155:3;33151:12;33144:19;;32803:366;;;:::o;33175:419::-;33341:4;33379:2;33368:9;33364:18;33356:26;;33428:9;33422:4;33418:20;33414:1;33403:9;33399:17;33392:47;33456:131;33582:4;33456:131;:::i;:::-;33448:139;;33175:419;;;:::o;33600:442::-;33749:4;33787:2;33776:9;33772:18;33764:26;;33800:71;33868:1;33857:9;33853:17;33844:6;33800:71;:::i;:::-;33881:72;33949:2;33938:9;33934:18;33925:6;33881:72;:::i;:::-;33963;34031:2;34020:9;34016:18;34007:6;33963:72;:::i;:::-;33600:442;;;;;;:::o;34048:175::-;34188:27;34184:1;34176:6;34172:14;34165:51;34048:175;:::o;34229:366::-;34371:3;34392:67;34456:2;34451:3;34392:67;:::i;:::-;34385:74;;34468:93;34557:3;34468:93;:::i;:::-;34586:2;34581:3;34577:12;34570:19;;34229:366;;;:::o;34601:419::-;34767:4;34805:2;34794:9;34790:18;34782:26;;34854:9;34848:4;34844:20;34840:1;34829:9;34825:17;34818:47;34882:131;35008:4;34882:131;:::i;:::-;34874:139;;34601:419;;;:::o;35026:225::-;35166:34;35162:1;35154:6;35150:14;35143:58;35235:8;35230:2;35222:6;35218:15;35211:33;35026:225;:::o;35257:366::-;35399:3;35420:67;35484:2;35479:3;35420:67;:::i;:::-;35413:74;;35496:93;35585:3;35496:93;:::i;:::-;35614:2;35609:3;35605:12;35598:19;;35257:366;;;:::o;35629:419::-;35795:4;35833:2;35822:9;35818:18;35810:26;;35882:9;35876:4;35872:20;35868:1;35857:9;35853:17;35846:47;35910:131;36036:4;35910:131;:::i;:::-;35902:139;;35629:419;;;:::o;36054:163::-;36194:15;36190:1;36182:6;36178:14;36171:39;36054:163;:::o;36223:366::-;36365:3;36386:67;36450:2;36445:3;36386:67;:::i;:::-;36379:74;;36462:93;36551:3;36462:93;:::i;:::-;36580:2;36575:3;36571:12;36564:19;;36223:366;;;:::o;36595:419::-;36761:4;36799:2;36788:9;36784:18;36776:26;;36848:9;36842:4;36838:20;36834:1;36823:9;36819:17;36812:47;36876:131;37002:4;36876:131;:::i;:::-;36868:139;;36595:419;;;:::o;37020:168::-;37160:20;37156:1;37148:6;37144:14;37137:44;37020:168;:::o;37194:366::-;37336:3;37357:67;37421:2;37416:3;37357:67;:::i;:::-;37350:74;;37433:93;37522:3;37433:93;:::i;:::-;37551:2;37546:3;37542:12;37535:19;;37194:366;;;:::o;37566:419::-;37732:4;37770:2;37759:9;37755:18;37747:26;;37819:9;37813:4;37809:20;37805:1;37794:9;37790:17;37783:47;37847:131;37973:4;37847:131;:::i;:::-;37839:139;;37566:419;;;:::o;37991:166::-;38131:18;38127:1;38119:6;38115:14;38108:42;37991:166;:::o;38163:366::-;38305:3;38326:67;38390:2;38385:3;38326:67;:::i;:::-;38319:74;;38402:93;38491:3;38402:93;:::i;:::-;38520:2;38515:3;38511:12;38504:19;;38163:366;;;:::o;38535:419::-;38701:4;38739:2;38728:9;38724:18;38716:26;;38788:9;38782:4;38778:20;38774:1;38763:9;38759:17;38752:47;38816:131;38942:4;38816:131;:::i;:::-;38808:139;;38535:419;;;:::o;38960:224::-;39100:34;39096:1;39088:6;39084:14;39077:58;39169:7;39164:2;39156:6;39152:15;39145:32;38960:224;:::o;39190:366::-;39332:3;39353:67;39417:2;39412:3;39353:67;:::i;:::-;39346:74;;39429:93;39518:3;39429:93;:::i;:::-;39547:2;39542:3;39538:12;39531:19;;39190:366;;;:::o;39562:419::-;39728:4;39766:2;39755:9;39751:18;39743:26;;39815:9;39809:4;39805:20;39801:1;39790:9;39786:17;39779:47;39843:131;39969:4;39843:131;:::i;:::-;39835:139;;39562:419;;;:::o;39987:143::-;40044:5;40075:6;40069:13;40060:22;;40091:33;40118:5;40091:33;:::i;:::-;39987:143;;;;:::o;40136:351::-;40206:6;40255:2;40243:9;40234:7;40230:23;40226:32;40223:119;;;40261:79;;:::i;:::-;40223:119;40381:1;40406:64;40462:7;40453:6;40442:9;40438:22;40406:64;:::i;:::-;40396:74;;40352:128;40136:351;;;;:::o;40493:85::-;40538:7;40567:5;40556:16;;40493:85;;;:::o;40584:158::-;40642:9;40675:61;40693:42;40702:32;40728:5;40702:32;:::i;:::-;40693:42;:::i;:::-;40675:61;:::i;:::-;40662:74;;40584:158;;;:::o;40748:147::-;40843:45;40882:5;40843:45;:::i;:::-;40838:3;40831:58;40748:147;;:::o;40901:114::-;40968:6;41002:5;40996:12;40986:22;;40901:114;;;:::o;41021:184::-;41120:11;41154:6;41149:3;41142:19;41194:4;41189:3;41185:14;41170:29;;41021:184;;;;:::o;41211:132::-;41278:4;41301:3;41293:11;;41331:4;41326:3;41322:14;41314:22;;41211:132;;;:::o;41349:108::-;41426:24;41444:5;41426:24;:::i;:::-;41421:3;41414:37;41349:108;;:::o;41463:179::-;41532:10;41553:46;41595:3;41587:6;41553:46;:::i;:::-;41631:4;41626:3;41622:14;41608:28;;41463:179;;;;:::o;41648:113::-;41718:4;41750;41745:3;41741:14;41733:22;;41648:113;;;:::o;41797:732::-;41916:3;41945:54;41993:5;41945:54;:::i;:::-;42015:86;42094:6;42089:3;42015:86;:::i;:::-;42008:93;;42125:56;42175:5;42125:56;:::i;:::-;42204:7;42235:1;42220:284;42245:6;42242:1;42239:13;42220:284;;;42321:6;42315:13;42348:63;42407:3;42392:13;42348:63;:::i;:::-;42341:70;;42434:60;42487:6;42434:60;:::i;:::-;42424:70;;42280:224;42267:1;42264;42260:9;42255:14;;42220:284;;;42224:14;42520:3;42513:10;;41921:608;;;41797:732;;;;:::o;42535:831::-;42798:4;42836:3;42825:9;42821:19;42813:27;;42850:71;42918:1;42907:9;42903:17;42894:6;42850:71;:::i;:::-;42931:80;43007:2;42996:9;42992:18;42983:6;42931:80;:::i;:::-;43058:9;43052:4;43048:20;43043:2;43032:9;43028:18;43021:48;43086:108;43189:4;43180:6;43086:108;:::i;:::-;43078:116;;43204:72;43272:2;43261:9;43257:18;43248:6;43204:72;:::i;:::-;43286:73;43354:3;43343:9;43339:19;43330:6;43286:73;:::i;:::-;42535:831;;;;;;;;:::o;43372:823::-;43629:4;43667:3;43656:9;43652:19;43644:27;;43681:71;43749:1;43738:9;43734:17;43725:6;43681:71;:::i;:::-;43762:72;43830:2;43819:9;43815:18;43806:6;43762:72;:::i;:::-;43844:80;43920:2;43909:9;43905:18;43896:6;43844:80;:::i;:::-;43934;44010:2;43999:9;43995:18;43986:6;43934:80;:::i;:::-;44024:81;44100:3;44089:9;44085:19;44076:6;44024:81;:::i;:::-;44115:73;44183:3;44172:9;44168:19;44159:6;44115:73;:::i;:::-;43372:823;;;;;;;;;:::o;44201:663::-;44289:6;44297;44305;44354:2;44342:9;44333:7;44329:23;44325:32;44322:119;;;44360:79;;:::i;:::-;44322:119;44480:1;44505:64;44561:7;44552:6;44541:9;44537:22;44505:64;:::i;:::-;44495:74;;44451:128;44618:2;44644:64;44700:7;44691:6;44680:9;44676:22;44644:64;:::i;:::-;44634:74;;44589:129;44757:2;44783:64;44839:7;44830:6;44819:9;44815:22;44783:64;:::i;:::-;44773:74;;44728:129;44201:663;;;;;:::o

Swarm Source

ipfs://6b3ba01b14a0ba15e7e7961f88601aa911e3e40d684bb61b3443d2d09f3e80f0
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.