ETH Price: $3,482.27 (-0.98%)
Gas: 5 Gwei

Token

Belka Strelka Inu (BSI)
 

Overview

Max Total Supply

1,000,000,000,000 BSI

Holders

78

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
3,711,719,112.488449032 BSI

Value
$0.00
0x1a4b77aa33f0fcbde2f1a6bDad2004cF938c34B0
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
BSI

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-30
*/

/**
 * 
 * 
 * 
 * SPDX-License-Identifier: UNLICENSED 
 * 
*/

pragma solidity ^0.8.4;

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if(a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

contract BSI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcludedFromMaxWallet;
    mapping (address => bool) private _bots;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    string private constant _name = "Belka Strelka Inu";
    string private constant _symbol = "BSI";
    
    uint256 private minContractTokensToSwap = 1e9 * 10**9;
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 1;
    uint256 private _teamFee = 0;
    uint256 private _liquidityFeePercentage = 0;
    uint256 private _maxWalletSize = 5e9 * 10**9;

    uint256 private _buyFee = 90;
    uint256 private _sellFee = 7;
    uint256 private _transferFee = 0;

    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;

    address payable private _devWallet;
    address payable private _marketingWallet;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private _noTaxMode = false;
    bool private _swapAll = false;
    bool private _takeFeeFromTransfer = false;
    bool private inSwap = false;

    mapping(address => bool) private automatedMarketMakerPairs;

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    event Response(bool feeSent, bool marketingSent);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
        constructor (address payable devWallet, address payable marketingWallet) {
        _devWallet = devWallet;
        _marketingWallet = marketingWallet;
        
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;

        _isExcludedFromFee[devWallet] = true;
        _isExcludedFromFee[marketingWallet] = true;

        _isExcludedFromMaxWallet[owner()] = true;
        _isExcludedFromMaxWallet[address(this)] = true;
        _isExcludedFromMaxWallet[devWallet] = true;
        _isExcludedFromMaxWallet[marketingWallet] = true;

        emit Transfer(address(0), _msgSender(), _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 pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

    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()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if(from != owner() && to != owner()) {
            
            require(!_bots[from] && !_bots[to]);

            if(to != uniswapV2Pair && !_isExcludedFromMaxWallet[to]) {
                require(balanceOf(address(to)) + amount <= _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
            
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(tradingOpen, "Trading not yet enabled.");
                _teamFee = _buyFee;
            }
            uint256 contractTokenBalance = balanceOf(address(this));

            if(!inSwap && from != uniswapV2Pair && tradingOpen) {

                _teamFee = _sellFee;

                if(contractTokenBalance > minContractTokensToSwap) {
                    if(!_swapAll) {
                        contractTokenBalance = minContractTokensToSwap;
                    }

                    if (_liquidityFeePercentage > 0) {
                        swapAndLiquify(contractTokenBalance);
                    } else {
                        swapWithoutLiquify(contractTokenBalance);
                    }                         
                }
            }
        }
        bool takeFee = true;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || _noTaxMode) {
            takeFee = false;
        }

        if(!automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to]) {
            if (_takeFeeFromTransfer) {
                _teamFee = _transferFee;
            } else {
                takeFee = false;
            }
        }
        
        _tokenTransfer(from,to,amount,takeFee);
    }

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

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

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        uint256 teamFeePercentage = 100 - _liquidityFeePercentage;
        uint256 amtForLiquidity = contractTokenBalance.mul(_liquidityFeePercentage).div(100);
        uint256 halfLiq = amtForLiquidity.div(2);

        uint256 amountToSwapForETH = contractTokenBalance.sub(halfLiq);
        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(amountToSwapForETH);

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

        uint256 feeBalance = ethBalance.mul(teamFeePercentage).div(100);
        sendETHToFee(feeBalance);

        uint256 ethForLiquidity = ethBalance - feeBalance;

        if (halfLiq > 0 && ethForLiquidity > 0) {
            // add liquidity
            addLiquidity(halfLiq, ethForLiquidity);

            emit SwapAndLiquify(amountToSwapForETH, ethForLiquidity, amtForLiquidity);
        }
    }

    function swapWithoutLiquify(uint256 contractTokenBalance) private lockTheSwap {
        
        swapTokensForEth(contractTokenBalance);

        uint256 contractETHBalance = address(this).balance;
        if(contractETHBalance > 0) {
            sendETHToFee(address(this).balance);
        }
    }

    function swapTokensForEth(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 manualSwapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 sendETHToFee(uint256 amount) private {
        (bool dev, ) = _devWallet.call{value: amount.div(2)}("");
        (bool marketing, ) = _marketingWallet.call{value: amount.div(2)}("");

        emit Response(dev, marketing);
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        _transferStandard(sender, recipient, amount);
        if(!takeFee)
            restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 

        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);

        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        tradingOpen = true;
        automatedMarketMakerPairs[uniswapV2Pair] = true;
    }
    
    function setMarketingWallet (address payable marketing) external onlyOwner {
        _isExcludedFromFee[_marketingWallet] = false;
        _marketingWallet = marketing;
        _isExcludedFromFee[marketing] = true;
    }

    function setDevWallet (address payable dev) external onlyOwner() {
        _isExcludedFromFee[_devWallet] = false;
        _devWallet = dev;
        _isExcludedFromFee[dev] = true;
    }

    function excludeFromFee (address payable ad) external onlyOwner {
        _isExcludedFromFee[ad] = true;
    }
    
    function includeToFee (address payable ad) external onlyOwner {
        _isExcludedFromFee[ad] = false;
    }

    function isExcludedToFee(address ad) public view returns (bool) {
        return _isExcludedFromFee[ad];
    }

    function excludeFromMaxWallet(address[] calldata ads, bool onoff) public onlyOwner {
        for (uint i = 0; i < ads.length; i++) {
            _isExcludedFromMaxWallet[ads[i]] = onoff;
        }
    }
    
    function isExcludedMaxWallet(address ad) public view returns (bool) {
        return _isExcludedFromMaxWallet[ad];
    }
    
    function setNoTaxMode(bool onoff) external onlyOwner {
        _noTaxMode = onoff;
    }

    function setTakeFeeFromTransfer(bool onoff) external onlyOwner {
        _takeFeeFromTransfer = onoff;
    }
    
    function setBuyFee(uint256 buy) external onlyOwner {
        require(buy <= 12, "Buy fee must be less than 12");
        _buyFee = buy;
    }

    function setSellFee(uint256 sell) external onlyOwner {
        require(sell <= 12, "Sell fee must be less than 12");
        _sellFee = sell;
    }

    function setTransferFee(uint256 fee) external onlyOwner {
        require(fee <= 12, "Transfer fee must be less than 12");
        _transferFee = fee;
    }
        
    function setTaxFee(uint256 tax) external onlyOwner {
        require(tax <= 5, "tax must be less than 5");
        _taxFee = tax;
    }

    function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner {
		require(_liquidityFeePercentage >= 0 && _liquidityFeePercentage <= 100, "liquidity fee percentage must be between 0 to 100");
        _liquidityFeePercentage = liquidityFee;
    }

    function setMinContractTokensToSwap(uint256 numToken) external onlyOwner {
        minContractTokensToSwap = numToken * 10**9;
    }

    function setMaxWallet(uint256 amt) external onlyOwner {
        _maxWalletSize = amt * 10**9;
    }

    function setSwapAll(bool onoff) external onlyOwner {
        _swapAll = onoff;
    }
    
    function setBots(address[] calldata bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) {
                _bots[bots_[i]] = true;
            }
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        _bots[notbot] = false;
    }
    
    function isBot(address ad) public view returns (bool) {
        return _bots[ad];
    }
    
    function manualswap() external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        manualSwapTokensForEth(contractBalance);
    }
    
    function manualsend() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }

    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }

    function setAutomatedMarketMakerPair(address pair, bool value) external onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");
        _setAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"devWallet","type":"address"},{"internalType":"address payable","name":"marketingWallet","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":"bool","name":"feeSent","type":"bool"},{"indexed":false,"internalType":"bool","name":"marketingSent","type":"bool"}],"name":"Response","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"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountInPool","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"ads","type":"address[]"},{"internalType":"bool","name":"onoff","type":"bool"}],"name":"excludeFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"includeToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isExcludedMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isExcludedToFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"dev","type":"address"}],"name":"setDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketing","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numToken","type":"uint256"}],"name":"setMinContractTokensToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setNoTaxMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setSwapAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setTakeFeeFromTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"setTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setTransferFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d91906200074d565b6000196200002c9190620006d4565b600855670de0b6b3a7640000600a556001600b556000600c556000600d55674563918244f40000600e55605a600f5560076010556000601155600b54601255600c546013556000601760146101000a81548160ff0219169083151502179055506000601760156101000a81548160ff0219169083151502179055506000601760166101000a81548160ff02191690831515021790555060006017806101000a81548160ff0219169083151502179055506000601760186101000a81548160ff0219169083151502179055503480156200010457600080fd5b5060405162005e8938038062005e8983398181016040528101906200012a91906200065f565b60006200013c6200061760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620002736200061760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002c76200061f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000620004366200061f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200059f6200061760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620006079190620006b7565b60405180910390a3505062000802565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000815190506200065981620007e8565b92915050565b60008060408385031215620006795762000678620007e3565b5b6000620006898582860162000648565b92505060206200069c8582860162000648565b9150509250929050565b620006b18162000743565b82525050565b6000602082019050620006ce6000830184620006a6565b92915050565b6000620006e18262000743565b9150620006ee8362000743565b92508282101562000704576200070362000785565b5b828203905092915050565b60006200071c8262000723565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200075a8262000743565b9150620007678362000743565b9250826200077a5762000779620007b4565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b620007f3816200070f565b8114620007ff57600080fd5b50565b61567780620008126000396000f3fe60806040526004361061021e5760003560e01c8063844f30fb11610123578063c1187569116100ab578063db8aeab11161006f578063db8aeab114610786578063db92dbb6146107af578063dd62ed3e146107da578063de30aad114610817578063e1ab04c91461084057610225565b8063c1187569146106dd578063c3c8cd8014610706578063c4081a4c1461071d578063c9567bf914610746578063cf0848f71461075d57610225565b80638f02bb5b116100f25780638f02bb5b146105fa57806395d89b41146106235780639a7a23d61461064e578063a9059cbb14610677578063b515566a146106b457610225565b8063844f30fb146105405780638b4cee081461057d5780638da5cb5b146105a65780638ee88c53146105d157610225565b8063313ce567116101a65780635d0044ca116101755780635d0044ca146104835780635d098b38146104ac5780636fc3eaec146104d557806370a08231146104ec578063715018a61461052957610225565b8063313ce567146103c95780633bbac579146103f4578063437823ec146104315780634b740b161461045a57610225565b806318160ddd116101ed57806318160ddd146102e45780631f53ac021461030f57806323b872dd14610338578063273123b71461037557806327f3a72a1461039e57610225565b806306fdde031461022a578063095ea7b3146102555780630cc835a31461029257806312dfbd33146102bb57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f61087d565b60405161024c9190614abd565b60405180910390f35b34801561026157600080fd5b5061027c6004803603810190610277919061442d565b6108ba565b6040516102899190614a79565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190614574565b6108d8565b005b3480156102c757600080fd5b506102e260048036038101906102dd9190614574565b6109bb565b005b3480156102f057600080fd5b506102f9610a69565b6040516103069190614d1f565b60405180910390f35b34801561031b57600080fd5b506103366004803603810190610331919061432d565b610a7a565b005b34801561034457600080fd5b5061035f600480360381019061035a919061439a565b610c25565b60405161036c9190614a79565b60405180910390f35b34801561038157600080fd5b5061039c600480360381019061039791906142d3565b610cfe565b005b3480156103aa57600080fd5b506103b3610dee565b6040516103c09190614d1f565b60405180910390f35b3480156103d557600080fd5b506103de610dfe565b6040516103eb9190614dcb565b60405180910390f35b34801561040057600080fd5b5061041b600480360381019061041691906142d3565b610e07565b6040516104289190614a79565b60405180910390f35b34801561043d57600080fd5b506104586004803603810190610453919061432d565b610e5d565b005b34801561046657600080fd5b50610481600480360381019061047c919061451a565b610f4d565b005b34801561048f57600080fd5b506104aa60048036038101906104a59190614574565b610fff565b005b3480156104b857600080fd5b506104d360048036038101906104ce919061432d565b6110ad565b005b3480156104e157600080fd5b506104ea611258565b005b3480156104f857600080fd5b50610513600480360381019061050e91906142d3565b6112fe565b6040516105209190614d1f565b60405180910390f35b34801561053557600080fd5b5061053e61134f565b005b34801561054c57600080fd5b50610567600480360381019061056291906142d3565b6114a2565b6040516105749190614a79565b60405180910390f35b34801561058957600080fd5b506105a4600480360381019061059f9190614574565b6114f8565b005b3480156105b257600080fd5b506105bb6115db565b6040516105c891906149ab565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f39190614574565b611604565b005b34801561060657600080fd5b50610621600480360381019061061c9190614574565b6116f8565b005b34801561062f57600080fd5b506106386117db565b6040516106459190614abd565b60405180910390f35b34801561065a57600080fd5b50610675600480360381019061067091906143ed565b611818565b005b34801561068357600080fd5b5061069e6004803603810190610699919061442d565b61194c565b6040516106ab9190614a79565b60405180910390f35b3480156106c057600080fd5b506106db60048036038101906106d6919061446d565b61196a565b005b3480156106e957600080fd5b5061070460048036038101906106ff919061451a565b611ba4565b005b34801561071257600080fd5b5061071b611c55565b005b34801561072957600080fd5b50610744600480360381019061073f9190614574565b611d03565b005b34801561075257600080fd5b5061075b611de6565b005b34801561076957600080fd5b50610784600480360381019061077f919061432d565b612377565b005b34801561079257600080fd5b506107ad60048036038101906107a891906144ba565b612467565b005b3480156107bb57600080fd5b506107c46125a1565b6040516107d19190614d1f565b60405180910390f35b3480156107e657600080fd5b5061080160048036038101906107fc919061435a565b6125d3565b60405161080e9190614d1f565b60405180910390f35b34801561082357600080fd5b5061083e6004803603810190610839919061451a565b61265a565b005b34801561084c57600080fd5b50610867600480360381019061086291906142d3565b61270c565b6040516108749190614a79565b60405180910390f35b60606040518060400160405280601181526020017f42656c6b6120537472656c6b6120496e75000000000000000000000000000000815250905090565b60006108ce6108c7612762565b848461276a565b6001905092915050565b6108e0612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096490614bff565b60405180910390fd5b600c8111156109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890614aff565b60405180910390fd5b80600f8190555050565b6109c3612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4790614bff565b60405180910390fd5b633b9aca0081610a609190614ecd565b600a8190555050565b6000683635c9adc5dea00000905090565b610a82612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0690614bff565b60405180910390fd5b600060056000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610c32848484612935565b610cf384610c3e612762565b610cee8560405180606001604052806028815260200161561a60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ca4612762565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130789092919063ffffffff16565b61276a565b600190509392505050565b610d06612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8a90614bff565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610df9306112fe565b905090565b60006009905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610e65612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee990614bff565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610f55612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd990614bff565b60405180910390fd5b80601760156101000a81548160ff02191690831515021790555050565b611007612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108b90614bff565b60405180910390fd5b633b9aca00816110a49190614ecd565b600e8190555050565b6110b5612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113990614bff565b60405180910390fd5b600060056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611260612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e490614bff565b60405180910390fd5b60004790506112fb816130dc565b50565b6000611348600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461325c565b9050919050565b611357612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113db90614bff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611500612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461158d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158490614bff565b60405180910390fd5b600c8111156115d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c890614cdf565b60405180910390fd5b8060108190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61160c612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611699576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169090614bff565b60405180910390fd5b6000600d54101580156116af57506064600d5411155b6116ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e590614bbf565b60405180910390fd5b80600d8190555050565b611700612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461178d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178490614bff565b60405180910390fd5b600c8111156117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890614c3f565b60405180910390fd5b8060118190555050565b60606040518060400160405280600381526020017f4253490000000000000000000000000000000000000000000000000000000000815250905090565b611820612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a490614bff565b60405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561193e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193590614b7f565b60405180910390fd5b61194882826132ca565b5050565b6000611960611959612762565b8484612935565b6001905092915050565b611972612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f690614bff565b60405180910390fd5b60005b82829050811015611b9f57601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110611a5957611a586150ae565b5b9050602002016020810190611a6e91906142d3565b73ffffffffffffffffffffffffffffffffffffffff1614158015611b075750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110611ad957611ad86150ae565b5b9050602002016020810190611aee91906142d3565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611b8c57600160076000858585818110611b2557611b246150ae565b5b9050602002016020810190611b3a91906142d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8080611b9790615007565b915050611a02565b505050565b611bac612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3090614bff565b60405180910390fd5b806017806101000a81548160ff02191690831515021790555050565b611c5d612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce190614bff565b60405180910390fd5b6000611cf5306112fe565b9050611d0081613325565b50565b611d0b612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8f90614bff565b60405180910390fd5b6005811115611ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd390614b9f565b60405180910390fd5b80600b8190555050565b611dee612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7290614bff565b60405180910390fd5b601760149054906101000a900460ff1615611ecb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec290614cbf565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f5b30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061276a565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611fa157600080fd5b505afa158015611fb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd99190614300565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561203b57600080fd5b505afa15801561204f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120739190614300565b6040518363ffffffff1660e01b81526004016120909291906149c6565b602060405180830381600087803b1580156120aa57600080fd5b505af11580156120be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e29190614300565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061216b306112fe565b6000806121766115db565b426040518863ffffffff1660e01b815260040161219896959493929190614a18565b6060604051808303818588803b1580156121b157600080fd5b505af11580156121c5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121ea91906145a1565b505050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161228c9291906149ef565b602060405180830381600087803b1580156122a657600080fd5b505af11580156122ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122de9190614547565b506001601760146101000a81548160ff021916908315150217905550600160186000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61237f612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461240c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240390614bff565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61246f612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f390614bff565b60405180910390fd5b60005b8383905081101561259b578160066000868685818110612522576125216150ae565b5b905060200201602081019061253791906142d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061259390615007565b9150506124ff565b50505050565b60006125ce601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166112fe565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b612662612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e690614bff565b60405180910390fd5b80601760166101000a81548160ff02191690831515021790555050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156127da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d190614c9f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561284a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284190614b3f565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516129289190614d1f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156129a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299c90614c5f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0c90614adf565b60405180910390fd5b60008111612a58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4f90614c1f565b60405180910390fd5b612a606115db565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612ace5750612a9e6115db565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612ece57600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b775750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612b8057600080fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612c285750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c8657600e5481612c3a846112fe565b612c449190614e46565b1115612c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7c90614c7f565b60405180910390fd5b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612d315750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612d875750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612de557601760149054906101000a900460ff16612ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd290614cff565b60405180910390fd5b600f54600c819055505b6000612df0306112fe565b9050601760189054906101000a900460ff16158015612e5d5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015612e755750601760149054906101000a900460ff165b15612ecc57601054600c81905550600a54811115612ecb57601760169054906101000a900460ff16612ea757600a5490505b6000600d541115612ec057612ebb816135ad565b612eca565b612ec98161371f565b5b5b5b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f755750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80612f8c5750601760159054906101000a900460ff165b15612f9657600090505b601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561303a5750601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156130665760178054906101000a900460ff161561306057601154600c81905550613065565b600090505b5b6130728484848461377a565b50505050565b60008383111582906130c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130b79190614abd565b60405180910390fd5b50600083856130cf9190614f27565b9050809150509392505050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661312b6002846137a790919063ffffffff16565b60405161313790614996565b60006040518083038185875af1925050503d8060008114613174576040519150601f19603f3d011682016040523d82523d6000602084013e613179565b606091505b505090506000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166131cc6002856137a790919063ffffffff16565b6040516131d890614996565b60006040518083038185875af1925050503d8060008114613215576040519150601f19603f3d011682016040523d82523d6000602084013e61321a565b606091505b505090507fc45e9b3ac19bf635feaed560109cb8931031fbbc86809d50d65d41a2cf2fe8b9828260405161324f929190614a94565b60405180910390a1505050565b60006008548211156132a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161329a90614b1f565b60405180910390fd5b60006132ad6137f1565b90506132c281846137a790919063ffffffff16565b915050919050565b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6001601760186101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561335d5761335c6150dd565b5b60405190808252806020026020018201604052801561338b5781602001602082028036833780820191505090505b50905030816000815181106133a3576133a26150ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561344557600080fd5b505afa158015613459573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347d9190614300565b81600181518110613491576134906150ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506134f830601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461276a565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161355c959493929190614d3a565b600060405180830381600087803b15801561357657600080fd5b505af115801561358a573d6000803e3d6000fd5b50505050506000601760186101000a81548160ff02191690831515021790555050565b6001601760186101000a81548160ff0219169083151502179055506000600d5460646135d99190614f27565b9050600061360560646135f7600d548661381c90919063ffffffff16565b6137a790919063ffffffff16565b9050600061361d6002836137a790919063ffffffff16565b90506000613634828661389790919063ffffffff16565b90506000479050613644826138e1565b6000613659824761389790919063ffffffff16565b905060006136836064613675898561381c90919063ffffffff16565b6137a790919063ffffffff16565b905061368e816130dc565b6000818361369c9190614f27565b90506000861180156136ae5750600081115b156136f9576136bd8682613b33565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618582896040516136f093929190614d94565b60405180910390a15b50505050505050506000601760186101000a81548160ff02191690831515021790555050565b6001601760186101000a81548160ff021916908315150217905550613743816138e1565b6000479050600081111561375b5761375a476130dc565b5b506000601760186101000a81548160ff02191690831515021790555050565b8061378857613787613c27565b5b613793848484613c6a565b806137a1576137a0613e35565b5b50505050565b60006137e983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613e49565b905092915050565b60008060006137fe613eac565b9150915061381581836137a790919063ffffffff16565b9250505090565b60008083141561382f5760009050613891565b6000828461383d9190614ecd565b905082848261384c9190614e9c565b1461388c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161388390614bdf565b60405180910390fd5b809150505b92915050565b60006138d983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613078565b905092915050565b6000600267ffffffffffffffff8111156138fe576138fd6150dd565b5b60405190808252806020026020018201604052801561392c5781602001602082028036833780820191505090505b5090503081600081518110613944576139436150ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156139e657600080fd5b505afa1580156139fa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a1e9190614300565b81600181518110613a3257613a316150ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613a9930601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461276a565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613afd959493929190614d3a565b600060405180830381600087803b158015613b1757600080fd5b505af1158015613b2b573d6000803e3d6000fd5b505050505050565b613b6030601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461276a565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613bac6115db565b426040518863ffffffff1660e01b8152600401613bce96959493929190614a18565b6060604051808303818588803b158015613be757600080fd5b505af1158015613bfb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613c2091906145a1565b5050505050565b6000600b54148015613c3b57506000600c54145b15613c4557613c68565b600b54601281905550600c546013819055506000600b819055506000600c819055505b565b600080600080600080613c7c87613f0e565b955095509550955095509550613cda86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461389790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613d6f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613dbb81613fd4565b613dc58483614091565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613e229190614d1f565b60405180910390a3505050505050505050565b601254600b81905550601354600c81905550565b60008083118290613e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e879190614abd565b60405180910390fd5b5060008385613e9f9190614e9c565b9050809150509392505050565b600080600060085490506000683635c9adc5dea000009050613ee2683635c9adc5dea000006008546137a790919063ffffffff16565b821015613f0157600854683635c9adc5dea00000935093505050613f0a565b81819350935050505b9091565b6000806000806000806000806000613f2b8a600b54600c546140cb565b9250925092506000613f3b6137f1565b90506000806000613f4e8e878787614161565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000808284613f859190614e46565b905083811015613fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613fc190614b5f565b60405180910390fd5b8091505092915050565b6000613fde6137f1565b90506000613ff5828461381c90919063ffffffff16565b905061404981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6140a68260085461389790919063ffffffff16565b6008819055506140c181600954613f7690919063ffffffff16565b6009819055505050565b6000806000806140f760646140e9888a61381c90919063ffffffff16565b6137a790919063ffffffff16565b905060006141216064614113888b61381c90919063ffffffff16565b6137a790919063ffffffff16565b9050600061414a8261413c858c61389790919063ffffffff16565b61389790919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061417a858961381c90919063ffffffff16565b90506000614191868961381c90919063ffffffff16565b905060006141a8878961381c90919063ffffffff16565b905060006141d1826141c3858761389790919063ffffffff16565b61389790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506141f9816155bd565b92915050565b60008151905061420e816155bd565b92915050565b600081359050614223816155d4565b92915050565b60008083601f84011261423f5761423e615111565b5b8235905067ffffffffffffffff81111561425c5761425b61510c565b5b60208301915083602082028301111561427857614277615116565b5b9250929050565b60008135905061428e816155eb565b92915050565b6000815190506142a3816155eb565b92915050565b6000813590506142b881615602565b92915050565b6000815190506142cd81615602565b92915050565b6000602082840312156142e9576142e8615120565b5b60006142f7848285016141ea565b91505092915050565b60006020828403121561431657614315615120565b5b6000614324848285016141ff565b91505092915050565b60006020828403121561434357614342615120565b5b600061435184828501614214565b91505092915050565b6000806040838503121561437157614370615120565b5b600061437f858286016141ea565b9250506020614390858286016141ea565b9150509250929050565b6000806000606084860312156143b3576143b2615120565b5b60006143c1868287016141ea565b93505060206143d2868287016141ea565b92505060406143e3868287016142a9565b9150509250925092565b6000806040838503121561440457614403615120565b5b6000614412858286016141ea565b92505060206144238582860161427f565b9150509250929050565b6000806040838503121561444457614443615120565b5b6000614452858286016141ea565b9250506020614463858286016142a9565b9150509250929050565b6000806020838503121561448457614483615120565b5b600083013567ffffffffffffffff8111156144a2576144a161511b565b5b6144ae85828601614229565b92509250509250929050565b6000806000604084860312156144d3576144d2615120565b5b600084013567ffffffffffffffff8111156144f1576144f061511b565b5b6144fd86828701614229565b935093505060206145108682870161427f565b9150509250925092565b6000602082840312156145305761452f615120565b5b600061453e8482850161427f565b91505092915050565b60006020828403121561455d5761455c615120565b5b600061456b84828501614294565b91505092915050565b60006020828403121561458a57614589615120565b5b6000614598848285016142a9565b91505092915050565b6000806000606084860312156145ba576145b9615120565b5b60006145c8868287016142be565b93505060206145d9868287016142be565b92505060406145ea868287016142be565b9150509250925092565b6000614600838361460c565b60208301905092915050565b61461581614f5b565b82525050565b61462481614f5b565b82525050565b600061463582614df6565b61463f8185614e19565b935061464a83614de6565b8060005b8381101561467b57815161466288826145f4565b975061466d83614e0c565b92505060018101905061464e565b5085935050505092915050565b61469181614f7f565b82525050565b6146a081614fc2565b82525050565b60006146b182614e01565b6146bb8185614e35565b93506146cb818560208601614fd4565b6146d481615125565b840191505092915050565b60006146ec602383614e35565b91506146f782615136565b604082019050919050565b600061470f601c83614e35565b915061471a82615185565b602082019050919050565b6000614732602a83614e35565b915061473d826151ae565b604082019050919050565b6000614755602283614e35565b9150614760826151fd565b604082019050919050565b6000614778601b83614e35565b91506147838261524c565b602082019050919050565b600061479b603983614e35565b91506147a682615275565b604082019050919050565b60006147be601783614e35565b91506147c9826152c4565b602082019050919050565b60006147e1603183614e35565b91506147ec826152ed565b604082019050919050565b6000614804602183614e35565b915061480f8261533c565b604082019050919050565b6000614827602083614e35565b91506148328261538b565b602082019050919050565b600061484a602983614e35565b9150614855826153b4565b604082019050919050565b600061486d602183614e35565b915061487882615403565b604082019050919050565b6000614890602583614e35565b915061489b82615452565b604082019050919050565b60006148b3602383614e35565b91506148be826154a1565b604082019050919050565b60006148d6600083614e2a565b91506148e1826154f0565b600082019050919050565b60006148f9602483614e35565b9150614904826154f3565b604082019050919050565b600061491c601783614e35565b915061492782615542565b602082019050919050565b600061493f601d83614e35565b915061494a8261556b565b602082019050919050565b6000614962601883614e35565b915061496d82615594565b602082019050919050565b61498181614fab565b82525050565b61499081614fb5565b82525050565b60006149a1826148c9565b9150819050919050565b60006020820190506149c0600083018461461b565b92915050565b60006040820190506149db600083018561461b565b6149e8602083018461461b565b9392505050565b6000604082019050614a04600083018561461b565b614a116020830184614978565b9392505050565b600060c082019050614a2d600083018961461b565b614a3a6020830188614978565b614a476040830187614697565b614a546060830186614697565b614a61608083018561461b565b614a6e60a0830184614978565b979650505050505050565b6000602082019050614a8e6000830184614688565b92915050565b6000604082019050614aa96000830185614688565b614ab66020830184614688565b9392505050565b60006020820190508181036000830152614ad781846146a6565b905092915050565b60006020820190508181036000830152614af8816146df565b9050919050565b60006020820190508181036000830152614b1881614702565b9050919050565b60006020820190508181036000830152614b3881614725565b9050919050565b60006020820190508181036000830152614b5881614748565b9050919050565b60006020820190508181036000830152614b788161476b565b9050919050565b60006020820190508181036000830152614b988161478e565b9050919050565b60006020820190508181036000830152614bb8816147b1565b9050919050565b60006020820190508181036000830152614bd8816147d4565b9050919050565b60006020820190508181036000830152614bf8816147f7565b9050919050565b60006020820190508181036000830152614c188161481a565b9050919050565b60006020820190508181036000830152614c388161483d565b9050919050565b60006020820190508181036000830152614c5881614860565b9050919050565b60006020820190508181036000830152614c7881614883565b9050919050565b60006020820190508181036000830152614c98816148a6565b9050919050565b60006020820190508181036000830152614cb8816148ec565b9050919050565b60006020820190508181036000830152614cd88161490f565b9050919050565b60006020820190508181036000830152614cf881614932565b9050919050565b60006020820190508181036000830152614d1881614955565b9050919050565b6000602082019050614d346000830184614978565b92915050565b600060a082019050614d4f6000830188614978565b614d5c6020830187614697565b8181036040830152614d6e818661462a565b9050614d7d606083018561461b565b614d8a6080830184614978565b9695505050505050565b6000606082019050614da96000830186614978565b614db66020830185614978565b614dc36040830184614978565b949350505050565b6000602082019050614de06000830184614987565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000614e5182614fab565b9150614e5c83614fab565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614e9157614e90615050565b5b828201905092915050565b6000614ea782614fab565b9150614eb283614fab565b925082614ec257614ec161507f565b5b828204905092915050565b6000614ed882614fab565b9150614ee383614fab565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614f1c57614f1b615050565b5b828202905092915050565b6000614f3282614fab565b9150614f3d83614fab565b925082821015614f5057614f4f615050565b5b828203905092915050565b6000614f6682614f8b565b9050919050565b6000614f7882614f8b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000614fcd82614fab565b9050919050565b60005b83811015614ff2578082015181840152602081019050614fd7565b83811115615001576000848401525b50505050565b600061501282614fab565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561504557615044615050565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f42757920666565206d757374206265206c657373207468616e20313200000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b7f746178206d757374206265206c657373207468616e2035000000000000000000600082015250565b7f6c6971756964697479206665652070657263656e74616765206d75737420626560008201527f206265747765656e203020746f20313030000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220666565206d757374206265206c657373207468616e203160008201527f3200000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f53656c6c20666565206d757374206265206c657373207468616e203132000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b6155c681614f5b565b81146155d157600080fd5b50565b6155dd81614f6d565b81146155e857600080fd5b50565b6155f481614f7f565b81146155ff57600080fd5b50565b61560b81614fab565b811461561657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b19ee8ba6a31de7a6c7fb8033a91b6e79d0e307cc4887187f7dac3a37c19915a64736f6c63430008050033000000000000000000000000c6ce44a218a843cef23d9fc67ddee65b2788ab9700000000000000000000000079148758ad09b91e30b91ce9a2f99c0ee751031b

Deployed Bytecode

0x60806040526004361061021e5760003560e01c8063844f30fb11610123578063c1187569116100ab578063db8aeab11161006f578063db8aeab114610786578063db92dbb6146107af578063dd62ed3e146107da578063de30aad114610817578063e1ab04c91461084057610225565b8063c1187569146106dd578063c3c8cd8014610706578063c4081a4c1461071d578063c9567bf914610746578063cf0848f71461075d57610225565b80638f02bb5b116100f25780638f02bb5b146105fa57806395d89b41146106235780639a7a23d61461064e578063a9059cbb14610677578063b515566a146106b457610225565b8063844f30fb146105405780638b4cee081461057d5780638da5cb5b146105a65780638ee88c53146105d157610225565b8063313ce567116101a65780635d0044ca116101755780635d0044ca146104835780635d098b38146104ac5780636fc3eaec146104d557806370a08231146104ec578063715018a61461052957610225565b8063313ce567146103c95780633bbac579146103f4578063437823ec146104315780634b740b161461045a57610225565b806318160ddd116101ed57806318160ddd146102e45780631f53ac021461030f57806323b872dd14610338578063273123b71461037557806327f3a72a1461039e57610225565b806306fdde031461022a578063095ea7b3146102555780630cc835a31461029257806312dfbd33146102bb57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f61087d565b60405161024c9190614abd565b60405180910390f35b34801561026157600080fd5b5061027c6004803603810190610277919061442d565b6108ba565b6040516102899190614a79565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190614574565b6108d8565b005b3480156102c757600080fd5b506102e260048036038101906102dd9190614574565b6109bb565b005b3480156102f057600080fd5b506102f9610a69565b6040516103069190614d1f565b60405180910390f35b34801561031b57600080fd5b506103366004803603810190610331919061432d565b610a7a565b005b34801561034457600080fd5b5061035f600480360381019061035a919061439a565b610c25565b60405161036c9190614a79565b60405180910390f35b34801561038157600080fd5b5061039c600480360381019061039791906142d3565b610cfe565b005b3480156103aa57600080fd5b506103b3610dee565b6040516103c09190614d1f565b60405180910390f35b3480156103d557600080fd5b506103de610dfe565b6040516103eb9190614dcb565b60405180910390f35b34801561040057600080fd5b5061041b600480360381019061041691906142d3565b610e07565b6040516104289190614a79565b60405180910390f35b34801561043d57600080fd5b506104586004803603810190610453919061432d565b610e5d565b005b34801561046657600080fd5b50610481600480360381019061047c919061451a565b610f4d565b005b34801561048f57600080fd5b506104aa60048036038101906104a59190614574565b610fff565b005b3480156104b857600080fd5b506104d360048036038101906104ce919061432d565b6110ad565b005b3480156104e157600080fd5b506104ea611258565b005b3480156104f857600080fd5b50610513600480360381019061050e91906142d3565b6112fe565b6040516105209190614d1f565b60405180910390f35b34801561053557600080fd5b5061053e61134f565b005b34801561054c57600080fd5b50610567600480360381019061056291906142d3565b6114a2565b6040516105749190614a79565b60405180910390f35b34801561058957600080fd5b506105a4600480360381019061059f9190614574565b6114f8565b005b3480156105b257600080fd5b506105bb6115db565b6040516105c891906149ab565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f39190614574565b611604565b005b34801561060657600080fd5b50610621600480360381019061061c9190614574565b6116f8565b005b34801561062f57600080fd5b506106386117db565b6040516106459190614abd565b60405180910390f35b34801561065a57600080fd5b50610675600480360381019061067091906143ed565b611818565b005b34801561068357600080fd5b5061069e6004803603810190610699919061442d565b61194c565b6040516106ab9190614a79565b60405180910390f35b3480156106c057600080fd5b506106db60048036038101906106d6919061446d565b61196a565b005b3480156106e957600080fd5b5061070460048036038101906106ff919061451a565b611ba4565b005b34801561071257600080fd5b5061071b611c55565b005b34801561072957600080fd5b50610744600480360381019061073f9190614574565b611d03565b005b34801561075257600080fd5b5061075b611de6565b005b34801561076957600080fd5b50610784600480360381019061077f919061432d565b612377565b005b34801561079257600080fd5b506107ad60048036038101906107a891906144ba565b612467565b005b3480156107bb57600080fd5b506107c46125a1565b6040516107d19190614d1f565b60405180910390f35b3480156107e657600080fd5b5061080160048036038101906107fc919061435a565b6125d3565b60405161080e9190614d1f565b60405180910390f35b34801561082357600080fd5b5061083e6004803603810190610839919061451a565b61265a565b005b34801561084c57600080fd5b50610867600480360381019061086291906142d3565b61270c565b6040516108749190614a79565b60405180910390f35b60606040518060400160405280601181526020017f42656c6b6120537472656c6b6120496e75000000000000000000000000000000815250905090565b60006108ce6108c7612762565b848461276a565b6001905092915050565b6108e0612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096490614bff565b60405180910390fd5b600c8111156109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890614aff565b60405180910390fd5b80600f8190555050565b6109c3612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4790614bff565b60405180910390fd5b633b9aca0081610a609190614ecd565b600a8190555050565b6000683635c9adc5dea00000905090565b610a82612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0690614bff565b60405180910390fd5b600060056000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610c32848484612935565b610cf384610c3e612762565b610cee8560405180606001604052806028815260200161561a60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ca4612762565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130789092919063ffffffff16565b61276a565b600190509392505050565b610d06612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8a90614bff565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610df9306112fe565b905090565b60006009905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610e65612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee990614bff565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610f55612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd990614bff565b60405180910390fd5b80601760156101000a81548160ff02191690831515021790555050565b611007612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108b90614bff565b60405180910390fd5b633b9aca00816110a49190614ecd565b600e8190555050565b6110b5612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113990614bff565b60405180910390fd5b600060056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611260612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e490614bff565b60405180910390fd5b60004790506112fb816130dc565b50565b6000611348600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461325c565b9050919050565b611357612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113db90614bff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611500612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461158d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158490614bff565b60405180910390fd5b600c8111156115d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c890614cdf565b60405180910390fd5b8060108190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61160c612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611699576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169090614bff565b60405180910390fd5b6000600d54101580156116af57506064600d5411155b6116ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e590614bbf565b60405180910390fd5b80600d8190555050565b611700612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461178d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178490614bff565b60405180910390fd5b600c8111156117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890614c3f565b60405180910390fd5b8060118190555050565b60606040518060400160405280600381526020017f4253490000000000000000000000000000000000000000000000000000000000815250905090565b611820612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a490614bff565b60405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561193e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193590614b7f565b60405180910390fd5b61194882826132ca565b5050565b6000611960611959612762565b8484612935565b6001905092915050565b611972612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f690614bff565b60405180910390fd5b60005b82829050811015611b9f57601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110611a5957611a586150ae565b5b9050602002016020810190611a6e91906142d3565b73ffffffffffffffffffffffffffffffffffffffff1614158015611b075750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110611ad957611ad86150ae565b5b9050602002016020810190611aee91906142d3565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611b8c57600160076000858585818110611b2557611b246150ae565b5b9050602002016020810190611b3a91906142d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8080611b9790615007565b915050611a02565b505050565b611bac612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3090614bff565b60405180910390fd5b806017806101000a81548160ff02191690831515021790555050565b611c5d612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce190614bff565b60405180910390fd5b6000611cf5306112fe565b9050611d0081613325565b50565b611d0b612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8f90614bff565b60405180910390fd5b6005811115611ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd390614b9f565b60405180910390fd5b80600b8190555050565b611dee612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7290614bff565b60405180910390fd5b601760149054906101000a900460ff1615611ecb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec290614cbf565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f5b30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061276a565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611fa157600080fd5b505afa158015611fb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd99190614300565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561203b57600080fd5b505afa15801561204f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120739190614300565b6040518363ffffffff1660e01b81526004016120909291906149c6565b602060405180830381600087803b1580156120aa57600080fd5b505af11580156120be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e29190614300565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061216b306112fe565b6000806121766115db565b426040518863ffffffff1660e01b815260040161219896959493929190614a18565b6060604051808303818588803b1580156121b157600080fd5b505af11580156121c5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121ea91906145a1565b505050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161228c9291906149ef565b602060405180830381600087803b1580156122a657600080fd5b505af11580156122ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122de9190614547565b506001601760146101000a81548160ff021916908315150217905550600160186000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61237f612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461240c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240390614bff565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61246f612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f390614bff565b60405180910390fd5b60005b8383905081101561259b578160066000868685818110612522576125216150ae565b5b905060200201602081019061253791906142d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061259390615007565b9150506124ff565b50505050565b60006125ce601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166112fe565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b612662612762565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e690614bff565b60405180910390fd5b80601760166101000a81548160ff02191690831515021790555050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156127da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d190614c9f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561284a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284190614b3f565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516129289190614d1f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156129a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299c90614c5f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0c90614adf565b60405180910390fd5b60008111612a58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4f90614c1f565b60405180910390fd5b612a606115db565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612ace5750612a9e6115db565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612ece57600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b775750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612b8057600080fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612c285750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c8657600e5481612c3a846112fe565b612c449190614e46565b1115612c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7c90614c7f565b60405180910390fd5b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612d315750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612d875750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612de557601760149054906101000a900460ff16612ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd290614cff565b60405180910390fd5b600f54600c819055505b6000612df0306112fe565b9050601760189054906101000a900460ff16158015612e5d5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015612e755750601760149054906101000a900460ff165b15612ecc57601054600c81905550600a54811115612ecb57601760169054906101000a900460ff16612ea757600a5490505b6000600d541115612ec057612ebb816135ad565b612eca565b612ec98161371f565b5b5b5b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f755750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80612f8c5750601760159054906101000a900460ff165b15612f9657600090505b601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561303a5750601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156130665760178054906101000a900460ff161561306057601154600c81905550613065565b600090505b5b6130728484848461377a565b50505050565b60008383111582906130c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130b79190614abd565b60405180910390fd5b50600083856130cf9190614f27565b9050809150509392505050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661312b6002846137a790919063ffffffff16565b60405161313790614996565b60006040518083038185875af1925050503d8060008114613174576040519150601f19603f3d011682016040523d82523d6000602084013e613179565b606091505b505090506000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166131cc6002856137a790919063ffffffff16565b6040516131d890614996565b60006040518083038185875af1925050503d8060008114613215576040519150601f19603f3d011682016040523d82523d6000602084013e61321a565b606091505b505090507fc45e9b3ac19bf635feaed560109cb8931031fbbc86809d50d65d41a2cf2fe8b9828260405161324f929190614a94565b60405180910390a1505050565b60006008548211156132a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161329a90614b1f565b60405180910390fd5b60006132ad6137f1565b90506132c281846137a790919063ffffffff16565b915050919050565b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6001601760186101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561335d5761335c6150dd565b5b60405190808252806020026020018201604052801561338b5781602001602082028036833780820191505090505b50905030816000815181106133a3576133a26150ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561344557600080fd5b505afa158015613459573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347d9190614300565b81600181518110613491576134906150ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506134f830601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461276a565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161355c959493929190614d3a565b600060405180830381600087803b15801561357657600080fd5b505af115801561358a573d6000803e3d6000fd5b50505050506000601760186101000a81548160ff02191690831515021790555050565b6001601760186101000a81548160ff0219169083151502179055506000600d5460646135d99190614f27565b9050600061360560646135f7600d548661381c90919063ffffffff16565b6137a790919063ffffffff16565b9050600061361d6002836137a790919063ffffffff16565b90506000613634828661389790919063ffffffff16565b90506000479050613644826138e1565b6000613659824761389790919063ffffffff16565b905060006136836064613675898561381c90919063ffffffff16565b6137a790919063ffffffff16565b905061368e816130dc565b6000818361369c9190614f27565b90506000861180156136ae5750600081115b156136f9576136bd8682613b33565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618582896040516136f093929190614d94565b60405180910390a15b50505050505050506000601760186101000a81548160ff02191690831515021790555050565b6001601760186101000a81548160ff021916908315150217905550613743816138e1565b6000479050600081111561375b5761375a476130dc565b5b506000601760186101000a81548160ff02191690831515021790555050565b8061378857613787613c27565b5b613793848484613c6a565b806137a1576137a0613e35565b5b50505050565b60006137e983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613e49565b905092915050565b60008060006137fe613eac565b9150915061381581836137a790919063ffffffff16565b9250505090565b60008083141561382f5760009050613891565b6000828461383d9190614ecd565b905082848261384c9190614e9c565b1461388c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161388390614bdf565b60405180910390fd5b809150505b92915050565b60006138d983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613078565b905092915050565b6000600267ffffffffffffffff8111156138fe576138fd6150dd565b5b60405190808252806020026020018201604052801561392c5781602001602082028036833780820191505090505b5090503081600081518110613944576139436150ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156139e657600080fd5b505afa1580156139fa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a1e9190614300565b81600181518110613a3257613a316150ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613a9930601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461276a565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613afd959493929190614d3a565b600060405180830381600087803b158015613b1757600080fd5b505af1158015613b2b573d6000803e3d6000fd5b505050505050565b613b6030601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461276a565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613bac6115db565b426040518863ffffffff1660e01b8152600401613bce96959493929190614a18565b6060604051808303818588803b158015613be757600080fd5b505af1158015613bfb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613c2091906145a1565b5050505050565b6000600b54148015613c3b57506000600c54145b15613c4557613c68565b600b54601281905550600c546013819055506000600b819055506000600c819055505b565b600080600080600080613c7c87613f0e565b955095509550955095509550613cda86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461389790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613d6f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613dbb81613fd4565b613dc58483614091565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613e229190614d1f565b60405180910390a3505050505050505050565b601254600b81905550601354600c81905550565b60008083118290613e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e879190614abd565b60405180910390fd5b5060008385613e9f9190614e9c565b9050809150509392505050565b600080600060085490506000683635c9adc5dea000009050613ee2683635c9adc5dea000006008546137a790919063ffffffff16565b821015613f0157600854683635c9adc5dea00000935093505050613f0a565b81819350935050505b9091565b6000806000806000806000806000613f2b8a600b54600c546140cb565b9250925092506000613f3b6137f1565b90506000806000613f4e8e878787614161565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000808284613f859190614e46565b905083811015613fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613fc190614b5f565b60405180910390fd5b8091505092915050565b6000613fde6137f1565b90506000613ff5828461381c90919063ffffffff16565b905061404981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6140a68260085461389790919063ffffffff16565b6008819055506140c181600954613f7690919063ffffffff16565b6009819055505050565b6000806000806140f760646140e9888a61381c90919063ffffffff16565b6137a790919063ffffffff16565b905060006141216064614113888b61381c90919063ffffffff16565b6137a790919063ffffffff16565b9050600061414a8261413c858c61389790919063ffffffff16565b61389790919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061417a858961381c90919063ffffffff16565b90506000614191868961381c90919063ffffffff16565b905060006141a8878961381c90919063ffffffff16565b905060006141d1826141c3858761389790919063ffffffff16565b61389790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506141f9816155bd565b92915050565b60008151905061420e816155bd565b92915050565b600081359050614223816155d4565b92915050565b60008083601f84011261423f5761423e615111565b5b8235905067ffffffffffffffff81111561425c5761425b61510c565b5b60208301915083602082028301111561427857614277615116565b5b9250929050565b60008135905061428e816155eb565b92915050565b6000815190506142a3816155eb565b92915050565b6000813590506142b881615602565b92915050565b6000815190506142cd81615602565b92915050565b6000602082840312156142e9576142e8615120565b5b60006142f7848285016141ea565b91505092915050565b60006020828403121561431657614315615120565b5b6000614324848285016141ff565b91505092915050565b60006020828403121561434357614342615120565b5b600061435184828501614214565b91505092915050565b6000806040838503121561437157614370615120565b5b600061437f858286016141ea565b9250506020614390858286016141ea565b9150509250929050565b6000806000606084860312156143b3576143b2615120565b5b60006143c1868287016141ea565b93505060206143d2868287016141ea565b92505060406143e3868287016142a9565b9150509250925092565b6000806040838503121561440457614403615120565b5b6000614412858286016141ea565b92505060206144238582860161427f565b9150509250929050565b6000806040838503121561444457614443615120565b5b6000614452858286016141ea565b9250506020614463858286016142a9565b9150509250929050565b6000806020838503121561448457614483615120565b5b600083013567ffffffffffffffff8111156144a2576144a161511b565b5b6144ae85828601614229565b92509250509250929050565b6000806000604084860312156144d3576144d2615120565b5b600084013567ffffffffffffffff8111156144f1576144f061511b565b5b6144fd86828701614229565b935093505060206145108682870161427f565b9150509250925092565b6000602082840312156145305761452f615120565b5b600061453e8482850161427f565b91505092915050565b60006020828403121561455d5761455c615120565b5b600061456b84828501614294565b91505092915050565b60006020828403121561458a57614589615120565b5b6000614598848285016142a9565b91505092915050565b6000806000606084860312156145ba576145b9615120565b5b60006145c8868287016142be565b93505060206145d9868287016142be565b92505060406145ea868287016142be565b9150509250925092565b6000614600838361460c565b60208301905092915050565b61461581614f5b565b82525050565b61462481614f5b565b82525050565b600061463582614df6565b61463f8185614e19565b935061464a83614de6565b8060005b8381101561467b57815161466288826145f4565b975061466d83614e0c565b92505060018101905061464e565b5085935050505092915050565b61469181614f7f565b82525050565b6146a081614fc2565b82525050565b60006146b182614e01565b6146bb8185614e35565b93506146cb818560208601614fd4565b6146d481615125565b840191505092915050565b60006146ec602383614e35565b91506146f782615136565b604082019050919050565b600061470f601c83614e35565b915061471a82615185565b602082019050919050565b6000614732602a83614e35565b915061473d826151ae565b604082019050919050565b6000614755602283614e35565b9150614760826151fd565b604082019050919050565b6000614778601b83614e35565b91506147838261524c565b602082019050919050565b600061479b603983614e35565b91506147a682615275565b604082019050919050565b60006147be601783614e35565b91506147c9826152c4565b602082019050919050565b60006147e1603183614e35565b91506147ec826152ed565b604082019050919050565b6000614804602183614e35565b915061480f8261533c565b604082019050919050565b6000614827602083614e35565b91506148328261538b565b602082019050919050565b600061484a602983614e35565b9150614855826153b4565b604082019050919050565b600061486d602183614e35565b915061487882615403565b604082019050919050565b6000614890602583614e35565b915061489b82615452565b604082019050919050565b60006148b3602383614e35565b91506148be826154a1565b604082019050919050565b60006148d6600083614e2a565b91506148e1826154f0565b600082019050919050565b60006148f9602483614e35565b9150614904826154f3565b604082019050919050565b600061491c601783614e35565b915061492782615542565b602082019050919050565b600061493f601d83614e35565b915061494a8261556b565b602082019050919050565b6000614962601883614e35565b915061496d82615594565b602082019050919050565b61498181614fab565b82525050565b61499081614fb5565b82525050565b60006149a1826148c9565b9150819050919050565b60006020820190506149c0600083018461461b565b92915050565b60006040820190506149db600083018561461b565b6149e8602083018461461b565b9392505050565b6000604082019050614a04600083018561461b565b614a116020830184614978565b9392505050565b600060c082019050614a2d600083018961461b565b614a3a6020830188614978565b614a476040830187614697565b614a546060830186614697565b614a61608083018561461b565b614a6e60a0830184614978565b979650505050505050565b6000602082019050614a8e6000830184614688565b92915050565b6000604082019050614aa96000830185614688565b614ab66020830184614688565b9392505050565b60006020820190508181036000830152614ad781846146a6565b905092915050565b60006020820190508181036000830152614af8816146df565b9050919050565b60006020820190508181036000830152614b1881614702565b9050919050565b60006020820190508181036000830152614b3881614725565b9050919050565b60006020820190508181036000830152614b5881614748565b9050919050565b60006020820190508181036000830152614b788161476b565b9050919050565b60006020820190508181036000830152614b988161478e565b9050919050565b60006020820190508181036000830152614bb8816147b1565b9050919050565b60006020820190508181036000830152614bd8816147d4565b9050919050565b60006020820190508181036000830152614bf8816147f7565b9050919050565b60006020820190508181036000830152614c188161481a565b9050919050565b60006020820190508181036000830152614c388161483d565b9050919050565b60006020820190508181036000830152614c5881614860565b9050919050565b60006020820190508181036000830152614c7881614883565b9050919050565b60006020820190508181036000830152614c98816148a6565b9050919050565b60006020820190508181036000830152614cb8816148ec565b9050919050565b60006020820190508181036000830152614cd88161490f565b9050919050565b60006020820190508181036000830152614cf881614932565b9050919050565b60006020820190508181036000830152614d1881614955565b9050919050565b6000602082019050614d346000830184614978565b92915050565b600060a082019050614d4f6000830188614978565b614d5c6020830187614697565b8181036040830152614d6e818661462a565b9050614d7d606083018561461b565b614d8a6080830184614978565b9695505050505050565b6000606082019050614da96000830186614978565b614db66020830185614978565b614dc36040830184614978565b949350505050565b6000602082019050614de06000830184614987565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000614e5182614fab565b9150614e5c83614fab565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614e9157614e90615050565b5b828201905092915050565b6000614ea782614fab565b9150614eb283614fab565b925082614ec257614ec161507f565b5b828204905092915050565b6000614ed882614fab565b9150614ee383614fab565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614f1c57614f1b615050565b5b828202905092915050565b6000614f3282614fab565b9150614f3d83614fab565b925082821015614f5057614f4f615050565b5b828203905092915050565b6000614f6682614f8b565b9050919050565b6000614f7882614f8b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000614fcd82614fab565b9050919050565b60005b83811015614ff2578082015181840152602081019050614fd7565b83811115615001576000848401525b50505050565b600061501282614fab565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561504557615044615050565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f42757920666565206d757374206265206c657373207468616e20313200000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b7f746178206d757374206265206c657373207468616e2035000000000000000000600082015250565b7f6c6971756964697479206665652070657263656e74616765206d75737420626560008201527f206265747765656e203020746f20313030000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220666565206d757374206265206c657373207468616e203160008201527f3200000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f53656c6c20666565206d757374206265206c657373207468616e203132000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b6155c681614f5b565b81146155d157600080fd5b50565b6155dd81614f6d565b81146155e857600080fd5b50565b6155f481614f7f565b81146155ff57600080fd5b50565b61560b81614fab565b811461561657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b19ee8ba6a31de7a6c7fb8033a91b6e79d0e307cc4887187f7dac3a37c19915a64736f6c63430008050033

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

000000000000000000000000c6ce44a218a843cef23d9fc67ddee65b2788ab9700000000000000000000000079148758ad09b91e30b91ce9a2f99c0ee751031b

-----Decoded View---------------
Arg [0] : devWallet (address): 0xc6cE44a218a843cEf23D9fC67dDee65b2788ab97
Arg [1] : marketingWallet (address): 0x79148758ad09B91e30b91ce9A2F99c0EE751031B

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c6ce44a218a843cef23d9fc67ddee65b2788ab97
Arg [1] : 00000000000000000000000079148758ad09b91e30b91ce9a2f99c0ee751031b


Deployed Bytecode Sourcemap

3858:17707:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6510:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7362:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18897:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19795:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6787:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17764:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7531:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20428:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20963:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6696:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20529:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17962:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18677:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19937:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17532:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20802:153;;;;;;;;;;;;;:::i;:::-;;6890:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2937:148;;;;;;;;;;;;;:::i;:::-;;18205:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19049:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2723:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19528:259;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19207:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6601:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21180:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7036:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20144:272;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18775:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20630:160;;;;;;;;;;;;;:::i;:::-;;19382:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16753:767;;;;;;;;;;;;;:::i;:::-;;18086:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18325:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21071:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7211:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20046:86;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18543:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6510:83;6547:13;6580:5;;;;;;;;;;;;;;;;;6573:12;;6510:83;:::o;7362:161::-;7437:4;7454:39;7463:12;:10;:12::i;:::-;7477:7;7486:6;7454:8;:39::i;:::-;7511:4;7504:11;;7362:161;;;;:::o;18897:144::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18974:2:::1;18967:3;:9;;18959:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;19030:3;19020:7;:13;;;;18897:144:::0;:::o;19795:134::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19916:5:::1;19905:8;:16;;;;:::i;:::-;19879:23;:42;;;;19795:134:::0;:::o;6787:95::-;6840:7;4371:12;6860:14;;6787:95;:::o;17764:190::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17873:5:::1;17840:18;:30;17859:10;;;;;;;;;;;17840:30;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;17902:3;17889:10;;:16;;;;;;;;;;;;;;;;;;17942:4;17916:18;:23;17935:3;17916:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;17764:190:::0;:::o;7531:313::-;7629:4;7646:36;7656:6;7664:9;7675:6;7646:9;:36::i;:::-;7693:121;7702:6;7710:12;:10;:12::i;:::-;7724:89;7762:6;7724:89;;;;;;;;;;;;;;;;;:11;:19;7736:6;7724:19;;;;;;;;;;;;;;;:33;7744:12;:10;:12::i;:::-;7724:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7693:8;:121::i;:::-;7832:4;7825:11;;7531:313;;;;;:::o;20428:89::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20504:5:::1;20488;:13;20494:6;20488:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;20428:89:::0;:::o;20963:100::-;21007:4;21031:24;21049:4;21031:9;:24::i;:::-;21024:31;;20963:100;:::o;6696:83::-;6737:5;4690:1;6755:16;;6696:83;:::o;20529:89::-;20577:4;20601:5;:9;20607:2;20601:9;;;;;;;;;;;;;;;;;;;;;;;;;20594:16;;20529:89;;;:::o;17962:112::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18062:4:::1;18037:18;:22;18056:2;18037:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;17962:112:::0;:::o;18677:90::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18754:5:::1;18741:10;;:18;;;;;;;;;;;;;;;;;;18677:90:::0;:::o;19937:101::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20025:5:::1;20019:3;:11;;;;:::i;:::-;20002:14;:28;;;;19937:101:::0;:::o;17532:224::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17657:5:::1;17618:18;:36;17637:16;;;;;;;;;;;17618:36;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;17692:9;17673:16;;:28;;;;;;;;;;;;;;;;;;17744:4;17712:18;:29;17731:9;17712:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;17532:224:::0;:::o;20802:153::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20854:26:::1;20883:21;20854:50;;20915:32;20928:18;20915:12;:32::i;:::-;20843:112;20802:153::o:0;6890:138::-;6956:7;6983:37;7003:7;:16;7011:7;7003:16;;;;;;;;;;;;;;;;6983:19;:37::i;:::-;6976:44;;6890:138;;;:::o;2937:148::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3044:1:::1;3007:40;;3028:6;::::0;::::1;;;;;;;;3007:40;;;;;;;;;;;;3075:1;3058:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2937:148::o:0;18205:112::-;18263:4;18287:18;:22;18306:2;18287:22;;;;;;;;;;;;;;;;;;;;;;;;;18280:29;;18205:112;;;:::o;19049:150::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19129:2:::1;19121:4;:10;;19113:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;19187:4;19176:8;:15;;;;19049:150:::0;:::o;2723:79::-;2761:7;2788:6;;;;;;;;;;;2781:13;;2723:79;:::o;19528:259::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19641:1:::1;19614:23;;:28;;:62;;;;;19673:3;19646:23;;:30;;19614:62;19606:124;;;;;;;;;;;;:::i;:::-;;;;;;;;;19767:12;19741:23;:38;;;;19528:259:::0;:::o;19207:159::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19289:2:::1;19282:3;:9;;19274:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;19355:3;19340:12;:18;;;;19207:159:::0;:::o;6601:87::-;6640:13;6673:7;;;;;;;;;;;;;;;;;6666:14;;6601:87;:::o;21180:244::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21289:13:::1;;;;;;;;;;;21281:21;;:4;:21;;;;21273:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;21375:41;21404:4;21410:5;21375:28;:41::i;:::-;21180:244:::0;;:::o;7036:167::-;7114:4;7131:42;7141:12;:10;:12::i;:::-;7155:9;7166:6;7131:9;:42::i;:::-;7191:4;7184:11;;7036:167;;;;:::o;20144:272::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20220:6:::1;20215:194;20236:5;;:12;;20232:1;:16;20215:194;;;20286:13;;;;;;;;;;;20274:25;;:5;;20280:1;20274:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;:25;;;;:65;;;;;20323:15;;;;;;;;;;;20303:36;;:5;;20309:1;20303:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;:36;;;;20274:65;20270:128;;;20378:4;20360:5;:15;20366:5;;20372:1;20366:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;20360:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;20270:128;20250:3;;;;;:::i;:::-;;;;20215:194;;;;20144:272:::0;;:::o;18775:110::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18872:5:::1;18849:20;::::0;:28:::1;;;;;;;;;;;;;;;;;;18775:110:::0;:::o;20630:160::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20682:23:::1;20708:24;20726:4;20708:9;:24::i;:::-;20682:50;;20743:39;20766:15;20743:22;:39::i;:::-;20671:119;20630:160::o:0;19382:138::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19459:1:::1;19452:3;:8;;19444:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;19509:3;19499:7;:13;;;;19382:138:::0;:::o;16753:767::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16817:11:::1;;;;;;;;;;;16816:12;16808:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;16866:35;16923:42;16866:100;;16995:16;16977:15;;:34;;;;;;;;;;;;;;;;;;17022:58;17039:4;17054:15;;;;;;;;;;;4371:12;17022:8;:58::i;:::-;17125:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17107:56;;;17172:4;17179:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17107:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17091:13;;:112;;;;;;;;;;;;;;;;;;17214:15;;;;;;;;;;;:31;;;17253:21;17284:4;17290:24;17308:4;17290:9;:24::i;:::-;17315:1;17317::::0;17319:7:::1;:5;:7::i;:::-;17327:15;17214:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17361:13;;;;;;;;;;;17354:29;;;17392:15;;;;;;;;;;;17410:14;17354:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17450:4;17436:11;;:18;;;;;;;;;;;;;;;;;;17508:4;17465:25;:40;17491:13;;;;;;;;;;;17465:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;16797:723;16753:767::o:0;18086:111::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18184:5:::1;18159:18;:22;18178:2;18159:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;18086:111:::0;:::o;18325:206::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18424:6:::1;18419:105;18440:3;;:10;;18436:1;:14;18419:105;;;18507:5;18472:24;:32;18497:3;;18501:1;18497:6;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18472:32;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;18452:3;;;;;:::i;:::-;;;;18419:105;;;;18325:206:::0;;;:::o;21071:101::-;21116:4;21140:24;21150:13;;;;;;;;;;;21140:9;:24::i;:::-;21133:31;;21071:101;:::o;7211:143::-;7292:7;7319:11;:18;7331:5;7319:18;;;;;;;;;;;;;;;:27;7338:7;7319:27;;;;;;;;;;;;;;;;7312:34;;7211:143;;;;:::o;20046:86::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20119:5:::1;20108:8;;:16;;;;;;;;;;;;;;;;;;20046:86:::0;:::o;18543:122::-;18605:4;18629:24;:28;18654:2;18629:28;;;;;;;;;;;;;;;;;;;;;;;;;18622:35;;18543:122;;;:::o;132:98::-;185:7;212:10;205:17;;132:98;:::o;8459:335::-;8569:1;8552:19;;:5;:19;;;;8544:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8650:1;8631:21;;:7;:21;;;;8623:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8732:6;8702:11;:18;8714:5;8702:18;;;;;;;;;;;;;;;:27;8721:7;8702:27;;;;;;;;;;;;;;;:36;;;;8770:7;8754:32;;8763:5;8754:32;;;8779:6;8754:32;;;;;;:::i;:::-;;;;;;;;8459:335;;;:::o;8806:2016::-;8910:1;8894:18;;:4;:18;;;;8886:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8987:1;8973:16;;:2;:16;;;;8965:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9057:1;9048:6;:10;9040:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9128:7;:5;:7::i;:::-;9120:15;;:4;:15;;;;:32;;;;;9145:7;:5;:7::i;:::-;9139:13;;:2;:13;;;;9120:32;9117:1237;;;9192:5;:11;9198:4;9192:11;;;;;;;;;;;;;;;;;;;;;;;;;9191:12;:26;;;;;9208:5;:9;9214:2;9208:9;;;;;;;;;;;;;;;;;;;;;;;;;9207:10;9191:26;9183:35;;;;;;9244:13;;;;;;;;;;;9238:19;;:2;:19;;;;:52;;;;;9262:24;:28;9287:2;9262:28;;;;;;;;;;;;;;;;;;;;;;;;;9261:29;9238:52;9235:189;;;9354:14;;9344:6;9319:22;9337:2;9319:9;:22::i;:::-;:31;;;;:::i;:::-;:49;;9311:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;9235:189;9463:13;;;;;;;;;;;9455:21;;:4;:21;;;:55;;;;;9494:15;;;;;;;;;;;9480:30;;:2;:30;;;;9455:55;:82;;;;;9515:18;:22;9534:2;9515:22;;;;;;;;;;;;;;;;;;;;;;;;;9514:23;9455:82;9452:207;;;9566:11;;;;;;;;;;;9558:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;9636:7;;9625:8;:18;;;;9452:207;9673:28;9704:24;9722:4;9704:9;:24::i;:::-;9673:55;;9749:6;;;;;;;;;;;9748:7;:32;;;;;9767:13;;;;;;;;;;;9759:21;;:4;:21;;;;9748:32;:47;;;;;9784:11;;;;;;;;;;;9748:47;9745:598;;;9829:8;;9818;:19;;;;9884:23;;9861:20;:46;9858:470;;;9936:8;;;;;;;;;;;9932:111;;9996:23;;9973:46;;9932:111;10097:1;10071:23;;:27;10067:217;;;10127:36;10142:20;10127:14;:36::i;:::-;10067:217;;;10220:40;10239:20;10220:18;:40::i;:::-;10067:217;9858:470;9745:598;9154:1200;9117:1237;10364:12;10379:4;10364:19;;10399:18;:24;10418:4;10399:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10427:18;:22;10446:2;10427:22;;;;;;;;;;;;;;;;;;;;;;;;;10399:50;:64;;;;10453:10;;;;;;;;;;;10399:64;10396:111;;;10490:5;10480:15;;10396:111;10523:25;:31;10549:4;10523:31;;;;;;;;;;;;;;;;;;;;;;;;;10522:32;:66;;;;;10559:25;:29;10585:2;10559:29;;;;;;;;;;;;;;;;;;;;;;;;;10558:30;10522:66;10519:237;;;10609:20;;;;;;;;;;10605:140;;;10661:12;;10650:8;:23;;;;10605:140;;;10724:5;10714:15;;10605:140;10519:237;10776:38;10791:4;10796:2;10799:6;10806:7;10776:14;:38::i;:::-;8875:1947;8806:2016;;;:::o;1269:190::-;1355:7;1388:1;1383;:6;;1391:12;1375:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1415:9;1431:1;1427;:5;;;;:::i;:::-;1415:17;;1450:1;1443:8;;;1269:190;;;;;:::o;13626:242::-;13684:8;13698:10;;;;;;;;;;;:15;;13721:13;13732:1;13721:6;:10;;:13;;;;:::i;:::-;13698:41;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13683:56;;;13751:14;13771:16;;;;;;;;;;;:21;;13800:13;13811:1;13800:6;:10;;:13;;;;:::i;:::-;13771:47;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13750:68;;;13836:24;13845:3;13850:9;13836:24;;;;;;;:::i;:::-;;;;;;;;13672:196;;13626:242;:::o;7852:254::-;7919:7;7958;;7947;:18;;7939:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8023:19;8046:10;:8;:10::i;:::-;8023:33;;8074:24;8086:11;8074:7;:11;;:24;;;;:::i;:::-;8067:31;;;7852:254;;;:::o;21432:130::-;21549:5;21515:25;:31;21541:4;21515:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;21432:130;;:::o;13121:489::-;5751:4;5742:6;;:13;;;;;;;;;;;;;;;;;;13205:21:::1;13243:1;13229:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13205:40;;13274:4;13256;13261:1;13256:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13300:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13290:4;13295:1;13290:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;13333:62;13350:4;13365:15;;;;;;;;;;;13383:11;13333:8;:62::i;:::-;13406:15;;;;;;;;;;;:66;;;13487:11;13513:1;13529:4;13556;13576:15;13406:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13194:416;5787:5:::0;5778:6;;:14;;;;;;;;;;;;;;;;;;13121:489;:::o;11351:968::-;5751:4;5742:6;;:13;;;;;;;;;;;;;;;;;;11436:25:::1;11470:23;;11464:3;:29;;;;:::i;:::-;11436:57;;11504:23;11530:58;11584:3;11530:49;11555:23;;11530:20;:24;;:49;;;;:::i;:::-;:53;;:58;;;;:::i;:::-;11504:84;;11599:15;11617:22;11637:1;11617:15;:19;;:22;;;;:::i;:::-;11599:40;;11652:26;11681:33;11706:7;11681:20;:24;;:33;;;;:::i;:::-;11652:62;;11725:25;11753:21;11725:49;;11787:36;11804:18;11787:16;:36::i;:::-;11836:18;11857:44;11883:17;11857:21;:25;;:44;;;;:::i;:::-;11836:65;;11914:18;11935:42;11973:3;11935:33;11950:17;11935:10;:14;;:33;;;;:::i;:::-;:37;;:42;;;;:::i;:::-;11914:63;;11988:24;12001:10;11988:12;:24::i;:::-;12025:23;12064:10;12051;:23;;;;:::i;:::-;12025:49;;12101:1;12091:7;:11;:34;;;;;12124:1;12106:15;:19;12091:34;12087:225;;;12172:38;12185:7;12194:15;12172:12;:38::i;:::-;12232:68;12247:18;12267:15;12284;12232:68;;;;;;;;:::i;:::-;;;;;;;;12087:225;11425:894;;;;;;;;5787:5:::0;5778:6;;:14;;;;;;;;;;;;;;;;;;11351:968;:::o;12327:307::-;5751:4;5742:6;;:13;;;;;;;;;;;;;;;;;;12426:38:::1;12443:20;12426:16;:38::i;:::-;12477:26;12506:21;12477:50;;12562:1;12541:18;:22;12538:89;;;12580:35;12593:21;12580:12;:35::i;:::-;12538:89;12405:229;5787:5:::0;5778:6;;:14;;;;;;;;;;;;;;;;;;12327:307;:::o;13880:263::-;13992:7;13988:40;;14014:14;:12;:14::i;:::-;13988:40;14039:44;14057:6;14065:9;14076:6;14039:17;:44::i;:::-;14098:7;14094:41;;14120:15;:13;:15::i;:::-;14094:41;13880:263;;;;:::o;1720:132::-;1778:7;1805:39;1809:1;1812;1805:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1798:46;;1720:132;;;;:::o;15484:163::-;15525:7;15546:15;15563;15582:19;:17;:19::i;:::-;15545:56;;;;15619:20;15631:7;15619;:11;;:20;;;;:::i;:::-;15612:27;;;;15484:163;:::o;1467:245::-;1525:7;1553:1;1548;:6;1545:46;;;1578:1;1571:8;;;;1545:46;1601:9;1617:1;1613;:5;;;;:::i;:::-;1601:17;;1646:1;1641;1637;:5;;;;:::i;:::-;:10;1629:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1703:1;1696:8;;;1467:245;;;;;:::o;1125:136::-;1183:7;1210:43;1214:1;1217;1210:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1203:50;;1125:136;;;;:::o;12642:471::-;12708:21;12746:1;12732:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12708:40;;12777:4;12759;12764:1;12759:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;12803:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12793:4;12798:1;12793:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;12836:62;12853:4;12868:15;;;;;;;;;;;12886:11;12836:8;:62::i;:::-;12909:15;;;;;;;;;;;:66;;;12990:11;13016:1;13032:4;13059;13079:15;12909:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12697:416;12642:471;:::o;10830:513::-;10978:62;10995:4;11010:15;;;;;;;;;;;11028:11;10978:8;:62::i;:::-;11083:15;;;;;;;;;;;:31;;;11122:9;11155:4;11175:11;11201:1;11244;11287:7;:5;:7::i;:::-;11309:15;11083:252;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10830:513;;:::o;8114:210::-;8171:1;8160:7;;:12;:29;;;;;8188:1;8176:8;;:13;8160:29;8157:41;;;8191:7;;8157:41;8226:7;;8208:15;:25;;;;8263:8;;8244:16;:27;;;;8292:1;8282:7;:11;;;;8315:1;8304:8;:12;;;;8114:210;:::o;14151:490::-;14250:15;14267:23;14292:12;14306:23;14331:12;14345:13;14362:19;14373:7;14362:10;:19::i;:::-;14249:132;;;;;;;;;;;;14410:28;14430:7;14410;:15;14418:6;14410:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14392:7;:15;14400:6;14392:15;;;;;;;;;;;;;;;:46;;;;14470:39;14493:15;14470:7;:18;14478:9;14470:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14449:7;:18;14457:9;14449:18;;;;;;;;;;;;;;;:60;;;;14523:16;14533:5;14523:9;:16::i;:::-;14550:23;14562:4;14568;14550:11;:23::i;:::-;14606:9;14589:44;;14598:6;14589:44;;;14617:15;14589:44;;;;;;:::i;:::-;;;;;;;;14238:403;;;;;;14151:490;;;:::o;8336:115::-;8390:15;;8380:7;:25;;;;8427:16;;8416:8;:27;;;;8336:115::o;1860:189::-;1946:7;1978:1;1974;:5;1981:12;1966:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2005:9;2021:1;2017;:5;;;;:::i;:::-;2005:17;;2040:1;2033:8;;;1860:189;;;;;:::o;15655:255::-;15705:7;15714;15734:15;15752:7;;15734:25;;15770:15;4371:12;15770:25;;15819:20;4371:12;15819:7;;:11;;:20;;;;:::i;:::-;15809:7;:30;15806:60;;;15849:7;;4371:12;15841:25;;;;;;;;15806:60;15885:7;15894;15877:25;;;;;;15655:255;;;:::o;14649:468::-;14708:7;14717;14726;14735;14744;14753;14774:23;14799:12;14813:13;14830:39;14842:7;14851;;14860:8;;14830:11;:39::i;:::-;14773:96;;;;;;14880:19;14903:10;:8;:10::i;:::-;14880:33;;14925:15;14942:23;14967:12;14983:46;14995:7;15004:4;15010:5;15017:11;14983;:46::i;:::-;14924:105;;;;;;15048:7;15057:15;15074:4;15080:15;15097:4;15103:5;15040:69;;;;;;;;;;;;;;;;;;;14649:468;;;;;;;:::o;938:179::-;996:7;1016:9;1032:1;1028;:5;;;;:::i;:::-;1016:17;;1057:1;1052;:6;;1044:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1108:1;1101:8;;;938:179;;;;:::o;16335:214::-;16388:19;16411:10;:8;:10::i;:::-;16388:33;;16432:13;16448:22;16458:11;16448:5;:9;;:22;;;;:::i;:::-;16432:38;;16508:33;16535:5;16508:7;:22;16524:4;16508:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;16483:7;:22;16499:4;16483:22;;;;;;;;;;;;;;;:58;;;;16377:172;;16335:214;:::o;16557:147::-;16635:17;16647:4;16635:7;;:11;;:17;;;;:::i;:::-;16625:7;:27;;;;16676:20;16691:4;16676:10;;:14;;:20;;;;:::i;:::-;16663:10;:33;;;;16557:147;;:::o;15125:351::-;15218:7;15227;15236;15256:12;15271:28;15295:3;15271:19;15283:6;15271:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15256:43;;15310:13;15326:29;15351:3;15326:20;15338:7;15326;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15310:45;;15366:23;15392:28;15414:5;15392:17;15404:4;15392:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15366:54;;15439:15;15456:4;15462:5;15431:37;;;;;;;;;15125:351;;;;;;;:::o;15918:409::-;16028:7;16037;16046;16066:15;16084:24;16096:11;16084:7;:11;;:24;;;;:::i;:::-;16066:42;;16119:12;16134:21;16143:11;16134:4;:8;;:21;;;;:::i;:::-;16119:36;;16166:13;16182:22;16192:11;16182:5;:9;;:22;;;;:::i;:::-;16166:38;;16215:23;16241:28;16263:5;16241:17;16253:4;16241:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16215:54;;16288:7;16297:15;16314:4;16280:39;;;;;;;;;;15918:409;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:155::-;355:5;393:6;380:20;371:29;;409:41;444:5;409:41;:::i;:::-;361:95;;;;:::o;479:568::-;552:8;562:6;612:3;605:4;597:6;593:17;589:27;579:2;;620:79;;:::i;:::-;579:2;733:6;720:20;710:30;;763:18;755:6;752:30;749:2;;;785:79;;:::i;:::-;749:2;899:4;891:6;887:17;875:29;;953:3;945:4;937:6;933:17;923:8;919:32;916:41;913:2;;;960:79;;:::i;:::-;913:2;569:478;;;;;:::o;1053:133::-;1096:5;1134:6;1121:20;1112:29;;1150:30;1174:5;1150:30;:::i;:::-;1102:84;;;;:::o;1192:137::-;1246:5;1277:6;1271:13;1262:22;;1293:30;1317:5;1293:30;:::i;:::-;1252:77;;;;:::o;1335:139::-;1381:5;1419:6;1406:20;1397:29;;1435:33;1462:5;1435:33;:::i;:::-;1387:87;;;;:::o;1480:143::-;1537:5;1568:6;1562:13;1553:22;;1584:33;1611:5;1584:33;:::i;:::-;1543:80;;;;:::o;1629:329::-;1688:6;1737:2;1725:9;1716:7;1712:23;1708:32;1705:2;;;1743:79;;:::i;:::-;1705:2;1863:1;1888:53;1933:7;1924:6;1913:9;1909:22;1888:53;:::i;:::-;1878:63;;1834:117;1695:263;;;;:::o;1964:351::-;2034:6;2083:2;2071:9;2062:7;2058:23;2054:32;2051:2;;;2089:79;;:::i;:::-;2051:2;2209:1;2234:64;2290:7;2281:6;2270:9;2266:22;2234:64;:::i;:::-;2224:74;;2180:128;2041:274;;;;:::o;2321:345::-;2388:6;2437:2;2425:9;2416:7;2412:23;2408:32;2405:2;;;2443:79;;:::i;:::-;2405:2;2563:1;2588:61;2641:7;2632:6;2621:9;2617:22;2588:61;:::i;:::-;2578:71;;2534:125;2395:271;;;;:::o;2672:474::-;2740:6;2748;2797:2;2785:9;2776:7;2772:23;2768:32;2765:2;;;2803:79;;:::i;:::-;2765:2;2923:1;2948:53;2993:7;2984:6;2973:9;2969:22;2948:53;:::i;:::-;2938:63;;2894:117;3050:2;3076:53;3121:7;3112:6;3101:9;3097:22;3076:53;:::i;:::-;3066:63;;3021:118;2755:391;;;;;:::o;3152:619::-;3229:6;3237;3245;3294:2;3282:9;3273:7;3269:23;3265:32;3262:2;;;3300:79;;:::i;:::-;3262:2;3420:1;3445:53;3490:7;3481:6;3470:9;3466:22;3445:53;:::i;:::-;3435:63;;3391:117;3547:2;3573:53;3618:7;3609:6;3598:9;3594:22;3573:53;:::i;:::-;3563:63;;3518:118;3675:2;3701:53;3746:7;3737:6;3726:9;3722:22;3701:53;:::i;:::-;3691:63;;3646:118;3252:519;;;;;:::o;3777:468::-;3842:6;3850;3899:2;3887:9;3878:7;3874:23;3870:32;3867:2;;;3905:79;;:::i;:::-;3867:2;4025:1;4050:53;4095:7;4086:6;4075:9;4071:22;4050:53;:::i;:::-;4040:63;;3996:117;4152:2;4178:50;4220:7;4211:6;4200:9;4196:22;4178:50;:::i;:::-;4168:60;;4123:115;3857:388;;;;;:::o;4251:474::-;4319:6;4327;4376:2;4364:9;4355:7;4351:23;4347:32;4344:2;;;4382:79;;:::i;:::-;4344:2;4502:1;4527:53;4572:7;4563:6;4552:9;4548:22;4527:53;:::i;:::-;4517:63;;4473:117;4629:2;4655:53;4700:7;4691:6;4680:9;4676:22;4655:53;:::i;:::-;4645:63;;4600:118;4334:391;;;;;:::o;4731:559::-;4817:6;4825;4874:2;4862:9;4853:7;4849:23;4845:32;4842:2;;;4880:79;;:::i;:::-;4842:2;5028:1;5017:9;5013:17;5000:31;5058:18;5050:6;5047:30;5044:2;;;5080:79;;:::i;:::-;5044:2;5193:80;5265:7;5256:6;5245:9;5241:22;5193:80;:::i;:::-;5175:98;;;;4971:312;4832:458;;;;;:::o;5296:698::-;5388:6;5396;5404;5453:2;5441:9;5432:7;5428:23;5424:32;5421:2;;;5459:79;;:::i;:::-;5421:2;5607:1;5596:9;5592:17;5579:31;5637:18;5629:6;5626:30;5623:2;;;5659:79;;:::i;:::-;5623:2;5772:80;5844:7;5835:6;5824:9;5820:22;5772:80;:::i;:::-;5754:98;;;;5550:312;5901:2;5927:50;5969:7;5960:6;5949:9;5945:22;5927:50;:::i;:::-;5917:60;;5872:115;5411:583;;;;;:::o;6000:323::-;6056:6;6105:2;6093:9;6084:7;6080:23;6076:32;6073:2;;;6111:79;;:::i;:::-;6073:2;6231:1;6256:50;6298:7;6289:6;6278:9;6274:22;6256:50;:::i;:::-;6246:60;;6202:114;6063:260;;;;:::o;6329:345::-;6396:6;6445:2;6433:9;6424:7;6420:23;6416:32;6413:2;;;6451:79;;:::i;:::-;6413:2;6571:1;6596:61;6649:7;6640:6;6629:9;6625:22;6596:61;:::i;:::-;6586:71;;6542:125;6403:271;;;;:::o;6680:329::-;6739:6;6788:2;6776:9;6767:7;6763:23;6759:32;6756:2;;;6794:79;;:::i;:::-;6756:2;6914:1;6939:53;6984:7;6975:6;6964:9;6960:22;6939:53;:::i;:::-;6929:63;;6885:117;6746:263;;;;:::o;7015:663::-;7103:6;7111;7119;7168:2;7156:9;7147:7;7143:23;7139:32;7136:2;;;7174:79;;:::i;:::-;7136:2;7294:1;7319:64;7375:7;7366:6;7355:9;7351:22;7319:64;:::i;:::-;7309:74;;7265:128;7432:2;7458:64;7514:7;7505:6;7494:9;7490:22;7458:64;:::i;:::-;7448:74;;7403:129;7571:2;7597:64;7653:7;7644:6;7633:9;7629:22;7597:64;:::i;:::-;7587:74;;7542:129;7126:552;;;;;:::o;7684:179::-;7753:10;7774:46;7816:3;7808:6;7774:46;:::i;:::-;7852:4;7847:3;7843:14;7829:28;;7764:99;;;;:::o;7869:108::-;7946:24;7964:5;7946:24;:::i;:::-;7941:3;7934:37;7924:53;;:::o;7983:118::-;8070:24;8088:5;8070:24;:::i;:::-;8065:3;8058:37;8048:53;;:::o;8137:732::-;8256:3;8285:54;8333:5;8285:54;:::i;:::-;8355:86;8434:6;8429:3;8355:86;:::i;:::-;8348:93;;8465:56;8515:5;8465:56;:::i;:::-;8544:7;8575:1;8560:284;8585:6;8582:1;8579:13;8560:284;;;8661:6;8655:13;8688:63;8747:3;8732:13;8688:63;:::i;:::-;8681:70;;8774:60;8827:6;8774:60;:::i;:::-;8764:70;;8620:224;8607:1;8604;8600:9;8595:14;;8560:284;;;8564:14;8860:3;8853:10;;8261:608;;;;;;;:::o;8875:109::-;8956:21;8971:5;8956:21;:::i;:::-;8951:3;8944:34;8934:50;;:::o;8990:147::-;9085:45;9124:5;9085:45;:::i;:::-;9080:3;9073:58;9063:74;;:::o;9143:364::-;9231:3;9259:39;9292:5;9259:39;:::i;:::-;9314:71;9378:6;9373:3;9314:71;:::i;:::-;9307:78;;9394:52;9439:6;9434:3;9427:4;9420:5;9416:16;9394:52;:::i;:::-;9471:29;9493:6;9471:29;:::i;:::-;9466:3;9462:39;9455:46;;9235:272;;;;;:::o;9513:366::-;9655:3;9676:67;9740:2;9735:3;9676:67;:::i;:::-;9669:74;;9752:93;9841:3;9752:93;:::i;:::-;9870:2;9865:3;9861:12;9854:19;;9659:220;;;:::o;9885:366::-;10027:3;10048:67;10112:2;10107:3;10048:67;:::i;:::-;10041:74;;10124:93;10213:3;10124:93;:::i;:::-;10242:2;10237:3;10233:12;10226:19;;10031:220;;;:::o;10257:366::-;10399:3;10420:67;10484:2;10479:3;10420:67;:::i;:::-;10413:74;;10496:93;10585:3;10496:93;:::i;:::-;10614:2;10609:3;10605:12;10598:19;;10403:220;;;:::o;10629:366::-;10771:3;10792:67;10856:2;10851:3;10792:67;:::i;:::-;10785:74;;10868:93;10957:3;10868:93;:::i;:::-;10986:2;10981:3;10977:12;10970:19;;10775:220;;;:::o;11001:366::-;11143:3;11164:67;11228:2;11223:3;11164:67;:::i;:::-;11157:74;;11240:93;11329:3;11240:93;:::i;:::-;11358:2;11353:3;11349:12;11342:19;;11147:220;;;:::o;11373:366::-;11515:3;11536:67;11600:2;11595:3;11536:67;:::i;:::-;11529:74;;11612:93;11701:3;11612:93;:::i;:::-;11730:2;11725:3;11721:12;11714:19;;11519:220;;;:::o;11745:366::-;11887:3;11908:67;11972:2;11967:3;11908:67;:::i;:::-;11901:74;;11984:93;12073:3;11984:93;:::i;:::-;12102:2;12097:3;12093:12;12086:19;;11891:220;;;:::o;12117:366::-;12259:3;12280:67;12344:2;12339:3;12280:67;:::i;:::-;12273:74;;12356:93;12445:3;12356:93;:::i;:::-;12474:2;12469:3;12465:12;12458:19;;12263:220;;;:::o;12489:366::-;12631:3;12652:67;12716:2;12711:3;12652:67;:::i;:::-;12645:74;;12728:93;12817:3;12728:93;:::i;:::-;12846:2;12841:3;12837:12;12830:19;;12635:220;;;:::o;12861:366::-;13003:3;13024:67;13088:2;13083:3;13024:67;:::i;:::-;13017:74;;13100:93;13189:3;13100:93;:::i;:::-;13218:2;13213:3;13209:12;13202:19;;13007:220;;;:::o;13233:366::-;13375:3;13396:67;13460:2;13455:3;13396:67;:::i;:::-;13389:74;;13472:93;13561:3;13472:93;:::i;:::-;13590:2;13585:3;13581:12;13574:19;;13379:220;;;:::o;13605:366::-;13747:3;13768:67;13832:2;13827:3;13768:67;:::i;:::-;13761:74;;13844:93;13933:3;13844:93;:::i;:::-;13962:2;13957:3;13953:12;13946:19;;13751:220;;;:::o;13977:366::-;14119:3;14140:67;14204:2;14199:3;14140:67;:::i;:::-;14133:74;;14216:93;14305:3;14216:93;:::i;:::-;14334:2;14329:3;14325:12;14318:19;;14123:220;;;:::o;14349:366::-;14491:3;14512:67;14576:2;14571:3;14512:67;:::i;:::-;14505:74;;14588:93;14677:3;14588:93;:::i;:::-;14706:2;14701:3;14697:12;14690:19;;14495:220;;;:::o;14721:398::-;14880:3;14901:83;14982:1;14977:3;14901:83;:::i;:::-;14894:90;;14993:93;15082:3;14993:93;:::i;:::-;15111:1;15106:3;15102:11;15095:18;;14884:235;;;:::o;15125:366::-;15267:3;15288:67;15352:2;15347:3;15288:67;:::i;:::-;15281:74;;15364:93;15453:3;15364:93;:::i;:::-;15482:2;15477:3;15473:12;15466:19;;15271:220;;;:::o;15497:366::-;15639:3;15660:67;15724:2;15719:3;15660:67;:::i;:::-;15653:74;;15736:93;15825:3;15736:93;:::i;:::-;15854:2;15849:3;15845:12;15838:19;;15643:220;;;:::o;15869:366::-;16011:3;16032:67;16096:2;16091:3;16032:67;:::i;:::-;16025:74;;16108:93;16197:3;16108:93;:::i;:::-;16226:2;16221:3;16217:12;16210:19;;16015:220;;;:::o;16241:366::-;16383:3;16404:67;16468:2;16463:3;16404:67;:::i;:::-;16397:74;;16480:93;16569:3;16480:93;:::i;:::-;16598:2;16593:3;16589:12;16582:19;;16387:220;;;:::o;16613:118::-;16700:24;16718:5;16700:24;:::i;:::-;16695:3;16688:37;16678:53;;:::o;16737:112::-;16820:22;16836:5;16820:22;:::i;:::-;16815:3;16808:35;16798:51;;:::o;16855:379::-;17039:3;17061:147;17204:3;17061:147;:::i;:::-;17054:154;;17225:3;17218:10;;17043:191;;;:::o;17240:222::-;17333:4;17371:2;17360:9;17356:18;17348:26;;17384:71;17452:1;17441:9;17437:17;17428:6;17384:71;:::i;:::-;17338:124;;;;:::o;17468:332::-;17589:4;17627:2;17616:9;17612:18;17604:26;;17640:71;17708:1;17697:9;17693:17;17684:6;17640:71;:::i;:::-;17721:72;17789:2;17778:9;17774:18;17765:6;17721:72;:::i;:::-;17594:206;;;;;:::o;17806:332::-;17927:4;17965:2;17954:9;17950:18;17942:26;;17978:71;18046:1;18035:9;18031:17;18022:6;17978:71;:::i;:::-;18059:72;18127:2;18116:9;18112:18;18103:6;18059:72;:::i;:::-;17932:206;;;;;:::o;18144:807::-;18393:4;18431:3;18420:9;18416:19;18408:27;;18445:71;18513:1;18502:9;18498:17;18489:6;18445:71;:::i;:::-;18526:72;18594:2;18583:9;18579:18;18570:6;18526:72;:::i;:::-;18608:80;18684:2;18673:9;18669:18;18660:6;18608:80;:::i;:::-;18698;18774:2;18763:9;18759:18;18750:6;18698:80;:::i;:::-;18788:73;18856:3;18845:9;18841:19;18832:6;18788:73;:::i;:::-;18871;18939:3;18928:9;18924:19;18915:6;18871:73;:::i;:::-;18398:553;;;;;;;;;:::o;18957:210::-;19044:4;19082:2;19071:9;19067:18;19059:26;;19095:65;19157:1;19146:9;19142:17;19133:6;19095:65;:::i;:::-;19049:118;;;;:::o;19173:308::-;19282:4;19320:2;19309:9;19305:18;19297:26;;19333:65;19395:1;19384:9;19380:17;19371:6;19333:65;:::i;:::-;19408:66;19470:2;19459:9;19455:18;19446:6;19408:66;:::i;:::-;19287:194;;;;;:::o;19487:313::-;19600:4;19638:2;19627:9;19623:18;19615:26;;19687:9;19681:4;19677:20;19673:1;19662:9;19658:17;19651:47;19715:78;19788:4;19779:6;19715:78;:::i;:::-;19707:86;;19605:195;;;;:::o;19806:419::-;19972:4;20010:2;19999:9;19995:18;19987:26;;20059:9;20053:4;20049:20;20045:1;20034:9;20030:17;20023:47;20087:131;20213:4;20087:131;:::i;:::-;20079:139;;19977:248;;;:::o;20231:419::-;20397:4;20435:2;20424:9;20420:18;20412:26;;20484:9;20478:4;20474:20;20470:1;20459:9;20455:17;20448:47;20512:131;20638:4;20512:131;:::i;:::-;20504:139;;20402:248;;;:::o;20656:419::-;20822:4;20860:2;20849:9;20845:18;20837:26;;20909:9;20903:4;20899:20;20895:1;20884:9;20880:17;20873:47;20937:131;21063:4;20937:131;:::i;:::-;20929:139;;20827:248;;;:::o;21081:419::-;21247:4;21285:2;21274:9;21270:18;21262:26;;21334:9;21328:4;21324:20;21320:1;21309:9;21305:17;21298:47;21362:131;21488:4;21362:131;:::i;:::-;21354:139;;21252:248;;;:::o;21506:419::-;21672:4;21710:2;21699:9;21695:18;21687:26;;21759:9;21753:4;21749:20;21745:1;21734:9;21730:17;21723:47;21787:131;21913:4;21787:131;:::i;:::-;21779:139;;21677:248;;;:::o;21931:419::-;22097:4;22135:2;22124:9;22120:18;22112:26;;22184:9;22178:4;22174:20;22170:1;22159:9;22155:17;22148:47;22212:131;22338:4;22212:131;:::i;:::-;22204:139;;22102:248;;;:::o;22356:419::-;22522:4;22560:2;22549:9;22545:18;22537:26;;22609:9;22603:4;22599:20;22595:1;22584:9;22580:17;22573:47;22637:131;22763:4;22637:131;:::i;:::-;22629:139;;22527:248;;;:::o;22781:419::-;22947:4;22985:2;22974:9;22970:18;22962:26;;23034:9;23028:4;23024:20;23020:1;23009:9;23005:17;22998:47;23062:131;23188:4;23062:131;:::i;:::-;23054:139;;22952:248;;;:::o;23206:419::-;23372:4;23410:2;23399:9;23395:18;23387:26;;23459:9;23453:4;23449:20;23445:1;23434:9;23430:17;23423:47;23487:131;23613:4;23487:131;:::i;:::-;23479:139;;23377:248;;;:::o;23631:419::-;23797:4;23835:2;23824:9;23820:18;23812:26;;23884:9;23878:4;23874:20;23870:1;23859:9;23855:17;23848:47;23912:131;24038:4;23912:131;:::i;:::-;23904:139;;23802:248;;;:::o;24056:419::-;24222:4;24260:2;24249:9;24245:18;24237:26;;24309:9;24303:4;24299:20;24295:1;24284:9;24280:17;24273:47;24337:131;24463:4;24337:131;:::i;:::-;24329:139;;24227:248;;;:::o;24481:419::-;24647:4;24685:2;24674:9;24670:18;24662:26;;24734:9;24728:4;24724:20;24720:1;24709:9;24705:17;24698:47;24762:131;24888:4;24762:131;:::i;:::-;24754:139;;24652:248;;;:::o;24906:419::-;25072:4;25110:2;25099:9;25095:18;25087:26;;25159:9;25153:4;25149:20;25145:1;25134:9;25130:17;25123:47;25187:131;25313:4;25187:131;:::i;:::-;25179:139;;25077:248;;;:::o;25331:419::-;25497:4;25535:2;25524:9;25520:18;25512:26;;25584:9;25578:4;25574:20;25570:1;25559:9;25555:17;25548:47;25612:131;25738:4;25612:131;:::i;:::-;25604:139;;25502:248;;;:::o;25756:419::-;25922:4;25960:2;25949:9;25945:18;25937:26;;26009:9;26003:4;25999:20;25995:1;25984:9;25980:17;25973:47;26037:131;26163:4;26037:131;:::i;:::-;26029:139;;25927:248;;;:::o;26181:419::-;26347:4;26385:2;26374:9;26370:18;26362:26;;26434:9;26428:4;26424:20;26420:1;26409:9;26405:17;26398:47;26462:131;26588:4;26462:131;:::i;:::-;26454:139;;26352:248;;;:::o;26606:419::-;26772:4;26810:2;26799:9;26795:18;26787:26;;26859:9;26853:4;26849:20;26845:1;26834:9;26830:17;26823:47;26887:131;27013:4;26887:131;:::i;:::-;26879:139;;26777:248;;;:::o;27031:419::-;27197:4;27235:2;27224:9;27220:18;27212:26;;27284:9;27278:4;27274:20;27270:1;27259:9;27255:17;27248:47;27312:131;27438:4;27312:131;:::i;:::-;27304:139;;27202:248;;;:::o;27456:222::-;27549:4;27587:2;27576:9;27572:18;27564:26;;27600:71;27668:1;27657:9;27653:17;27644:6;27600:71;:::i;:::-;27554:124;;;;:::o;27684:831::-;27947:4;27985:3;27974:9;27970:19;27962:27;;27999:71;28067:1;28056:9;28052:17;28043:6;27999:71;:::i;:::-;28080:80;28156:2;28145:9;28141:18;28132:6;28080:80;:::i;:::-;28207:9;28201:4;28197:20;28192:2;28181:9;28177:18;28170:48;28235:108;28338:4;28329:6;28235:108;:::i;:::-;28227:116;;28353:72;28421:2;28410:9;28406:18;28397:6;28353:72;:::i;:::-;28435:73;28503:3;28492:9;28488:19;28479:6;28435:73;:::i;:::-;27952:563;;;;;;;;:::o;28521:442::-;28670:4;28708:2;28697:9;28693:18;28685:26;;28721:71;28789:1;28778:9;28774:17;28765:6;28721:71;:::i;:::-;28802:72;28870:2;28859:9;28855:18;28846:6;28802:72;:::i;:::-;28884;28952:2;28941:9;28937:18;28928:6;28884:72;:::i;:::-;28675:288;;;;;;:::o;28969:214::-;29058:4;29096:2;29085:9;29081:18;29073:26;;29109:67;29173:1;29162:9;29158:17;29149:6;29109:67;:::i;:::-;29063:120;;;;:::o;29270:132::-;29337:4;29360:3;29352:11;;29390:4;29385:3;29381:14;29373:22;;29342:60;;;:::o;29408:114::-;29475:6;29509:5;29503:12;29493:22;;29482:40;;;:::o;29528:99::-;29580:6;29614:5;29608:12;29598:22;;29587:40;;;:::o;29633:113::-;29703:4;29735;29730:3;29726:14;29718:22;;29708:38;;;:::o;29752:184::-;29851:11;29885:6;29880:3;29873:19;29925:4;29920:3;29916:14;29901:29;;29863:73;;;;:::o;29942:147::-;30043:11;30080:3;30065:18;;30055:34;;;;:::o;30095:169::-;30179:11;30213:6;30208:3;30201:19;30253:4;30248:3;30244:14;30229:29;;30191:73;;;;:::o;30270:305::-;30310:3;30329:20;30347:1;30329:20;:::i;:::-;30324:25;;30363:20;30381:1;30363:20;:::i;:::-;30358:25;;30517:1;30449:66;30445:74;30442:1;30439:81;30436:2;;;30523:18;;:::i;:::-;30436:2;30567:1;30564;30560:9;30553:16;;30314:261;;;;:::o;30581:185::-;30621:1;30638:20;30656:1;30638:20;:::i;:::-;30633:25;;30672:20;30690:1;30672:20;:::i;:::-;30667:25;;30711:1;30701:2;;30716:18;;:::i;:::-;30701:2;30758:1;30755;30751:9;30746:14;;30623:143;;;;:::o;30772:348::-;30812:7;30835:20;30853:1;30835:20;:::i;:::-;30830:25;;30869:20;30887:1;30869:20;:::i;:::-;30864:25;;31057:1;30989:66;30985:74;30982:1;30979:81;30974:1;30967:9;30960:17;30956:105;30953:2;;;31064:18;;:::i;:::-;30953:2;31112:1;31109;31105:9;31094:20;;30820:300;;;;:::o;31126:191::-;31166:4;31186:20;31204:1;31186:20;:::i;:::-;31181:25;;31220:20;31238:1;31220:20;:::i;:::-;31215:25;;31259:1;31256;31253:8;31250:2;;;31264:18;;:::i;:::-;31250:2;31309:1;31306;31302:9;31294:17;;31171:146;;;;:::o;31323:96::-;31360:7;31389:24;31407:5;31389:24;:::i;:::-;31378:35;;31368:51;;;:::o;31425:104::-;31470:7;31499:24;31517:5;31499:24;:::i;:::-;31488:35;;31478:51;;;:::o;31535:90::-;31569:7;31612:5;31605:13;31598:21;31587:32;;31577:48;;;:::o;31631:126::-;31668:7;31708:42;31701:5;31697:54;31686:65;;31676:81;;;:::o;31763:77::-;31800:7;31829:5;31818:16;;31808:32;;;:::o;31846:86::-;31881:7;31921:4;31914:5;31910:16;31899:27;;31889:43;;;:::o;31938:121::-;31996:9;32029:24;32047:5;32029:24;:::i;:::-;32016:37;;32006:53;;;:::o;32065:307::-;32133:1;32143:113;32157:6;32154:1;32151:13;32143:113;;;32242:1;32237:3;32233:11;32227:18;32223:1;32218:3;32214:11;32207:39;32179:2;32176:1;32172:10;32167:15;;32143:113;;;32274:6;32271:1;32268:13;32265:2;;;32354:1;32345:6;32340:3;32336:16;32329:27;32265:2;32114:258;;;;:::o;32378:233::-;32417:3;32440:24;32458:5;32440:24;:::i;:::-;32431:33;;32486:66;32479:5;32476:77;32473:2;;;32556:18;;:::i;:::-;32473:2;32603:1;32596:5;32592:13;32585:20;;32421:190;;;:::o;32617:180::-;32665:77;32662:1;32655:88;32762:4;32759:1;32752:15;32786:4;32783:1;32776:15;32803:180;32851:77;32848:1;32841:88;32948:4;32945:1;32938:15;32972:4;32969:1;32962:15;32989:180;33037:77;33034:1;33027:88;33134:4;33131:1;33124:15;33158:4;33155:1;33148:15;33175:180;33223:77;33220:1;33213:88;33320:4;33317:1;33310:15;33344:4;33341:1;33334:15;33361:117;33470:1;33467;33460:12;33484:117;33593:1;33590;33583:12;33607:117;33716:1;33713;33706:12;33730:117;33839:1;33836;33829:12;33853:117;33962:1;33959;33952:12;33976:102;34017:6;34068:2;34064:7;34059:2;34052:5;34048:14;34044:28;34034:38;;34024:54;;;:::o;34084:222::-;34224:34;34220:1;34212:6;34208:14;34201:58;34293:5;34288:2;34280:6;34276:15;34269:30;34190:116;:::o;34312:178::-;34452:30;34448:1;34440:6;34436:14;34429:54;34418:72;:::o;34496:229::-;34636:34;34632:1;34624:6;34620:14;34613:58;34705:12;34700:2;34692:6;34688:15;34681:37;34602:123;:::o;34731:221::-;34871:34;34867:1;34859:6;34855:14;34848:58;34940:4;34935:2;34927:6;34923:15;34916:29;34837:115;:::o;34958:177::-;35098:29;35094:1;35086:6;35082:14;35075:53;35064:71;:::o;35141:244::-;35281:34;35277:1;35269:6;35265:14;35258:58;35350:27;35345:2;35337:6;35333:15;35326:52;35247:138;:::o;35391:173::-;35531:25;35527:1;35519:6;35515:14;35508:49;35497:67;:::o;35570:236::-;35710:34;35706:1;35698:6;35694:14;35687:58;35779:19;35774:2;35766:6;35762:15;35755:44;35676:130;:::o;35812:220::-;35952:34;35948:1;35940:6;35936:14;35929:58;36021:3;36016:2;36008:6;36004:15;35997:28;35918:114;:::o;36038:182::-;36178:34;36174:1;36166:6;36162:14;36155:58;36144:76;:::o;36226:228::-;36366:34;36362:1;36354:6;36350:14;36343:58;36435:11;36430:2;36422:6;36418:15;36411:36;36332:122;:::o;36460:220::-;36600:34;36596:1;36588:6;36584:14;36577:58;36669:3;36664:2;36656:6;36652:15;36645:28;36566:114;:::o;36686:224::-;36826:34;36822:1;36814:6;36810:14;36803:58;36895:7;36890:2;36882:6;36878:15;36871:32;36792:118;:::o;36916:222::-;37056:34;37052:1;37044:6;37040:14;37033:58;37125:5;37120:2;37112:6;37108:15;37101:30;37022:116;:::o;37144:114::-;37250:8;:::o;37264:223::-;37404:34;37400:1;37392:6;37388:14;37381:58;37473:6;37468:2;37460:6;37456:15;37449:31;37370:117;:::o;37493:173::-;37633:25;37629:1;37621:6;37617:14;37610:49;37599:67;:::o;37672:179::-;37812:31;37808:1;37800:6;37796:14;37789:55;37778:73;:::o;37857:174::-;37997:26;37993:1;37985:6;37981:14;37974:50;37963:68;:::o;38037:122::-;38110:24;38128:5;38110:24;:::i;:::-;38103:5;38100:35;38090:2;;38149:1;38146;38139:12;38090:2;38080:79;:::o;38165:138::-;38246:32;38272:5;38246:32;:::i;:::-;38239:5;38236:43;38226:2;;38293:1;38290;38283:12;38226:2;38216:87;:::o;38309:116::-;38379:21;38394:5;38379:21;:::i;:::-;38372:5;38369:32;38359:2;;38415:1;38412;38405:12;38359:2;38349:76;:::o;38431:122::-;38504:24;38522:5;38504:24;:::i;:::-;38497:5;38494:35;38484:2;;38543:1;38540;38533:12;38484:2;38474:79;:::o

Swarm Source

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