ETH Price: $3,400.63 (-1.09%)
Gas: 8 Gwei

Token

miniHarryPotterObamaSonic10inu (miniBITCOIN)
 

Overview

Max Total Supply

1,000,000 miniBITCOIN

Holders

99

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
glugtouchedme.eth
Balance
1,763.240620208 miniBITCOIN

Value
$0.00
0x0bea4dbbb144b533713ed61a55e6b86ce3b4668d
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:
mini

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
/**
GM, I see you've learned to read ca? 
Do you think you can make money reading ca? 
Listen to your heart, not your brain. You will make it. 
Trust me anon. 


██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
█░░░░░░██████████░░░░░░█░░░░░░░░░░█░░░░░░██████████░░░░░░█░░░░░░░░░░█░░░░░░██░░░░░░█░░░░░░░░░░░░░░█░░░░░░░░░░░░░░█░░░░░░░░░░░░░░█░░░░░░░░███░░░░░░░░░░░░░░█░░░░░░░░░░█
█░░▄▀░░░░░░░░░░░░░░▄▀░░█░░▄▀▄▀▄▀░░█░░▄▀░░░░░░░░░░██░░▄▀░░█░░▄▀▄▀▄▀░░█░░▄▀░░██░░▄▀░░█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀▄▀░░███░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀▄▀▄▀░░█
█░░▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀░░█░░░░▄▀░░░░█░░▄▀▄▀▄▀▄▀▄▀░░██░░▄▀░░█░░░░▄▀░░░░█░░▄▀░░██░░▄▀░░█░░▄▀░░░░░░▄▀░░█░░▄▀░░░░░░▄▀░░█░░▄▀░░░░░░░░░░█░░░░▄▀░░███░░▄▀░░░░░░▄▀░░█░░░░▄▀░░░░█
█░░▄▀░░░░░░▄▀░░░░░░▄▀░░███░░▄▀░░███░░▄▀░░░░░░▄▀░░██░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░█░░▄▀░░██░░▄▀░░█░░▄▀░░██░░▄▀░░█░░▄▀░░███████████░░▄▀░░███░░▄▀░░██░░▄▀░░███░░▄▀░░███
█░░▄▀░░██░░▄▀░░██░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░██░░▄▀░░███░░▄▀░░███░░▄▀░░░░░░▄▀░░█░░▄▀░░░░░░▄▀░░█░░▄▀░░██░░▄▀░░█░░▄▀░░░░░░░░░░███░░▄▀░░███░░▄▀░░██░░▄▀░░███░░▄▀░░███
█░░▄▀░░██░░▄▀░░██░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░██░░▄▀░░███░░▄▀░░███░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀░░██░░▄▀░░█░░▄▀▄▀▄▀▄▀▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░███░░▄▀░░███
█░░▄▀░░██░░░░░░██░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░██░░▄▀░░███░░▄▀░░███░░▄▀░░░░░░▄▀░░█░░▄▀░░░░░░░░░░█░░▄▀░░██░░▄▀░░█░░░░░░░░░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░███░░▄▀░░███
█░░▄▀░░██████████░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░░░░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░█░░▄▀░░█████████░░▄▀░░██░░▄▀░░█████████░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░███░░▄▀░░███
█░░▄▀░░██████████░░▄▀░░█░░░░▄▀░░░░█░░▄▀░░██░░▄▀▄▀▄▀▄▀▄▀░░█░░░░▄▀░░░░█░░▄▀░░██░░▄▀░░█░░▄▀░░█████████░░▄▀░░░░░░▄▀░░█░░░░░░░░░░▄▀░░█░░░░▄▀░░░░█░░▄▀░░░░░░▄▀░░█░░░░▄▀░░░░█
█░░▄▀░░██████████░░▄▀░░█░░▄▀▄▀▄▀░░█░░▄▀░░██░░░░░░░░░░▄▀░░█░░▄▀▄▀▄▀░░█░░▄▀░░██░░▄▀░░█░░▄▀░░█████████░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀▄▀▄▀░░█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀▄▀▄▀░░█
█░░░░░░██████████░░░░░░█░░░░░░░░░░█░░░░░░██████████░░░░░░█░░░░░░░░░░█░░░░░░██░░░░░░█░░░░░░█████████░░░░░░░░░░░░░░█░░░░░░░░░░░░░░█░░░░░░░░░░█░░░░░░░░░░░░░░█░░░░░░░░░░█
██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████

https://x.com/minihpos10i
https://t.me/minihpos10i
https://minihpos10i.com/


**/

pragma solidity 0.8.19;

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

interface 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 WETH() external pure returns (address);
    function factory() 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);
}

abstract contract Auth {
    address internal _owner;
    constructor(address creatorOwner) { 
        _owner = creatorOwner; 
    }
    modifier onlyOwner() { 
        require(msg.sender == _owner, "Owner"); 
        _; 
    }
    function owner() public view returns (address) { 
        return _owner; 
    }
    function transferOwnership(address payable newOwner) external onlyOwner { 
        _owner = newOwner; 
        emit OwnershipTransferred(newOwner); 
    }
    function renounceOwnership() external onlyOwner { 
        _owner = address(0); 
        emit OwnershipTransferred(address(0)); 
    }
    event OwnershipTransferred(address _owner);
}

contract mini is IERC20, Auth {
    uint8 private constant _decimals      = 9;
    uint256 private constant _totalSupply = 1_000_000 * (10**_decimals);
    string private constant _name         = "miniHarryPotterObamaSonic10inu";
    string private  constant _symbol       = "miniBITCOIN";

    uint8 private InitialTax1 = 2;
    uint8 private InitialTax2 = 1;
    uint8 private _buyRates  = 0;
    uint8 private _sellRates = 0;
    
    uint256 private _launchBlock;
    uint256 private _maxTxAmount     = _totalSupply; 
    uint256 private _maxWalletAmount = _totalSupply;
    uint256 private _taxSwapMin = _totalSupply * 10 / 100000;
    uint256 private _taxSwapMax = _totalSupply * 500 / 100000;
    uint256 private _swapLimit = _taxSwapMin * 63 * 100;
    uint8 private DelayNum1 = 1;
    uint8 private DelayNum2 = 1;
    uint256 private _DelayJaredBlock = 2;
    uint16 private _taxSharesMW   = 80;
    uint16 private _taxSharesDW = 20;
    uint16 private _taxSharesLP          = 0;
    uint16 private _totalTaxShares = _taxSharesMW + _taxSharesDW + _taxSharesLP;
    address payable private _walletMW = payable(0xb73b6482A86933a79daa3128c82Cf47AA7a48365); 
    address payable private _walletDW = payable(0x0985BC7Bde21b8c691900AC499bCc8A829969568); 
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _noFees;
    mapping (address => bool) private _noLimits;

    address private _lpOwner;

    address private constant _swapRouterAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    IUniswapV2Router02 private _primarySwapRouter = IUniswapV2Router02(_swapRouterAddress);
    address private _primaryLP;
    mapping (address => bool) private _isLP;

    bool private _tradingOpen;

    bool private _inTaxSwap = false;
    modifier lockTaxSwap { 
        _inTaxSwap = true; 
        _; 
        _inTaxSwap = false; 
    }

    event TokensBurned(address indexed burnedByWallet, uint256 tokenAmount);

    constructor() Auth(msg.sender) {
        _lpOwner = msg.sender;

        uint256 airdropAmount = _totalSupply * 5 / 100;
        
        _balances[address(this)] =  _totalSupply - airdropAmount;
        emit Transfer(address(0), address(this), _balances[address(this)]);

        _balances[_owner] = airdropAmount;
        emit Transfer(address(0), _owner, _balances[_owner]);

        _noFees[_owner] = true;
        _noFees[address(this)] = true;
        _noFees[_swapRouterAddress] = true;
        _noFees[_walletMW] = true;
        _noFees[_walletDW] = true;
        _noLimits[_owner] = true;
        _noLimits[address(this)] = true;
        _noLimits[_swapRouterAddress] = true;
        _noLimits[_walletMW] = true;
        _noLimits[_walletDW] = true;
    }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        require(_checkTradingOpen(msg.sender), "Trading not open");
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        require(_checkTradingOpen(sender), "Trading not open");
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return _transferFrom(sender, recipient, amount);
    }

    function _approveRouter(uint256 _tokenAmount) internal {
        if ( _allowances[address(this)][_swapRouterAddress] < _tokenAmount ) {
            _allowances[address(this)][_swapRouterAddress] = type(uint256).max;
            emit Approval(address(this), _swapRouterAddress, type(uint256).max);
        }
    }

    function addLiquidity() external payable onlyOwner lockTaxSwap {
        require(_primaryLP == address(0), "LP exists");
        require(!_tradingOpen, "trading is open");
        require(msg.value > 0 || address(this).balance>0, "No ETH in contract or message");
        require(_balances[address(this)]>0, "No tokens in contract");
        _primaryLP = IUniswapV2Factory(_primarySwapRouter.factory()).createPair(address(this), _primarySwapRouter.WETH());
        _addLiquidity(_balances[address(this)], address(this).balance, false);
        _balances[_primaryLP] -= _swapLimit;
        (bool lpAddSuccess,) = _primaryLP.call(abi.encodeWithSignature("sync()"));
        require(lpAddSuccess, "Failed adding liquidity");
        _isLP[_primaryLP] = lpAddSuccess;
        _openTrading();
    }

    function _addLiquidity(uint256 _tokenAmount, uint256 _ethAmountWei, bool autoburn) internal {
        address lpTokenRecipient = _lpOwner;
        if ( autoburn ) { lpTokenRecipient = address(0); }
        _approveRouter(_tokenAmount);
        _primarySwapRouter.addLiquidityETH{value: _ethAmountWei} ( address(this), _tokenAmount, 0, 0, lpTokenRecipient, block.timestamp );
    }

    function _openTrading() internal {
        _maxTxAmount     = _totalSupply * 2 / 100; 
        _maxWalletAmount = _totalSupply * 2 / 100;
        _tradingOpen = true;
        _launchBlock = block.number;
        _DelayJaredBlock = _DelayJaredBlock + _launchBlock + DelayNum1 + DelayNum2;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(sender != address(0), "No transfers from Zero wallet");
        if (!_tradingOpen) { require(_noFees[sender] && _noLimits[sender], "Trading not open"); }
        if ( !_inTaxSwap && _isLP[recipient] ) { _swapTaxAndLiquify(); }
        if ( block.number < _DelayJaredBlock && block.number >= _launchBlock && _isLP[sender] ) {
            require(recipient == tx.origin, "MEV blocked");
        }
        if ( sender != address(this) && recipient != address(this) && sender != _owner ) { 
            require(_checkLimits(sender, recipient, amount), "TX exceeds limits"); 
        }
        uint256 _taxAmount = _calculateTax(sender, recipient, amount);
        uint256 _transferAmount = amount - _taxAmount;
        _balances[sender] = _balances[sender] - amount;
        _swapLimit += _taxAmount;
        _balances[recipient] = _balances[recipient] + _transferAmount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function _checkLimits(address sender, address recipient, uint256 transferAmount) internal view returns (bool) {
        bool limitCheckPassed = true;
        if ( _tradingOpen && !_noLimits[sender] && !_noLimits[recipient] ) {
            if ( transferAmount > _maxTxAmount ) { limitCheckPassed = false; }
            else if ( !_isLP[recipient] && (_balances[recipient] + transferAmount > _maxWalletAmount) ) { limitCheckPassed = false; }
        }
        return limitCheckPassed;
    }

    function _checkTradingOpen(address sender) private view returns (bool){
        bool checkResult = false;
        if ( _tradingOpen ) { checkResult = true; } 
        else if (_noFees[sender] && _noLimits[sender]) { checkResult = true; } 

        return checkResult;
    }

    function _calculateTax(address sender, address recipient, uint256 amount) internal view returns (uint256) {
        uint256 taxAmount;
        
        if ( !_tradingOpen || _noFees[sender] || _noFees[recipient] ) { 
            taxAmount = 0; 
        } else if ( _isLP[sender] ) { 
            if ( block.number >= _launchBlock + DelayNum1 + DelayNum2 ) {
                taxAmount = amount * _buyRates / 100; 
            } else if ( block.number >= _launchBlock + DelayNum1 ) {
                taxAmount = amount * InitialTax2 / 100;
            } else if ( block.number >= _launchBlock) {
                taxAmount = amount * InitialTax1 / 100;
            }
        } else if ( _isLP[recipient] ) { 
            taxAmount = amount * _sellRates / 100; 
        }

        return taxAmount;
    }


    function exemptFromFees(address wallet) external view returns (bool) {
        return _noFees[wallet];
    } 
    function exemptFromLimits(address wallet) external view returns (bool) {
        return _noLimits[wallet];
    } 
    function setExempt(address wallet, bool noFees, bool noLimits) external onlyOwner {
        if (noLimits || noFees) { require(!_isLP[wallet], "Cannot exempt LP"); }
        _noFees[ wallet ] = noFees;
        _noLimits[ wallet ] = noLimits;
    }

    function buyFee() external view returns(uint8) {
        return _buyRates;
    }
    function sellFee() external view returns(uint8) {
        return _sellRates;
    }

    function feeSplit() external view returns (uint16 MW, uint16 DW, uint16 LP ) {
        return ( _taxSharesMW, _taxSharesDW, _taxSharesLP);
    }
    function setFees(uint8 buy, uint8 sell) external onlyOwner {
        require(buy + sell <= 5, "Roundtrip too high");
        _buyRates = buy;
        _sellRates = sell;
    }  
    function setFeeSplit(uint16 sharesAutoLP, uint16 sharesMW, uint16 sharesDW) external onlyOwner {
        uint16 totalShares = sharesAutoLP + sharesMW + sharesDW;
        require( totalShares > 0, "All cannot be 0");
        _taxSharesLP = sharesAutoLP;
        _taxSharesMW = sharesMW;
        _taxSharesDW = sharesDW;
        _totalTaxShares = totalShares;
    }

    function MWWallet() external view returns (address) {
        return _walletMW;
    }
    function DWWallet() external view returns (address) {
        return _walletDW;
    }

    function updateWallets(address MW, address DW, address LPtokens) external onlyOwner {
        require(!_isLP[MW] && !_isLP[DW] && !_isLP[LPtokens], "LP cannot be tax wallet");
        
        _walletMW = payable(MW);
        _walletDW = payable(DW);
        _lpOwner = LPtokens;
        
        _noFees[MW] = true;
        _noLimits[MW] = true;
        
        _noFees[DW] = true;        
        _noLimits[DW] = true;
    }

    function maxWallet() external view returns (uint256) {
        return _maxWalletAmount;
    }
    function maxTransaction() external view returns (uint256) {
        return _maxTxAmount;
    }

    function swapAtMin() external view returns (uint256) {
        return _taxSwapMin;
    }
    function swapAtMax() external view returns (uint256) {
        return _taxSwapMax;
    }

    function setLimits(uint16 maxTransactionPermille, uint16 maxWalletPermille) external onlyOwner {
        uint256 newTxAmt = _totalSupply * maxTransactionPermille / 1000 + 1;
        require(newTxAmt >= _maxTxAmount, "tx too low");
        _maxTxAmount = newTxAmt;
        uint256 newWalletAmt = _totalSupply * maxWalletPermille / 1000 + 1;
        require(newWalletAmt >= _maxWalletAmount, "wallet too low");
        _maxWalletAmount = newWalletAmt;
    }

    function setTaxSwap(uint32 minValue, uint32 minDivider, uint32 maxValue, uint32 maxDivider) external onlyOwner {
        _taxSwapMin = _totalSupply * minValue / minDivider;
        _taxSwapMax = _totalSupply * maxValue / maxDivider;
        require(_taxSwapMax>=_taxSwapMin, "Min/Max error");
        require(_taxSwapMax>_totalSupply / 100000, "Max too low");
        require(_taxSwapMax<_totalSupply / 100, "Max too high");
    }

    function _burnTokens(address fromWallet, uint256 amount) private {
        if ( amount > 0 ) {
            _balances[fromWallet] -= amount;
            _balances[address(0)] += amount;
            emit Transfer(fromWallet, address(0), amount);
        }
    }

    function _swapTaxAndLiquify() private lockTaxSwap {
        uint256 _taxTokensAvailable = _swapLimit;
        if ( _taxTokensAvailable >= _taxSwapMin && _tradingOpen ) {
            if ( _taxTokensAvailable >= _taxSwapMax ) { _taxTokensAvailable = _taxSwapMax; }
            uint256 _tokensForLP = _taxTokensAvailable * _taxSharesLP / _totalTaxShares / 2;
            
            uint256 _tokensToSwap = _taxTokensAvailable - _tokensForLP;
            if( _tokensToSwap > 10**_decimals ) {
                uint256 _ethPreSwap = address(this).balance;
                _balances[address(this)] += _taxTokensAvailable;
                _swapTaxTokensForEth(_tokensToSwap);
                _swapLimit -= _taxTokensAvailable;
                uint256 _ethSwapped = address(this).balance - _ethPreSwap;
                if ( _taxSharesLP > 0 ) {
                    uint256 _ethWeiAmount = _ethSwapped * _taxSharesLP / _totalTaxShares ;
                    _approveRouter(_tokensForLP);
                    _addLiquidity(_tokensForLP, _ethWeiAmount, false);
                }
            }
            uint256 _contractETHBalance = address(this).balance;
            if(_contractETHBalance > 0) { _distributeTaxEth(_contractETHBalance); }
        }
    }

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

    function _distributeTaxEth(uint256 amount) private {
        uint16 _taxShareTotal = _taxSharesMW + _taxSharesDW;
        if (_taxShareTotal > 0) {
            uint256 MWAmount = amount * _taxSharesMW / _taxShareTotal;
            uint256 DWAmount = amount * _taxSharesDW / _taxShareTotal;
            if ( MWAmount > 0 ) { _walletMW.transfer(MWAmount); }
            if ( DWAmount > 0 ) { _walletDW.transfer(DWAmount); }
        }
    }

    function manualTaxSwapAndSend(uint8 swapTokenPercent, bool sendEth) external onlyOwner lockTaxSwap {
        require(swapTokenPercent <= 100, "Cannot swap more than 100%");
        uint256 tokensToSwap = _balances[address(this)] * swapTokenPercent / 100;
        if (tokensToSwap > 10 ** _decimals) {
            _swapTaxTokensForEth(tokensToSwap);
        }
        if (sendEth) { 
            uint256 ethBalance = address(this).balance;
            require(ethBalance > 0, "No ETH");
            _distributeTaxEth(address(this).balance); 
        }
    }

    function burn(uint256 amount) external {
        uint256 _tokensAvailable = balanceOf(msg.sender);
        require(amount <= _tokensAvailable, "balance too low");
        _burnTokens(msg.sender, amount);
        emit TokensBurned(msg.sender, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burnedByWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"TokensBurned","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":[],"name":"DWWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MWWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"exemptFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"exemptFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSplit","outputs":[{"internalType":"uint16","name":"MW","type":"uint16"},{"internalType":"uint16","name":"DW","type":"uint16"},{"internalType":"uint16","name":"LP","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"swapTokenPercent","type":"uint8"},{"internalType":"bool","name":"sendEth","type":"bool"}],"name":"manualTaxSwapAndSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"noFees","type":"bool"},{"internalType":"bool","name":"noLimits","type":"bool"}],"name":"setExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"sharesAutoLP","type":"uint16"},{"internalType":"uint16","name":"sharesMW","type":"uint16"},{"internalType":"uint16","name":"sharesDW","type":"uint16"}],"name":"setFeeSplit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"buy","type":"uint8"},{"internalType":"uint8","name":"sell","type":"uint8"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"maxTransactionPermille","type":"uint16"},{"internalType":"uint16","name":"maxWalletPermille","type":"uint16"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"minValue","type":"uint32"},{"internalType":"uint32","name":"minDivider","type":"uint32"},{"internalType":"uint32","name":"maxValue","type":"uint32"},{"internalType":"uint32","name":"maxDivider","type":"uint32"}],"name":"setTaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAtMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAtMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"MW","type":"address"},{"internalType":"address","name":"DW","type":"address"},{"internalType":"address","name":"LPtokens","type":"address"}],"name":"updateWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526002600060146101000a81548160ff021916908360ff1602179055506001600060156101000a81548160ff021916908360ff16021790555060008060166101000a81548160ff021916908360ff16021790555060008060176101000a81548160ff021916908360ff1602179055506009600a62000082919062000cad565b620f424062000092919062000cfe565b6002556009600a620000a5919062000cad565b620f4240620000b5919062000cfe565b600355620186a0600a6009600a620000ce919062000cad565b620f4240620000de919062000cfe565b620000ea919062000cfe565b620000f6919062000d78565b600455620186a06101f46009600a62000110919062000cad565b620f424062000120919062000cfe565b6200012c919062000cfe565b62000138919062000d78565b6005556064603f6004546200014e919062000cfe565b6200015a919062000cfe565b6006556001600760006101000a81548160ff021916908360ff1602179055506001600760016101000a81548160ff021916908360ff16021790555060026008556050600960006101000a81548161ffff021916908361ffff1602179055506014600960026101000a81548161ffff021916908361ffff1602179055506000600960046101000a81548161ffff021916908361ffff160217905550600960049054906101000a900461ffff16600960029054906101000a900461ffff16600960009054906101000a900461ffff1662000233919062000dbe565b6200023f919062000dbe565b600960066101000a81548161ffff021916908361ffff16021790555073b73b6482a86933a79daa3128c82cf47aa7a48365600960086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730985bc7bde21b8c691900ac499bcc8a829969568600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601360016101000a81548160ff0219169083151502179055503480156200038257600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000606460056009600a6200041c919062000cad565b620f42406200042c919062000cfe565b62000438919062000cfe565b62000444919062000d78565b9050806009600a62000457919062000cad565b620f424062000467919062000cfe565b62000473919062000dfb565b600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405162000555919062000e47565b60405180910390a380600b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620006a2919062000e47565b60405180910390a36001600d60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600960089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000600960089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505062000e64565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000ba15780860481111562000b795762000b7862000b13565b5b600185161562000b895780820291505b808102905062000b998562000b42565b945062000b59565b94509492505050565b60008262000bbc576001905062000c8f565b8162000bcc576000905062000c8f565b816001811462000be5576002811462000bf05762000c26565b600191505062000c8f565b60ff84111562000c055762000c0462000b13565b5b8360020a91508482111562000c1f5762000c1e62000b13565b5b5062000c8f565b5060208310610133831016604e8410600b841016171562000c605782820a90508381111562000c5a5762000c5962000b13565b5b62000c8f565b62000c6f848484600162000b4f565b9250905081840481111562000c895762000c8862000b13565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000cba8262000c96565b915062000cc78362000ca0565b925062000cf67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000baa565b905092915050565b600062000d0b8262000c96565b915062000d188362000c96565b925082820262000d288162000c96565b9150828204841483151762000d425762000d4162000b13565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000d858262000c96565b915062000d928362000c96565b92508262000da55762000da462000d49565b5b828204905092915050565b600061ffff82169050919050565b600062000dcb8262000db0565b915062000dd88362000db0565b9250828201905061ffff81111562000df55762000df462000b13565b5b92915050565b600062000e088262000c96565b915062000e158362000c96565b925082820390508181111562000e305762000e2f62000b13565b5b92915050565b62000e418162000c96565b82525050565b600060208201905062000e5e600083018462000e36565b92915050565b61526d8062000e746000396000f3fe6080604052600436106101e75760003560e01c80636373ea6911610102578063a9059cbb11610095578063ee1c265911610064578063ee1c2659146106e2578063f2fde38b1461070d578063f8b45b0514610736578063feb693ea14610761576101ee565b8063a9059cbb14610633578063c3f70b5214610670578063dd62ed3e1461069b578063e8078d94146106d8576101ee565b80638d3e6e40116100d15780638d3e6e40146105775780638da5cb5b146105b457806395d89b41146105df578063a6097b0a1461060a576101ee565b80636373ea69146104cd57806370a08231146104fa578063715018a61461053757806376a39c281461054e576101ee565b8063368f48001161017a5780634d4ce935116101495780634d4ce935146104135780634fcd24461461043e57806357ff135a146104675780635a90a49e14610490576101ee565b8063368f48001461036b57806342966c681461039457806346b89834146103bd57806347062402146103e8576101ee565b806323b872dd116101b657806323b872dd146102af5780632b14ca56146102ec5780632fb528ba14610317578063313ce56714610340576101ee565b806306fdde03146101f3578063095ea7b31461021e578063147c9f6d1461025b57806318160ddd14610284576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b5061020861078c565b6040516102159190613bc8565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190613c83565b6107c9565b6040516102529190613cde565b60405180910390f35b34801561026757600080fd5b50610282600480360381019061027d9190613cf9565b6108bb565b005b34801561029057600080fd5b50610299610caa565b6040516102a69190613d5b565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d19190613d76565b610ccd565b6040516102e39190613cde565b60405180910390f35b3480156102f857600080fd5b50610301610ed7565b60405161030e9190613de5565b60405180910390f35b34801561032357600080fd5b5061033e60048036038101906103399190613e58565b610eed565b005b34801561034c57600080fd5b506103556110d3565b6040516103629190613de5565b60405180910390f35b34801561037757600080fd5b50610392600480360381019061038d9190613ed2565b6110dc565b005b3480156103a057600080fd5b506103bb60048036038101906103b69190613f12565b611298565b005b3480156103c957600080fd5b506103d2611344565b6040516103df9190613d5b565b60405180910390f35b3480156103f457600080fd5b506103fd61134e565b60405161040a9190613de5565b60405180910390f35b34801561041f57600080fd5b50610428611364565b6040516104359190613d5b565b60405180910390f35b34801561044a57600080fd5b5061046560048036038101906104609190613f3f565b61136e565b005b34801561047357600080fd5b5061048e60048036038101906104899190613f7f565b611488565b005b34801561049c57600080fd5b506104b760048036038101906104b29190613fd2565b611665565b6040516104c49190613cde565b60405180910390f35b3480156104d957600080fd5b506104e26116bb565b6040516104f19392919061400e565b60405180910390f35b34801561050657600080fd5b50610521600480360381019061051c9190613fd2565b6116fe565b60405161052e9190613d5b565b60405180910390f35b34801561054357600080fd5b5061054c611747565b005b34801561055a57600080fd5b5061057560048036038101906105709190614045565b611850565b005b34801561058357600080fd5b5061059e60048036038101906105999190613fd2565b6119ba565b6040516105ab9190613cde565b60405180910390f35b3480156105c057600080fd5b506105c9611a10565b6040516105d691906140a7565b60405180910390f35b3480156105eb57600080fd5b506105f4611a39565b6040516106019190613bc8565b60405180910390f35b34801561061657600080fd5b50610631600480360381019061062c91906140fe565b611a76565b005b34801561063f57600080fd5b5061065a60048036038101906106559190613c83565b611cb1565b6040516106679190613cde565b60405180910390f35b34801561067c57600080fd5b50610685611d0e565b6040516106929190613d5b565b60405180910390f35b3480156106a757600080fd5b506106c260048036038101906106bd9190614165565b611d18565b6040516106cf9190613d5b565b60405180910390f35b6106e0611d9f565b005b3480156106ee57600080fd5b506106f761248c565b60405161070491906140a7565b60405180910390f35b34801561071957600080fd5b50610734600480360381019061072f91906141e3565b6124b6565b005b34801561074257600080fd5b5061074b6125be565b6040516107589190613d5b565b60405180910390f35b34801561076d57600080fd5b506107766125c8565b60405161078391906140a7565b60405180910390f35b60606040518060400160405280601e81526020017f6d696e694861727279506f747465724f62616d61536f6e69633130696e750000815250905090565b600081600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108a99190613d5b565b60405180910390a36001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610949576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109409061425c565b60405180910390fd5b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156109ed5750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610a435750601260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b610a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a79906142c8565b60405180910390fd5b82600960086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60006009600a610cba919061444a565b620f4240610cc89190614495565b905090565b6000610cd8846125f2565b610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0e90614523565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ec35781600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e429190614543565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610ece8484846126cd565b90509392505050565b60008060179054906101000a900460ff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f729061425c565b60405180910390fd5b6001601360016101000a81548160ff02191690831515021790555060648260ff161115610fdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd4906145c3565b60405180910390fd5b600060648360ff16600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461102f9190614495565b6110399190614612565b90506009600a611049919061444a565b81111561105a5761105981612c59565b5b81156110b3576000479050600081116110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109f9061468f565b60405180910390fd5b6110b147612e78565b505b506000601360016101000a81548160ff0219169083151502179055505050565b60006009905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461116a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111619061425c565b60405180910390fd5b600060016103e88461ffff166009600a611184919061444a565b620f42406111929190614495565b61119c9190614495565b6111a69190614612565b6111b091906146af565b90506002548110156111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee9061472f565b60405180910390fd5b80600281905550600060016103e88461ffff166009600a611218919061444a565b620f42406112269190614495565b6112309190614495565b61123a9190614612565b61124491906146af565b905060035481101561128b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112829061479b565b60405180910390fd5b8060038190555050505050565b60006112a3336116fe565b9050808211156112e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112df90614807565b60405180910390fd5b6112f23383613008565b3373ffffffffffffffffffffffffffffffffffffffff167ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb6836040516113389190613d5b565b60405180910390a25050565b6000600454905090565b60008060169054906101000a900460ff16905090565b6000600554905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f39061425c565b60405180910390fd5b6005818361140a9190614827565b60ff16111561144e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611445906148a8565b60405180910390fd5b81600060166101000a81548160ff021916908360ff16021790555080600060176101000a81548160ff021916908360ff1602179055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d9061425c565b60405180910390fd5b808061151f5750815b156115b257601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890614914565b60405180910390fd5b5b81600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000806000600960009054906101000a900461ffff16600960029054906101000a900461ffff16600960049054906101000a900461ffff16925092509250909192565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc9061425c565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163600060405161184691906140a7565b60405180910390a1565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d59061425c565b60405180910390fd5b60008183856118ed9190614934565b6118f79190614934565b905060008161ffff1611611940576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611937906149b6565b60405180910390fd5b83600960046101000a81548161ffff021916908361ffff16021790555082600960006101000a81548161ffff021916908361ffff16021790555081600960026101000a81548161ffff021916908361ffff16021790555080600960066101000a81548161ffff021916908361ffff16021790555050505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600b81526020017f6d696e69424954434f494e000000000000000000000000000000000000000000815250905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afb9061425c565b60405180910390fd5b8263ffffffff168463ffffffff166009600a611b20919061444a565b620f4240611b2e9190614495565b611b389190614495565b611b429190614612565b6004819055508063ffffffff168263ffffffff166009600a611b64919061444a565b620f4240611b729190614495565b611b7c9190614495565b611b869190614612565b6005819055506004546005541015611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca90614a22565b60405180910390fd5b620186a06009600a611be5919061444a565b620f4240611bf39190614495565b611bfd9190614612565b60055411611c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3790614a8e565b60405180910390fd5b60646009600a611c50919061444a565b620f4240611c5e9190614495565b611c689190614612565b60055410611cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca290614afa565b60405180910390fd5b50505050565b6000611cbc336125f2565b611cfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf290614523565b60405180910390fd5b611d063384846126cd565b905092915050565b6000600254905090565b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e249061425c565b60405180910390fd5b6001601360016101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed090614b66565b60405180910390fd5b601360009054906101000a900460ff1615611f29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2090614bd2565b60405180910390fd5b6000341180611f385750600047115b611f77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6e90614c3e565b60405180910390fd5b6000600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff090614caa565b60405180910390fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208a9190614cdf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612113573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121379190614cdf565b6040518363ffffffff1660e01b8152600401612154929190614d0c565b6020604051808303816000875af1158015612173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121979190614cdf565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612222600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054476000613128565b600654600b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122959190614543565b925050819055506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527ffff6cae9000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516123679190614d7c565b6000604051808303816000865af19150503d80600081146123a4576040519150601f19603f3d011682016040523d82523d6000602084013e6123a9565b606091505b50509050806123ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e490614ddf565b60405180910390fd5b8060126000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061246e613216565b506000601360016101000a81548160ff021916908315150217905550565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253b9061425c565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516125b39190614e5e565b60405180910390a150565b6000600354905090565b6000600960089054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009050601360009054906101000a900460ff161561261757600190506126c4565b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126b95750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156126c357600190505b5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361273d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273490614ec5565b60405180910390fd5b601360009054906101000a900460ff1661283357600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127f35750600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612832576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282990614523565b60405180910390fd5b5b601360019054906101000a900460ff161580156128995750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128a7576128a66132fe565b5b600854431080156128ba57506001544310155b801561290f5750601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612983573273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297990614f31565b60405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156129eb57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612a43575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612a9357612a53848484613507565b612a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8990614f9d565b60405180910390fd5b5b6000612aa085858561369e565b905060008184612ab09190614543565b905083600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612afd9190614543565b600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160066000828254612b5291906146af565b9250508190555080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba491906146af565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612c449190613d5b565b60405180910390a36001925050509392505050565b612c628161394e565b6000600267ffffffffffffffff811115612c7f57612c7e614fbd565b5b604051908082528060200260200182016040528015612cad5781602001602082028036833780820191505090505b5090503081600081518110612cc557612cc4614fec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d909190614cdf565b81600181518110612da457612da3614fec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612e42959493929190615114565b600060405180830381600087803b158015612e5c57600080fd5b505af1158015612e70573d6000803e3d6000fd5b505050505050565b6000600960029054906101000a900461ffff16600960009054906101000a900461ffff16612ea69190614934565b905060008161ffff1611156130045760008161ffff16600960009054906101000a900461ffff1661ffff1684612edc9190614495565b612ee69190614612565b905060008261ffff16600960029054906101000a900461ffff1661ffff1685612f0f9190614495565b612f199190614612565b90506000821115612f8e57600960089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612f8c573d6000803e3d6000fd5b505b600081111561300157600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612fff573d6000803e3d6000fd5b505b50505b5050565b60008111156131245780600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546130609190614543565b9250508190555080600b60008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546130b691906146af565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161311b9190613d5b565b60405180910390a35b5050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050811561315a57600090505b6131638461394e565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308760008087426040518863ffffffff1660e01b81526004016131ca9695949392919061516e565b60606040518083038185885af11580156131e8573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061320d91906151e4565b50505050505050565b606460026009600a613228919061444a565b620f42406132369190614495565b6132409190614495565b61324a9190614612565b600281905550606460026009600a613262919061444a565b620f42406132709190614495565b61327a9190614495565b6132849190614612565b6003819055506001601360006101000a81548160ff02191690831515021790555043600181905550600760019054906101000a900460ff1660ff16600760009054906101000a900460ff1660ff166001546008546132e291906146af565b6132ec91906146af565b6132f691906146af565b600881905550565b6001601360016101000a81548160ff02191690831515021790555060006006549050600454811015801561333e5750601360009054906101000a900460ff165b156134e95760055481106133525760055490505b60006002600960069054906101000a900461ffff1661ffff16600960049054906101000a900461ffff1661ffff168461338b9190614495565b6133959190614612565b61339f9190614612565b9050600081836133af9190614543565b90506009600a6133bf919061444a565b8111156134cd57600047905083600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461341a91906146af565b9250508190555061342a82612c59565b836006600082825461343c9190614543565b92505081905550600081476134519190614543565b90506000600960049054906101000a900461ffff1661ffff1611156134ca576000600960069054906101000a900461ffff1661ffff16600960049054906101000a900461ffff1661ffff16836134a79190614495565b6134b19190614612565b90506134bc8561394e565b6134c885826000613128565b505b50505b600047905060008111156134e5576134e481612e78565b5b5050505b506000601360016101000a81548160ff021916908315150217905550565b60008060019050601360009054906101000a900460ff1680156135745750600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156135ca5750600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613693576002548311156135e25760009050613692565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015613687575060035483600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461368591906146af565b115b1561369157600090505b5b5b809150509392505050565b600080601360009054906101000a900460ff1615806137065750600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061375a5750600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156137685760009050613943565b601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156138c257600760019054906101000a900460ff1660ff16600760009054906101000a900460ff1660ff166001546137ed91906146af565b6137f791906146af565b431061382e576064600060169054906101000a900460ff1660ff168461381d9190614495565b6138279190614612565b90506138bd565b600760009054906101000a900460ff1660ff1660015461384e91906146af565b4310613885576064600060159054906101000a900460ff1660ff16846138749190614495565b61387e9190614612565b90506138bc565b60015443106138bb576064600060149054906101000a900460ff1660ff16846138ae9190614495565b6138b89190614612565b90505b5b5b613942565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613941576064600060179054906101000a900460ff1660ff16846139349190614495565b61393e9190614612565b90505b5b5b809150509392505050565b80600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015613b35577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051613b2c9190613d5b565b60405180910390a35b50565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b72578082015181840152602081019050613b57565b60008484015250505050565b6000601f19601f8301169050919050565b6000613b9a82613b38565b613ba48185613b43565b9350613bb4818560208601613b54565b613bbd81613b7e565b840191505092915050565b60006020820190508181036000830152613be28184613b8f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613c1a82613bef565b9050919050565b613c2a81613c0f565b8114613c3557600080fd5b50565b600081359050613c4781613c21565b92915050565b6000819050919050565b613c6081613c4d565b8114613c6b57600080fd5b50565b600081359050613c7d81613c57565b92915050565b60008060408385031215613c9a57613c99613bea565b5b6000613ca885828601613c38565b9250506020613cb985828601613c6e565b9150509250929050565b60008115159050919050565b613cd881613cc3565b82525050565b6000602082019050613cf36000830184613ccf565b92915050565b600080600060608486031215613d1257613d11613bea565b5b6000613d2086828701613c38565b9350506020613d3186828701613c38565b9250506040613d4286828701613c38565b9150509250925092565b613d5581613c4d565b82525050565b6000602082019050613d706000830184613d4c565b92915050565b600080600060608486031215613d8f57613d8e613bea565b5b6000613d9d86828701613c38565b9350506020613dae86828701613c38565b9250506040613dbf86828701613c6e565b9150509250925092565b600060ff82169050919050565b613ddf81613dc9565b82525050565b6000602082019050613dfa6000830184613dd6565b92915050565b613e0981613dc9565b8114613e1457600080fd5b50565b600081359050613e2681613e00565b92915050565b613e3581613cc3565b8114613e4057600080fd5b50565b600081359050613e5281613e2c565b92915050565b60008060408385031215613e6f57613e6e613bea565b5b6000613e7d85828601613e17565b9250506020613e8e85828601613e43565b9150509250929050565b600061ffff82169050919050565b613eaf81613e98565b8114613eba57600080fd5b50565b600081359050613ecc81613ea6565b92915050565b60008060408385031215613ee957613ee8613bea565b5b6000613ef785828601613ebd565b9250506020613f0885828601613ebd565b9150509250929050565b600060208284031215613f2857613f27613bea565b5b6000613f3684828501613c6e565b91505092915050565b60008060408385031215613f5657613f55613bea565b5b6000613f6485828601613e17565b9250506020613f7585828601613e17565b9150509250929050565b600080600060608486031215613f9857613f97613bea565b5b6000613fa686828701613c38565b9350506020613fb786828701613e43565b9250506040613fc886828701613e43565b9150509250925092565b600060208284031215613fe857613fe7613bea565b5b6000613ff684828501613c38565b91505092915050565b61400881613e98565b82525050565b60006060820190506140236000830186613fff565b6140306020830185613fff565b61403d6040830184613fff565b949350505050565b60008060006060848603121561405e5761405d613bea565b5b600061406c86828701613ebd565b935050602061407d86828701613ebd565b925050604061408e86828701613ebd565b9150509250925092565b6140a181613c0f565b82525050565b60006020820190506140bc6000830184614098565b92915050565b600063ffffffff82169050919050565b6140db816140c2565b81146140e657600080fd5b50565b6000813590506140f8816140d2565b92915050565b6000806000806080858703121561411857614117613bea565b5b6000614126878288016140e9565b9450506020614137878288016140e9565b9350506040614148878288016140e9565b9250506060614159878288016140e9565b91505092959194509250565b6000806040838503121561417c5761417b613bea565b5b600061418a85828601613c38565b925050602061419b85828601613c38565b9150509250929050565b60006141b082613bef565b9050919050565b6141c0816141a5565b81146141cb57600080fd5b50565b6000813590506141dd816141b7565b92915050565b6000602082840312156141f9576141f8613bea565b5b6000614207848285016141ce565b91505092915050565b7f4f776e6572000000000000000000000000000000000000000000000000000000600082015250565b6000614246600583613b43565b915061425182614210565b602082019050919050565b6000602082019050818103600083015261427581614239565b9050919050565b7f4c502063616e6e6f74206265207461782077616c6c6574000000000000000000600082015250565b60006142b2601783613b43565b91506142bd8261427c565b602082019050919050565b600060208201905081810360008301526142e1816142a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561436e5780860481111561434a576143496142e8565b5b60018516156143595780820291505b808102905061436785614317565b945061432e565b94509492505050565b6000826143875760019050614443565b816143955760009050614443565b81600181146143ab57600281146143b5576143e4565b6001915050614443565b60ff8411156143c7576143c66142e8565b5b8360020a9150848211156143de576143dd6142e8565b5b50614443565b5060208310610133831016604e8410600b84101617156144195782820a905083811115614414576144136142e8565b5b614443565b6144268484846001614324565b9250905081840481111561443d5761443c6142e8565b5b81810290505b9392505050565b600061445582613c4d565b915061446083613dc9565b925061448d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614377565b905092915050565b60006144a082613c4d565b91506144ab83613c4d565b92508282026144b981613c4d565b915082820484148315176144d0576144cf6142e8565b5b5092915050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b600061450d601083613b43565b9150614518826144d7565b602082019050919050565b6000602082019050818103600083015261453c81614500565b9050919050565b600061454e82613c4d565b915061455983613c4d565b9250828203905081811115614571576145706142e8565b5b92915050565b7f43616e6e6f742073776170206d6f7265207468616e2031303025000000000000600082015250565b60006145ad601a83613b43565b91506145b882614577565b602082019050919050565b600060208201905081810360008301526145dc816145a0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061461d82613c4d565b915061462883613c4d565b925082614638576146376145e3565b5b828204905092915050565b7f4e6f204554480000000000000000000000000000000000000000000000000000600082015250565b6000614679600683613b43565b915061468482614643565b602082019050919050565b600060208201905081810360008301526146a88161466c565b9050919050565b60006146ba82613c4d565b91506146c583613c4d565b92508282019050808211156146dd576146dc6142e8565b5b92915050565b7f747820746f6f206c6f7700000000000000000000000000000000000000000000600082015250565b6000614719600a83613b43565b9150614724826146e3565b602082019050919050565b600060208201905081810360008301526147488161470c565b9050919050565b7f77616c6c657420746f6f206c6f77000000000000000000000000000000000000600082015250565b6000614785600e83613b43565b91506147908261474f565b602082019050919050565b600060208201905081810360008301526147b481614778565b9050919050565b7f62616c616e636520746f6f206c6f770000000000000000000000000000000000600082015250565b60006147f1600f83613b43565b91506147fc826147bb565b602082019050919050565b60006020820190508181036000830152614820816147e4565b9050919050565b600061483282613dc9565b915061483d83613dc9565b9250828201905060ff811115614856576148556142e8565b5b92915050565b7f526f756e647472697020746f6f20686967680000000000000000000000000000600082015250565b6000614892601283613b43565b915061489d8261485c565b602082019050919050565b600060208201905081810360008301526148c181614885565b9050919050565b7f43616e6e6f74206578656d7074204c5000000000000000000000000000000000600082015250565b60006148fe601083613b43565b9150614909826148c8565b602082019050919050565b6000602082019050818103600083015261492d816148f1565b9050919050565b600061493f82613e98565b915061494a83613e98565b9250828201905061ffff811115614964576149636142e8565b5b92915050565b7f416c6c2063616e6e6f7420626520300000000000000000000000000000000000600082015250565b60006149a0600f83613b43565b91506149ab8261496a565b602082019050919050565b600060208201905081810360008301526149cf81614993565b9050919050565b7f4d696e2f4d6178206572726f7200000000000000000000000000000000000000600082015250565b6000614a0c600d83613b43565b9150614a17826149d6565b602082019050919050565b60006020820190508181036000830152614a3b816149ff565b9050919050565b7f4d617820746f6f206c6f77000000000000000000000000000000000000000000600082015250565b6000614a78600b83613b43565b9150614a8382614a42565b602082019050919050565b60006020820190508181036000830152614aa781614a6b565b9050919050565b7f4d617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000614ae4600c83613b43565b9150614aef82614aae565b602082019050919050565b60006020820190508181036000830152614b1381614ad7565b9050919050565b7f4c50206578697374730000000000000000000000000000000000000000000000600082015250565b6000614b50600983613b43565b9150614b5b82614b1a565b602082019050919050565b60006020820190508181036000830152614b7f81614b43565b9050919050565b7f74726164696e67206973206f70656e0000000000000000000000000000000000600082015250565b6000614bbc600f83613b43565b9150614bc782614b86565b602082019050919050565b60006020820190508181036000830152614beb81614baf565b9050919050565b7f4e6f2045544820696e20636f6e7472616374206f72206d657373616765000000600082015250565b6000614c28601d83613b43565b9150614c3382614bf2565b602082019050919050565b60006020820190508181036000830152614c5781614c1b565b9050919050565b7f4e6f20746f6b656e7320696e20636f6e74726163740000000000000000000000600082015250565b6000614c94601583613b43565b9150614c9f82614c5e565b602082019050919050565b60006020820190508181036000830152614cc381614c87565b9050919050565b600081519050614cd981613c21565b92915050565b600060208284031215614cf557614cf4613bea565b5b6000614d0384828501614cca565b91505092915050565b6000604082019050614d216000830185614098565b614d2e6020830184614098565b9392505050565b600081519050919050565b600081905092915050565b6000614d5682614d35565b614d608185614d40565b9350614d70818560208601613b54565b80840191505092915050565b6000614d888284614d4b565b915081905092915050565b7f4661696c656420616464696e67206c6971756964697479000000000000000000600082015250565b6000614dc9601783613b43565b9150614dd482614d93565b602082019050919050565b60006020820190508181036000830152614df881614dbc565b9050919050565b6000819050919050565b6000614e24614e1f614e1a84613bef565b614dff565b613bef565b9050919050565b6000614e3682614e09565b9050919050565b6000614e4882614e2b565b9050919050565b614e5881614e3d565b82525050565b6000602082019050614e736000830184614e4f565b92915050565b7f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000600082015250565b6000614eaf601d83613b43565b9150614eba82614e79565b602082019050919050565b60006020820190508181036000830152614ede81614ea2565b9050919050565b7f4d455620626c6f636b6564000000000000000000000000000000000000000000600082015250565b6000614f1b600b83613b43565b9150614f2682614ee5565b602082019050919050565b60006020820190508181036000830152614f4a81614f0e565b9050919050565b7f54582065786365656473206c696d697473000000000000000000000000000000600082015250565b6000614f87601183613b43565b9150614f9282614f51565b602082019050919050565b60006020820190508181036000830152614fb681614f7a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061504061503b6150368461501b565b614dff565b613c4d565b9050919050565b61505081615025565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61508b81613c0f565b82525050565b600061509d8383615082565b60208301905092915050565b6000602082019050919050565b60006150c182615056565b6150cb8185615061565b93506150d683615072565b8060005b838110156151075781516150ee8882615091565b97506150f9836150a9565b9250506001810190506150da565b5085935050505092915050565b600060a0820190506151296000830188613d4c565b6151366020830187615047565b818103604083015261514881866150b6565b90506151576060830185614098565b6151646080830184613d4c565b9695505050505050565b600060c0820190506151836000830189614098565b6151906020830188613d4c565b61519d6040830187615047565b6151aa6060830186615047565b6151b76080830185614098565b6151c460a0830184613d4c565b979650505050505050565b6000815190506151de81613c57565b92915050565b6000806000606084860312156151fd576151fc613bea565b5b600061520b868287016151cf565b935050602061521c868287016151cf565b925050604061522d868287016151cf565b915050925092509256fea26469706673582212200d40721e4dd720cf77c0660351c3ca9f2773887a50b3ad94f964c30c363afd6164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101e75760003560e01c80636373ea6911610102578063a9059cbb11610095578063ee1c265911610064578063ee1c2659146106e2578063f2fde38b1461070d578063f8b45b0514610736578063feb693ea14610761576101ee565b8063a9059cbb14610633578063c3f70b5214610670578063dd62ed3e1461069b578063e8078d94146106d8576101ee565b80638d3e6e40116100d15780638d3e6e40146105775780638da5cb5b146105b457806395d89b41146105df578063a6097b0a1461060a576101ee565b80636373ea69146104cd57806370a08231146104fa578063715018a61461053757806376a39c281461054e576101ee565b8063368f48001161017a5780634d4ce935116101495780634d4ce935146104135780634fcd24461461043e57806357ff135a146104675780635a90a49e14610490576101ee565b8063368f48001461036b57806342966c681461039457806346b89834146103bd57806347062402146103e8576101ee565b806323b872dd116101b657806323b872dd146102af5780632b14ca56146102ec5780632fb528ba14610317578063313ce56714610340576101ee565b806306fdde03146101f3578063095ea7b31461021e578063147c9f6d1461025b57806318160ddd14610284576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b5061020861078c565b6040516102159190613bc8565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190613c83565b6107c9565b6040516102529190613cde565b60405180910390f35b34801561026757600080fd5b50610282600480360381019061027d9190613cf9565b6108bb565b005b34801561029057600080fd5b50610299610caa565b6040516102a69190613d5b565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d19190613d76565b610ccd565b6040516102e39190613cde565b60405180910390f35b3480156102f857600080fd5b50610301610ed7565b60405161030e9190613de5565b60405180910390f35b34801561032357600080fd5b5061033e60048036038101906103399190613e58565b610eed565b005b34801561034c57600080fd5b506103556110d3565b6040516103629190613de5565b60405180910390f35b34801561037757600080fd5b50610392600480360381019061038d9190613ed2565b6110dc565b005b3480156103a057600080fd5b506103bb60048036038101906103b69190613f12565b611298565b005b3480156103c957600080fd5b506103d2611344565b6040516103df9190613d5b565b60405180910390f35b3480156103f457600080fd5b506103fd61134e565b60405161040a9190613de5565b60405180910390f35b34801561041f57600080fd5b50610428611364565b6040516104359190613d5b565b60405180910390f35b34801561044a57600080fd5b5061046560048036038101906104609190613f3f565b61136e565b005b34801561047357600080fd5b5061048e60048036038101906104899190613f7f565b611488565b005b34801561049c57600080fd5b506104b760048036038101906104b29190613fd2565b611665565b6040516104c49190613cde565b60405180910390f35b3480156104d957600080fd5b506104e26116bb565b6040516104f19392919061400e565b60405180910390f35b34801561050657600080fd5b50610521600480360381019061051c9190613fd2565b6116fe565b60405161052e9190613d5b565b60405180910390f35b34801561054357600080fd5b5061054c611747565b005b34801561055a57600080fd5b5061057560048036038101906105709190614045565b611850565b005b34801561058357600080fd5b5061059e60048036038101906105999190613fd2565b6119ba565b6040516105ab9190613cde565b60405180910390f35b3480156105c057600080fd5b506105c9611a10565b6040516105d691906140a7565b60405180910390f35b3480156105eb57600080fd5b506105f4611a39565b6040516106019190613bc8565b60405180910390f35b34801561061657600080fd5b50610631600480360381019061062c91906140fe565b611a76565b005b34801561063f57600080fd5b5061065a60048036038101906106559190613c83565b611cb1565b6040516106679190613cde565b60405180910390f35b34801561067c57600080fd5b50610685611d0e565b6040516106929190613d5b565b60405180910390f35b3480156106a757600080fd5b506106c260048036038101906106bd9190614165565b611d18565b6040516106cf9190613d5b565b60405180910390f35b6106e0611d9f565b005b3480156106ee57600080fd5b506106f761248c565b60405161070491906140a7565b60405180910390f35b34801561071957600080fd5b50610734600480360381019061072f91906141e3565b6124b6565b005b34801561074257600080fd5b5061074b6125be565b6040516107589190613d5b565b60405180910390f35b34801561076d57600080fd5b506107766125c8565b60405161078391906140a7565b60405180910390f35b60606040518060400160405280601e81526020017f6d696e694861727279506f747465724f62616d61536f6e69633130696e750000815250905090565b600081600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108a99190613d5b565b60405180910390a36001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610949576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109409061425c565b60405180910390fd5b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156109ed5750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610a435750601260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b610a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a79906142c8565b60405180910390fd5b82600960086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60006009600a610cba919061444a565b620f4240610cc89190614495565b905090565b6000610cd8846125f2565b610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0e90614523565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ec35781600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e429190614543565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610ece8484846126cd565b90509392505050565b60008060179054906101000a900460ff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f729061425c565b60405180910390fd5b6001601360016101000a81548160ff02191690831515021790555060648260ff161115610fdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd4906145c3565b60405180910390fd5b600060648360ff16600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461102f9190614495565b6110399190614612565b90506009600a611049919061444a565b81111561105a5761105981612c59565b5b81156110b3576000479050600081116110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109f9061468f565b60405180910390fd5b6110b147612e78565b505b506000601360016101000a81548160ff0219169083151502179055505050565b60006009905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461116a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111619061425c565b60405180910390fd5b600060016103e88461ffff166009600a611184919061444a565b620f42406111929190614495565b61119c9190614495565b6111a69190614612565b6111b091906146af565b90506002548110156111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee9061472f565b60405180910390fd5b80600281905550600060016103e88461ffff166009600a611218919061444a565b620f42406112269190614495565b6112309190614495565b61123a9190614612565b61124491906146af565b905060035481101561128b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112829061479b565b60405180910390fd5b8060038190555050505050565b60006112a3336116fe565b9050808211156112e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112df90614807565b60405180910390fd5b6112f23383613008565b3373ffffffffffffffffffffffffffffffffffffffff167ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb6836040516113389190613d5b565b60405180910390a25050565b6000600454905090565b60008060169054906101000a900460ff16905090565b6000600554905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f39061425c565b60405180910390fd5b6005818361140a9190614827565b60ff16111561144e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611445906148a8565b60405180910390fd5b81600060166101000a81548160ff021916908360ff16021790555080600060176101000a81548160ff021916908360ff1602179055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d9061425c565b60405180910390fd5b808061151f5750815b156115b257601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890614914565b60405180910390fd5b5b81600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000806000600960009054906101000a900461ffff16600960029054906101000a900461ffff16600960049054906101000a900461ffff16925092509250909192565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc9061425c565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163600060405161184691906140a7565b60405180910390a1565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d59061425c565b60405180910390fd5b60008183856118ed9190614934565b6118f79190614934565b905060008161ffff1611611940576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611937906149b6565b60405180910390fd5b83600960046101000a81548161ffff021916908361ffff16021790555082600960006101000a81548161ffff021916908361ffff16021790555081600960026101000a81548161ffff021916908361ffff16021790555080600960066101000a81548161ffff021916908361ffff16021790555050505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600b81526020017f6d696e69424954434f494e000000000000000000000000000000000000000000815250905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afb9061425c565b60405180910390fd5b8263ffffffff168463ffffffff166009600a611b20919061444a565b620f4240611b2e9190614495565b611b389190614495565b611b429190614612565b6004819055508063ffffffff168263ffffffff166009600a611b64919061444a565b620f4240611b729190614495565b611b7c9190614495565b611b869190614612565b6005819055506004546005541015611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca90614a22565b60405180910390fd5b620186a06009600a611be5919061444a565b620f4240611bf39190614495565b611bfd9190614612565b60055411611c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3790614a8e565b60405180910390fd5b60646009600a611c50919061444a565b620f4240611c5e9190614495565b611c689190614612565b60055410611cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca290614afa565b60405180910390fd5b50505050565b6000611cbc336125f2565b611cfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf290614523565b60405180910390fd5b611d063384846126cd565b905092915050565b6000600254905090565b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e249061425c565b60405180910390fd5b6001601360016101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed090614b66565b60405180910390fd5b601360009054906101000a900460ff1615611f29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2090614bd2565b60405180910390fd5b6000341180611f385750600047115b611f77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6e90614c3e565b60405180910390fd5b6000600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff090614caa565b60405180910390fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208a9190614cdf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612113573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121379190614cdf565b6040518363ffffffff1660e01b8152600401612154929190614d0c565b6020604051808303816000875af1158015612173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121979190614cdf565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612222600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054476000613128565b600654600b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122959190614543565b925050819055506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527ffff6cae9000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516123679190614d7c565b6000604051808303816000865af19150503d80600081146123a4576040519150601f19603f3d011682016040523d82523d6000602084013e6123a9565b606091505b50509050806123ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e490614ddf565b60405180910390fd5b8060126000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061246e613216565b506000601360016101000a81548160ff021916908315150217905550565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253b9061425c565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516125b39190614e5e565b60405180910390a150565b6000600354905090565b6000600960089054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009050601360009054906101000a900460ff161561261757600190506126c4565b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126b95750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156126c357600190505b5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361273d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273490614ec5565b60405180910390fd5b601360009054906101000a900460ff1661283357600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127f35750600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612832576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282990614523565b60405180910390fd5b5b601360019054906101000a900460ff161580156128995750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128a7576128a66132fe565b5b600854431080156128ba57506001544310155b801561290f5750601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612983573273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297990614f31565b60405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156129eb57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612a43575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612a9357612a53848484613507565b612a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8990614f9d565b60405180910390fd5b5b6000612aa085858561369e565b905060008184612ab09190614543565b905083600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612afd9190614543565b600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160066000828254612b5291906146af565b9250508190555080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba491906146af565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612c449190613d5b565b60405180910390a36001925050509392505050565b612c628161394e565b6000600267ffffffffffffffff811115612c7f57612c7e614fbd565b5b604051908082528060200260200182016040528015612cad5781602001602082028036833780820191505090505b5090503081600081518110612cc557612cc4614fec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d909190614cdf565b81600181518110612da457612da3614fec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612e42959493929190615114565b600060405180830381600087803b158015612e5c57600080fd5b505af1158015612e70573d6000803e3d6000fd5b505050505050565b6000600960029054906101000a900461ffff16600960009054906101000a900461ffff16612ea69190614934565b905060008161ffff1611156130045760008161ffff16600960009054906101000a900461ffff1661ffff1684612edc9190614495565b612ee69190614612565b905060008261ffff16600960029054906101000a900461ffff1661ffff1685612f0f9190614495565b612f199190614612565b90506000821115612f8e57600960089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612f8c573d6000803e3d6000fd5b505b600081111561300157600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612fff573d6000803e3d6000fd5b505b50505b5050565b60008111156131245780600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546130609190614543565b9250508190555080600b60008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546130b691906146af565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161311b9190613d5b565b60405180910390a35b5050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050811561315a57600090505b6131638461394e565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308760008087426040518863ffffffff1660e01b81526004016131ca9695949392919061516e565b60606040518083038185885af11580156131e8573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061320d91906151e4565b50505050505050565b606460026009600a613228919061444a565b620f42406132369190614495565b6132409190614495565b61324a9190614612565b600281905550606460026009600a613262919061444a565b620f42406132709190614495565b61327a9190614495565b6132849190614612565b6003819055506001601360006101000a81548160ff02191690831515021790555043600181905550600760019054906101000a900460ff1660ff16600760009054906101000a900460ff1660ff166001546008546132e291906146af565b6132ec91906146af565b6132f691906146af565b600881905550565b6001601360016101000a81548160ff02191690831515021790555060006006549050600454811015801561333e5750601360009054906101000a900460ff165b156134e95760055481106133525760055490505b60006002600960069054906101000a900461ffff1661ffff16600960049054906101000a900461ffff1661ffff168461338b9190614495565b6133959190614612565b61339f9190614612565b9050600081836133af9190614543565b90506009600a6133bf919061444a565b8111156134cd57600047905083600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461341a91906146af565b9250508190555061342a82612c59565b836006600082825461343c9190614543565b92505081905550600081476134519190614543565b90506000600960049054906101000a900461ffff1661ffff1611156134ca576000600960069054906101000a900461ffff1661ffff16600960049054906101000a900461ffff1661ffff16836134a79190614495565b6134b19190614612565b90506134bc8561394e565b6134c885826000613128565b505b50505b600047905060008111156134e5576134e481612e78565b5b5050505b506000601360016101000a81548160ff021916908315150217905550565b60008060019050601360009054906101000a900460ff1680156135745750600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156135ca5750600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613693576002548311156135e25760009050613692565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015613687575060035483600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461368591906146af565b115b1561369157600090505b5b5b809150509392505050565b600080601360009054906101000a900460ff1615806137065750600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061375a5750600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156137685760009050613943565b601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156138c257600760019054906101000a900460ff1660ff16600760009054906101000a900460ff1660ff166001546137ed91906146af565b6137f791906146af565b431061382e576064600060169054906101000a900460ff1660ff168461381d9190614495565b6138279190614612565b90506138bd565b600760009054906101000a900460ff1660ff1660015461384e91906146af565b4310613885576064600060159054906101000a900460ff1660ff16846138749190614495565b61387e9190614612565b90506138bc565b60015443106138bb576064600060149054906101000a900460ff1660ff16846138ae9190614495565b6138b89190614612565b90505b5b5b613942565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613941576064600060179054906101000a900460ff1660ff16846139349190614495565b61393e9190614612565b90505b5b5b809150509392505050565b80600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015613b35577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051613b2c9190613d5b565b60405180910390a35b50565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b72578082015181840152602081019050613b57565b60008484015250505050565b6000601f19601f8301169050919050565b6000613b9a82613b38565b613ba48185613b43565b9350613bb4818560208601613b54565b613bbd81613b7e565b840191505092915050565b60006020820190508181036000830152613be28184613b8f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613c1a82613bef565b9050919050565b613c2a81613c0f565b8114613c3557600080fd5b50565b600081359050613c4781613c21565b92915050565b6000819050919050565b613c6081613c4d565b8114613c6b57600080fd5b50565b600081359050613c7d81613c57565b92915050565b60008060408385031215613c9a57613c99613bea565b5b6000613ca885828601613c38565b9250506020613cb985828601613c6e565b9150509250929050565b60008115159050919050565b613cd881613cc3565b82525050565b6000602082019050613cf36000830184613ccf565b92915050565b600080600060608486031215613d1257613d11613bea565b5b6000613d2086828701613c38565b9350506020613d3186828701613c38565b9250506040613d4286828701613c38565b9150509250925092565b613d5581613c4d565b82525050565b6000602082019050613d706000830184613d4c565b92915050565b600080600060608486031215613d8f57613d8e613bea565b5b6000613d9d86828701613c38565b9350506020613dae86828701613c38565b9250506040613dbf86828701613c6e565b9150509250925092565b600060ff82169050919050565b613ddf81613dc9565b82525050565b6000602082019050613dfa6000830184613dd6565b92915050565b613e0981613dc9565b8114613e1457600080fd5b50565b600081359050613e2681613e00565b92915050565b613e3581613cc3565b8114613e4057600080fd5b50565b600081359050613e5281613e2c565b92915050565b60008060408385031215613e6f57613e6e613bea565b5b6000613e7d85828601613e17565b9250506020613e8e85828601613e43565b9150509250929050565b600061ffff82169050919050565b613eaf81613e98565b8114613eba57600080fd5b50565b600081359050613ecc81613ea6565b92915050565b60008060408385031215613ee957613ee8613bea565b5b6000613ef785828601613ebd565b9250506020613f0885828601613ebd565b9150509250929050565b600060208284031215613f2857613f27613bea565b5b6000613f3684828501613c6e565b91505092915050565b60008060408385031215613f5657613f55613bea565b5b6000613f6485828601613e17565b9250506020613f7585828601613e17565b9150509250929050565b600080600060608486031215613f9857613f97613bea565b5b6000613fa686828701613c38565b9350506020613fb786828701613e43565b9250506040613fc886828701613e43565b9150509250925092565b600060208284031215613fe857613fe7613bea565b5b6000613ff684828501613c38565b91505092915050565b61400881613e98565b82525050565b60006060820190506140236000830186613fff565b6140306020830185613fff565b61403d6040830184613fff565b949350505050565b60008060006060848603121561405e5761405d613bea565b5b600061406c86828701613ebd565b935050602061407d86828701613ebd565b925050604061408e86828701613ebd565b9150509250925092565b6140a181613c0f565b82525050565b60006020820190506140bc6000830184614098565b92915050565b600063ffffffff82169050919050565b6140db816140c2565b81146140e657600080fd5b50565b6000813590506140f8816140d2565b92915050565b6000806000806080858703121561411857614117613bea565b5b6000614126878288016140e9565b9450506020614137878288016140e9565b9350506040614148878288016140e9565b9250506060614159878288016140e9565b91505092959194509250565b6000806040838503121561417c5761417b613bea565b5b600061418a85828601613c38565b925050602061419b85828601613c38565b9150509250929050565b60006141b082613bef565b9050919050565b6141c0816141a5565b81146141cb57600080fd5b50565b6000813590506141dd816141b7565b92915050565b6000602082840312156141f9576141f8613bea565b5b6000614207848285016141ce565b91505092915050565b7f4f776e6572000000000000000000000000000000000000000000000000000000600082015250565b6000614246600583613b43565b915061425182614210565b602082019050919050565b6000602082019050818103600083015261427581614239565b9050919050565b7f4c502063616e6e6f74206265207461782077616c6c6574000000000000000000600082015250565b60006142b2601783613b43565b91506142bd8261427c565b602082019050919050565b600060208201905081810360008301526142e1816142a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561436e5780860481111561434a576143496142e8565b5b60018516156143595780820291505b808102905061436785614317565b945061432e565b94509492505050565b6000826143875760019050614443565b816143955760009050614443565b81600181146143ab57600281146143b5576143e4565b6001915050614443565b60ff8411156143c7576143c66142e8565b5b8360020a9150848211156143de576143dd6142e8565b5b50614443565b5060208310610133831016604e8410600b84101617156144195782820a905083811115614414576144136142e8565b5b614443565b6144268484846001614324565b9250905081840481111561443d5761443c6142e8565b5b81810290505b9392505050565b600061445582613c4d565b915061446083613dc9565b925061448d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614377565b905092915050565b60006144a082613c4d565b91506144ab83613c4d565b92508282026144b981613c4d565b915082820484148315176144d0576144cf6142e8565b5b5092915050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b600061450d601083613b43565b9150614518826144d7565b602082019050919050565b6000602082019050818103600083015261453c81614500565b9050919050565b600061454e82613c4d565b915061455983613c4d565b9250828203905081811115614571576145706142e8565b5b92915050565b7f43616e6e6f742073776170206d6f7265207468616e2031303025000000000000600082015250565b60006145ad601a83613b43565b91506145b882614577565b602082019050919050565b600060208201905081810360008301526145dc816145a0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061461d82613c4d565b915061462883613c4d565b925082614638576146376145e3565b5b828204905092915050565b7f4e6f204554480000000000000000000000000000000000000000000000000000600082015250565b6000614679600683613b43565b915061468482614643565b602082019050919050565b600060208201905081810360008301526146a88161466c565b9050919050565b60006146ba82613c4d565b91506146c583613c4d565b92508282019050808211156146dd576146dc6142e8565b5b92915050565b7f747820746f6f206c6f7700000000000000000000000000000000000000000000600082015250565b6000614719600a83613b43565b9150614724826146e3565b602082019050919050565b600060208201905081810360008301526147488161470c565b9050919050565b7f77616c6c657420746f6f206c6f77000000000000000000000000000000000000600082015250565b6000614785600e83613b43565b91506147908261474f565b602082019050919050565b600060208201905081810360008301526147b481614778565b9050919050565b7f62616c616e636520746f6f206c6f770000000000000000000000000000000000600082015250565b60006147f1600f83613b43565b91506147fc826147bb565b602082019050919050565b60006020820190508181036000830152614820816147e4565b9050919050565b600061483282613dc9565b915061483d83613dc9565b9250828201905060ff811115614856576148556142e8565b5b92915050565b7f526f756e647472697020746f6f20686967680000000000000000000000000000600082015250565b6000614892601283613b43565b915061489d8261485c565b602082019050919050565b600060208201905081810360008301526148c181614885565b9050919050565b7f43616e6e6f74206578656d7074204c5000000000000000000000000000000000600082015250565b60006148fe601083613b43565b9150614909826148c8565b602082019050919050565b6000602082019050818103600083015261492d816148f1565b9050919050565b600061493f82613e98565b915061494a83613e98565b9250828201905061ffff811115614964576149636142e8565b5b92915050565b7f416c6c2063616e6e6f7420626520300000000000000000000000000000000000600082015250565b60006149a0600f83613b43565b91506149ab8261496a565b602082019050919050565b600060208201905081810360008301526149cf81614993565b9050919050565b7f4d696e2f4d6178206572726f7200000000000000000000000000000000000000600082015250565b6000614a0c600d83613b43565b9150614a17826149d6565b602082019050919050565b60006020820190508181036000830152614a3b816149ff565b9050919050565b7f4d617820746f6f206c6f77000000000000000000000000000000000000000000600082015250565b6000614a78600b83613b43565b9150614a8382614a42565b602082019050919050565b60006020820190508181036000830152614aa781614a6b565b9050919050565b7f4d617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000614ae4600c83613b43565b9150614aef82614aae565b602082019050919050565b60006020820190508181036000830152614b1381614ad7565b9050919050565b7f4c50206578697374730000000000000000000000000000000000000000000000600082015250565b6000614b50600983613b43565b9150614b5b82614b1a565b602082019050919050565b60006020820190508181036000830152614b7f81614b43565b9050919050565b7f74726164696e67206973206f70656e0000000000000000000000000000000000600082015250565b6000614bbc600f83613b43565b9150614bc782614b86565b602082019050919050565b60006020820190508181036000830152614beb81614baf565b9050919050565b7f4e6f2045544820696e20636f6e7472616374206f72206d657373616765000000600082015250565b6000614c28601d83613b43565b9150614c3382614bf2565b602082019050919050565b60006020820190508181036000830152614c5781614c1b565b9050919050565b7f4e6f20746f6b656e7320696e20636f6e74726163740000000000000000000000600082015250565b6000614c94601583613b43565b9150614c9f82614c5e565b602082019050919050565b60006020820190508181036000830152614cc381614c87565b9050919050565b600081519050614cd981613c21565b92915050565b600060208284031215614cf557614cf4613bea565b5b6000614d0384828501614cca565b91505092915050565b6000604082019050614d216000830185614098565b614d2e6020830184614098565b9392505050565b600081519050919050565b600081905092915050565b6000614d5682614d35565b614d608185614d40565b9350614d70818560208601613b54565b80840191505092915050565b6000614d888284614d4b565b915081905092915050565b7f4661696c656420616464696e67206c6971756964697479000000000000000000600082015250565b6000614dc9601783613b43565b9150614dd482614d93565b602082019050919050565b60006020820190508181036000830152614df881614dbc565b9050919050565b6000819050919050565b6000614e24614e1f614e1a84613bef565b614dff565b613bef565b9050919050565b6000614e3682614e09565b9050919050565b6000614e4882614e2b565b9050919050565b614e5881614e3d565b82525050565b6000602082019050614e736000830184614e4f565b92915050565b7f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000600082015250565b6000614eaf601d83613b43565b9150614eba82614e79565b602082019050919050565b60006020820190508181036000830152614ede81614ea2565b9050919050565b7f4d455620626c6f636b6564000000000000000000000000000000000000000000600082015250565b6000614f1b600b83613b43565b9150614f2682614ee5565b602082019050919050565b60006020820190508181036000830152614f4a81614f0e565b9050919050565b7f54582065786365656473206c696d697473000000000000000000000000000000600082015250565b6000614f87601183613b43565b9150614f9282614f51565b602082019050919050565b60006020820190508181036000830152614fb681614f7a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061504061503b6150368461501b565b614dff565b613c4d565b9050919050565b61505081615025565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61508b81613c0f565b82525050565b600061509d8383615082565b60208301905092915050565b6000602082019050919050565b60006150c182615056565b6150cb8185615061565b93506150d683615072565b8060005b838110156151075781516150ee8882615091565b97506150f9836150a9565b9250506001810190506150da565b5085935050505092915050565b600060a0820190506151296000830188613d4c565b6151366020830187615047565b818103604083015261514881866150b6565b90506151576060830185614098565b6151646080830184613d4c565b9695505050505050565b600060c0820190506151836000830189614098565b6151906020830188613d4c565b61519d6040830187615047565b6151aa6060830186615047565b6151b76080830185614098565b6151c460a0830184613d4c565b979650505050505050565b6000815190506151de81613c57565b92915050565b6000806000606084860312156151fd576151fc613bea565b5b600061520b868287016151cf565b935050602061521c868287016151cf565b925050604061522d868287016151cf565b915050925092509256fea26469706673582212200d40721e4dd720cf77c0660351c3ca9f2773887a50b3ad94f964c30c363afd6164736f6c63430008130033

Deployed Bytecode Sourcemap

9019:15497:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12213:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12551:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19541:439;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11943:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13008:404;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18545:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23677:567;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12037:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20387:462;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24252:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20193:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18457:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20289:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18789:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18199:250;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17961:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18637:146;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;12299:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8826:137;;;;;;;;;;;;;:::i;:::-;;18975:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18078:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8576:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12123:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20857:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12775:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20089:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12410:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13745:805;;;:::i;:::-;;19446:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8663:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19988:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19353:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12213:80;12261:13;12285:5;;;;;;;;;;;;;;;;;12278:12;;12213:80;:::o;12551:216::-;12626:4;12678:6;12643:11;:23;12655:10;12643:23;;;;;;;;;;;;;;;:32;12667:7;12643:32;;;;;;;;;;;;;;;:41;;;;12721:7;12700:37;;12709:10;12700:37;;;12730:6;12700:37;;;;;;:::i;:::-;;;;;;;;12755:4;12748:11;;12551:216;;;;:::o;19541:439::-;8532:6;;;;;;;;;;8518:20;;:10;:20;;;8510:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;19645:5:::1;:9;19651:2;19645:9;;;;;;;;;;;;;;;;;;;;;;;;;19644:10;:24;;;;;19659:5;:9;19665:2;19659:9;;;;;;;;;;;;;;;;;;;;;;;;;19658:10;19644:24;:44;;;;;19673:5;:15;19679:8;19673:15;;;;;;;;;;;;;;;;;;;;;;;;;19672:16;19644:44;19636:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;19757:2;19737:9;;:23;;;;;;;;;;;;;;;;;;19791:2;19771:9;;:23;;;;;;;;;;;;;;;;;;19816:8;19805;;:19;;;;;;;;;;;;;;;;;;19859:4;19845:7;:11;19853:2;19845:11;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;19890:4;19874:9;:13;19884:2;19874:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;19929:4;19915:7;:11;19923:2;19915:11;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;19968:4;19952:9;:13;19962:2;19952:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;19541:439:::0;;;:::o;11943:88::-;11998:7;9096:1;9157:2;:13;;;;:::i;:::-;9144:9;:27;;;;:::i;:::-;12009:19;;11943:88;:::o;13008:404::-;13108:4;13133:25;13151:6;13133:17;:25::i;:::-;13125:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;13228:17;13193:11;:19;13205:6;13193:19;;;;;;;;;;;;;;;:31;13213:10;13193:31;;;;;;;;;;;;;;;;:52;13190:157;;13329:6;13295:11;:19;13307:6;13295:19;;;;;;;;;;;;;;;:31;13315:10;13295:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;13261:11;:19;13273:6;13261:19;;;;;;;;;;;;;;;:31;13281:10;13261:31;;;;;;;;;;;;;;;:74;;;;13190:157;13364:40;13378:6;13386:9;13397:6;13364:13;:40::i;:::-;13357:47;;13008:404;;;;;:::o;18545:84::-;18586:5;18611:10;;;;;;;;;;;18604:17;;18545:84;:::o;23677:567::-;8532:6;;;;;;;;;;8518:20;;:10;:20;;;8510:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10965:4:::1;10952:10;;:17;;;;;;;;;;;;;;;;;;23815:3:::2;23795:16;:23;;;;23787:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;23860:20;23929:3;23910:16;23883:43;;:9;:24;23901:4;23883:24;;;;;;;;;;;;;;;;:43;;;;:::i;:::-;:49;;;;:::i;:::-;23860:72;;9096:1;23962:2;:15;;;;:::i;:::-;23947:12;:30;23943:97;;;23994:34;24015:12;23994:20;:34::i;:::-;23943:97;24054:7;24050:187;;;24079:18;24100:21;24079:42;;24157:1;24144:10;:14;24136:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;24184:40;24202:21;24184:17;:40::i;:::-;24063:174;24050:187;23776:468;11007:5:::1;10994:10;;:18;;;;;;;;;;;;;;;;;;23677:567:::0;;:::o;12037:80::-;12089:5;9096:1;12098:16;;12037:80;:::o;20387:462::-;8532:6;;;;;;;;;;8518:20;;:10;:20;;;8510:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;20493:16:::1;20559:1;20552:4;20527:22;20512:37;;9096:1;9157:2;:13;;;;:::i;:::-;9144:9;:27;;;;:::i;:::-;20512:37;;;;:::i;:::-;:44;;;;:::i;:::-;:48;;;;:::i;:::-;20493:67;;20591:12;;20579:8;:24;;20571:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;20644:8;20629:12;:23;;;;20663:20;20728:1;20721:4;20701:17;20686:32;;9096:1;9157:2;:13;;;;:::i;:::-;9144:9;:27;;;;:::i;:::-;20686:32;;;;:::i;:::-;:39;;;;:::i;:::-;:43;;;;:::i;:::-;20663:66;;20764:16;;20748:12;:32;;20740:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;20829:12;20810:16;:31;;;;20482:367;;20387:462:::0;;:::o;24252:261::-;24302:24;24329:21;24339:10;24329:9;:21::i;:::-;24302:48;;24379:16;24369:6;:26;;24361:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;24426:31;24438:10;24450:6;24426:11;:31::i;:::-;24486:10;24473:32;;;24498:6;24473:32;;;;;;:::i;:::-;;;;;;;;24291:222;24252:261;:::o;20193:90::-;20237:7;20264:11;;20257:18;;20193:90;:::o;18457:82::-;18497:5;18522:9;;;;;;;;;;;18515:16;;18457:82;:::o;20289:90::-;20333:7;20360:11;;20353:18;;20289:90;:::o;18789:178::-;8532:6;;;;;;;;;;8518:20;;:10;:20;;;8510:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;18881:1:::1;18873:4;18867:3;:10;;;;:::i;:::-;:15;;;;18859:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;18928:3;18916:9;;:15;;;;;;;;;;;;;;;;;;18955:4;18942:10;;:17;;;;;;;;;;;;;;;;;;18789:178:::0;;:::o;18199:250::-;8532:6;;;;;;;;;;8518:20;;:10;:20;;;8510:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;18296:8:::1;:18;;;;18308:6;18296:18;18292:72;;;18327:5;:13;18333:6;18327:13;;;;;;;;;;;;;;;;;;;;;;;;;18326:14;18318:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;18292:72;18394:6;18374:7;:17;18383:6;18374:17;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;18433:8;18411:9;:19;18422:6;18411:19;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;18199:250:::0;;;:::o;17961:110::-;18024:4;18048:7;:15;18056:6;18048:15;;;;;;;;;;;;;;;;;;;;;;;;;18041:22;;17961:110;;;:::o;18637:146::-;18680:9;18691;18702;18734:12;;;;;;;;;;;18748;;;;;;;;;;;18762;;;;;;;;;;;18725:50;;;;;;18637:146;;;:::o;12299:105::-;12365:7;12383:9;:18;12393:7;12383:18;;;;;;;;;;;;;;;;12376:25;;12299:105;;;:::o;8826:137::-;8532:6;;;;;;;;;;8518:20;;:10;:20;;;8510:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;8903:1:::1;8886:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;8922:32;8951:1;8922:32;;;;;;:::i;:::-;;;;;;;;8826:137::o:0;18975:370::-;8532:6;;;;;;;;;;8518:20;;:10;:20;;;8510:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;19081:18:::1;19128:8;19117;19102:12;:23;;;;:::i;:::-;:34;;;;:::i;:::-;19081:55;;19170:1;19156:11;:15;;;19147:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;19217:12;19202;;:27;;;;;;;;;;;;;;;;;;19255:8;19240:12;;:23;;;;;;;;;;;;;;;;;;19289:8;19274:12;;:23;;;;;;;;;;;;;;;;;;19326:11;19308:15;;:29;;;;;;;;;;;;;;;;;;19070:275;18975:370:::0;;;:::o;18078:114::-;18143:4;18167:9;:17;18177:6;18167:17;;;;;;;;;;;;;;;;;;;;;;;;;18160:24;;18078:114;;;:::o;8576:81::-;8614:7;8642:6;;;;;;;;;;;8635:13;;8576:81;:::o;12123:84::-;12173:13;12197:7;;;;;;;;;;;;;;;;;12190:14;;12123:84;:::o;20857:436::-;8532:6;;;;;;;;;;8518:20;;:10;:20;;;8510:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;21019:10:::1;20993:36;;21008:8;20993:23;;9096:1;9157:2;:13;;;;:::i;:::-;9144:9;:27;;;;:::i;:::-;20993:23;;;;:::i;:::-;:36;;;;:::i;:::-;20979:11;:50;;;;21080:10;21054:36;;21069:8;21054:23;;9096:1;9157:2;:13;;;;:::i;:::-;9144:9;:27;;;;:::i;:::-;21054:23;;;;:::i;:::-;:36;;;;:::i;:::-;21040:11;:50;;;;21122:11;;21109;;:24;;21101:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;21197:6;9096:1;9157:2;:13;;;;:::i;:::-;9144:9;:27;;;;:::i;:::-;21182:21;;;;:::i;:::-;21170:11;;:33;21162:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;21265:3;9096:1;9157:2;:13;;;;:::i;:::-;9144:9;:27;;;;:::i;:::-;21250:18;;;;:::i;:::-;21238:11;;:30;21230:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;20857:436:::0;;;;:::o;12775:225::-;12855:4;12880:29;12898:10;12880:17;:29::i;:::-;12872:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;12948:44;12962:10;12974:9;12985:6;12948:13;:44::i;:::-;12941:51;;12775:225;;;;:::o;20089:96::-;20138:7;20165:12;;20158:19;;20089:96;:::o;12410:133::-;12494:7;12512:11;:19;12524:6;12512:19;;;;;;;;;;;;;;;:28;12532:7;12512:28;;;;;;;;;;;;;;;;12505:35;;12410:133;;;;:::o;13745:805::-;8532:6;;;;;;;;;;8518:20;;:10;:20;;;8510:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10965:4:::1;10952:10;;:17;;;;;;;;;;;;;;;;;;13849:1:::2;13827:24;;:10;;;;;;;;;;;:24;;;13819:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;13885:12;;;;;;;;;;;13884:13;13876:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;13948:1;13936:9;:13;:40;;;;13975:1;13953:21;:23;13936:40;13928:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;14054:1;14029:9;:24;14047:4;14029:24;;;;;;;;;;;;;;;;:26;14021:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;14123:18;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14105:58;;;14172:4;14179:18;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14105:100;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14092:10;;:113;;;;;;;;;;;;;;;;;;14216:69;14230:9;:24;14248:4;14230:24;;;;;;;;;;;;;;;;14256:21;14279:5;14216:13;:69::i;:::-;14321:10;;14296:9;:21;14306:10;;;;;;;;;;;14296:21;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;14343:17;14365:10;;;;;;;;;;;:15;;14381:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14365:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14342:73;;;14434:12;14426:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14505:12;14485:5;:17;14491:10;;;;;;;;;;;14485:17;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;14528:14;:12;:14::i;:::-;13808:742;11007:5:::1;10994:10;;:18;;;;;;;;;;;;;;;;;;13745:805::o:0;19446:87::-;19489:7;19516:9;;;;;;;;;;;19509:16;;19446:87;:::o;8663:157::-;8532:6;;;;;;;;;;8518:20;;:10;:20;;;8510:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;8756:8:::1;8747:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;8781:30;8802:8;8781:30;;;;;;:::i;:::-;;;;;;;;8663:157:::0;:::o;19988:95::-;20032:7;20059:16;;20052:23;;19988:95;:::o;19353:87::-;19396:7;19423:9;;;;;;;;;;;19416:16;;19353:87;:::o;16846:279::-;16911:4;16927:16;16946:5;16927:24;;16967:12;;;;;;;;;;;16962:124;;;16998:4;16984:18;;16962:124;;;17025:7;:15;17033:6;17025:15;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;;17044:9;:17;17054:6;17044:17;;;;;;;;;;;;;;;;;;;;;;;;;17025:36;17021:65;;;17079:4;17065:18;;17021:65;16962:124;17106:11;17099:18;;;16846:279;;;:::o;15258:1077::-;15350:4;15393:1;15375:20;;:6;:20;;;15367:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;15445:12;;;;;;;;;;;15440:89;;15469:7;:15;15477:6;15469:15;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;;15488:9;:17;15498:6;15488:17;;;;;;;;;;;;;;;;;;;;;;;;;15469:36;15461:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;15440:89;15545:10;;;;;;;;;;;15544:11;:31;;;;;15559:5;:16;15565:9;15559:16;;;;;;;;;;;;;;;;;;;;;;;;;15544:31;15539:64;;;15580:20;:18;:20::i;:::-;15539:64;15633:16;;15618:12;:31;:63;;;;;15669:12;;15653;:28;;15618:63;:80;;;;;15685:5;:13;15691:6;15685:13;;;;;;;;;;;;;;;;;;;;;;;;;15618:80;15613:161;;;15737:9;15724:22;;:9;:22;;;15716:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;15613:161;15807:4;15789:23;;:6;:23;;;;:53;;;;;15837:4;15816:26;;:9;:26;;;;15789:53;:73;;;;;15856:6;;;;;;;;;;15846:16;;:6;:16;;;;15789:73;15784:179;;;15889:39;15902:6;15910:9;15921:6;15889:12;:39::i;:::-;15881:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;15784:179;15973:18;15994:40;16008:6;16016:9;16027:6;15994:13;:40::i;:::-;15973:61;;16045:23;16080:10;16071:6;:19;;;;:::i;:::-;16045:45;;16141:6;16121:9;:17;16131:6;16121:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;16101:9;:17;16111:6;16101:17;;;;;;;;;;;;;;;:46;;;;16172:10;16158;;:24;;;;;;;:::i;:::-;;;;;;;;16239:15;16216:9;:20;16226:9;16216:20;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;16193:9;:20;16203:9;16193:20;;;;;;;;;;;;;;;:61;;;;16287:9;16270:35;;16279:6;16270:35;;;16298:6;16270:35;;;;;;:::i;:::-;;;;;;;;16323:4;16316:11;;;;15258:1077;;;;;:::o;22850:366::-;22920:27;22935:11;22920:14;:27::i;:::-;22958:21;22996:1;22982:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22958:40;;23027:4;23009;23014:1;23009:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;23053:18;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23043:4;23048:1;23043:7;;;;;;;;:::i;:::-;;;;;;;:35;;;;;;;;;;;23089:18;;;;;;;;;;;:69;;;23159:11;23171:1;23173:4;23186;23192:15;23089:119;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22909:307;22850:366;:::o;23224:445::-;23286:21;23325:12;;;;;;;;;;;23310;;;;;;;;;;;:27;;;;:::i;:::-;23286:51;;23369:1;23352:14;:18;;;23348:314;;;23387:16;23430:14;23406:38;;23415:12;;;;;;;;;;;23406:21;;:6;:21;;;;:::i;:::-;:38;;;;:::i;:::-;23387:57;;23459:16;23502:14;23478:38;;23487:12;;;;;;;;;;;23478:21;;:6;:21;;;;:::i;:::-;:38;;;;:::i;:::-;23459:57;;23547:1;23536:8;:12;23531:53;;;23553:9;;;;;;;;;;;:18;;:28;23572:8;23553:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23531:53;23614:1;23603:8;:12;23598:53;;;23620:9;;;;;;;;;;;:18;;:28;23639:8;23620:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23598:53;23372:290;;23348:314;23275:394;23224:445;:::o;21301:265::-;21391:1;21382:6;:10;21377:182;;;21435:6;21410:9;:21;21420:10;21410:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;21481:6;21456:9;:21;21474:1;21456:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;21536:1;21507:40;;21516:10;21507:40;;;21540:6;21507:40;;;;;;:::i;:::-;;;;;;;;21377:182;21301:265;;:::o;14558:385::-;14661:24;14688:8;;;;;;;;;;;14661:35;;14712:8;14707:50;;;14752:1;14725:29;;14707:50;14767:28;14782:12;14767:14;:28::i;:::-;14806:18;;;;;;;;;;;:34;;;14848:13;14873:4;14880:12;14894:1;14897;14900:16;14918:15;14806:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14650:293;14558:385;;;:::o;14951:299::-;15033:3;15029:1;9096;9157:2;:13;;;;:::i;:::-;9144:9;:27;;;;:::i;:::-;15014:16;;;;:::i;:::-;:22;;;;:::i;:::-;14995:12;:41;;;;15086:3;15082:1;9096;9157:2;:13;;;;:::i;:::-;9144:9;:27;;;;:::i;:::-;15067:16;;;;:::i;:::-;:22;;;;:::i;:::-;15048:16;:41;;;;15115:4;15100:12;;:19;;;;;;;;;;;;;;;;;;15145:12;15130;:27;;;;15233:9;;;;;;;;;;;15187:55;;15221:9;;;;;;;;;;;15187:43;;15206:12;;15187:16;;:31;;;;:::i;:::-;:43;;;;:::i;:::-;:55;;;;:::i;:::-;15168:16;:74;;;;14951:299::o;21574:1268::-;10965:4;10952:10;;:17;;;;;;;;;;;;;;;;;;21635:27:::1;21665:10;;21635:40;;21714:11;;21691:19;:34;;:50;;;;;21729:12;;;;;;;;;;;21691:50;21686:1149;;;21787:11;;21764:19;:34;21759:80;;21825:11;;21803:33;;21759:80;21853:20;21931:1;21913:15;;;;;;;;;;;21876:52;;21898:12;;;;;;;;;;;21876:34;;:19;:34;;;;:::i;:::-;:52;;;;:::i;:::-;:56;;;;:::i;:::-;21853:79;;21961:21;22007:12;21985:19;:34;;;;:::i;:::-;21961:58;;9096:1;22054:2;:13;;;;:::i;:::-;22038;:29;22034:639;;;22089:19;22111:21;22089:43;;22179:19;22151:9;:24;22169:4;22151:24;;;;;;;;;;;;;;;;:47;;;;;;;:::i;:::-;;;;;;;;22217:35;22238:13;22217:20;:35::i;:::-;22285:19;22271:10;;:33;;;;;;;:::i;:::-;;;;;;;;22323:19;22369:11;22345:21;:35;;;;:::i;:::-;22323:57;;22419:1;22404:12;;;;;;;;;;;:16;;;22399:259;;;22446:21;22499:15;;;;;;;;;;;22470:44;;22484:12;;;;;;;;;;;22470:26;;:11;:26;;;;:::i;:::-;:44;;;;:::i;:::-;22446:68;;22538:28;22553:12;22538:14;:28::i;:::-;22589:49;22603:12;22617:13;22632:5;22589:13;:49::i;:::-;22423:235;22399:259;22070:603;;22034:639;22687:27;22717:21;22687:51;;22778:1;22756:19;:23;22753:71;;;22783:38;22801:19;22783:17;:38::i;:::-;22753:71;21744:1091;;;21686:1149;21624:1218;11007:5:::0;10994:10;;:18;;;;;;;;;;;;;;;;;;21574:1268::o;16343:495::-;16447:4;16464:21;16488:4;16464:28;;16508:12;;;;;;;;;;;:34;;;;;16525:9;:17;16535:6;16525:17;;;;;;;;;;;;;;;;;;;;;;;;;16524:18;16508:34;:59;;;;;16547:9;:20;16557:9;16547:20;;;;;;;;;;;;;;;;;;;;;;;;;16546:21;16508:59;16503:294;;;16607:12;;16590:14;:29;16585:201;;;16643:5;16624:24;;16585:201;;;16676:5;:16;16682:9;16676:16;;;;;;;;;;;;;;;;;;;;;;;;;16675:17;:79;;;;;16737:16;;16720:14;16697:9;:20;16707:9;16697:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;:56;16675:79;16670:116;;;16778:5;16759:24;;16670:116;16585:201;16503:294;16814:16;16807:23;;;16343:495;;;;;:::o;17133:818::-;17230:7;17250:17;17294:12;;;;;;;;;;;17293:13;:32;;;;17310:7;:15;17318:6;17310:15;;;;;;;;;;;;;;;;;;;;;;;;;17293:32;:54;;;;17329:7;:18;17337:9;17329:18;;;;;;;;;;;;;;;;;;;;;;;;;17293:54;17288:627;;;17378:1;17366:13;;17288:627;;;17403:5;:13;17409:6;17403:13;;;;;;;;;;;;;;;;;;;;;;;;;17398:517;;;17483:9;;;;;;;;;;;17456:36;;17471:9;;;;;;;;;;;17456:24;;:12;;:24;;;;:::i;:::-;:36;;;;:::i;:::-;17440:12;:52;17435:373;;17547:3;17535:9;;;;;;;;;;;17526:18;;:6;:18;;;;:::i;:::-;:24;;;;:::i;:::-;17514:36;;17435:373;;;17609:9;;;;;;;;;;;17594:24;;:12;;:24;;;;:::i;:::-;17578:12;:40;17573:235;;17675:3;17661:11;;;;;;;;;;;17652:20;;:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;17640:38;;17573:235;;;17721:12;;17705;:28;17700:108;;17789:3;17775:11;;;;;;;;;;;17766:20;;:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;17754:38;;17700:108;17573:235;17435:373;17398:517;;;17830:5;:16;17836:9;17830:16;;;;;;;;;;;;;;;;;;;;;;;;;17825:90;;;17899:3;17886:10;;;;;;;;;;;17877:19;;:6;:19;;;;:::i;:::-;:25;;;;:::i;:::-;17865:37;;17825:90;17398:517;17288:627;17934:9;17927:16;;;17133:818;;;;;:::o;13420:317::-;13540:12;13491:11;:26;13511:4;13491:26;;;;;;;;;;;;;;;:46;10623:42;13491:46;;;;;;;;;;;;;;;;:61;13486:244;;;13619:17;13570:11;:26;13590:4;13570:26;;;;;;;;;;;;;;;:46;10623:42;13570:46;;;;;;;;;;;;;;;:66;;;;10623:42;13656:62;;13673:4;13656:62;;;13700:17;13656:62;;;;;;:::i;:::-;;;;;;;;13486:244;13420:317;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:619::-;3523:6;3531;3539;3588:2;3576:9;3567:7;3563:23;3559:32;3556:119;;;3594:79;;:::i;:::-;3556:119;3714:1;3739:53;3784:7;3775:6;3764:9;3760:22;3739:53;:::i;:::-;3729:63;;3685:117;3841:2;3867:53;3912:7;3903:6;3892:9;3888:22;3867:53;:::i;:::-;3857:63;;3812:118;3969:2;3995:53;4040:7;4031:6;4020:9;4016:22;3995:53;:::i;:::-;3985:63;;3940:118;3446:619;;;;;:::o;4071:118::-;4158:24;4176:5;4158:24;:::i;:::-;4153:3;4146:37;4071:118;;:::o;4195:222::-;4288:4;4326:2;4315:9;4311:18;4303:26;;4339:71;4407:1;4396:9;4392:17;4383:6;4339:71;:::i;:::-;4195:222;;;;:::o;4423:619::-;4500:6;4508;4516;4565:2;4553:9;4544:7;4540:23;4536:32;4533:119;;;4571:79;;:::i;:::-;4533:119;4691:1;4716:53;4761:7;4752:6;4741:9;4737:22;4716:53;:::i;:::-;4706:63;;4662:117;4818:2;4844:53;4889:7;4880:6;4869:9;4865:22;4844:53;:::i;:::-;4834:63;;4789:118;4946:2;4972:53;5017:7;5008:6;4997:9;4993:22;4972:53;:::i;:::-;4962:63;;4917:118;4423:619;;;;;:::o;5048:86::-;5083:7;5123:4;5116:5;5112:16;5101:27;;5048:86;;;:::o;5140:112::-;5223:22;5239:5;5223:22;:::i;:::-;5218:3;5211:35;5140:112;;:::o;5258:214::-;5347:4;5385:2;5374:9;5370:18;5362:26;;5398:67;5462:1;5451:9;5447:17;5438:6;5398:67;:::i;:::-;5258:214;;;;:::o;5478:118::-;5549:22;5565:5;5549:22;:::i;:::-;5542:5;5539:33;5529:61;;5586:1;5583;5576:12;5529:61;5478:118;:::o;5602:135::-;5646:5;5684:6;5671:20;5662:29;;5700:31;5725:5;5700:31;:::i;:::-;5602:135;;;;:::o;5743:116::-;5813:21;5828:5;5813:21;:::i;:::-;5806:5;5803:32;5793:60;;5849:1;5846;5839:12;5793:60;5743:116;:::o;5865:133::-;5908:5;5946:6;5933:20;5924:29;;5962:30;5986:5;5962:30;:::i;:::-;5865:133;;;;:::o;6004:464::-;6067:6;6075;6124:2;6112:9;6103:7;6099:23;6095:32;6092:119;;;6130:79;;:::i;:::-;6092:119;6250:1;6275:51;6318:7;6309:6;6298:9;6294:22;6275:51;:::i;:::-;6265:61;;6221:115;6375:2;6401:50;6443:7;6434:6;6423:9;6419:22;6401:50;:::i;:::-;6391:60;;6346:115;6004:464;;;;;:::o;6474:89::-;6510:7;6550:6;6543:5;6539:18;6528:29;;6474:89;;;:::o;6569:120::-;6641:23;6658:5;6641:23;:::i;:::-;6634:5;6631:34;6621:62;;6679:1;6676;6669:12;6621:62;6569:120;:::o;6695:137::-;6740:5;6778:6;6765:20;6756:29;;6794:32;6820:5;6794:32;:::i;:::-;6695:137;;;;:::o;6838:470::-;6904:6;6912;6961:2;6949:9;6940:7;6936:23;6932:32;6929:119;;;6967:79;;:::i;:::-;6929:119;7087:1;7112:52;7156:7;7147:6;7136:9;7132:22;7112:52;:::i;:::-;7102:62;;7058:116;7213:2;7239:52;7283:7;7274:6;7263:9;7259:22;7239:52;:::i;:::-;7229:62;;7184:117;6838:470;;;;;:::o;7314:329::-;7373:6;7422:2;7410:9;7401:7;7397:23;7393:32;7390:119;;;7428:79;;:::i;:::-;7390:119;7548:1;7573:53;7618:7;7609:6;7598:9;7594:22;7573:53;:::i;:::-;7563:63;;7519:117;7314:329;;;;:::o;7649:466::-;7713:6;7721;7770:2;7758:9;7749:7;7745:23;7741:32;7738:119;;;7776:79;;:::i;:::-;7738:119;7896:1;7921:51;7964:7;7955:6;7944:9;7940:22;7921:51;:::i;:::-;7911:61;;7867:115;8021:2;8047:51;8090:7;8081:6;8070:9;8066:22;8047:51;:::i;:::-;8037:61;;7992:116;7649:466;;;;;:::o;8121:607::-;8192:6;8200;8208;8257:2;8245:9;8236:7;8232:23;8228:32;8225:119;;;8263:79;;:::i;:::-;8225:119;8383:1;8408:53;8453:7;8444:6;8433:9;8429:22;8408:53;:::i;:::-;8398:63;;8354:117;8510:2;8536:50;8578:7;8569:6;8558:9;8554:22;8536:50;:::i;:::-;8526:60;;8481:115;8635:2;8661:50;8703:7;8694:6;8683:9;8679:22;8661:50;:::i;:::-;8651:60;;8606:115;8121:607;;;;;:::o;8734:329::-;8793:6;8842:2;8830:9;8821:7;8817:23;8813:32;8810:119;;;8848:79;;:::i;:::-;8810:119;8968:1;8993:53;9038:7;9029:6;9018:9;9014:22;8993:53;:::i;:::-;8983:63;;8939:117;8734:329;;;;:::o;9069:115::-;9154:23;9171:5;9154:23;:::i;:::-;9149:3;9142:36;9069:115;;:::o;9190:430::-;9333:4;9371:2;9360:9;9356:18;9348:26;;9384:69;9450:1;9439:9;9435:17;9426:6;9384:69;:::i;:::-;9463:70;9529:2;9518:9;9514:18;9505:6;9463:70;:::i;:::-;9543;9609:2;9598:9;9594:18;9585:6;9543:70;:::i;:::-;9190:430;;;;;;:::o;9626:613::-;9700:6;9708;9716;9765:2;9753:9;9744:7;9740:23;9736:32;9733:119;;;9771:79;;:::i;:::-;9733:119;9891:1;9916:52;9960:7;9951:6;9940:9;9936:22;9916:52;:::i;:::-;9906:62;;9862:116;10017:2;10043:52;10087:7;10078:6;10067:9;10063:22;10043:52;:::i;:::-;10033:62;;9988:117;10144:2;10170:52;10214:7;10205:6;10194:9;10190:22;10170:52;:::i;:::-;10160:62;;10115:117;9626:613;;;;;:::o;10245:118::-;10332:24;10350:5;10332:24;:::i;:::-;10327:3;10320:37;10245:118;;:::o;10369:222::-;10462:4;10500:2;10489:9;10485:18;10477:26;;10513:71;10581:1;10570:9;10566:17;10557:6;10513:71;:::i;:::-;10369:222;;;;:::o;10597:93::-;10633:7;10673:10;10666:5;10662:22;10651:33;;10597:93;;;:::o;10696:120::-;10768:23;10785:5;10768:23;:::i;:::-;10761:5;10758:34;10748:62;;10806:1;10803;10796:12;10748:62;10696:120;:::o;10822:137::-;10867:5;10905:6;10892:20;10883:29;;10921:32;10947:5;10921:32;:::i;:::-;10822:137;;;;:::o;10965:757::-;11047:6;11055;11063;11071;11120:3;11108:9;11099:7;11095:23;11091:33;11088:120;;;11127:79;;:::i;:::-;11088:120;11247:1;11272:52;11316:7;11307:6;11296:9;11292:22;11272:52;:::i;:::-;11262:62;;11218:116;11373:2;11399:52;11443:7;11434:6;11423:9;11419:22;11399:52;:::i;:::-;11389:62;;11344:117;11500:2;11526:52;11570:7;11561:6;11550:9;11546:22;11526:52;:::i;:::-;11516:62;;11471:117;11627:2;11653:52;11697:7;11688:6;11677:9;11673:22;11653:52;:::i;:::-;11643:62;;11598:117;10965:757;;;;;;;:::o;11728:474::-;11796:6;11804;11853:2;11841:9;11832:7;11828:23;11824:32;11821:119;;;11859:79;;:::i;:::-;11821:119;11979:1;12004:53;12049:7;12040:6;12029:9;12025:22;12004:53;:::i;:::-;11994:63;;11950:117;12106:2;12132:53;12177:7;12168:6;12157:9;12153:22;12132:53;:::i;:::-;12122:63;;12077:118;11728:474;;;;;:::o;12208:104::-;12253:7;12282:24;12300:5;12282:24;:::i;:::-;12271:35;;12208:104;;;:::o;12318:138::-;12399:32;12425:5;12399:32;:::i;:::-;12392:5;12389:43;12379:71;;12446:1;12443;12436:12;12379:71;12318:138;:::o;12462:155::-;12516:5;12554:6;12541:20;12532:29;;12570:41;12605:5;12570:41;:::i;:::-;12462:155;;;;:::o;12623:345::-;12690:6;12739:2;12727:9;12718:7;12714:23;12710:32;12707:119;;;12745:79;;:::i;:::-;12707:119;12865:1;12890:61;12943:7;12934:6;12923:9;12919:22;12890:61;:::i;:::-;12880:71;;12836:125;12623:345;;;;:::o;12974:155::-;13114:7;13110:1;13102:6;13098:14;13091:31;12974:155;:::o;13135:365::-;13277:3;13298:66;13362:1;13357:3;13298:66;:::i;:::-;13291:73;;13373:93;13462:3;13373:93;:::i;:::-;13491:2;13486:3;13482:12;13475:19;;13135:365;;;:::o;13506:419::-;13672:4;13710:2;13699:9;13695:18;13687:26;;13759:9;13753:4;13749:20;13745:1;13734:9;13730:17;13723:47;13787:131;13913:4;13787:131;:::i;:::-;13779:139;;13506:419;;;:::o;13931:173::-;14071:25;14067:1;14059:6;14055:14;14048:49;13931:173;:::o;14110:366::-;14252:3;14273:67;14337:2;14332:3;14273:67;:::i;:::-;14266:74;;14349:93;14438:3;14349:93;:::i;:::-;14467:2;14462:3;14458:12;14451:19;;14110:366;;;:::o;14482:419::-;14648:4;14686:2;14675:9;14671:18;14663:26;;14735:9;14729:4;14725:20;14721:1;14710:9;14706:17;14699:47;14763:131;14889:4;14763:131;:::i;:::-;14755:139;;14482:419;;;:::o;14907:180::-;14955:77;14952:1;14945:88;15052:4;15049:1;15042:15;15076:4;15073:1;15066:15;15093:102;15135:8;15182:5;15179:1;15175:13;15154:34;;15093:102;;;:::o;15201:848::-;15262:5;15269:4;15293:6;15284:15;;15317:5;15308:14;;15331:712;15352:1;15342:8;15339:15;15331:712;;;15447:4;15442:3;15438:14;15432:4;15429:24;15426:50;;;15456:18;;:::i;:::-;15426:50;15506:1;15496:8;15492:16;15489:451;;;15921:4;15914:5;15910:16;15901:25;;15489:451;15971:4;15965;15961:15;15953:23;;16001:32;16024:8;16001:32;:::i;:::-;15989:44;;15331:712;;;15201:848;;;;;;;:::o;16055:1073::-;16109:5;16300:8;16290:40;;16321:1;16312:10;;16323:5;;16290:40;16349:4;16339:36;;16366:1;16357:10;;16368:5;;16339:36;16435:4;16483:1;16478:27;;;;16519:1;16514:191;;;;16428:277;;16478:27;16496:1;16487:10;;16498:5;;;16514:191;16559:3;16549:8;16546:17;16543:43;;;16566:18;;:::i;:::-;16543:43;16615:8;16612:1;16608:16;16599:25;;16650:3;16643:5;16640:14;16637:40;;;16657:18;;:::i;:::-;16637:40;16690:5;;;16428:277;;16814:2;16804:8;16801:16;16795:3;16789:4;16786:13;16782:36;16764:2;16754:8;16751:16;16746:2;16740:4;16737:12;16733:35;16717:111;16714:246;;;16870:8;16864:4;16860:19;16851:28;;16905:3;16898:5;16895:14;16892:40;;;16912:18;;:::i;:::-;16892:40;16945:5;;16714:246;16985:42;17023:3;17013:8;17007:4;17004:1;16985:42;:::i;:::-;16970:57;;;;17059:4;17054:3;17050:14;17043:5;17040:25;17037:51;;;17068:18;;:::i;:::-;17037:51;17117:4;17110:5;17106:16;17097:25;;16055:1073;;;;;;:::o;17134:281::-;17192:5;17216:23;17234:4;17216:23;:::i;:::-;17208:31;;17260:25;17276:8;17260:25;:::i;:::-;17248:37;;17304:104;17341:66;17331:8;17325:4;17304:104;:::i;:::-;17295:113;;17134:281;;;;:::o;17421:410::-;17461:7;17484:20;17502:1;17484:20;:::i;:::-;17479:25;;17518:20;17536:1;17518:20;:::i;:::-;17513:25;;17573:1;17570;17566:9;17595:30;17613:11;17595:30;:::i;:::-;17584:41;;17774:1;17765:7;17761:15;17758:1;17755:22;17735:1;17728:9;17708:83;17685:139;;17804:18;;:::i;:::-;17685:139;17469:362;17421:410;;;;:::o;17837:166::-;17977:18;17973:1;17965:6;17961:14;17954:42;17837:166;:::o;18009:366::-;18151:3;18172:67;18236:2;18231:3;18172:67;:::i;:::-;18165:74;;18248:93;18337:3;18248:93;:::i;:::-;18366:2;18361:3;18357:12;18350:19;;18009:366;;;:::o;18381:419::-;18547:4;18585:2;18574:9;18570:18;18562:26;;18634:9;18628:4;18624:20;18620:1;18609:9;18605:17;18598:47;18662:131;18788:4;18662:131;:::i;:::-;18654:139;;18381:419;;;:::o;18806:194::-;18846:4;18866:20;18884:1;18866:20;:::i;:::-;18861:25;;18900:20;18918:1;18900:20;:::i;:::-;18895:25;;18944:1;18941;18937:9;18929:17;;18968:1;18962:4;18959:11;18956:37;;;18973:18;;:::i;:::-;18956:37;18806:194;;;;:::o;19006:176::-;19146:28;19142:1;19134:6;19130:14;19123:52;19006:176;:::o;19188:366::-;19330:3;19351:67;19415:2;19410:3;19351:67;:::i;:::-;19344:74;;19427:93;19516:3;19427:93;:::i;:::-;19545:2;19540:3;19536:12;19529:19;;19188:366;;;:::o;19560:419::-;19726:4;19764:2;19753:9;19749:18;19741:26;;19813:9;19807:4;19803:20;19799:1;19788:9;19784:17;19777:47;19841:131;19967:4;19841:131;:::i;:::-;19833:139;;19560:419;;;:::o;19985:180::-;20033:77;20030:1;20023:88;20130:4;20127:1;20120:15;20154:4;20151:1;20144:15;20171:185;20211:1;20228:20;20246:1;20228:20;:::i;:::-;20223:25;;20262:20;20280:1;20262:20;:::i;:::-;20257:25;;20301:1;20291:35;;20306:18;;:::i;:::-;20291:35;20348:1;20345;20341:9;20336:14;;20171:185;;;;:::o;20362:156::-;20502:8;20498:1;20490:6;20486:14;20479:32;20362:156;:::o;20524:365::-;20666:3;20687:66;20751:1;20746:3;20687:66;:::i;:::-;20680:73;;20762:93;20851:3;20762:93;:::i;:::-;20880:2;20875:3;20871:12;20864:19;;20524:365;;;:::o;20895:419::-;21061:4;21099:2;21088:9;21084:18;21076:26;;21148:9;21142:4;21138:20;21134:1;21123:9;21119:17;21112:47;21176:131;21302:4;21176:131;:::i;:::-;21168:139;;20895:419;;;:::o;21320:191::-;21360:3;21379:20;21397:1;21379:20;:::i;:::-;21374:25;;21413:20;21431:1;21413:20;:::i;:::-;21408:25;;21456:1;21453;21449:9;21442:16;;21477:3;21474:1;21471:10;21468:36;;;21484:18;;:::i;:::-;21468:36;21320:191;;;;:::o;21517:160::-;21657:12;21653:1;21645:6;21641:14;21634:36;21517:160;:::o;21683:366::-;21825:3;21846:67;21910:2;21905:3;21846:67;:::i;:::-;21839:74;;21922:93;22011:3;21922:93;:::i;:::-;22040:2;22035:3;22031:12;22024:19;;21683:366;;;:::o;22055:419::-;22221:4;22259:2;22248:9;22244:18;22236:26;;22308:9;22302:4;22298:20;22294:1;22283:9;22279:17;22272:47;22336:131;22462:4;22336:131;:::i;:::-;22328:139;;22055:419;;;:::o;22480:164::-;22620:16;22616:1;22608:6;22604:14;22597:40;22480:164;:::o;22650:366::-;22792:3;22813:67;22877:2;22872:3;22813:67;:::i;:::-;22806:74;;22889:93;22978:3;22889:93;:::i;:::-;23007:2;23002:3;22998:12;22991:19;;22650:366;;;:::o;23022:419::-;23188:4;23226:2;23215:9;23211:18;23203:26;;23275:9;23269:4;23265:20;23261:1;23250:9;23246:17;23239:47;23303:131;23429:4;23303:131;:::i;:::-;23295:139;;23022:419;;;:::o;23447:165::-;23587:17;23583:1;23575:6;23571:14;23564:41;23447:165;:::o;23618:366::-;23760:3;23781:67;23845:2;23840:3;23781:67;:::i;:::-;23774:74;;23857:93;23946:3;23857:93;:::i;:::-;23975:2;23970:3;23966:12;23959:19;;23618:366;;;:::o;23990:419::-;24156:4;24194:2;24183:9;24179:18;24171:26;;24243:9;24237:4;24233:20;24229:1;24218:9;24214:17;24207:47;24271:131;24397:4;24271:131;:::i;:::-;24263:139;;23990:419;;;:::o;24415:188::-;24453:3;24472:18;24488:1;24472:18;:::i;:::-;24467:23;;24504:18;24520:1;24504:18;:::i;:::-;24499:23;;24545:1;24542;24538:9;24531:16;;24568:4;24563:3;24560:13;24557:39;;;24576:18;;:::i;:::-;24557:39;24415:188;;;;:::o;24609:168::-;24749:20;24745:1;24737:6;24733:14;24726:44;24609:168;:::o;24783:366::-;24925:3;24946:67;25010:2;25005:3;24946:67;:::i;:::-;24939:74;;25022:93;25111:3;25022:93;:::i;:::-;25140:2;25135:3;25131:12;25124:19;;24783:366;;;:::o;25155:419::-;25321:4;25359:2;25348:9;25344:18;25336:26;;25408:9;25402:4;25398:20;25394:1;25383:9;25379:17;25372:47;25436:131;25562:4;25436:131;:::i;:::-;25428:139;;25155:419;;;:::o;25580:166::-;25720:18;25716:1;25708:6;25704:14;25697:42;25580:166;:::o;25752:366::-;25894:3;25915:67;25979:2;25974:3;25915:67;:::i;:::-;25908:74;;25991:93;26080:3;25991:93;:::i;:::-;26109:2;26104:3;26100:12;26093:19;;25752:366;;;:::o;26124:419::-;26290:4;26328:2;26317:9;26313:18;26305:26;;26377:9;26371:4;26367:20;26363:1;26352:9;26348:17;26341:47;26405:131;26531:4;26405:131;:::i;:::-;26397:139;;26124:419;;;:::o;26549:193::-;26588:3;26607:19;26624:1;26607:19;:::i;:::-;26602:24;;26640:19;26657:1;26640:19;:::i;:::-;26635:24;;26682:1;26679;26675:9;26668:16;;26705:6;26700:3;26697:15;26694:41;;;26715:18;;:::i;:::-;26694:41;26549:193;;;;:::o;26748:165::-;26888:17;26884:1;26876:6;26872:14;26865:41;26748:165;:::o;26919:366::-;27061:3;27082:67;27146:2;27141:3;27082:67;:::i;:::-;27075:74;;27158:93;27247:3;27158:93;:::i;:::-;27276:2;27271:3;27267:12;27260:19;;26919:366;;;:::o;27291:419::-;27457:4;27495:2;27484:9;27480:18;27472:26;;27544:9;27538:4;27534:20;27530:1;27519:9;27515:17;27508:47;27572:131;27698:4;27572:131;:::i;:::-;27564:139;;27291:419;;;:::o;27716:163::-;27856:15;27852:1;27844:6;27840:14;27833:39;27716:163;:::o;27885:366::-;28027:3;28048:67;28112:2;28107:3;28048:67;:::i;:::-;28041:74;;28124:93;28213:3;28124:93;:::i;:::-;28242:2;28237:3;28233:12;28226:19;;27885:366;;;:::o;28257:419::-;28423:4;28461:2;28450:9;28446:18;28438:26;;28510:9;28504:4;28500:20;28496:1;28485:9;28481:17;28474:47;28538:131;28664:4;28538:131;:::i;:::-;28530:139;;28257:419;;;:::o;28682:161::-;28822:13;28818:1;28810:6;28806:14;28799:37;28682:161;:::o;28849:366::-;28991:3;29012:67;29076:2;29071:3;29012:67;:::i;:::-;29005:74;;29088:93;29177:3;29088:93;:::i;:::-;29206:2;29201:3;29197:12;29190:19;;28849:366;;;:::o;29221:419::-;29387:4;29425:2;29414:9;29410:18;29402:26;;29474:9;29468:4;29464:20;29460:1;29449:9;29445:17;29438:47;29502:131;29628:4;29502:131;:::i;:::-;29494:139;;29221:419;;;:::o;29646:162::-;29786:14;29782:1;29774:6;29770:14;29763:38;29646:162;:::o;29814:366::-;29956:3;29977:67;30041:2;30036:3;29977:67;:::i;:::-;29970:74;;30053:93;30142:3;30053:93;:::i;:::-;30171:2;30166:3;30162:12;30155:19;;29814:366;;;:::o;30186:419::-;30352:4;30390:2;30379:9;30375:18;30367:26;;30439:9;30433:4;30429:20;30425:1;30414:9;30410:17;30403:47;30467:131;30593:4;30467:131;:::i;:::-;30459:139;;30186:419;;;:::o;30611:159::-;30751:11;30747:1;30739:6;30735:14;30728:35;30611:159;:::o;30776:365::-;30918:3;30939:66;31003:1;30998:3;30939:66;:::i;:::-;30932:73;;31014:93;31103:3;31014:93;:::i;:::-;31132:2;31127:3;31123:12;31116:19;;30776:365;;;:::o;31147:419::-;31313:4;31351:2;31340:9;31336:18;31328:26;;31400:9;31394:4;31390:20;31386:1;31375:9;31371:17;31364:47;31428:131;31554:4;31428:131;:::i;:::-;31420:139;;31147:419;;;:::o;31572:165::-;31712:17;31708:1;31700:6;31696:14;31689:41;31572:165;:::o;31743:366::-;31885:3;31906:67;31970:2;31965:3;31906:67;:::i;:::-;31899:74;;31982:93;32071:3;31982:93;:::i;:::-;32100:2;32095:3;32091:12;32084:19;;31743:366;;;:::o;32115:419::-;32281:4;32319:2;32308:9;32304:18;32296:26;;32368:9;32362:4;32358:20;32354:1;32343:9;32339:17;32332:47;32396:131;32522:4;32396:131;:::i;:::-;32388:139;;32115:419;;;:::o;32540:179::-;32680:31;32676:1;32668:6;32664:14;32657:55;32540:179;:::o;32725:366::-;32867:3;32888:67;32952:2;32947:3;32888:67;:::i;:::-;32881:74;;32964:93;33053:3;32964:93;:::i;:::-;33082:2;33077:3;33073:12;33066:19;;32725:366;;;:::o;33097:419::-;33263:4;33301:2;33290:9;33286:18;33278:26;;33350:9;33344:4;33340:20;33336:1;33325:9;33321:17;33314:47;33378:131;33504:4;33378:131;:::i;:::-;33370:139;;33097:419;;;:::o;33522:171::-;33662:23;33658:1;33650:6;33646:14;33639:47;33522:171;:::o;33699:366::-;33841:3;33862:67;33926:2;33921:3;33862:67;:::i;:::-;33855:74;;33938:93;34027:3;33938:93;:::i;:::-;34056:2;34051:3;34047:12;34040:19;;33699:366;;;:::o;34071:419::-;34237:4;34275:2;34264:9;34260:18;34252:26;;34324:9;34318:4;34314:20;34310:1;34299:9;34295:17;34288:47;34352:131;34478:4;34352:131;:::i;:::-;34344:139;;34071:419;;;:::o;34496:143::-;34553:5;34584:6;34578:13;34569:22;;34600:33;34627:5;34600:33;:::i;:::-;34496:143;;;;:::o;34645:351::-;34715:6;34764:2;34752:9;34743:7;34739:23;34735:32;34732:119;;;34770:79;;:::i;:::-;34732:119;34890:1;34915:64;34971:7;34962:6;34951:9;34947:22;34915:64;:::i;:::-;34905:74;;34861:128;34645:351;;;;:::o;35002:332::-;35123:4;35161:2;35150:9;35146:18;35138:26;;35174:71;35242:1;35231:9;35227:17;35218:6;35174:71;:::i;:::-;35255:72;35323:2;35312:9;35308:18;35299:6;35255:72;:::i;:::-;35002:332;;;;;:::o;35340:98::-;35391:6;35425:5;35419:12;35409:22;;35340:98;;;:::o;35444:147::-;35545:11;35582:3;35567:18;;35444:147;;;;:::o;35597:386::-;35701:3;35729:38;35761:5;35729:38;:::i;:::-;35783:88;35864:6;35859:3;35783:88;:::i;:::-;35776:95;;35880:65;35938:6;35933:3;35926:4;35919:5;35915:16;35880:65;:::i;:::-;35970:6;35965:3;35961:16;35954:23;;35705:278;35597:386;;;;:::o;35989:271::-;36119:3;36141:93;36230:3;36221:6;36141:93;:::i;:::-;36134:100;;36251:3;36244:10;;35989:271;;;;:::o;36266:173::-;36406:25;36402:1;36394:6;36390:14;36383:49;36266:173;:::o;36445:366::-;36587:3;36608:67;36672:2;36667:3;36608:67;:::i;:::-;36601:74;;36684:93;36773:3;36684:93;:::i;:::-;36802:2;36797:3;36793:12;36786:19;;36445:366;;;:::o;36817:419::-;36983:4;37021:2;37010:9;37006:18;36998:26;;37070:9;37064:4;37060:20;37056:1;37045:9;37041:17;37034:47;37098:131;37224:4;37098:131;:::i;:::-;37090:139;;36817:419;;;:::o;37242:60::-;37270:3;37291:5;37284:12;;37242:60;;;:::o;37308:142::-;37358:9;37391:53;37409:34;37418:24;37436:5;37418:24;:::i;:::-;37409:34;:::i;:::-;37391:53;:::i;:::-;37378:66;;37308:142;;;:::o;37456:126::-;37506:9;37539:37;37570:5;37539:37;:::i;:::-;37526:50;;37456:126;;;:::o;37588:134::-;37646:9;37679:37;37710:5;37679:37;:::i;:::-;37666:50;;37588:134;;;:::o;37728:147::-;37823:45;37862:5;37823:45;:::i;:::-;37818:3;37811:58;37728:147;;:::o;37881:238::-;37982:4;38020:2;38009:9;38005:18;37997:26;;38033:79;38109:1;38098:9;38094:17;38085:6;38033:79;:::i;:::-;37881:238;;;;:::o;38125:179::-;38265:31;38261:1;38253:6;38249:14;38242:55;38125:179;:::o;38310:366::-;38452:3;38473:67;38537:2;38532:3;38473:67;:::i;:::-;38466:74;;38549:93;38638:3;38549:93;:::i;:::-;38667:2;38662:3;38658:12;38651:19;;38310:366;;;:::o;38682:419::-;38848:4;38886:2;38875:9;38871:18;38863:26;;38935:9;38929:4;38925:20;38921:1;38910:9;38906:17;38899:47;38963:131;39089:4;38963:131;:::i;:::-;38955:139;;38682:419;;;:::o;39107:161::-;39247:13;39243:1;39235:6;39231:14;39224:37;39107:161;:::o;39274:366::-;39416:3;39437:67;39501:2;39496:3;39437:67;:::i;:::-;39430:74;;39513:93;39602:3;39513:93;:::i;:::-;39631:2;39626:3;39622:12;39615:19;;39274:366;;;:::o;39646:419::-;39812:4;39850:2;39839:9;39835:18;39827:26;;39899:9;39893:4;39889:20;39885:1;39874:9;39870:17;39863:47;39927:131;40053:4;39927:131;:::i;:::-;39919:139;;39646:419;;;:::o;40071:167::-;40211:19;40207:1;40199:6;40195:14;40188:43;40071:167;:::o;40244:366::-;40386:3;40407:67;40471:2;40466:3;40407:67;:::i;:::-;40400:74;;40483:93;40572:3;40483:93;:::i;:::-;40601:2;40596:3;40592:12;40585:19;;40244:366;;;:::o;40616:419::-;40782:4;40820:2;40809:9;40805:18;40797:26;;40869:9;40863:4;40859:20;40855:1;40844:9;40840:17;40833:47;40897:131;41023:4;40897:131;:::i;:::-;40889:139;;40616:419;;;:::o;41041:180::-;41089:77;41086:1;41079:88;41186:4;41183:1;41176:15;41210:4;41207:1;41200:15;41227:180;41275:77;41272:1;41265:88;41372:4;41369:1;41362:15;41396:4;41393:1;41386:15;41413:85;41458:7;41487:5;41476:16;;41413:85;;;:::o;41504:158::-;41562:9;41595:61;41613:42;41622:32;41648:5;41622:32;:::i;:::-;41613:42;:::i;:::-;41595:61;:::i;:::-;41582:74;;41504:158;;;:::o;41668:147::-;41763:45;41802:5;41763:45;:::i;:::-;41758:3;41751:58;41668:147;;:::o;41821:114::-;41888:6;41922:5;41916:12;41906:22;;41821:114;;;:::o;41941:184::-;42040:11;42074:6;42069:3;42062:19;42114:4;42109:3;42105:14;42090:29;;41941:184;;;;:::o;42131:132::-;42198:4;42221:3;42213:11;;42251:4;42246:3;42242:14;42234:22;;42131:132;;;:::o;42269:108::-;42346:24;42364:5;42346:24;:::i;:::-;42341:3;42334:37;42269:108;;:::o;42383:179::-;42452:10;42473:46;42515:3;42507:6;42473:46;:::i;:::-;42551:4;42546:3;42542:14;42528:28;;42383:179;;;;:::o;42568:113::-;42638:4;42670;42665:3;42661:14;42653:22;;42568:113;;;:::o;42717:732::-;42836:3;42865:54;42913:5;42865:54;:::i;:::-;42935:86;43014:6;43009:3;42935:86;:::i;:::-;42928:93;;43045:56;43095:5;43045:56;:::i;:::-;43124:7;43155:1;43140:284;43165:6;43162:1;43159:13;43140:284;;;43241:6;43235:13;43268:63;43327:3;43312:13;43268:63;:::i;:::-;43261:70;;43354:60;43407:6;43354:60;:::i;:::-;43344:70;;43200:224;43187:1;43184;43180:9;43175:14;;43140:284;;;43144:14;43440:3;43433:10;;42841:608;;;42717:732;;;;:::o;43455:831::-;43718:4;43756:3;43745:9;43741:19;43733:27;;43770:71;43838:1;43827:9;43823:17;43814:6;43770:71;:::i;:::-;43851:80;43927:2;43916:9;43912:18;43903:6;43851:80;:::i;:::-;43978:9;43972:4;43968:20;43963:2;43952:9;43948:18;43941:48;44006:108;44109:4;44100:6;44006:108;:::i;:::-;43998:116;;44124:72;44192:2;44181:9;44177:18;44168:6;44124:72;:::i;:::-;44206:73;44274:3;44263:9;44259:19;44250:6;44206:73;:::i;:::-;43455:831;;;;;;;;:::o;44292:807::-;44541:4;44579:3;44568:9;44564:19;44556:27;;44593:71;44661:1;44650:9;44646:17;44637:6;44593:71;:::i;:::-;44674:72;44742:2;44731:9;44727:18;44718:6;44674:72;:::i;:::-;44756:80;44832:2;44821:9;44817:18;44808:6;44756:80;:::i;:::-;44846;44922:2;44911:9;44907:18;44898:6;44846:80;:::i;:::-;44936:73;45004:3;44993:9;44989:19;44980:6;44936:73;:::i;:::-;45019;45087:3;45076:9;45072:19;45063:6;45019:73;:::i;:::-;44292:807;;;;;;;;;:::o;45105:143::-;45162:5;45193:6;45187:13;45178:22;;45209:33;45236:5;45209:33;:::i;:::-;45105:143;;;;:::o;45254:663::-;45342:6;45350;45358;45407:2;45395:9;45386:7;45382:23;45378:32;45375:119;;;45413:79;;:::i;:::-;45375:119;45533:1;45558:64;45614:7;45605:6;45594:9;45590:22;45558:64;:::i;:::-;45548:74;;45504:128;45671:2;45697:64;45753:7;45744:6;45733:9;45729:22;45697:64;:::i;:::-;45687:74;;45642:129;45810:2;45836:64;45892:7;45883:6;45872:9;45868:22;45836:64;:::i;:::-;45826:74;;45781:129;45254:663;;;;;:::o

Swarm Source

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