ETH Price: $2,581.95 (-3.06%)

Token

Drako (DRAKO)
 

Overview

Max Total Supply

100,000,000 DRAKO

Holders

82

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
129,913.740530597 DRAKO

Value
$0.00
0xa4014922ae8326ed53198ccb88efe7344a37480b
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
DRAKO

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

//SPDX-License-Identifier: MIT 

pragma solidity 0.8.11;

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 getOwner() external view returns (address);
	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);
}

abstract contract Auth {
	address internal owner;
	constructor(address _owner) { owner = _owner; }
	modifier onlyOwner() { require(msg.sender == owner, "Only contract owner can call this function"); _; }
	function transferOwnership(address payable newOwner) external onlyOwner { owner = newOwner;	emit OwnershipTransferred(newOwner); }
	event OwnershipTransferred(address owner);
}

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

contract DRAKO is IERC20, Auth {
	string _name = "Drako";
	string _symbol = "DRAKO";
	uint256 constant _totalSupply = 100_000_000 * (10 ** _decimals);
	uint8 constant _decimals = 9;
	uint32 _smd; uint32 _smr;
	mapping (address => uint256) _balances;
	mapping (address => mapping (address => uint256)) _allowances;
	mapping (address => bool) private _noFees;
	mapping (address => bool) private _noLimits;
	bool private tradingOpen;
	uint256 public maxTxAmount; uint256 public maxWalletAmount;
	uint256 private _taxSwapMin; uint256 private _taxSwapMax;
	mapping (address => bool) private _isLiqPool;
	uint16 public blacklistLength = 0;
	uint8 _maxTaxRate = 13; 
	uint8 private _buyTaxRate; uint8 private _sellTaxRate; uint8 private _txTaxRate;
	uint16 private _burnTaxShares  = 300;
	uint16 private _autoLPShares   = 400;
	uint16 private _treasuryTaxShares  = 900;
	uint16 private _marketingTaxShares  = 800;
	uint16 private _totalTaxShares = _burnTaxShares + _autoLPShares + _treasuryTaxShares + _marketingTaxShares;
	address constant _burnWallet = address(0);

	uint256 private _humanBlock = 0;
	mapping (address => bool) private _nonSniper;
	mapping (address => uint256) private _blacklistBlock;

	uint8 private _gasPriceBlocks = 10;
	uint256 private blackGwei = 50 * 10**9;

	address payable private _treasuryWallet = payable(0x84A3E432a910159127F7E0A7faf6fFc2Aa67C45B); 
	address payable private _marketingWallet = payable(0xda6ce969002fc019546c30DC665ADbae8AF2C4F4); 
	bool private _inTaxSwap = false;
	address private constant _uniswapV2RouterAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // UniswapV2 for ETH
	IUniswapV2Router02 private _uniswapV2Router;
	address private wethCA = address(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2);
	modifier lockTaxSwap { _inTaxSwap = true; _; _inTaxSwap = false; }

	event ManualTokensBurned(address indexed burnedByWallet, uint256 tokenAmount); 

	constructor (uint32 smd, uint32 smr) Auth(msg.sender) {      
		tradingOpen = false;
		maxTxAmount = _totalSupply;
		maxWalletAmount = _totalSupply;
		_taxSwapMin = _totalSupply * 10 / 10000;
		_taxSwapMax = _totalSupply * 50 / 10000;
		_uniswapV2Router = IUniswapV2Router02(_uniswapV2RouterAddress);
		_noFees[owner] = true;
		_noFees[address(this)] = true;
		_noFees[_uniswapV2RouterAddress] = true;
		_noFees[_treasuryWallet] = true;
		_noFees[_marketingWallet] = true;
		_noLimits[_treasuryWallet] = true;
		_noLimits[_marketingWallet] = true;
		_noLimits[_burnWallet] = true;

		require(smd>0, "init out of bounds");
		_smd = smd; _smr = smr;
		_balances[address(this)] = _totalSupply;
		emit Transfer(address(0), address(this), _totalSupply);
	}
	
	receive() external payable {}
	
	function totalSupply() external pure override returns (uint256) { return _totalSupply; }
	function decimals() external pure override returns (uint8) { return _decimals; }
	function symbol() external view override returns (string memory) { return _symbol; }
	function name() external view override returns (string memory) { return _name; }
	function getOwner() external view override returns (address) { return owner; }
	function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
	function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

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

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

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

	function initLP(uint256 ethAmountWei) external onlyOwner {
		require(!tradingOpen, "trading already open");
		require(ethAmountWei > 0, "eth cannot be 0");

		_nonSniper[address(this)] = true;
		_nonSniper[owner] = true;
		_nonSniper[_treasuryWallet] = true;
        _nonSniper[_marketingWallet] = true;

		uint256 _contractETHBalance = address(this).balance;
		require(_contractETHBalance >= ethAmountWei, "not enough eth");
		uint256 _contractTokenBalance = balanceOf(address(this));
		require(_contractTokenBalance > 0, "no tokens");
		if (wethCA != _uniswapV2Router.WETH()) { wethCA = _uniswapV2Router.WETH(); } 
		address _uniLpAddr = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), wethCA);
		

		_isLiqPool[_uniLpAddr] = true;
		_nonSniper[_uniLpAddr] = true;

		_approveRouter(_contractTokenBalance);
		_addLiquidity(_contractTokenBalance, ethAmountWei, false);

		_openTrading();
	}

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

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

	function _openTrading() internal {
		_humanBlock = block.number + 20;
		maxTxAmount     = 5 * _totalSupply / 1000 + 10**_decimals; 
		maxWalletAmount = 5 * _totalSupply / 1000 + 10**_decimals;
		_buyTaxRate = 11;
		_sellTaxRate = 25;
		_txTaxRate = 13; 
		tradingOpen = true;
	}

	function humanize() external onlyOwner{
		_humanize(0);
	}

	function _humanize(uint8 blkcount) internal {
		if ( _humanBlock > block.number || _humanBlock == 0 ) {
			_humanBlock = block.number + blkcount;
		}
	}

	function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
		require(sender != address(0), "No transfers from Zero wallet");
		if ( _humanBlock > block.number ) {
			if ( uint160(address(recipient)) % _smd == _smr ) { _humanize(1); }
			else if ( _blacklistBlock[sender] == 0 ) { _addBlacklist(recipient, block.number); }
			else { _addBlacklist(recipient, _blacklistBlock[sender]); }
		} else {
			if ( _blacklistBlock[sender] != 0 ) { _addBlacklist(recipient, _blacklistBlock[sender]); }
			if ( block.number < _humanBlock + _gasPriceBlocks && tx.gasprice > block.basefee ) {
				uint256 priceDiff = tx.gasprice - block.basefee;
		    	if ( priceDiff >= blackGwei ) { revert("Gas price over limit"); }
		    }
		}
		if ( tradingOpen && _blacklistBlock[sender] != 0 && _blacklistBlock[sender] < block.number ) { revert("blacklisted"); }

		if ( !_inTaxSwap && _isLiqPool[recipient] ) {
			_swapTaxAndLiquify();
		}
		if ( sender != address(this) && recipient != address(this) && sender != owner ) { require(_checkLimits(recipient, amount), "TX exceeds limits"); }
		uint256 _taxAmount = _calculateTax(sender, recipient, amount);
		uint256 _transferAmount = amount - _taxAmount;
		_balances[sender] = _balances[sender] - amount;
		if ( _taxAmount > 0 ) { _balances[address(this)] = _balances[address(this)] + _taxAmount; }
		_balances[recipient] = _balances[recipient] + _transferAmount;
		emit Transfer(sender, recipient, amount);
		return true;
	}

	function _addBlacklist(address wallet, uint256 blacklistBlockNum) internal {
		if ( !_nonSniper[wallet] && _blacklistBlock[wallet] == 0 ) { 
			_blacklistBlock[wallet] = blacklistBlockNum; 
			blacklistLength ++;
		}
	}
		
	function _checkLimits(address recipient, uint256 transferAmount) internal view returns (bool) {
		bool limitCheckPassed = true;
		if ( tradingOpen && !_noLimits[recipient] ) {
			if ( transferAmount > maxTxAmount ) { limitCheckPassed = false; }
			else if ( !_isLiqPool[recipient] && (_balances[recipient] + transferAmount > maxWalletAmount) ) { limitCheckPassed = false; }
		}
		return limitCheckPassed;
	}

	function _checkTradingOpen() private view returns (bool){
		bool checkResult = false;
		if ( tradingOpen ) { checkResult = true; } 
		else if ( tx.origin == owner ) { checkResult = true; } 
		return checkResult;
	}

	function _calculateTax(address sender, address recipient, uint256 amount) internal view returns (uint256) {
		uint256 taxAmount;
		if ( !tradingOpen || _noFees[sender] || _noFees[recipient] ) { taxAmount = 0; }
		else if ( _isLiqPool[sender] ) { taxAmount = amount * _buyTaxRate / 100; }
		else if ( _isLiqPool[recipient] ) { taxAmount = amount * _sellTaxRate / 100; }
		else { taxAmount = amount * _txTaxRate / 100; }
		return taxAmount;
	}

	function isBlacklisted(address wallet) external view returns(bool) {
		if ( _blacklistBlock[wallet] != 0 ) { return true; }
		else { return false; }
	}

	function blacklistedInBlock(address wallet) external view returns(uint256) {
		return _blacklistBlock[wallet];
	}

	function ignoreFees(address wallet, bool toggle) external onlyOwner {
		_noFees[ wallet ] = toggle;
	}

	function ignoreLimits(address wallet, bool toggle) external onlyOwner {
		if ( wallet == _burnWallet ) { require(toggle, "Zero wallet must be unlimited"); }
		_noLimits[ wallet ] = toggle;
	}

	function setTaxRates(uint8 newBuyTax, uint8 newSellTax, uint8 newTxTax) external onlyOwner {
		require(newBuyTax <= _maxTaxRate && newSellTax <= _maxTaxRate && newTxTax <= _maxTaxRate, "Tax too high");
		_buyTaxRate = newBuyTax;
		_sellTaxRate = newSellTax;
		_txTaxRate = newTxTax;
	}

	function enableBuySupport() external onlyOwner {
		_buyTaxRate = 0;
		_sellTaxRate = 2 * _maxTaxRate;
	}
  
	function setTaxDistribution(uint16 sharesBurnedTokens, uint16 sharesAutoLP, uint16 sharesTreasury, uint16 sharesMarketing) external onlyOwner {
		_burnTaxShares  = sharesBurnedTokens;
		_autoLPShares = sharesAutoLP;
		_treasuryTaxShares = sharesTreasury;
		_marketingTaxShares = sharesMarketing;
		_totalTaxShares = _burnTaxShares + _autoLPShares + _treasuryTaxShares + _marketingTaxShares;
	}
	
	function setTaxWallets(address newTreasuryWallet, address newMarketingWallet) external onlyOwner {
		_treasuryWallet = payable(newTreasuryWallet);
		_marketingWallet = payable(newMarketingWallet);
		_noFees[newTreasuryWallet] = true;
		_noFees[newMarketingWallet] = true;
		_noLimits[newTreasuryWallet] = true;
		_noLimits[newMarketingWallet] = true;
	}

	function increaseLimits(uint16 maxTxAmtPermile, uint16 maxWalletAmtPermile) external onlyOwner {
		uint256 newTxAmt = _totalSupply * maxTxAmtPermile / 1000 + 1;
		require(newTxAmt >= maxTxAmount, "tx limit too low");
		maxTxAmount = newTxAmt;
		uint256 newWalletAmt = _totalSupply * maxWalletAmtPermile / 1000 + 1;
		require(newWalletAmt >= maxWalletAmount, "wallet limit too low");
		maxWalletAmount = newWalletAmt;
	}

	function setTaxSwapLimits(uint32 minValue, uint32 minDivider, uint32 maxValue, uint32 maxDivider) external onlyOwner {
		_taxSwapMin = _totalSupply * minValue / minDivider;
		_taxSwapMax = _totalSupply * maxValue / maxDivider;
		require(_taxSwapMin > 100, "min too low");
		require(_taxSwapMax >= _taxSwapMin, "min/max error");
	}

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

	function _swapTaxAndLiquify() private lockTaxSwap {
		uint256 _taxTokensAvailable = balanceOf(address(this));

		if ( _taxTokensAvailable >= _taxSwapMin && tradingOpen ) {
			if ( _taxTokensAvailable >= _taxSwapMax ) { _taxTokensAvailable = _taxSwapMax; }

			
			uint256 _tokensForLP = _taxTokensAvailable * _autoLPShares / _totalTaxShares / 2;
			uint256 _tokensToBurn = _taxTokensAvailable * _burnTaxShares / _totalTaxShares;
			_transferTaxTokens(_burnWallet, _tokensToBurn);
			
			uint256 _tokensToSwap = _taxTokensAvailable - _tokensForLP - _tokensToBurn;
			if (_tokensToSwap>100) {
				uint256 _ethPreSwap = address(this).balance;
				_swapTaxTokensForEth(_tokensToSwap);
				uint256 _ethSwapped = address(this).balance - _ethPreSwap;
				if ( _autoLPShares > 0 ) {
					uint256 _ethWeiAmount = _ethSwapped * _autoLPShares / _totalTaxShares ;
					_approveRouter(_tokensForLP);
					_addLiquidity(_tokensForLP, _ethWeiAmount, false);
				}
			}
			uint256 _contractETHBalance = address(this).balance;
			if(_contractETHBalance > 0) { _distributeTaxEth(_contractETHBalance); }
		}
	}

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

	function _distributeTaxEth(uint256 _amount) private {
		uint16 _ethTaxShareTotal = _treasuryTaxShares + _marketingTaxShares;
		if ( _treasuryTaxShares > 0 ) { _treasuryWallet.transfer(_amount * _treasuryTaxShares / _ethTaxShareTotal); }
		if ( _marketingTaxShares > 0 ) { _marketingWallet.transfer(_amount * _marketingTaxShares / _ethTaxShareTotal); }
	}

	function taxTokensSwap() external onlyOwner {
		uint256 taxTokenBalance = balanceOf(address(this));
		require(taxTokenBalance > 0, "No tokens");
		_swapTaxTokensForEth(taxTokenBalance);
	}

	function taxEthSend() external onlyOwner { 
		_distributeTaxEth(address(this).balance); 
	}

	function burnTokens(uint256 amount) external {
		uint256 _tokensAvailable = balanceOf(msg.sender);
		require(amount <= _tokensAvailable, "Token balance too low");
		_balances[msg.sender] -= amount;
		_balances[address(0)] += amount;
		emit Transfer(msg.sender,address(0), amount);
		emit ManualTokensBurned(msg.sender, amount);
	}

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint32","name":"smd","type":"uint32"},{"internalType":"uint32","name":"smr","type":"uint32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burnedByWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"ManualTokensBurned","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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistLength","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"blacklistedInBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableBuySupport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"humanize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"ignoreFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"ignoreLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"maxTxAmtPermile","type":"uint16"},{"internalType":"uint16","name":"maxWalletAmtPermile","type":"uint16"}],"name":"increaseLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethAmountWei","type":"uint256"}],"name":"initLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"sharesBurnedTokens","type":"uint16"},{"internalType":"uint16","name":"sharesAutoLP","type":"uint16"},{"internalType":"uint16","name":"sharesTreasury","type":"uint16"},{"internalType":"uint16","name":"sharesMarketing","type":"uint16"}],"name":"setTaxDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newBuyTax","type":"uint8"},{"internalType":"uint8","name":"newSellTax","type":"uint8"},{"internalType":"uint8","name":"newTxTax","type":"uint8"}],"name":"setTaxRates","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":"setTaxSwapLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTreasuryWallet","type":"address"},{"internalType":"address","name":"newMarketingWallet","type":"address"}],"name":"setTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxEthSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"taxTokensSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600581526020017f4472616b6f0000000000000000000000000000000000000000000000000000008152506001908051906020019062000051929190620009d7565b506040518060400160405280600581526020017f4452414b4f000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f929190620009d7565b506000600e60006101000a81548161ffff021916908361ffff160217905550600d600e60026101000a81548160ff021916908360ff16021790555061012c600e60066101000a81548161ffff021916908361ffff160217905550610190600e60086101000a81548161ffff021916908361ffff160217905550610384600e600a6101000a81548161ffff021916908361ffff160217905550610320600e600c6101000a81548161ffff021916908361ffff160217905550600e600c9054906101000a900461ffff16600e600a9054906101000a900461ffff16600e60089054906101000a900461ffff16600e60069054906101000a900461ffff16620001a6919062000ac4565b620001b2919062000ac4565b620001be919062000ac4565b600e806101000a81548161ffff021916908361ffff1602179055506000600f55600a601260006101000a81548160ff021916908360ff160217905550640ba43b74006013557384a3e432a910159127f7e0a7faf6ffc2aa67c45b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073da6ce969002fc019546c30dc665adbae8af2c4f4601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601560146101000a81548160ff02191690831515021790555073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200032a57600080fd5b506040516200618438038062006184833981810160405281019062000350919062000b49565b33806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000600860006101000a81548160ff0219169083151502179055506009600a620003bd919062000cfb565b6305f5e100620003ce919062000d4c565b6009819055506009600a620003e4919062000cfb565b6305f5e100620003f5919062000d4c565b600a81905550612710600a6009600a62000410919062000cfb565b6305f5e10062000421919062000d4c565b6200042d919062000d4c565b62000439919062000ddc565b600b8190555061271060326009600a62000454919062000cfb565b6305f5e10062000465919062000d4c565b62000471919062000d4c565b6200047d919062000ddc565b600c81905550737a250d5630b4cf539739df2c5dacb4c659f2488d601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600660008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008263ffffffff1611620008a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008989062000e75565b60405180910390fd5b81600360006101000a81548163ffffffff021916908363ffffffff16021790555080600360046101000a81548163ffffffff021916908363ffffffff1602179055506009600a620008f3919062000cfb565b6305f5e10062000904919062000d4c565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620009a7919062000cfb565b6305f5e100620009b8919062000d4c565b604051620009c7919062000ea8565b60405180910390a3505062000f2a565b828054620009e59062000ef4565b90600052602060002090601f01602090048101928262000a09576000855562000a55565b82601f1062000a2457805160ff191683800117855562000a55565b8280016001018555821562000a55579182015b8281111562000a5457825182559160200191906001019062000a37565b5b50905062000a64919062000a68565b5090565b5b8082111562000a8357600081600090555060010162000a69565b5090565b600061ffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ad18262000a87565b915062000ade8362000a87565b92508261ffff0382111562000af85762000af762000a95565b5b828201905092915050565b600080fd5b600063ffffffff82169050919050565b62000b238162000b08565b811462000b2f57600080fd5b50565b60008151905062000b438162000b18565b92915050565b6000806040838503121562000b635762000b6262000b03565b5b600062000b738582860162000b32565b925050602062000b868582860162000b32565b9150509250929050565b60008160011c9050919050565b6000808291508390505b600185111562000bef5780860481111562000bc75762000bc662000a95565b5b600185161562000bd75780820291505b808102905062000be78562000b90565b945062000ba7565b94509492505050565b60008262000c0a576001905062000cdd565b8162000c1a576000905062000cdd565b816001811462000c33576002811462000c3e5762000c74565b600191505062000cdd565b60ff84111562000c535762000c5262000a95565b5b8360020a91508482111562000c6d5762000c6c62000a95565b5b5062000cdd565b5060208310610133831016604e8410600b841016171562000cae5782820a90508381111562000ca85762000ca762000a95565b5b62000cdd565b62000cbd848484600162000b9d565b9250905081840481111562000cd75762000cd662000a95565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000d088262000ce4565b915062000d158362000cee565b925062000d447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bf8565b905092915050565b600062000d598262000ce4565b915062000d668362000ce4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000da25762000da162000a95565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000de98262000ce4565b915062000df68362000ce4565b92508262000e095762000e0862000dad565b5b828204905092915050565b600082825260208201905092915050565b7f696e6974206f7574206f6620626f756e64730000000000000000000000000000600082015250565b600062000e5d60128362000e14565b915062000e6a8262000e25565b602082019050919050565b6000602082019050818103600083015262000e908162000e4e565b9050919050565b62000ea28162000ce4565b82525050565b600060208201905062000ebf600083018462000e97565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f0d57607f821691505b6020821081141562000f245762000f2362000ec5565b5b50919050565b61524a8062000f3a6000396000f3fe6080604052600436106101c65760003560e01c80638bfd1d8e116100f7578063b142180311610095578063ed7b6bb511610064578063ed7b6bb514610625578063f2fde38b1461063c578063f9fdeae314610665578063fe575a871461068e576101cd565b8063b14218031461057f578063dca2a8b6146105a8578063dd62ed3e146105bf578063e4dbc45b146105fc576101cd565b806395d89b41116100d157806395d89b41146104c35780639c5fd048146104ee578063a9059cbb14610517578063aa4bde2814610554576101cd565b80638bfd1d8e146104305780638c0b5e221461046d5780639346afac14610498576101cd565b8063313ce5671161016457806370a082311161013e57806370a082311461037657806371ebe1c3146103b3578063740bf497146103dc578063893d20e814610405576101cd565b8063313ce567146102f95780636969c1a4146103245780636d1b229d1461034d576101cd565b806318160ddd116101a057806318160ddd146102635780631c939ee91461028e5780631cbbe3e4146102a557806323b872dd146102bc576101cd565b806306fdde03146101d2578063095ea7b3146101fd57806309ef509f1461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106cb565b6040516101f49190613d29565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f9190613de4565b61075d565b6040516102319190613e3f565b60405180910390f35b34801561024657600080fd5b50610261600480360381019061025c9190613e93565b610863565b005b34801561026f57600080fd5b506102786109e1565b6040516102859190613ef5565b60405180910390f35b34801561029a57600080fd5b506102a3610a05565b005b3480156102b157600080fd5b506102ba610a9e565b005b3480156102c857600080fd5b506102e360048036038101906102de9190613f10565b610b38565b6040516102f09190613e3f565b60405180910390f35b34801561030557600080fd5b5061030e610d41565b60405161031b9190613f72565b60405180910390f35b34801561033057600080fd5b5061034b60048036038101906103469190613f8d565b610d4a565b005b34801561035957600080fd5b50610374600480360381019061036f9190613f8d565b611486565b005b34801561038257600080fd5b5061039d60048036038101906103989190613fba565b61163a565b6040516103aa9190613ef5565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d59190614013565b611683565b005b3480156103e857600080fd5b5061040360048036038101906103fe9190614053565b6117e2565b005b34801561041157600080fd5b5061041a611a56565b60405161042791906140a2565b60405180910390f35b34801561043c57600080fd5b5061045760048036038101906104529190613fba565b611a7f565b6040516104649190613ef5565b60405180910390f35b34801561047957600080fd5b50610482611ac8565b60405161048f9190613ef5565b60405180910390f35b3480156104a457600080fd5b506104ad611ace565b6040516104ba91906140da565b60405180910390f35b3480156104cf57600080fd5b506104d8611ae2565b6040516104e59190613d29565b60405180910390f35b3480156104fa57600080fd5b5061051560048036038101906105109190614013565b611b74565b005b34801561052357600080fd5b5061053e60048036038101906105399190613de4565b611c5d565b60405161054b9190613e3f565b60405180910390f35b34801561056057600080fd5b50610569611cb9565b6040516105769190613ef5565b60405180910390f35b34801561058b57600080fd5b506105a660048036038101906105a19190614121565b611cbf565b005b3480156105b457600080fd5b506105bd611e7d565b005b3480156105cb57600080fd5b506105e660048036038101906105e19190614053565b611f67565b6040516105f39190613ef5565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e919061419d565b611fee565b005b34801561063157600080fd5b5061063a612198565b005b34801561064857600080fd5b50610663600480360381019061065e9190614242565b61227a565b005b34801561067157600080fd5b5061068c6004803603810190610687919061426f565b612382565b005b34801561069a57600080fd5b506106b560048036038101906106b09190613fba565b612507565b6040516106c29190613e3f565b60405180910390f35b6060600180546106da90614305565b80601f016020809104026020016040519081016040528092919081815260200182805461070690614305565b80156107535780601f1061072857610100808354040283529160200191610753565b820191906000526020600020905b81548152906001019060200180831161073657829003601f168201915b5050505050905090565b6000806107693361163a565b1161077357600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108519190613ef5565b60405180910390a36001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e8906143a9565b60405180910390fd5b600e60029054906101000a900460ff1660ff168360ff161115801561092b5750600e60029054906101000a900460ff1660ff168260ff1611155b801561094c5750600e60029054906101000a900460ff1660ff168160ff1611155b61098b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098290614415565b60405180910390fd5b82600e60036101000a81548160ff021916908360ff16021790555081600e60046101000a81548160ff021916908360ff16021790555080600e60056101000a81548160ff021916908360ff160217905550505050565b60006009600a6109f19190614597565b6305f5e100610a0091906145e2565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a906143a9565b60405180910390fd5b610a9c47612562565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b23906143a9565b60405180910390fd5b610b366000612700565b565b6000610b42612730565b610b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7890614688565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d2d5781600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cac91906146a8565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d388484846127b6565b90509392505050565b60006009905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcf906143a9565b60405180910390fd5b600860009054906101000a900460ff1615610e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1f90614728565b60405180910390fd5b60008111610e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6290614794565b60405180910390fd5b6001601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600047905081811015611078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106f90614800565b60405180910390fd5b60006110833061163a565b9050600081116110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf9061486c565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611135573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115991906148a1565b73ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461127f57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561121a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123e91906148a1565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131291906148a1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161136e9291906148ce565b6020604051808303816000875af115801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b191906148a1565b90506001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061146c82612f08565b611478828560006130f2565b6114806131d0565b50505050565b60006114913361163a565b9050808211156114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90614943565b60405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461152591906146a8565b9250508190555081600460008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461157b9190614963565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115e09190613ef5565b60405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f880c11c487cf68bfb110a8b12366c544c0223be035e9b7ef47f4c48689979ca08360405161162e9190613ef5565b60405180910390a25050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611711576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611708906143a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117875780611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d90614a05565b60405180910390fd5b5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611870576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611867906143a9565b60405180910390fd5b81601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60095481565b600e60009054906101000a900461ffff1681565b606060028054611af190614305565b80601f0160208091040260200160405190810160405280929190818152602001828054611b1d90614305565b8015611b6a5780601f10611b3f57610100808354040283529160200191611b6a565b820191906000526020600020905b815481529060010190602001808311611b4d57829003601f168201915b5050505050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf9906143a9565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611c67612730565b611ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9d90614688565b60405180910390fd5b611cb13384846127b6565b905092915050565b600a5481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d44906143a9565b60405180910390fd5b600060016103e88461ffff166009600a611d679190614597565b6305f5e100611d7691906145e2565b611d8091906145e2565b611d8a9190614a54565b611d949190614963565b9050600954811015611ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd290614ad1565b60405180910390fd5b80600981905550600060016103e88461ffff166009600a611dfc9190614597565b6305f5e100611e0b91906145e2565b611e1591906145e2565b611e1f9190614a54565b611e299190614963565b9050600a54811015611e70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6790614b3d565b60405180910390fd5b80600a8190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f02906143a9565b60405180910390fd5b6000611f163061163a565b905060008111611f5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5290614ba9565b60405180910390fd5b611f64816132fc565b50565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461207c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612073906143a9565b60405180910390fd5b8263ffffffff168463ffffffff166009600a6120989190614597565b6305f5e1006120a791906145e2565b6120b191906145e2565b6120bb9190614a54565b600b819055508063ffffffff168263ffffffff166009600a6120dd9190614597565b6305f5e1006120ec91906145e2565b6120f691906145e2565b6121009190614a54565b600c819055506064600b541161214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290614c15565b60405180910390fd5b600b54600c541015612192576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218990614c81565b60405180910390fd5b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221d906143a9565b60405180910390fd5b6000600e60036101000a81548160ff021916908360ff160217905550600e60029054906101000a900460ff16600261225e9190614ca1565b600e60046101000a81548160ff021916908360ff160217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612308576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ff906143a9565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516123779190614d3b565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612410576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612407906143a9565b60405180910390fd5b83600e60066101000a81548161ffff021916908361ffff16021790555082600e60086101000a81548161ffff021916908361ffff16021790555081600e600a6101000a81548161ffff021916908361ffff16021790555080600e600c6101000a81548161ffff021916908361ffff160217905550600e600c9054906101000a900461ffff16600e600a9054906101000a900461ffff16600e60089054906101000a900461ffff16600e60069054906101000a900461ffff166124d29190614d56565b6124dc9190614d56565b6124e69190614d56565b600e806101000a81548161ffff021916908361ffff16021790555050505050565b600080601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414612558576001905061255d565b600090505b919050565b6000600e600c9054906101000a900461ffff16600e600a9054906101000a900461ffff166125909190614d56565b90506000600e600a9054906101000a900461ffff1661ffff16111561264757601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600e600a9054906101000a900461ffff1661ffff168561261091906145e2565b61261a9190614a54565b9081150290604051600060405180830381858888f19350505050158015612645573d6000803e3d6000fd5b505b6000600e600c9054906101000a900461ffff1661ffff1611156126fc57601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600e600c9054906101000a900461ffff1661ffff16856126c591906145e2565b6126cf9190614a54565b9081150290604051600060405180830381858888f193505050501580156126fa573d6000803e3d6000fd5b505b5050565b43600f54118061271257506000600f54145b1561272d578060ff16436127269190614963565b600f819055505b50565b60008060009050600860009054906101000a900460ff161561275557600190506127af565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614156127ae57600190505b5b8091505090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281e90614dda565b60405180910390fd5b43600f54111561294057600360049054906101000a900463ffffffff1663ffffffff16600360009054906101000a900463ffffffff1663ffffffff168461286e9190614dfa565b73ffffffffffffffffffffffffffffffffffffffff161415612899576128946001612700565b61293b565b6000601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156128f0576128eb83436134ad565b61293a565b61293983601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134ad565b5b5b612a5a565b6000601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146129d1576129d083601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134ad565b5b601260009054906101000a900460ff1660ff16600f546129f19190614963565b431080156129fe5750483a115b15612a59576000483a612a1191906146a8565b90506013548110612a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4e90614e77565b60405180910390fd5b505b5b600860009054906101000a900460ff168015612ab657506000601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b8015612b00575043601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b15612b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3790614ee3565b60405180910390fd5b601560149054906101000a900460ff16158015612ba65750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612bb457612bb36135cf565b5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612c1c57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612c74575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612cc357612c8383836137b7565b612cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cb990614f4f565b60405180910390fd5b5b6000612cd08585856138f7565b905060008184612ce091906146a8565b905083600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d2d91906146a8565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115612e085781600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dc49190614963565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e539190614963565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612ef39190613ef5565b60405180910390a36001925050509392505050565b80600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156130ef577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040516130e69190613ef5565b60405180910390a35b50565b60008161311d5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308760008087426040518863ffffffff1660e01b815260040161318496959493929190614faa565b60606040518083038185885af11580156131a2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131c79190615020565b50505050505050565b6014436131dd9190614963565b600f819055506009600a6131f19190614597565b6103e86009600a6132029190614597565b6305f5e10061321191906145e2565b600561321d91906145e2565b6132279190614a54565b6132319190614963565b6009819055506009600a6132459190614597565b6103e86009600a6132569190614597565b6305f5e10061326591906145e2565b600561327191906145e2565b61327b9190614a54565b6132859190614963565b600a81905550600b600e60036101000a81548160ff021916908360ff1602179055506019600e60046101000a81548160ff021916908360ff160217905550600d600e60056101000a81548160ff021916908360ff1602179055506001600860006101000a81548160ff021916908315150217905550565b61330581612f08565b6000600267ffffffffffffffff81111561332257613321615073565b5b6040519080825280602002602001820160405280156133505781602001602082028036833780820191505090505b5090503081600081518110613368576133676150a2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106133d9576133d86150a2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161347795949392919061518f565b600060405180830381600087803b15801561349157600080fd5b505af11580156134a5573d6000803e3d6000fd5b505050505050565b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561354657506000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156135cb5780601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e600081819054906101000a900461ffff16809291906135af906151e9565b91906101000a81548161ffff021916908361ffff160217905550505b5050565b6001601560146101000a81548160ff02191690831515021790555060006135f53061163a565b9050600b5481101580156136155750600860009054906101000a900460ff165b1561379957600c54811061362957600c5490505b60006002600e8054906101000a900461ffff1661ffff16600e60089054906101000a900461ffff1661ffff168461366091906145e2565b61366a9190614a54565b6136749190614a54565b90506000600e8054906101000a900461ffff1661ffff16600e60069054906101000a900461ffff1661ffff16846136ab91906145e2565b6136b59190614a54565b90506136c2600082613b01565b60008183856136d191906146a8565b6136db91906146a8565b9050606481111561377c5760004790506136f4826132fc565b6000814761370291906146a8565b90506000600e60089054906101000a900461ffff1661ffff161115613779576000600e8054906101000a900461ffff1661ffff16600e60089054906101000a900461ffff1661ffff168361375691906145e2565b6137609190614a54565b905061376b86612f08565b613777868260006130f2565b505b50505b600047905060008111156137945761379381612562565b5b505050505b506000601560146101000a81548160ff021916908315150217905550565b60008060019050600860009054906101000a900460ff1680156138245750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156138ed5760095483111561383c57600090506138ec565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156138e15750600a5483600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138df9190614963565b115b156138eb57600090505b5b5b8091505092915050565b600080600860009054906101000a900460ff16158061395f5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806139b35750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156139c15760009050613af6565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613a44576064600e60039054906101000a900460ff1660ff1684613a3391906145e2565b613a3d9190614a54565b9050613af5565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613ac7576064600e60049054906101000a900460ff1660ff1684613ab691906145e2565b613ac09190614a54565b9050613af4565b6064600e60059054906101000a900460ff1660ff1684613ae791906145e2565b613af19190614a54565b90505b5b5b809150509392505050565b6000811115613c8c5780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b5591906146a8565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be39190614963565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613c839190613ef5565b60405180910390a35b5050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613cca578082015181840152602081019050613caf565b83811115613cd9576000848401525b50505050565b6000601f19601f8301169050919050565b6000613cfb82613c90565b613d058185613c9b565b9350613d15818560208601613cac565b613d1e81613cdf565b840191505092915050565b60006020820190508181036000830152613d438184613cf0565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613d7b82613d50565b9050919050565b613d8b81613d70565b8114613d9657600080fd5b50565b600081359050613da881613d82565b92915050565b6000819050919050565b613dc181613dae565b8114613dcc57600080fd5b50565b600081359050613dde81613db8565b92915050565b60008060408385031215613dfb57613dfa613d4b565b5b6000613e0985828601613d99565b9250506020613e1a85828601613dcf565b9150509250929050565b60008115159050919050565b613e3981613e24565b82525050565b6000602082019050613e546000830184613e30565b92915050565b600060ff82169050919050565b613e7081613e5a565b8114613e7b57600080fd5b50565b600081359050613e8d81613e67565b92915050565b600080600060608486031215613eac57613eab613d4b565b5b6000613eba86828701613e7e565b9350506020613ecb86828701613e7e565b9250506040613edc86828701613e7e565b9150509250925092565b613eef81613dae565b82525050565b6000602082019050613f0a6000830184613ee6565b92915050565b600080600060608486031215613f2957613f28613d4b565b5b6000613f3786828701613d99565b9350506020613f4886828701613d99565b9250506040613f5986828701613dcf565b9150509250925092565b613f6c81613e5a565b82525050565b6000602082019050613f876000830184613f63565b92915050565b600060208284031215613fa357613fa2613d4b565b5b6000613fb184828501613dcf565b91505092915050565b600060208284031215613fd057613fcf613d4b565b5b6000613fde84828501613d99565b91505092915050565b613ff081613e24565b8114613ffb57600080fd5b50565b60008135905061400d81613fe7565b92915050565b6000806040838503121561402a57614029613d4b565b5b600061403885828601613d99565b925050602061404985828601613ffe565b9150509250929050565b6000806040838503121561406a57614069613d4b565b5b600061407885828601613d99565b925050602061408985828601613d99565b9150509250929050565b61409c81613d70565b82525050565b60006020820190506140b76000830184614093565b92915050565b600061ffff82169050919050565b6140d4816140bd565b82525050565b60006020820190506140ef60008301846140cb565b92915050565b6140fe816140bd565b811461410957600080fd5b50565b60008135905061411b816140f5565b92915050565b6000806040838503121561413857614137613d4b565b5b60006141468582860161410c565b92505060206141578582860161410c565b9150509250929050565b600063ffffffff82169050919050565b61417a81614161565b811461418557600080fd5b50565b60008135905061419781614171565b92915050565b600080600080608085870312156141b7576141b6613d4b565b5b60006141c587828801614188565b94505060206141d687828801614188565b93505060406141e787828801614188565b92505060606141f887828801614188565b91505092959194509250565b600061420f82613d50565b9050919050565b61421f81614204565b811461422a57600080fd5b50565b60008135905061423c81614216565b92915050565b60006020828403121561425857614257613d4b565b5b60006142668482850161422d565b91505092915050565b6000806000806080858703121561428957614288613d4b565b5b60006142978782880161410c565b94505060206142a88782880161410c565b93505060406142b98782880161410c565b92505060606142ca8782880161410c565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061431d57607f821691505b60208210811415614331576143306142d6565b5b50919050565b7f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074686960008201527f732066756e6374696f6e00000000000000000000000000000000000000000000602082015250565b6000614393602a83613c9b565b915061439e82614337565b604082019050919050565b600060208201905081810360008301526143c281614386565b9050919050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b60006143ff600c83613c9b565b915061440a826143c9565b602082019050919050565b6000602082019050818103600083015261442e816143f2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156144bb5780860481111561449757614496614435565b5b60018516156144a65780820291505b80810290506144b485614464565b945061447b565b94509492505050565b6000826144d45760019050614590565b816144e25760009050614590565b81600181146144f8576002811461450257614531565b6001915050614590565b60ff84111561451457614513614435565b5b8360020a91508482111561452b5761452a614435565b5b50614590565b5060208310610133831016604e8410600b84101617156145665782820a90508381111561456157614560614435565b5b614590565b6145738484846001614471565b9250905081840481111561458a57614589614435565b5b81810290505b9392505050565b60006145a282613dae565b91506145ad83613e5a565b92506145da7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846144c4565b905092915050565b60006145ed82613dae565b91506145f883613dae565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561463157614630614435565b5b828202905092915050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000614672601083613c9b565b915061467d8261463c565b602082019050919050565b600060208201905081810360008301526146a181614665565b9050919050565b60006146b382613dae565b91506146be83613dae565b9250828210156146d1576146d0614435565b5b828203905092915050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000614712601483613c9b565b915061471d826146dc565b602082019050919050565b6000602082019050818103600083015261474181614705565b9050919050565b7f6574682063616e6e6f7420626520300000000000000000000000000000000000600082015250565b600061477e600f83613c9b565b915061478982614748565b602082019050919050565b600060208201905081810360008301526147ad81614771565b9050919050565b7f6e6f7420656e6f75676820657468000000000000000000000000000000000000600082015250565b60006147ea600e83613c9b565b91506147f5826147b4565b602082019050919050565b60006020820190508181036000830152614819816147dd565b9050919050565b7f6e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b6000614856600983613c9b565b915061486182614820565b602082019050919050565b6000602082019050818103600083015261488581614849565b9050919050565b60008151905061489b81613d82565b92915050565b6000602082840312156148b7576148b6613d4b565b5b60006148c58482850161488c565b91505092915050565b60006040820190506148e36000830185614093565b6148f06020830184614093565b9392505050565b7f546f6b656e2062616c616e636520746f6f206c6f770000000000000000000000600082015250565b600061492d601583613c9b565b9150614938826148f7565b602082019050919050565b6000602082019050818103600083015261495c81614920565b9050919050565b600061496e82613dae565b915061497983613dae565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156149ae576149ad614435565b5b828201905092915050565b7f5a65726f2077616c6c6574206d75737420626520756e6c696d69746564000000600082015250565b60006149ef601d83613c9b565b91506149fa826149b9565b602082019050919050565b60006020820190508181036000830152614a1e816149e2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614a5f82613dae565b9150614a6a83613dae565b925082614a7a57614a79614a25565b5b828204905092915050565b7f7478206c696d697420746f6f206c6f7700000000000000000000000000000000600082015250565b6000614abb601083613c9b565b9150614ac682614a85565b602082019050919050565b60006020820190508181036000830152614aea81614aae565b9050919050565b7f77616c6c6574206c696d697420746f6f206c6f77000000000000000000000000600082015250565b6000614b27601483613c9b565b9150614b3282614af1565b602082019050919050565b60006020820190508181036000830152614b5681614b1a565b9050919050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b6000614b93600983613c9b565b9150614b9e82614b5d565b602082019050919050565b60006020820190508181036000830152614bc281614b86565b9050919050565b7f6d696e20746f6f206c6f77000000000000000000000000000000000000000000600082015250565b6000614bff600b83613c9b565b9150614c0a82614bc9565b602082019050919050565b60006020820190508181036000830152614c2e81614bf2565b9050919050565b7f6d696e2f6d6178206572726f7200000000000000000000000000000000000000600082015250565b6000614c6b600d83613c9b565b9150614c7682614c35565b602082019050919050565b60006020820190508181036000830152614c9a81614c5e565b9050919050565b6000614cac82613e5a565b9150614cb783613e5a565b92508160ff0483118215151615614cd157614cd0614435565b5b828202905092915050565b6000819050919050565b6000614d01614cfc614cf784613d50565b614cdc565b613d50565b9050919050565b6000614d1382614ce6565b9050919050565b6000614d2582614d08565b9050919050565b614d3581614d1a565b82525050565b6000602082019050614d506000830184614d2c565b92915050565b6000614d61826140bd565b9150614d6c836140bd565b92508261ffff03821115614d8357614d82614435565b5b828201905092915050565b7f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000600082015250565b6000614dc4601d83613c9b565b9150614dcf82614d8e565b602082019050919050565b60006020820190508181036000830152614df381614db7565b9050919050565b6000614e0582613d50565b9150614e1083613d50565b925082614e2057614e1f614a25565b5b828206905092915050565b7f476173207072696365206f766572206c696d6974000000000000000000000000600082015250565b6000614e61601483613c9b565b9150614e6c82614e2b565b602082019050919050565b60006020820190508181036000830152614e9081614e54565b9050919050565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000614ecd600b83613c9b565b9150614ed882614e97565b602082019050919050565b60006020820190508181036000830152614efc81614ec0565b9050919050565b7f54582065786365656473206c696d697473000000000000000000000000000000600082015250565b6000614f39601183613c9b565b9150614f4482614f03565b602082019050919050565b60006020820190508181036000830152614f6881614f2c565b9050919050565b6000819050919050565b6000614f94614f8f614f8a84614f6f565b614cdc565b613dae565b9050919050565b614fa481614f79565b82525050565b600060c082019050614fbf6000830189614093565b614fcc6020830188613ee6565b614fd96040830187614f9b565b614fe66060830186614f9b565b614ff36080830185614093565b61500060a0830184613ee6565b979650505050505050565b60008151905061501a81613db8565b92915050565b60008060006060848603121561503957615038613d4b565b5b60006150478682870161500b565b93505060206150588682870161500b565b92505060406150698682870161500b565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61510681613d70565b82525050565b600061511883836150fd565b60208301905092915050565b6000602082019050919050565b600061513c826150d1565b61514681856150dc565b9350615151836150ed565b8060005b83811015615182578151615169888261510c565b975061517483615124565b925050600181019050615155565b5085935050505092915050565b600060a0820190506151a46000830188613ee6565b6151b16020830187614f9b565b81810360408301526151c38186615131565b90506151d26060830185614093565b6151df6080830184613ee6565b9695505050505050565b60006151f4826140bd565b915061ffff82141561520957615208614435565b5b60018201905091905056fea2646970667358221220fbaa57aea6ff65a4bb41d94340108968386429e3ce4d0d2143ff2dee9a08e81a64736f6c634300080b003300000000000000000000000000000000000000000000000000000000314c415b0000000000000000000000000000000000000000000000000000000007eefef2

Deployed Bytecode

0x6080604052600436106101c65760003560e01c80638bfd1d8e116100f7578063b142180311610095578063ed7b6bb511610064578063ed7b6bb514610625578063f2fde38b1461063c578063f9fdeae314610665578063fe575a871461068e576101cd565b8063b14218031461057f578063dca2a8b6146105a8578063dd62ed3e146105bf578063e4dbc45b146105fc576101cd565b806395d89b41116100d157806395d89b41146104c35780639c5fd048146104ee578063a9059cbb14610517578063aa4bde2814610554576101cd565b80638bfd1d8e146104305780638c0b5e221461046d5780639346afac14610498576101cd565b8063313ce5671161016457806370a082311161013e57806370a082311461037657806371ebe1c3146103b3578063740bf497146103dc578063893d20e814610405576101cd565b8063313ce567146102f95780636969c1a4146103245780636d1b229d1461034d576101cd565b806318160ddd116101a057806318160ddd146102635780631c939ee91461028e5780631cbbe3e4146102a557806323b872dd146102bc576101cd565b806306fdde03146101d2578063095ea7b3146101fd57806309ef509f1461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106cb565b6040516101f49190613d29565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f9190613de4565b61075d565b6040516102319190613e3f565b60405180910390f35b34801561024657600080fd5b50610261600480360381019061025c9190613e93565b610863565b005b34801561026f57600080fd5b506102786109e1565b6040516102859190613ef5565b60405180910390f35b34801561029a57600080fd5b506102a3610a05565b005b3480156102b157600080fd5b506102ba610a9e565b005b3480156102c857600080fd5b506102e360048036038101906102de9190613f10565b610b38565b6040516102f09190613e3f565b60405180910390f35b34801561030557600080fd5b5061030e610d41565b60405161031b9190613f72565b60405180910390f35b34801561033057600080fd5b5061034b60048036038101906103469190613f8d565b610d4a565b005b34801561035957600080fd5b50610374600480360381019061036f9190613f8d565b611486565b005b34801561038257600080fd5b5061039d60048036038101906103989190613fba565b61163a565b6040516103aa9190613ef5565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d59190614013565b611683565b005b3480156103e857600080fd5b5061040360048036038101906103fe9190614053565b6117e2565b005b34801561041157600080fd5b5061041a611a56565b60405161042791906140a2565b60405180910390f35b34801561043c57600080fd5b5061045760048036038101906104529190613fba565b611a7f565b6040516104649190613ef5565b60405180910390f35b34801561047957600080fd5b50610482611ac8565b60405161048f9190613ef5565b60405180910390f35b3480156104a457600080fd5b506104ad611ace565b6040516104ba91906140da565b60405180910390f35b3480156104cf57600080fd5b506104d8611ae2565b6040516104e59190613d29565b60405180910390f35b3480156104fa57600080fd5b5061051560048036038101906105109190614013565b611b74565b005b34801561052357600080fd5b5061053e60048036038101906105399190613de4565b611c5d565b60405161054b9190613e3f565b60405180910390f35b34801561056057600080fd5b50610569611cb9565b6040516105769190613ef5565b60405180910390f35b34801561058b57600080fd5b506105a660048036038101906105a19190614121565b611cbf565b005b3480156105b457600080fd5b506105bd611e7d565b005b3480156105cb57600080fd5b506105e660048036038101906105e19190614053565b611f67565b6040516105f39190613ef5565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e919061419d565b611fee565b005b34801561063157600080fd5b5061063a612198565b005b34801561064857600080fd5b50610663600480360381019061065e9190614242565b61227a565b005b34801561067157600080fd5b5061068c6004803603810190610687919061426f565b612382565b005b34801561069a57600080fd5b506106b560048036038101906106b09190613fba565b612507565b6040516106c29190613e3f565b60405180910390f35b6060600180546106da90614305565b80601f016020809104026020016040519081016040528092919081815260200182805461070690614305565b80156107535780601f1061072857610100808354040283529160200191610753565b820191906000526020600020905b81548152906001019060200180831161073657829003601f168201915b5050505050905090565b6000806107693361163a565b1161077357600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108519190613ef5565b60405180910390a36001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e8906143a9565b60405180910390fd5b600e60029054906101000a900460ff1660ff168360ff161115801561092b5750600e60029054906101000a900460ff1660ff168260ff1611155b801561094c5750600e60029054906101000a900460ff1660ff168160ff1611155b61098b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098290614415565b60405180910390fd5b82600e60036101000a81548160ff021916908360ff16021790555081600e60046101000a81548160ff021916908360ff16021790555080600e60056101000a81548160ff021916908360ff160217905550505050565b60006009600a6109f19190614597565b6305f5e100610a0091906145e2565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a906143a9565b60405180910390fd5b610a9c47612562565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b23906143a9565b60405180910390fd5b610b366000612700565b565b6000610b42612730565b610b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7890614688565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d2d5781600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cac91906146a8565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d388484846127b6565b90509392505050565b60006009905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcf906143a9565b60405180910390fd5b600860009054906101000a900460ff1615610e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1f90614728565b60405180910390fd5b60008111610e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6290614794565b60405180910390fd5b6001601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600047905081811015611078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106f90614800565b60405180910390fd5b60006110833061163a565b9050600081116110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf9061486c565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611135573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115991906148a1565b73ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461127f57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561121a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123e91906148a1565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131291906148a1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161136e9291906148ce565b6020604051808303816000875af115801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b191906148a1565b90506001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061146c82612f08565b611478828560006130f2565b6114806131d0565b50505050565b60006114913361163a565b9050808211156114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90614943565b60405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461152591906146a8565b9250508190555081600460008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461157b9190614963565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115e09190613ef5565b60405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f880c11c487cf68bfb110a8b12366c544c0223be035e9b7ef47f4c48689979ca08360405161162e9190613ef5565b60405180910390a25050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611711576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611708906143a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117875780611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d90614a05565b60405180910390fd5b5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611870576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611867906143a9565b60405180910390fd5b81601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60095481565b600e60009054906101000a900461ffff1681565b606060028054611af190614305565b80601f0160208091040260200160405190810160405280929190818152602001828054611b1d90614305565b8015611b6a5780601f10611b3f57610100808354040283529160200191611b6a565b820191906000526020600020905b815481529060010190602001808311611b4d57829003601f168201915b5050505050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf9906143a9565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611c67612730565b611ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9d90614688565b60405180910390fd5b611cb13384846127b6565b905092915050565b600a5481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d44906143a9565b60405180910390fd5b600060016103e88461ffff166009600a611d679190614597565b6305f5e100611d7691906145e2565b611d8091906145e2565b611d8a9190614a54565b611d949190614963565b9050600954811015611ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd290614ad1565b60405180910390fd5b80600981905550600060016103e88461ffff166009600a611dfc9190614597565b6305f5e100611e0b91906145e2565b611e1591906145e2565b611e1f9190614a54565b611e299190614963565b9050600a54811015611e70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6790614b3d565b60405180910390fd5b80600a8190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f02906143a9565b60405180910390fd5b6000611f163061163a565b905060008111611f5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5290614ba9565b60405180910390fd5b611f64816132fc565b50565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461207c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612073906143a9565b60405180910390fd5b8263ffffffff168463ffffffff166009600a6120989190614597565b6305f5e1006120a791906145e2565b6120b191906145e2565b6120bb9190614a54565b600b819055508063ffffffff168263ffffffff166009600a6120dd9190614597565b6305f5e1006120ec91906145e2565b6120f691906145e2565b6121009190614a54565b600c819055506064600b541161214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290614c15565b60405180910390fd5b600b54600c541015612192576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218990614c81565b60405180910390fd5b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221d906143a9565b60405180910390fd5b6000600e60036101000a81548160ff021916908360ff160217905550600e60029054906101000a900460ff16600261225e9190614ca1565b600e60046101000a81548160ff021916908360ff160217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612308576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ff906143a9565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516123779190614d3b565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612410576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612407906143a9565b60405180910390fd5b83600e60066101000a81548161ffff021916908361ffff16021790555082600e60086101000a81548161ffff021916908361ffff16021790555081600e600a6101000a81548161ffff021916908361ffff16021790555080600e600c6101000a81548161ffff021916908361ffff160217905550600e600c9054906101000a900461ffff16600e600a9054906101000a900461ffff16600e60089054906101000a900461ffff16600e60069054906101000a900461ffff166124d29190614d56565b6124dc9190614d56565b6124e69190614d56565b600e806101000a81548161ffff021916908361ffff16021790555050505050565b600080601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414612558576001905061255d565b600090505b919050565b6000600e600c9054906101000a900461ffff16600e600a9054906101000a900461ffff166125909190614d56565b90506000600e600a9054906101000a900461ffff1661ffff16111561264757601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600e600a9054906101000a900461ffff1661ffff168561261091906145e2565b61261a9190614a54565b9081150290604051600060405180830381858888f19350505050158015612645573d6000803e3d6000fd5b505b6000600e600c9054906101000a900461ffff1661ffff1611156126fc57601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600e600c9054906101000a900461ffff1661ffff16856126c591906145e2565b6126cf9190614a54565b9081150290604051600060405180830381858888f193505050501580156126fa573d6000803e3d6000fd5b505b5050565b43600f54118061271257506000600f54145b1561272d578060ff16436127269190614963565b600f819055505b50565b60008060009050600860009054906101000a900460ff161561275557600190506127af565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614156127ae57600190505b5b8091505090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281e90614dda565b60405180910390fd5b43600f54111561294057600360049054906101000a900463ffffffff1663ffffffff16600360009054906101000a900463ffffffff1663ffffffff168461286e9190614dfa565b73ffffffffffffffffffffffffffffffffffffffff161415612899576128946001612700565b61293b565b6000601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156128f0576128eb83436134ad565b61293a565b61293983601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134ad565b5b5b612a5a565b6000601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146129d1576129d083601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134ad565b5b601260009054906101000a900460ff1660ff16600f546129f19190614963565b431080156129fe5750483a115b15612a59576000483a612a1191906146a8565b90506013548110612a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4e90614e77565b60405180910390fd5b505b5b600860009054906101000a900460ff168015612ab657506000601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b8015612b00575043601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b15612b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3790614ee3565b60405180910390fd5b601560149054906101000a900460ff16158015612ba65750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612bb457612bb36135cf565b5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612c1c57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612c74575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612cc357612c8383836137b7565b612cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cb990614f4f565b60405180910390fd5b5b6000612cd08585856138f7565b905060008184612ce091906146a8565b905083600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d2d91906146a8565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115612e085781600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dc49190614963565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e539190614963565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612ef39190613ef5565b60405180910390a36001925050509392505050565b80600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156130ef577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040516130e69190613ef5565b60405180910390a35b50565b60008161311d5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308760008087426040518863ffffffff1660e01b815260040161318496959493929190614faa565b60606040518083038185885af11580156131a2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131c79190615020565b50505050505050565b6014436131dd9190614963565b600f819055506009600a6131f19190614597565b6103e86009600a6132029190614597565b6305f5e10061321191906145e2565b600561321d91906145e2565b6132279190614a54565b6132319190614963565b6009819055506009600a6132459190614597565b6103e86009600a6132569190614597565b6305f5e10061326591906145e2565b600561327191906145e2565b61327b9190614a54565b6132859190614963565b600a81905550600b600e60036101000a81548160ff021916908360ff1602179055506019600e60046101000a81548160ff021916908360ff160217905550600d600e60056101000a81548160ff021916908360ff1602179055506001600860006101000a81548160ff021916908315150217905550565b61330581612f08565b6000600267ffffffffffffffff81111561332257613321615073565b5b6040519080825280602002602001820160405280156133505781602001602082028036833780820191505090505b5090503081600081518110613368576133676150a2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106133d9576133d86150a2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161347795949392919061518f565b600060405180830381600087803b15801561349157600080fd5b505af11580156134a5573d6000803e3d6000fd5b505050505050565b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561354657506000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156135cb5780601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e600081819054906101000a900461ffff16809291906135af906151e9565b91906101000a81548161ffff021916908361ffff160217905550505b5050565b6001601560146101000a81548160ff02191690831515021790555060006135f53061163a565b9050600b5481101580156136155750600860009054906101000a900460ff165b1561379957600c54811061362957600c5490505b60006002600e8054906101000a900461ffff1661ffff16600e60089054906101000a900461ffff1661ffff168461366091906145e2565b61366a9190614a54565b6136749190614a54565b90506000600e8054906101000a900461ffff1661ffff16600e60069054906101000a900461ffff1661ffff16846136ab91906145e2565b6136b59190614a54565b90506136c2600082613b01565b60008183856136d191906146a8565b6136db91906146a8565b9050606481111561377c5760004790506136f4826132fc565b6000814761370291906146a8565b90506000600e60089054906101000a900461ffff1661ffff161115613779576000600e8054906101000a900461ffff1661ffff16600e60089054906101000a900461ffff1661ffff168361375691906145e2565b6137609190614a54565b905061376b86612f08565b613777868260006130f2565b505b50505b600047905060008111156137945761379381612562565b5b505050505b506000601560146101000a81548160ff021916908315150217905550565b60008060019050600860009054906101000a900460ff1680156138245750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156138ed5760095483111561383c57600090506138ec565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156138e15750600a5483600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138df9190614963565b115b156138eb57600090505b5b5b8091505092915050565b600080600860009054906101000a900460ff16158061395f5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806139b35750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156139c15760009050613af6565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613a44576064600e60039054906101000a900460ff1660ff1684613a3391906145e2565b613a3d9190614a54565b9050613af5565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613ac7576064600e60049054906101000a900460ff1660ff1684613ab691906145e2565b613ac09190614a54565b9050613af4565b6064600e60059054906101000a900460ff1660ff1684613ae791906145e2565b613af19190614a54565b90505b5b5b809150509392505050565b6000811115613c8c5780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b5591906146a8565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613be39190614963565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613c839190613ef5565b60405180910390a35b5050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613cca578082015181840152602081019050613caf565b83811115613cd9576000848401525b50505050565b6000601f19601f8301169050919050565b6000613cfb82613c90565b613d058185613c9b565b9350613d15818560208601613cac565b613d1e81613cdf565b840191505092915050565b60006020820190508181036000830152613d438184613cf0565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613d7b82613d50565b9050919050565b613d8b81613d70565b8114613d9657600080fd5b50565b600081359050613da881613d82565b92915050565b6000819050919050565b613dc181613dae565b8114613dcc57600080fd5b50565b600081359050613dde81613db8565b92915050565b60008060408385031215613dfb57613dfa613d4b565b5b6000613e0985828601613d99565b9250506020613e1a85828601613dcf565b9150509250929050565b60008115159050919050565b613e3981613e24565b82525050565b6000602082019050613e546000830184613e30565b92915050565b600060ff82169050919050565b613e7081613e5a565b8114613e7b57600080fd5b50565b600081359050613e8d81613e67565b92915050565b600080600060608486031215613eac57613eab613d4b565b5b6000613eba86828701613e7e565b9350506020613ecb86828701613e7e565b9250506040613edc86828701613e7e565b9150509250925092565b613eef81613dae565b82525050565b6000602082019050613f0a6000830184613ee6565b92915050565b600080600060608486031215613f2957613f28613d4b565b5b6000613f3786828701613d99565b9350506020613f4886828701613d99565b9250506040613f5986828701613dcf565b9150509250925092565b613f6c81613e5a565b82525050565b6000602082019050613f876000830184613f63565b92915050565b600060208284031215613fa357613fa2613d4b565b5b6000613fb184828501613dcf565b91505092915050565b600060208284031215613fd057613fcf613d4b565b5b6000613fde84828501613d99565b91505092915050565b613ff081613e24565b8114613ffb57600080fd5b50565b60008135905061400d81613fe7565b92915050565b6000806040838503121561402a57614029613d4b565b5b600061403885828601613d99565b925050602061404985828601613ffe565b9150509250929050565b6000806040838503121561406a57614069613d4b565b5b600061407885828601613d99565b925050602061408985828601613d99565b9150509250929050565b61409c81613d70565b82525050565b60006020820190506140b76000830184614093565b92915050565b600061ffff82169050919050565b6140d4816140bd565b82525050565b60006020820190506140ef60008301846140cb565b92915050565b6140fe816140bd565b811461410957600080fd5b50565b60008135905061411b816140f5565b92915050565b6000806040838503121561413857614137613d4b565b5b60006141468582860161410c565b92505060206141578582860161410c565b9150509250929050565b600063ffffffff82169050919050565b61417a81614161565b811461418557600080fd5b50565b60008135905061419781614171565b92915050565b600080600080608085870312156141b7576141b6613d4b565b5b60006141c587828801614188565b94505060206141d687828801614188565b93505060406141e787828801614188565b92505060606141f887828801614188565b91505092959194509250565b600061420f82613d50565b9050919050565b61421f81614204565b811461422a57600080fd5b50565b60008135905061423c81614216565b92915050565b60006020828403121561425857614257613d4b565b5b60006142668482850161422d565b91505092915050565b6000806000806080858703121561428957614288613d4b565b5b60006142978782880161410c565b94505060206142a88782880161410c565b93505060406142b98782880161410c565b92505060606142ca8782880161410c565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061431d57607f821691505b60208210811415614331576143306142d6565b5b50919050565b7f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074686960008201527f732066756e6374696f6e00000000000000000000000000000000000000000000602082015250565b6000614393602a83613c9b565b915061439e82614337565b604082019050919050565b600060208201905081810360008301526143c281614386565b9050919050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b60006143ff600c83613c9b565b915061440a826143c9565b602082019050919050565b6000602082019050818103600083015261442e816143f2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156144bb5780860481111561449757614496614435565b5b60018516156144a65780820291505b80810290506144b485614464565b945061447b565b94509492505050565b6000826144d45760019050614590565b816144e25760009050614590565b81600181146144f8576002811461450257614531565b6001915050614590565b60ff84111561451457614513614435565b5b8360020a91508482111561452b5761452a614435565b5b50614590565b5060208310610133831016604e8410600b84101617156145665782820a90508381111561456157614560614435565b5b614590565b6145738484846001614471565b9250905081840481111561458a57614589614435565b5b81810290505b9392505050565b60006145a282613dae565b91506145ad83613e5a565b92506145da7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846144c4565b905092915050565b60006145ed82613dae565b91506145f883613dae565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561463157614630614435565b5b828202905092915050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000614672601083613c9b565b915061467d8261463c565b602082019050919050565b600060208201905081810360008301526146a181614665565b9050919050565b60006146b382613dae565b91506146be83613dae565b9250828210156146d1576146d0614435565b5b828203905092915050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000614712601483613c9b565b915061471d826146dc565b602082019050919050565b6000602082019050818103600083015261474181614705565b9050919050565b7f6574682063616e6e6f7420626520300000000000000000000000000000000000600082015250565b600061477e600f83613c9b565b915061478982614748565b602082019050919050565b600060208201905081810360008301526147ad81614771565b9050919050565b7f6e6f7420656e6f75676820657468000000000000000000000000000000000000600082015250565b60006147ea600e83613c9b565b91506147f5826147b4565b602082019050919050565b60006020820190508181036000830152614819816147dd565b9050919050565b7f6e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b6000614856600983613c9b565b915061486182614820565b602082019050919050565b6000602082019050818103600083015261488581614849565b9050919050565b60008151905061489b81613d82565b92915050565b6000602082840312156148b7576148b6613d4b565b5b60006148c58482850161488c565b91505092915050565b60006040820190506148e36000830185614093565b6148f06020830184614093565b9392505050565b7f546f6b656e2062616c616e636520746f6f206c6f770000000000000000000000600082015250565b600061492d601583613c9b565b9150614938826148f7565b602082019050919050565b6000602082019050818103600083015261495c81614920565b9050919050565b600061496e82613dae565b915061497983613dae565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156149ae576149ad614435565b5b828201905092915050565b7f5a65726f2077616c6c6574206d75737420626520756e6c696d69746564000000600082015250565b60006149ef601d83613c9b565b91506149fa826149b9565b602082019050919050565b60006020820190508181036000830152614a1e816149e2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614a5f82613dae565b9150614a6a83613dae565b925082614a7a57614a79614a25565b5b828204905092915050565b7f7478206c696d697420746f6f206c6f7700000000000000000000000000000000600082015250565b6000614abb601083613c9b565b9150614ac682614a85565b602082019050919050565b60006020820190508181036000830152614aea81614aae565b9050919050565b7f77616c6c6574206c696d697420746f6f206c6f77000000000000000000000000600082015250565b6000614b27601483613c9b565b9150614b3282614af1565b602082019050919050565b60006020820190508181036000830152614b5681614b1a565b9050919050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b6000614b93600983613c9b565b9150614b9e82614b5d565b602082019050919050565b60006020820190508181036000830152614bc281614b86565b9050919050565b7f6d696e20746f6f206c6f77000000000000000000000000000000000000000000600082015250565b6000614bff600b83613c9b565b9150614c0a82614bc9565b602082019050919050565b60006020820190508181036000830152614c2e81614bf2565b9050919050565b7f6d696e2f6d6178206572726f7200000000000000000000000000000000000000600082015250565b6000614c6b600d83613c9b565b9150614c7682614c35565b602082019050919050565b60006020820190508181036000830152614c9a81614c5e565b9050919050565b6000614cac82613e5a565b9150614cb783613e5a565b92508160ff0483118215151615614cd157614cd0614435565b5b828202905092915050565b6000819050919050565b6000614d01614cfc614cf784613d50565b614cdc565b613d50565b9050919050565b6000614d1382614ce6565b9050919050565b6000614d2582614d08565b9050919050565b614d3581614d1a565b82525050565b6000602082019050614d506000830184614d2c565b92915050565b6000614d61826140bd565b9150614d6c836140bd565b92508261ffff03821115614d8357614d82614435565b5b828201905092915050565b7f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000600082015250565b6000614dc4601d83613c9b565b9150614dcf82614d8e565b602082019050919050565b60006020820190508181036000830152614df381614db7565b9050919050565b6000614e0582613d50565b9150614e1083613d50565b925082614e2057614e1f614a25565b5b828206905092915050565b7f476173207072696365206f766572206c696d6974000000000000000000000000600082015250565b6000614e61601483613c9b565b9150614e6c82614e2b565b602082019050919050565b60006020820190508181036000830152614e9081614e54565b9050919050565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000614ecd600b83613c9b565b9150614ed882614e97565b602082019050919050565b60006020820190508181036000830152614efc81614ec0565b9050919050565b7f54582065786365656473206c696d697473000000000000000000000000000000600082015250565b6000614f39601183613c9b565b9150614f4482614f03565b602082019050919050565b60006020820190508181036000830152614f6881614f2c565b9050919050565b6000819050919050565b6000614f94614f8f614f8a84614f6f565b614cdc565b613dae565b9050919050565b614fa481614f79565b82525050565b600060c082019050614fbf6000830189614093565b614fcc6020830188613ee6565b614fd96040830187614f9b565b614fe66060830186614f9b565b614ff36080830185614093565b61500060a0830184613ee6565b979650505050505050565b60008151905061501a81613db8565b92915050565b60008060006060848603121561503957615038613d4b565b5b60006150478682870161500b565b93505060206150588682870161500b565b92505060406150698682870161500b565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61510681613d70565b82525050565b600061511883836150fd565b60208301905092915050565b6000602082019050919050565b600061513c826150d1565b61514681856150dc565b9350615151836150ed565b8060005b83811015615182578151615169888261510c565b975061517483615124565b925050600181019050615155565b5085935050505092915050565b600060a0820190506151a46000830188613ee6565b6151b16020830187614f9b565b81810360408301526151c38186615131565b90506151d26060830185614093565b6151df6080830184613ee6565b9695505050505050565b60006151f4826140bd565b915061ffff82141561520957615208614435565b5b60018201905091905056fea2646970667358221220fbaa57aea6ff65a4bb41d94340108968386429e3ce4d0d2143ff2dee9a08e81a64736f6c634300080b0033

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

00000000000000000000000000000000000000000000000000000000314c415b0000000000000000000000000000000000000000000000000000000007eefef2

-----Decoded View---------------
Arg [0] : smd (uint32): 827081051
Arg [1] : smr (uint32): 133103346

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000314c415b
Arg [1] : 0000000000000000000000000000000000000000000000000000000007eefef2


Deployed Bytecode Sourcemap

1960:14447:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4983:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5393:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11730:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4722:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15967:93;;;;;;;;;;;;;:::i;:::-;;8069:60;;;;;;;;;;;;;:::i;:::-;;5837:362;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4813:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6204:939;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16065:337;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5147:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11531:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12544:360;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5066:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11302:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2403:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2573:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4896:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11422:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5632:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2431:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12909:426;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15770:192;;;;;;;;;;;;;:::i;:::-;;5255:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13340:335;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12025:107;;;;;;;;;;;;;:::i;:::-;;1149:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12139:399;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11143:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4983:80;5031:13;5055:5;5048:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4983:80;:::o;5393:234::-;5468:4;5511:1;5487:21;5497:10;5487:9;:21::i;:::-;:25;5479:34;;;;;;5553:6;5518:11;:23;5530:10;5518:23;;;;;;;;;;;;;;;:32;5542:7;5518:32;;;;;;;;;;;;;;;:41;;;;5590:7;5569:37;;5578:10;5569:37;;;5599:6;5569:37;;;;;;:::i;:::-;;;;;;;;5618:4;5611:11;;5393:234;;;;:::o;11730:290::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11847:11:::1;;;;;;;;;;;11834:24;;:9;:24;;;;:53;;;;;11876:11;;;;;;;;;;;11862:25;;:10;:25;;;;11834:53;:80;;;;;11903:11;;;;;;;;;;;11891:23;;:8;:23;;;;11834:80;11826:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;11950:9;11936:11;;:23;;;;;;;;;;;;;;;;;;11979:10;11964:12;;:25;;;;;;;;;;;;;;;;;;12007:8;11994:10;;:21;;;;;;;;;;;;;;;;;;11730:290:::0;;;:::o;4722:88::-;4777:7;2143:1;2096:2;:15;;;;:::i;:::-;2081:11;:31;;;;:::i;:::-;4788:19;;4722:88;:::o;15967:93::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;16014:40:::1;16032:21;16014:17;:40::i;:::-;15967:93::o:0;8069:60::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8112:12:::1;8122:1;8112:9;:12::i;:::-;8069:60::o:0;5837:362::-;5937:4;5956:19;:17;:19::i;:::-;5948:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;6039:17;6004:11;:19;6016:6;6004:19;;;;;;;;;;;;;;;:31;6024:10;6004:31;;;;;;;;;;;;;;;;:52;6001:142;;6131:6;6097:11;:19;6109:6;6097:19;;;;;;;;;;;;;;;:31;6117:10;6097:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;6063:11;:19;6075:6;6063:19;;;;;;;;;;;;;;;:31;6083:10;6063:31;;;;;;;;;;;;;;;:74;;;;6001:142;6154:40;6168:6;6176:9;6187:6;6154:13;:40::i;:::-;6147:47;;5837:362;;;;;:::o;4813:80::-;4865:5;2143:1;4874:16;;4813:80;:::o;6204:939::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;6275:11:::1;;;;;;;;;;;6274:12;6266:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;6339:1;6324:12;:16;6316:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;6395:4;6367:10;:25;6386:4;6367:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;6424:4;6404:10;:17;6415:5:::0;::::1;;;;;;;;;;6404:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;6463:4;6433:10;:27;6444:15;;;;;;;;;;;6433:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;6509:4;6478:10;:28;6489:16;;;;;;;;;;;6478:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;6520:27;6550:21;6520:51;;6607:12;6584:19;:35;;6576:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;6643:29;6675:24;6693:4;6675:9;:24::i;:::-;6643:56;;6736:1;6712:21;:25;6704:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;6770:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6760:33;;:6;;;;;;;;;;;:33;;;6756:76;;6806:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6797:6;;:32;;;;;;;;;;;;;;;;;;6756:76;6837:18;6876:16;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6858:56;;;6923:4;6930:6;;;;;;;;;;;6858:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6837:100;;6973:4;6948:10;:22;6959:10;6948:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;7007:4;6982:10;:22;6993:10;6982:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;7018:37;7033:21;7018:14;:37::i;:::-;7060:57;7074:21;7097:12;7111:5;7060:13;:57::i;:::-;7124:14;:12;:14::i;:::-;6261:882;;;6204:939:::0;:::o;16065:337::-;16115:24;16142:21;16152:10;16142:9;:21::i;:::-;16115:48;;16186:16;16176:6;:26;;16168:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;16258:6;16233:9;:21;16243:10;16233:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;16294:6;16269:9;:21;16287:1;16269:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;16338:1;16310:39;;16319:10;16310:39;;;16342:6;16310:39;;;;;;:::i;:::-;;;;;;;;16378:10;16359:38;;;16390:6;16359:38;;;;;;:::i;:::-;;;;;;;;16110:292;16065:337;:::o;5147:105::-;5213:7;5231:9;:18;5241:7;5231:18;;;;;;;;;;;;;;;;5224:25;;5147:105;;;:::o;11531:194::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;3038:1:::1;11611:21;;:6;:21;;;11606:82;;;11645:6;11637:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11606:82;11714:6;11692:9;:19;11703:6;11692:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;11531:194:::0;;:::o;12544:360::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12672:17:::1;12646:15;;:44;;;;;;;;;;;;;;;;;;12722:18;12695:16;;:46;;;;;;;;;;;;;;;;;;12775:4;12746:7;:26;12754:17;12746:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;12814:4;12784:7;:27;12792:18;12784:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;12854:4;12823:9;:28;12833:17;12823:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;12895:4;12863:9;:29;12873:18;12863:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;12544:360:::0;;:::o;5066:78::-;5118:7;5136:5;;;;;;;;;;;5129:12;;5066:78;:::o;11302:115::-;11368:7;11389:15;:23;11405:6;11389:23;;;;;;;;;;;;;;;;11382:30;;11302:115;;;:::o;2403:26::-;;;;:::o;2573:33::-;;;;;;;;;;;;;:::o;4896:84::-;4946:13;4970:7;4963:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4896:84;:::o;11422:104::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11515:6:::1;11495:7;:17;11504:6;11495:17;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;11422:104:::0;;:::o;5632:200::-;5712:4;5731:19;:17;:19::i;:::-;5723:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;5783:44;5797:10;5809:9;5820:6;5783:13;:44::i;:::-;5776:51;;5632:200;;;;:::o;2431:30::-;;;;:::o;12909:426::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13009:16:::1;13068:1;13061:4;13043:15;13028:30;;2143:1;2096:2;:15;;;;:::i;:::-;2081:11;:31;;;;:::i;:::-;13028:30;;;;:::i;:::-;:37;;;;:::i;:::-;:41;;;;:::i;:::-;13009:60;;13094:11;;13082:8;:23;;13074:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;13145:8;13131:11;:22;;;;13158:20;13225:1;13218:4;13196:19;13181:34;;2143:1;2096:2;:15;;;;:::i;:::-;2081:11;:31;;;;:::i;:::-;13181:34;;;;:::i;:::-;:41;;;;:::i;:::-;:45;;;;:::i;:::-;13158:68;;13255:15;;13239:12;:31;;13231:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13318:12;13300:15;:30;;;;13004:331;;12909:426:::0;;:::o;15770:192::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15819:23:::1;15845:24;15863:4;15845:9;:24::i;:::-;15819:50;;15900:1;15882:15;:19;15874:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;15920:37;15941:15;15920:20;:37::i;:::-;15814:148;15770:192::o:0;5255:133::-;5339:7;5357:11;:19;5369:6;5357:19;;;;;;;;;;;;;;;:28;5377:7;5357:28;;;;;;;;;;;;;;;;5350:35;;5255:133;;;;:::o;13340:335::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13502:10:::1;13476:36;;13491:8;13476:23;;2143:1;2096:2;:15;;;;:::i;:::-;2081:11;:31;;;;:::i;:::-;13476:23;;;;:::i;:::-;:36;;;;:::i;:::-;13462:11;:50;;;;13557:10;13531:36;;13546:8;13531:23;;2143:1;2096:2;:15;;;;:::i;:::-;2081:11;:31;;;;:::i;:::-;13531:23;;;;:::i;:::-;:36;;;;:::i;:::-;13517:11;:50;;;;13594:3;13580:11;;:17;13572:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;13641:11;;13626;;:26;;13618:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;13340:335:::0;;;;:::o;12025:107::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12091:1:::1;12077:11;;:15;;;;;;;;;;;;;;;;;;12116:11;;;;;;;;;;;12112:1;:15;;;;:::i;:::-;12097:12;;:30;;;;;;;;;;;;;;;;;;12025:107::o:0;1149:130::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;1231:8:::1;1223:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;1246:30;1267:8;1246:30;;;;;;:::i;:::-;;;;;;;;1149:130:::0;:::o;12139:399::-;1088:5;;;;;;;;;;1074:19;;:10;:19;;;1066:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12304:18:::1;12286:14;;:36;;;;;;;;;;;;;;;;;;12343:12;12327:13;;:28;;;;;;;;;;;;;;;;;;12381:14;12360:18;;:35;;;;;;;;;;;;;;;;;;12422:15;12400:19;;:37;;;;;;;;;;;;;;;;;;12514:19;;;;;;;;;;;12493:18;;;;;;;;;;;12477:13;;;;;;;;;;;12460:14;;;;;;;;;;;:30;;;;:::i;:::-;:51;;;;:::i;:::-;:73;;;;:::i;:::-;12442:15;::::0;:91:::1;;;;;;;;;;;;;;;;;;12139:399:::0;;;;:::o;11143:154::-;11204:4;11247:1;11220:15;:23;11236:6;11220:23;;;;;;;;;;;;;;;;:28;11215:78;;11260:4;11253:11;;;;11215:78;11285:5;11278:12;;11143:154;;;;:::o;15407:358::-;15464:24;15512:19;;;;;;;;;;;15491:18;;;;;;;;;;;:40;;;;:::i;:::-;15464:67;;15562:1;15541:18;;;;;;;;;;;:22;;;15536:109;;;15568:15;;;;;;;;;;;:24;;:74;15624:17;15593:48;;15603:18;;;;;;;;;;;15593:28;;:7;:28;;;;:::i;:::-;:48;;;;:::i;:::-;15568:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15536:109;15676:1;15654:19;;;;;;;;;;;:23;;;15649:112;;;15682:16;;;;;;;;;;;:25;;:76;15740:17;15708:49;;15718:19;;;;;;;;;;;15708:29;;:7;:29;;;;:::i;:::-;:49;;;;:::i;:::-;15682:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15649:112;15459:306;15407:358;:::o;8134:156::-;8202:12;8188:11;;:26;:46;;;;8233:1;8218:11;;:16;8188:46;8183:103;;;8272:8;8257:23;;:12;:23;;;;:::i;:::-;8243:11;:37;;;;8183:103;8134:156;:::o;10466:219::-;10517:4;10527:16;10546:5;10527:24;;10561:11;;;;;;;;;;;10556:101;;;10591:4;10577:18;;10556:101;;;10626:5;;;;;;;;;;10613:18;;:9;:18;;;10608:49;;;10650:4;10636:18;;10608:49;10556:101;10669:11;10662:18;;;10466:219;:::o;8295:1516::-;8387:4;8424:1;8406:20;;:6;:20;;;;8398:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;8484:12;8470:11;;:26;8465:598;;;8548:4;;;;;;;;;;;8510:42;;8540:4;;;;;;;;;;;8510:34;;8526:9;8510:34;;;;:::i;:::-;:42;;;8505:220;;;8557:12;8567:1;8557:9;:12::i;:::-;8505:220;;;8614:1;8587:15;:23;8603:6;8587:23;;;;;;;;;;;;;;;;:28;8582:143;;;8620:38;8634:9;8645:12;8620:13;:38::i;:::-;8582:143;;;8673:49;8687:9;8698:15;:23;8714:6;8698:23;;;;;;;;;;;;;;;;8673:13;:49::i;:::-;8582:143;8505:220;8465:598;;;8774:1;8747:15;:23;8763:6;8747:23;;;;;;;;;;;;;;;;:28;8742:90;;8780:49;8794:9;8805:15;:23;8821:6;8805:23;;;;;;;;;;;;;;;;8780:13;:49::i;:::-;8742:90;8871:15;;;;;;;;;;;8857:29;;:11;;:29;;;;:::i;:::-;8842:12;:44;:75;;;;;8904:13;8890:11;:27;8842:75;8837:221;;;8927:17;8961:13;8947:11;:27;;;;:::i;:::-;8927:47;;9002:9;;8989;:22;8984:65;;9016:30;;;;;;;;;;:::i;:::-;;;;;;;;8984:65;8920:138;8837:221;8465:598;9072:11;;;;;;;;;;;:43;;;;;9114:1;9087:15;:23;9103:6;9087:23;;;;;;;;;;;;;;;;:28;;9072:43;:85;;;;;9145:12;9119:15;:23;9135:6;9119:23;;;;;;;;;;;;;;;;:38;9072:85;9067:119;;;9162:21;;;;;;;;;;:::i;:::-;;;;;;;;9067:119;9198:10;;;;;;;;;;;9197:11;:36;;;;;9212:10;:21;9223:9;9212:21;;;;;;;;;;;;;;;;;;;;;;;;;9197:36;9192:76;;;9242:20;:18;:20::i;:::-;9192:76;9295:4;9277:23;;:6;:23;;;;:53;;;;;9325:4;9304:26;;:9;:26;;;;9277:53;:72;;;;;9344:5;;;;;;;;;;9334:15;;:6;:15;;;;9277:72;9272:146;;;9362:31;9375:9;9386:6;9362:12;:31::i;:::-;9354:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9272:146;9422:18;9443:40;9457:6;9465:9;9476:6;9443:13;:40::i;:::-;9422:61;;9488:23;9523:10;9514:6;:19;;;;:::i;:::-;9488:45;;9578:6;9558:9;:17;9568:6;9558:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;9538:9;:17;9548:6;9538:17;;;;;;;;;;;;;;;:46;;;;9607:1;9594:10;:14;9589:91;;;9667:10;9640:9;:24;9658:4;9640:24;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;9613:9;:24;9631:4;9613:24;;;;;;;;;;;;;;;:64;;;;9589:91;9730:15;9707:9;:20;9717:9;9707:20;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;9684:9;:20;9694:9;9684:20;;;;;;;;;;;;;;;:61;;;;9772:9;9755:35;;9764:6;9755:35;;;9783:6;9755:35;;;;;;:::i;:::-;;;;;;;;9802:4;9795:11;;;;8295:1516;;;;;:::o;7148:299::-;7267:12;7213:11;:26;7233:4;7213:26;;;;;;;;;;;;;;;:51;3560:42;7213:51;;;;;;;;;;;;;;;;:66;7208:235;;;7342:17;7288:11;:26;7308:4;7288:26;;;;;;;;;;;;;;;:51;3560:42;7288:51;;;;;;;;;;;;;;;:71;;;;3560:42;7370:67;;7387:4;7370:67;;;7419:17;7370:67;;;;;;:::i;:::-;;;;;;;;7208:235;7148:299;:::o;7452:321::-;7549:24;7597:8;7591:46;;7629:5;;;;;;;;;;7610:24;;7591:46;7641:16;;;;;;;;;;;:32;;;7681:13;7706:4;7713:12;7727:1;7730;7733:16;7751:15;7641:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7544:229;7452:321;;;:::o;7778:286::-;7845:2;7830:12;:17;;;;:::i;:::-;7816:11;:31;;;;2143:1;7896:2;:13;;;;:::i;:::-;7889:4;2143:1;2096:2;:15;;;;:::i;:::-;2081:11;:31;;;;:::i;:::-;7870:1;:16;;;;:::i;:::-;:23;;;;:::i;:::-;:39;;;;:::i;:::-;7852:11;:57;;;;2143:1;7959:2;:13;;;;:::i;:::-;7952:4;2143:1;2096:2;:15;;;;:::i;:::-;2081:11;:31;;;;:::i;:::-;7933:1;:16;;;;:::i;:::-;:23;;;;:::i;:::-;:39;;;;:::i;:::-;7915:15;:57;;;;7991:2;7977:11;;:16;;;;;;;;;;;;;;;;;;8013:2;7998:12;;:17;;;;;;;;;;;;;;;;;;8033:2;8020:10;;:15;;;;;;;;;;;;;;;;;;8055:4;8041:11;;:18;;;;;;;;;;;;;;;;;;7778:286::o;15087:315::-;15152:28;15167:12;15152:14;:28::i;:::-;15185:21;15223:1;15209:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15185:40;;15248:4;15230;15235:1;15230:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15268:6;;;;;;;;;;;15258:4;15263:1;15258:7;;;;;;;;:::i;:::-;;;;;;;:16;;;;;;;;;;;15279;;;;;;;;;;;:67;;;15347:12;15360:1;15362:4;15375;15381:15;15279:118;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15147:255;15087:315;:::o;9816:224::-;9902:10;:18;9913:6;9902:18;;;;;;;;;;;;;;;;;;;;;;;;;9901:19;:51;;;;;9951:1;9924:15;:23;9940:6;9924:23;;;;;;;;;;;;;;;;:28;9901:51;9896:140;;;9988:17;9962:15;:23;9978:6;9962:23;;;;;;;;;;;;;;;:43;;;;10012:15;;:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;9896:140;9816:224;;:::o;13966:1116::-;3791:4;3778:10;;:17;;;;;;;;;;;;;;;;;;14021:27:::1;14051:24;14069:4;14051:9;:24::i;:::-;14021:54;;14110:11;;14087:19;:34;;:49;;;;;14125:11;;;;;;;;;;;14087:49;14082:996;;;14173:11;;14150:19;:34;14145:80;;14211:11;;14189:33;;14145:80;14237:20;14316:1;14298:15;::::0;::::1;;;;;;;;14260:53;;14282:13;;;;;;;;;;;14260:35;;:19;:35;;;;:::i;:::-;:53;;;;:::i;:::-;:57;;;;:::i;:::-;14237:80;;14323:21;14386:15;::::0;::::1;;;;;;;;14347:54;;14369:14;;;;;;;;;;;14347:36;;:19;:36;;;;:::i;:::-;:54;;;;:::i;:::-;14323:78;;14407:46;3038:1;14439:13;14407:18;:46::i;:::-;14464:21;14525:13;14510:12;14488:19;:34;;;;:::i;:::-;:50;;;;:::i;:::-;14464:74;;14562:3;14548:13;:17;14544:396;;;14574:19;14596:21;14574:43;;14624:35;14645:13;14624:20;:35::i;:::-;14666:19;14712:11;14688:21;:35;;;;:::i;:::-;14666:57;;14751:1;14735:13;;;;;;;;;;;:17;;;14730:204;;;14763:21;14817:15;::::0;::::1;;;;;;;;14787:45;;14801:13;;;;;;;;;;;14787:27;;:11;:27;;;;:::i;:::-;:45;;;;:::i;:::-;14763:69;;14841:28;14856:12;14841:14;:28::i;:::-;14877:49;14891:12;14905:13;14920:5;14877:13;:49::i;:::-;14755:179;14730:204;14567:373;;14544:396;14945:27;14975:21;14945:51;;15027:1;15005:19;:23;15002:71;;;15032:38;15050:19;15032:17;:38::i;:::-;15002:71;14139:939;;;;14082:996;14016:1066;3813:5:::0;3800:10;;:18;;;;;;;;;;;;;;;;;;13966:1116::o;10047:414::-;10135:4;10146:21;10170:4;10146:28;;10184:11;;;;;;;;;;;:36;;;;;10200:9;:20;10210:9;10200:20;;;;;;;;;;;;;;;;;;;;;;;;;10199:21;10184:36;10179:250;;;10251:11;;10234:14;:28;10229:195;;;10286:5;10267:24;;10229:195;;;10310:10;:21;10321:9;10310:21;;;;;;;;;;;;;;;;;;;;;;;;;10309:22;:83;;;;;10376:15;;10359:14;10336:9;:20;10346:9;10336:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;:55;10309:83;10304:120;;;10416:5;10397:24;;10304:120;10229:195;10179:250;10440:16;10433:23;;;10047:414;;;;:::o;10690:448::-;10787:7;10801:17;10829:11;;;;;;;;;;;10828:12;:31;;;;10844:7;:15;10852:6;10844:15;;;;;;;;;;;;;;;;;;;;;;;;;10828:31;:53;;;;10863:7;:18;10871:9;10863:18;;;;;;;;;;;;;;;;;;;;;;;;;10828:53;10823:290;;;10898:1;10886:13;;10823:290;;;10916:10;:18;10927:6;10916:18;;;;;;;;;;;;;;;;;;;;;;;;;10911:202;;;10974:3;10960:11;;;;;;;;;;;10951:20;;:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;10939:38;;10911:202;;;10994:10;:21;11005:9;10994:21;;;;;;;;;;;;;;;;;;;;;;;;;10989:124;;;11056:3;11041:12;;;;;;;;;;;11032:21;;:6;:21;;;;:::i;:::-;:27;;;;:::i;:::-;11020:39;;10989:124;;;11107:3;11094:10;;;;;;;;;;;11085:19;;:6;:19;;;;:::i;:::-;:25;;;;:::i;:::-;11073:37;;10989:124;10911:202;10823:290;11124:9;11117:16;;;10690:448;;;;;:::o;13680:281::-;13770:1;13761:6;:10;13756:201;;;13834:6;13807:9;:24;13825:4;13807:24;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;13780:9;:24;13798:4;13780:24;;;;;;;;;;;;;;;:60;;;;13892:6;13869:9;:20;13879:9;13869:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;13846:9;:20;13856:9;13846:20;;;;;;;;;;;;;;;:52;;;;13933:9;13909:42;;13926:4;13909:42;;;13944:6;13909:42;;;;;;:::i;:::-;;;;;;;;13756:201;13680:281;;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:86::-;3529:7;3569:4;3562:5;3558:16;3547:27;;3494:86;;;:::o;3586:118::-;3657:22;3673:5;3657:22;:::i;:::-;3650:5;3647:33;3637:61;;3694:1;3691;3684:12;3637:61;3586:118;:::o;3710:135::-;3754:5;3792:6;3779:20;3770:29;;3808:31;3833:5;3808:31;:::i;:::-;3710:135;;;;:::o;3851:607::-;3922:6;3930;3938;3987:2;3975:9;3966:7;3962:23;3958:32;3955:119;;;3993:79;;:::i;:::-;3955:119;4113:1;4138:51;4181:7;4172:6;4161:9;4157:22;4138:51;:::i;:::-;4128:61;;4084:115;4238:2;4264:51;4307:7;4298:6;4287:9;4283:22;4264:51;:::i;:::-;4254:61;;4209:116;4364:2;4390:51;4433:7;4424:6;4413:9;4409:22;4390:51;:::i;:::-;4380:61;;4335:116;3851:607;;;;;:::o;4464:118::-;4551:24;4569:5;4551:24;:::i;:::-;4546:3;4539:37;4464:118;;:::o;4588:222::-;4681:4;4719:2;4708:9;4704:18;4696:26;;4732:71;4800:1;4789:9;4785:17;4776:6;4732:71;:::i;:::-;4588:222;;;;:::o;4816:619::-;4893:6;4901;4909;4958:2;4946:9;4937:7;4933:23;4929:32;4926:119;;;4964:79;;:::i;:::-;4926:119;5084:1;5109:53;5154:7;5145:6;5134:9;5130:22;5109:53;:::i;:::-;5099:63;;5055:117;5211:2;5237:53;5282:7;5273:6;5262:9;5258:22;5237:53;:::i;:::-;5227:63;;5182:118;5339:2;5365:53;5410:7;5401:6;5390:9;5386:22;5365:53;:::i;:::-;5355:63;;5310:118;4816:619;;;;;:::o;5441:112::-;5524:22;5540:5;5524:22;:::i;:::-;5519:3;5512:35;5441:112;;:::o;5559:214::-;5648:4;5686:2;5675:9;5671:18;5663:26;;5699:67;5763:1;5752:9;5748:17;5739:6;5699:67;:::i;:::-;5559:214;;;;:::o;5779:329::-;5838:6;5887:2;5875:9;5866:7;5862:23;5858:32;5855:119;;;5893:79;;:::i;:::-;5855:119;6013:1;6038:53;6083:7;6074:6;6063:9;6059:22;6038:53;:::i;:::-;6028:63;;5984:117;5779:329;;;;:::o;6114:::-;6173:6;6222:2;6210:9;6201:7;6197:23;6193:32;6190:119;;;6228:79;;:::i;:::-;6190:119;6348:1;6373:53;6418:7;6409:6;6398:9;6394:22;6373:53;:::i;:::-;6363:63;;6319:117;6114:329;;;;:::o;6449:116::-;6519:21;6534:5;6519:21;:::i;:::-;6512:5;6509:32;6499:60;;6555:1;6552;6545:12;6499:60;6449:116;:::o;6571:133::-;6614:5;6652:6;6639:20;6630:29;;6668:30;6692:5;6668:30;:::i;:::-;6571:133;;;;:::o;6710:468::-;6775:6;6783;6832:2;6820:9;6811:7;6807:23;6803:32;6800:119;;;6838:79;;:::i;:::-;6800:119;6958:1;6983:53;7028:7;7019:6;7008:9;7004:22;6983:53;:::i;:::-;6973:63;;6929:117;7085:2;7111:50;7153:7;7144:6;7133:9;7129:22;7111:50;:::i;:::-;7101:60;;7056:115;6710:468;;;;;:::o;7184:474::-;7252:6;7260;7309:2;7297:9;7288:7;7284:23;7280:32;7277:119;;;7315:79;;:::i;:::-;7277:119;7435:1;7460:53;7505:7;7496:6;7485:9;7481:22;7460:53;:::i;:::-;7450:63;;7406:117;7562:2;7588:53;7633:7;7624:6;7613:9;7609:22;7588:53;:::i;:::-;7578:63;;7533:118;7184:474;;;;;:::o;7664:118::-;7751:24;7769:5;7751:24;:::i;:::-;7746:3;7739:37;7664:118;;:::o;7788:222::-;7881:4;7919:2;7908:9;7904:18;7896:26;;7932:71;8000:1;7989:9;7985:17;7976:6;7932:71;:::i;:::-;7788:222;;;;:::o;8016:89::-;8052:7;8092:6;8085:5;8081:18;8070:29;;8016:89;;;:::o;8111:115::-;8196:23;8213:5;8196:23;:::i;:::-;8191:3;8184:36;8111:115;;:::o;8232:218::-;8323:4;8361:2;8350:9;8346:18;8338:26;;8374:69;8440:1;8429:9;8425:17;8416:6;8374:69;:::i;:::-;8232:218;;;;:::o;8456:120::-;8528:23;8545:5;8528:23;:::i;:::-;8521:5;8518:34;8508:62;;8566:1;8563;8556:12;8508:62;8456:120;:::o;8582:137::-;8627:5;8665:6;8652:20;8643:29;;8681:32;8707:5;8681:32;:::i;:::-;8582:137;;;;:::o;8725:470::-;8791:6;8799;8848:2;8836:9;8827:7;8823:23;8819:32;8816:119;;;8854:79;;:::i;:::-;8816:119;8974:1;8999:52;9043:7;9034:6;9023:9;9019:22;8999:52;:::i;:::-;8989:62;;8945:116;9100:2;9126:52;9170:7;9161:6;9150:9;9146:22;9126:52;:::i;:::-;9116:62;;9071:117;8725:470;;;;;:::o;9201:93::-;9237:7;9277:10;9270:5;9266:22;9255:33;;9201:93;;;:::o;9300:120::-;9372:23;9389:5;9372:23;:::i;:::-;9365:5;9362:34;9352:62;;9410:1;9407;9400:12;9352:62;9300:120;:::o;9426:137::-;9471:5;9509:6;9496:20;9487:29;;9525:32;9551:5;9525:32;:::i;:::-;9426:137;;;;:::o;9569:757::-;9651:6;9659;9667;9675;9724:3;9712:9;9703:7;9699:23;9695:33;9692:120;;;9731:79;;:::i;:::-;9692:120;9851:1;9876:52;9920:7;9911:6;9900:9;9896:22;9876:52;:::i;:::-;9866:62;;9822:116;9977:2;10003:52;10047:7;10038:6;10027:9;10023:22;10003:52;:::i;:::-;9993:62;;9948:117;10104:2;10130:52;10174:7;10165:6;10154:9;10150:22;10130:52;:::i;:::-;10120:62;;10075:117;10231:2;10257:52;10301:7;10292:6;10281:9;10277:22;10257:52;:::i;:::-;10247:62;;10202:117;9569:757;;;;;;;:::o;10332:104::-;10377:7;10406:24;10424:5;10406:24;:::i;:::-;10395:35;;10332:104;;;:::o;10442:138::-;10523:32;10549:5;10523:32;:::i;:::-;10516:5;10513:43;10503:71;;10570:1;10567;10560:12;10503:71;10442:138;:::o;10586:155::-;10640:5;10678:6;10665:20;10656:29;;10694:41;10729:5;10694:41;:::i;:::-;10586:155;;;;:::o;10747:345::-;10814:6;10863:2;10851:9;10842:7;10838:23;10834:32;10831:119;;;10869:79;;:::i;:::-;10831:119;10989:1;11014:61;11067:7;11058:6;11047:9;11043:22;11014:61;:::i;:::-;11004:71;;10960:125;10747:345;;;;:::o;11098:757::-;11180:6;11188;11196;11204;11253:3;11241:9;11232:7;11228:23;11224:33;11221:120;;;11260:79;;:::i;:::-;11221:120;11380:1;11405:52;11449:7;11440:6;11429:9;11425:22;11405:52;:::i;:::-;11395:62;;11351:116;11506:2;11532:52;11576:7;11567:6;11556:9;11552:22;11532:52;:::i;:::-;11522:62;;11477:117;11633:2;11659:52;11703:7;11694:6;11683:9;11679:22;11659:52;:::i;:::-;11649:62;;11604:117;11760:2;11786:52;11830:7;11821:6;11810:9;11806:22;11786:52;:::i;:::-;11776:62;;11731:117;11098:757;;;;;;;:::o;11861:180::-;11909:77;11906:1;11899:88;12006:4;12003:1;11996:15;12030:4;12027:1;12020:15;12047:320;12091:6;12128:1;12122:4;12118:12;12108:22;;12175:1;12169:4;12165:12;12196:18;12186:81;;12252:4;12244:6;12240:17;12230:27;;12186:81;12314:2;12306:6;12303:14;12283:18;12280:38;12277:84;;;12333:18;;:::i;:::-;12277:84;12098:269;12047:320;;;:::o;12373:229::-;12513:34;12509:1;12501:6;12497:14;12490:58;12582:12;12577:2;12569:6;12565:15;12558:37;12373:229;:::o;12608:366::-;12750:3;12771:67;12835:2;12830:3;12771:67;:::i;:::-;12764:74;;12847:93;12936:3;12847:93;:::i;:::-;12965:2;12960:3;12956:12;12949:19;;12608:366;;;:::o;12980:419::-;13146:4;13184:2;13173:9;13169:18;13161:26;;13233:9;13227:4;13223:20;13219:1;13208:9;13204:17;13197:47;13261:131;13387:4;13261:131;:::i;:::-;13253:139;;12980:419;;;:::o;13405:162::-;13545:14;13541:1;13533:6;13529:14;13522:38;13405:162;:::o;13573:366::-;13715:3;13736:67;13800:2;13795:3;13736:67;:::i;:::-;13729:74;;13812:93;13901:3;13812:93;:::i;:::-;13930:2;13925:3;13921:12;13914:19;;13573:366;;;:::o;13945:419::-;14111:4;14149:2;14138:9;14134:18;14126:26;;14198:9;14192:4;14188:20;14184:1;14173:9;14169:17;14162:47;14226:131;14352:4;14226:131;:::i;:::-;14218:139;;13945:419;;;:::o;14370:180::-;14418:77;14415:1;14408:88;14515:4;14512:1;14505:15;14539:4;14536:1;14529:15;14556:102;14598:8;14645:5;14642:1;14638:13;14617:34;;14556:102;;;:::o;14664:848::-;14725:5;14732:4;14756:6;14747:15;;14780:5;14771:14;;14794:712;14815:1;14805:8;14802:15;14794:712;;;14910:4;14905:3;14901:14;14895:4;14892:24;14889:50;;;14919:18;;:::i;:::-;14889:50;14969:1;14959:8;14955:16;14952:451;;;15384:4;15377:5;15373:16;15364:25;;14952:451;15434:4;15428;15424:15;15416:23;;15464:32;15487:8;15464:32;:::i;:::-;15452:44;;14794:712;;;14664:848;;;;;;;:::o;15518:1073::-;15572:5;15763:8;15753:40;;15784:1;15775:10;;15786:5;;15753:40;15812:4;15802:36;;15829:1;15820:10;;15831:5;;15802:36;15898:4;15946:1;15941:27;;;;15982:1;15977:191;;;;15891:277;;15941:27;15959:1;15950:10;;15961:5;;;15977:191;16022:3;16012:8;16009:17;16006:43;;;16029:18;;:::i;:::-;16006:43;16078:8;16075:1;16071:16;16062:25;;16113:3;16106:5;16103:14;16100:40;;;16120:18;;:::i;:::-;16100:40;16153:5;;;15891:277;;16277:2;16267:8;16264:16;16258:3;16252:4;16249:13;16245:36;16227:2;16217:8;16214:16;16209:2;16203:4;16200:12;16196:35;16180:111;16177:246;;;16333:8;16327:4;16323:19;16314:28;;16368:3;16361:5;16358:14;16355:40;;;16375:18;;:::i;:::-;16355:40;16408:5;;16177:246;16448:42;16486:3;16476:8;16470:4;16467:1;16448:42;:::i;:::-;16433:57;;;;16522:4;16517:3;16513:14;16506:5;16503:25;16500:51;;;16531:18;;:::i;:::-;16500:51;16580:4;16573:5;16569:16;16560:25;;15518:1073;;;;;;:::o;16597:281::-;16655:5;16679:23;16697:4;16679:23;:::i;:::-;16671:31;;16723:25;16739:8;16723:25;:::i;:::-;16711:37;;16767:104;16804:66;16794:8;16788:4;16767:104;:::i;:::-;16758:113;;16597:281;;;;:::o;16884:348::-;16924:7;16947:20;16965:1;16947:20;:::i;:::-;16942:25;;16981:20;16999:1;16981:20;:::i;:::-;16976:25;;17169:1;17101:66;17097:74;17094:1;17091:81;17086:1;17079:9;17072:17;17068:105;17065:131;;;17176:18;;:::i;:::-;17065:131;17224:1;17221;17217:9;17206:20;;16884:348;;;;:::o;17238:166::-;17378:18;17374:1;17366:6;17362:14;17355:42;17238:166;:::o;17410:366::-;17552:3;17573:67;17637:2;17632:3;17573:67;:::i;:::-;17566:74;;17649:93;17738:3;17649:93;:::i;:::-;17767:2;17762:3;17758:12;17751:19;;17410:366;;;:::o;17782:419::-;17948:4;17986:2;17975:9;17971:18;17963:26;;18035:9;18029:4;18025:20;18021:1;18010:9;18006:17;17999:47;18063:131;18189:4;18063:131;:::i;:::-;18055:139;;17782:419;;;:::o;18207:191::-;18247:4;18267:20;18285:1;18267:20;:::i;:::-;18262:25;;18301:20;18319:1;18301:20;:::i;:::-;18296:25;;18340:1;18337;18334:8;18331:34;;;18345:18;;:::i;:::-;18331:34;18390:1;18387;18383:9;18375:17;;18207:191;;;;:::o;18404:170::-;18544:22;18540:1;18532:6;18528:14;18521:46;18404:170;:::o;18580:366::-;18722:3;18743:67;18807:2;18802:3;18743:67;:::i;:::-;18736:74;;18819:93;18908:3;18819:93;:::i;:::-;18937:2;18932:3;18928:12;18921:19;;18580:366;;;:::o;18952:419::-;19118:4;19156:2;19145:9;19141:18;19133:26;;19205:9;19199:4;19195:20;19191:1;19180:9;19176:17;19169:47;19233:131;19359:4;19233:131;:::i;:::-;19225:139;;18952:419;;;:::o;19377:165::-;19517:17;19513:1;19505:6;19501:14;19494:41;19377:165;:::o;19548:366::-;19690:3;19711:67;19775:2;19770:3;19711:67;:::i;:::-;19704:74;;19787:93;19876:3;19787:93;:::i;:::-;19905:2;19900:3;19896:12;19889:19;;19548:366;;;:::o;19920:419::-;20086:4;20124:2;20113:9;20109:18;20101:26;;20173:9;20167:4;20163:20;20159:1;20148:9;20144:17;20137:47;20201:131;20327:4;20201:131;:::i;:::-;20193:139;;19920:419;;;:::o;20345:164::-;20485:16;20481:1;20473:6;20469:14;20462:40;20345:164;:::o;20515:366::-;20657:3;20678:67;20742:2;20737:3;20678:67;:::i;:::-;20671:74;;20754:93;20843:3;20754:93;:::i;:::-;20872:2;20867:3;20863:12;20856:19;;20515:366;;;:::o;20887:419::-;21053:4;21091:2;21080:9;21076:18;21068:26;;21140:9;21134:4;21130:20;21126:1;21115:9;21111:17;21104:47;21168:131;21294:4;21168:131;:::i;:::-;21160:139;;20887:419;;;:::o;21312:159::-;21452:11;21448:1;21440:6;21436:14;21429:35;21312:159;:::o;21477:365::-;21619:3;21640:66;21704:1;21699:3;21640:66;:::i;:::-;21633:73;;21715:93;21804:3;21715:93;:::i;:::-;21833:2;21828:3;21824:12;21817:19;;21477:365;;;:::o;21848:419::-;22014:4;22052:2;22041:9;22037:18;22029:26;;22101:9;22095:4;22091:20;22087:1;22076:9;22072:17;22065:47;22129:131;22255:4;22129:131;:::i;:::-;22121:139;;21848:419;;;:::o;22273:143::-;22330:5;22361:6;22355:13;22346:22;;22377:33;22404:5;22377:33;:::i;:::-;22273:143;;;;:::o;22422:351::-;22492:6;22541:2;22529:9;22520:7;22516:23;22512:32;22509:119;;;22547:79;;:::i;:::-;22509:119;22667:1;22692:64;22748:7;22739:6;22728:9;22724:22;22692:64;:::i;:::-;22682:74;;22638:128;22422:351;;;;:::o;22779:332::-;22900:4;22938:2;22927:9;22923:18;22915:26;;22951:71;23019:1;23008:9;23004:17;22995:6;22951:71;:::i;:::-;23032:72;23100:2;23089:9;23085:18;23076:6;23032:72;:::i;:::-;22779:332;;;;;:::o;23117:171::-;23257:23;23253:1;23245:6;23241:14;23234:47;23117:171;:::o;23294:366::-;23436:3;23457:67;23521:2;23516:3;23457:67;:::i;:::-;23450:74;;23533:93;23622:3;23533:93;:::i;:::-;23651:2;23646:3;23642:12;23635:19;;23294:366;;;:::o;23666:419::-;23832:4;23870:2;23859:9;23855:18;23847:26;;23919:9;23913:4;23909:20;23905:1;23894:9;23890:17;23883:47;23947:131;24073:4;23947:131;:::i;:::-;23939:139;;23666:419;;;:::o;24091:305::-;24131:3;24150:20;24168:1;24150:20;:::i;:::-;24145:25;;24184:20;24202:1;24184:20;:::i;:::-;24179:25;;24338:1;24270:66;24266:74;24263:1;24260:81;24257:107;;;24344:18;;:::i;:::-;24257:107;24388:1;24385;24381:9;24374:16;;24091:305;;;;:::o;24402:179::-;24542:31;24538:1;24530:6;24526:14;24519:55;24402:179;:::o;24587:366::-;24729:3;24750:67;24814:2;24809:3;24750:67;:::i;:::-;24743:74;;24826:93;24915:3;24826:93;:::i;:::-;24944:2;24939:3;24935:12;24928:19;;24587:366;;;:::o;24959:419::-;25125:4;25163:2;25152:9;25148:18;25140:26;;25212:9;25206:4;25202:20;25198:1;25187:9;25183:17;25176:47;25240:131;25366:4;25240:131;:::i;:::-;25232:139;;24959:419;;;:::o;25384:180::-;25432:77;25429:1;25422:88;25529:4;25526:1;25519:15;25553:4;25550:1;25543:15;25570:185;25610:1;25627:20;25645:1;25627:20;:::i;:::-;25622:25;;25661:20;25679:1;25661:20;:::i;:::-;25656:25;;25700:1;25690:35;;25705:18;;:::i;:::-;25690:35;25747:1;25744;25740:9;25735:14;;25570:185;;;;:::o;25761:166::-;25901:18;25897:1;25889:6;25885:14;25878:42;25761:166;:::o;25933:366::-;26075:3;26096:67;26160:2;26155:3;26096:67;:::i;:::-;26089:74;;26172:93;26261:3;26172:93;:::i;:::-;26290:2;26285:3;26281:12;26274:19;;25933:366;;;:::o;26305:419::-;26471:4;26509:2;26498:9;26494:18;26486:26;;26558:9;26552:4;26548:20;26544:1;26533:9;26529:17;26522:47;26586:131;26712:4;26586:131;:::i;:::-;26578:139;;26305:419;;;:::o;26730:170::-;26870:22;26866:1;26858:6;26854:14;26847:46;26730:170;:::o;26906:366::-;27048:3;27069:67;27133:2;27128:3;27069:67;:::i;:::-;27062:74;;27145:93;27234:3;27145:93;:::i;:::-;27263:2;27258:3;27254:12;27247:19;;26906:366;;;:::o;27278:419::-;27444:4;27482:2;27471:9;27467:18;27459:26;;27531:9;27525:4;27521:20;27517:1;27506:9;27502:17;27495:47;27559:131;27685:4;27559:131;:::i;:::-;27551:139;;27278:419;;;:::o;27703:159::-;27843:11;27839:1;27831:6;27827:14;27820:35;27703:159;:::o;27868:365::-;28010:3;28031:66;28095:1;28090:3;28031:66;:::i;:::-;28024:73;;28106:93;28195:3;28106:93;:::i;:::-;28224:2;28219:3;28215:12;28208:19;;27868:365;;;:::o;28239:419::-;28405:4;28443:2;28432:9;28428:18;28420:26;;28492:9;28486:4;28482:20;28478:1;28467:9;28463:17;28456:47;28520:131;28646:4;28520:131;:::i;:::-;28512:139;;28239:419;;;:::o;28664:161::-;28804:13;28800:1;28792:6;28788:14;28781:37;28664:161;:::o;28831:366::-;28973:3;28994:67;29058:2;29053:3;28994:67;:::i;:::-;28987:74;;29070:93;29159:3;29070:93;:::i;:::-;29188:2;29183:3;29179:12;29172:19;;28831:366;;;:::o;29203:419::-;29369:4;29407:2;29396:9;29392:18;29384:26;;29456:9;29450:4;29446:20;29442:1;29431:9;29427:17;29420:47;29484:131;29610:4;29484:131;:::i;:::-;29476:139;;29203:419;;;:::o;29628:163::-;29768:15;29764:1;29756:6;29752:14;29745:39;29628:163;:::o;29797:366::-;29939:3;29960:67;30024:2;30019:3;29960:67;:::i;:::-;29953:74;;30036:93;30125:3;30036:93;:::i;:::-;30154:2;30149:3;30145:12;30138:19;;29797:366;;;:::o;30169:419::-;30335:4;30373:2;30362:9;30358:18;30350:26;;30422:9;30416:4;30412:20;30408:1;30397:9;30393:17;30386:47;30450:131;30576:4;30450:131;:::i;:::-;30442:139;;30169:419;;;:::o;30594:280::-;30632:7;30655:18;30671:1;30655:18;:::i;:::-;30650:23;;30687:18;30703:1;30687:18;:::i;:::-;30682:23;;30811:1;30805:4;30801:12;30798:1;30795:19;30790:1;30783:9;30776:17;30772:43;30769:69;;;30818:18;;:::i;:::-;30769:69;30866:1;30863;30859:9;30848:20;;30594:280;;;;:::o;30880:60::-;30908:3;30929:5;30922:12;;30880:60;;;:::o;30946:142::-;30996:9;31029:53;31047:34;31056:24;31074:5;31056:24;:::i;:::-;31047:34;:::i;:::-;31029:53;:::i;:::-;31016:66;;30946:142;;;:::o;31094:126::-;31144:9;31177:37;31208:5;31177:37;:::i;:::-;31164:50;;31094:126;;;:::o;31226:134::-;31284:9;31317:37;31348:5;31317:37;:::i;:::-;31304:50;;31226:134;;;:::o;31366:147::-;31461:45;31500:5;31461:45;:::i;:::-;31456:3;31449:58;31366:147;;:::o;31519:238::-;31620:4;31658:2;31647:9;31643:18;31635:26;;31671:79;31747:1;31736:9;31732:17;31723:6;31671:79;:::i;:::-;31519:238;;;;:::o;31763:242::-;31802:3;31821:19;31838:1;31821:19;:::i;:::-;31816:24;;31854:19;31871:1;31854:19;:::i;:::-;31849:24;;31947:1;31939:6;31935:14;31932:1;31929:21;31926:47;;;31953:18;;:::i;:::-;31926:47;31997:1;31994;31990:9;31983:16;;31763:242;;;;:::o;32011:179::-;32151:31;32147:1;32139:6;32135:14;32128:55;32011:179;:::o;32196:366::-;32338:3;32359:67;32423:2;32418:3;32359:67;:::i;:::-;32352:74;;32435:93;32524:3;32435:93;:::i;:::-;32553:2;32548:3;32544:12;32537:19;;32196:366;;;:::o;32568:419::-;32734:4;32772:2;32761:9;32757:18;32749:26;;32821:9;32815:4;32811:20;32807:1;32796:9;32792:17;32785:47;32849:131;32975:4;32849:131;:::i;:::-;32841:139;;32568:419;;;:::o;32993:176::-;33025:1;33042:20;33060:1;33042:20;:::i;:::-;33037:25;;33076:20;33094:1;33076:20;:::i;:::-;33071:25;;33115:1;33105:35;;33120:18;;:::i;:::-;33105:35;33161:1;33158;33154:9;33149:14;;32993:176;;;;:::o;33175:170::-;33315:22;33311:1;33303:6;33299:14;33292:46;33175:170;:::o;33351:366::-;33493:3;33514:67;33578:2;33573:3;33514:67;:::i;:::-;33507:74;;33590:93;33679:3;33590:93;:::i;:::-;33708:2;33703:3;33699:12;33692:19;;33351:366;;;:::o;33723:419::-;33889:4;33927:2;33916:9;33912:18;33904:26;;33976:9;33970:4;33966:20;33962:1;33951:9;33947:17;33940:47;34004:131;34130:4;34004:131;:::i;:::-;33996:139;;33723:419;;;:::o;34148:161::-;34288:13;34284:1;34276:6;34272:14;34265:37;34148:161;:::o;34315:366::-;34457:3;34478:67;34542:2;34537:3;34478:67;:::i;:::-;34471:74;;34554:93;34643:3;34554:93;:::i;:::-;34672:2;34667:3;34663:12;34656:19;;34315:366;;;:::o;34687:419::-;34853:4;34891:2;34880:9;34876:18;34868:26;;34940:9;34934:4;34930:20;34926:1;34915:9;34911:17;34904:47;34968:131;35094:4;34968:131;:::i;:::-;34960:139;;34687:419;;;:::o;35112:167::-;35252:19;35248:1;35240:6;35236:14;35229:43;35112:167;:::o;35285:366::-;35427:3;35448:67;35512:2;35507:3;35448:67;:::i;:::-;35441:74;;35524:93;35613:3;35524:93;:::i;:::-;35642:2;35637:3;35633:12;35626:19;;35285:366;;;:::o;35657:419::-;35823:4;35861:2;35850:9;35846:18;35838:26;;35910:9;35904:4;35900:20;35896:1;35885:9;35881:17;35874:47;35938:131;36064:4;35938:131;:::i;:::-;35930:139;;35657:419;;;:::o;36082:85::-;36127:7;36156:5;36145:16;;36082:85;;;:::o;36173:158::-;36231:9;36264:61;36282:42;36291:32;36317:5;36291:32;:::i;:::-;36282:42;:::i;:::-;36264:61;:::i;:::-;36251:74;;36173:158;;;:::o;36337:147::-;36432:45;36471:5;36432:45;:::i;:::-;36427:3;36420:58;36337:147;;:::o;36490:807::-;36739:4;36777:3;36766:9;36762:19;36754:27;;36791:71;36859:1;36848:9;36844:17;36835:6;36791:71;:::i;:::-;36872:72;36940:2;36929:9;36925:18;36916:6;36872:72;:::i;:::-;36954:80;37030:2;37019:9;37015:18;37006:6;36954:80;:::i;:::-;37044;37120:2;37109:9;37105:18;37096:6;37044:80;:::i;:::-;37134:73;37202:3;37191:9;37187:19;37178:6;37134:73;:::i;:::-;37217;37285:3;37274:9;37270:19;37261:6;37217:73;:::i;:::-;36490:807;;;;;;;;;:::o;37303:143::-;37360:5;37391:6;37385:13;37376:22;;37407:33;37434:5;37407:33;:::i;:::-;37303:143;;;;:::o;37452:663::-;37540:6;37548;37556;37605:2;37593:9;37584:7;37580:23;37576:32;37573:119;;;37611:79;;:::i;:::-;37573:119;37731:1;37756:64;37812:7;37803:6;37792:9;37788:22;37756:64;:::i;:::-;37746:74;;37702:128;37869:2;37895:64;37951:7;37942:6;37931:9;37927:22;37895:64;:::i;:::-;37885:74;;37840:129;38008:2;38034:64;38090:7;38081:6;38070:9;38066:22;38034:64;:::i;:::-;38024:74;;37979:129;37452:663;;;;;:::o;38121:180::-;38169:77;38166:1;38159:88;38266:4;38263:1;38256:15;38290:4;38287:1;38280:15;38307:180;38355:77;38352:1;38345:88;38452:4;38449:1;38442:15;38476:4;38473:1;38466:15;38493:114;38560:6;38594:5;38588:12;38578:22;;38493:114;;;:::o;38613:184::-;38712:11;38746:6;38741:3;38734:19;38786:4;38781:3;38777:14;38762:29;;38613:184;;;;:::o;38803:132::-;38870:4;38893:3;38885:11;;38923:4;38918:3;38914:14;38906:22;;38803:132;;;:::o;38941:108::-;39018:24;39036:5;39018:24;:::i;:::-;39013:3;39006:37;38941:108;;:::o;39055:179::-;39124:10;39145:46;39187:3;39179:6;39145:46;:::i;:::-;39223:4;39218:3;39214:14;39200:28;;39055:179;;;;:::o;39240:113::-;39310:4;39342;39337:3;39333:14;39325:22;;39240:113;;;:::o;39389:732::-;39508:3;39537:54;39585:5;39537:54;:::i;:::-;39607:86;39686:6;39681:3;39607:86;:::i;:::-;39600:93;;39717:56;39767:5;39717:56;:::i;:::-;39796:7;39827:1;39812:284;39837:6;39834:1;39831:13;39812:284;;;39913:6;39907:13;39940:63;39999:3;39984:13;39940:63;:::i;:::-;39933:70;;40026:60;40079:6;40026:60;:::i;:::-;40016:70;;39872:224;39859:1;39856;39852:9;39847:14;;39812:284;;;39816:14;40112:3;40105:10;;39513:608;;;39389:732;;;;:::o;40127:831::-;40390:4;40428:3;40417:9;40413:19;40405:27;;40442:71;40510:1;40499:9;40495:17;40486:6;40442:71;:::i;:::-;40523:80;40599:2;40588:9;40584:18;40575:6;40523:80;:::i;:::-;40650:9;40644:4;40640:20;40635:2;40624:9;40620:18;40613:48;40678:108;40781:4;40772:6;40678:108;:::i;:::-;40670:116;;40796:72;40864:2;40853:9;40849:18;40840:6;40796:72;:::i;:::-;40878:73;40946:3;40935:9;40931:19;40922:6;40878:73;:::i;:::-;40127:831;;;;;;;;:::o;40964:171::-;41002:3;41025:23;41042:5;41025:23;:::i;:::-;41016:32;;41070:6;41063:5;41060:17;41057:43;;;41080:18;;:::i;:::-;41057:43;41127:1;41120:5;41116:13;41109:20;;40964:171;;;:::o

Swarm Source

ipfs://fbaa57aea6ff65a4bb41d94340108968386429e3ce4d0d2143ff2dee9a08e81a
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.