ERC-20
Overview
Max Total Supply
1,000,000 DASH
Holders
35
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.456327293077359633 DASHValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
cyberdash
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-07 */ /** Telegram: https://t.me/CyberDashERC Twitter : https://twitter.com/cyberdasherc */ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.7; 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 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; } } interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Auth { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function transferOwnership(address payable adr) public onlyOwner { owner = adr; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface InterfaceLP { function sync() external; } contract cyberdash is ERC20, Auth { using SafeMath for uint256; //events event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event SetMaxWalletExempt(address _address, bool _bool); event SellFeesChanged(uint256 _liquidityFee, uint256 _MarketingFee,uint256 _opsFee, uint256 _devFee, uint256 _BurnFee); event BuyFeesChanged(uint256 _liquidityFee, uint256 _MarketingFee,uint256 _opsFee, uint256 _devFee, uint256 _BurnFee); event TransferFeeChanged(uint256 _transferFee); event SetFeeReceivers(address _liquidityReceiver, address _MarketingReceiver,address _operationsFeeReceiver, address _devFeeReceiver, address _BurnFeeReceiver); event ChangedSwapBack(bool _enabled, uint256 _amount); event SetFeeExempt(address _addr, bool _value); event InitialDistributionFinished(bool _value); event Fupdated(uint256 _timeF); event ChangedMaxWallet(uint256 _maxWalletDenom); event ChangedMaxTX(uint256 _maxSellDenom); event BotUpdated(address[] addresses, bool status); event SingleBotUpdated(address _address, bool status); event SetTxLimitExempt(address holder, bool exempt); event ChangedPrivateRestrictions(uint256 _maxSellAmount, bool _restricted, uint256 _interval); event ChangeMaxPrivateSell(uint256 amount); event ManagePrivate(address[] addresses, bool status); address private WETH; address private DEAD = 0x000000000000000000000000000000000000dEaD; address private ZERO = 0x0000000000000000000000000000000000000000; string constant private _name = "Cyber Dash"; string constant private _symbol = "DASH"; uint8 constant private _decimals = 18; uint256 private _totalSupply = 1_000_000 * 10**_decimals; uint256 public _maxTxAmount = _totalSupply; uint256 public _maxWalletAmount = _totalSupply * 2 / 100; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; address[] public _markerPairs; mapping (address => bool) public automatedMarketMakerPairs; mapping (address => bool) public isBot; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isMaxWalletExempt; //Snipers uint256 private deadblocks = 0; uint256 public launchBlock; uint256 private latestSniperBlock; //buyFees uint256 private liquidityFee = 0; uint256 private MarketingFee = 20; uint256 private opsFee = 0; uint256 private devFee = 0; uint256 private BurnFee = 0; //sellFees uint256 private sellFeeLiquidity = 0; uint256 private sellFeeMarketing = 20; uint256 private sellFeeOps = 0; uint256 private sellFeeDev = 0; uint256 private sellFeeBurn = 0; //transfer fee uint256 private transferFee = 0; uint256 public maxFee = 99; //totalFees uint256 private totalBuyFee = liquidityFee.add(MarketingFee).add(opsFee).add(devFee).add(BurnFee); uint256 private totalSellFee = sellFeeLiquidity.add(sellFeeMarketing).add(sellFeeOps).add(sellFeeDev).add(sellFeeBurn); uint256 private feeDenominator = 100; address private autoLiquidityReceiver = msg.sender ; address private MarketingFeeReceiver =msg.sender; address private operationsFeeReceiver =msg.sender; address private devFeeReceiver =msg.sender; address private BurnFeeReceiver =0x000000000000000000000000000000000000dEaD ; IDEXRouter public router; address public pair; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply * 100 / 10000; bool private inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Auth(msg.sender) { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); setAutomatedMarketMakerPair(pair, true); _allowances[address(this)][address(router)] = type(uint256).max; isFeeExempt[msg.sender] = true; isTxLimitExempt[msg.sender] = true; isMaxWalletExempt[msg.sender] = true; isFeeExempt[address(this)] = true; isTxLimitExempt[address(this)] = true; isMaxWalletExempt[address(this)] = true; isMaxWalletExempt[pair] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { require(!isBot[sender] && !isBot[recipient],"is Bot"); if(inSwap){ return _basicTransfer(sender, recipient, amount); } if(shouldSwapBack()){ swapBack(); } uint256 amountReceived = amount; if(automatedMarketMakerPairs[sender]) { if(!isFeeExempt[recipient]) { require(_balances[recipient].add(amount) <= _maxWalletAmount || isMaxWalletExempt[recipient], "Max Wallet Limit Limit Exceeded"); require(amount <= _maxTxAmount || isTxLimitExempt[recipient], "TX Limit Exceeded"); amountReceived = takeBuyFee(sender, recipient, amount); } } else if(automatedMarketMakerPairs[recipient]) { if(!isFeeExempt[sender]) { require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); amountReceived = takeSellFee(sender, amount); } } else { if (!isFeeExempt[sender]) { require(_balances[recipient].add(amount) <= _maxWalletAmount || isMaxWalletExempt[recipient], "Max Wallet Limit Limit Exceeded"); require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); amountReceived = takeTransferFee(sender, amount); } } _balances[sender] = _balances[sender].sub(amount); _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } // Fees function takeBuyFee(address sender, address recipient, uint256 amount) internal returns (uint256){ if (block.number < latestSniperBlock) { if (recipient != pair && recipient != address(router)) { isBot[recipient] = true; } } uint256 feeAmount = amount.mul(totalBuyFee.sub(BurnFee)).div(feeDenominator); uint256 BurnFeeAmount = amount.mul(BurnFee).div(feeDenominator); uint256 totalFeeAmount = feeAmount.add(BurnFeeAmount); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); if(BurnFeeAmount > 0) { _balances[BurnFeeReceiver] = _balances[BurnFeeReceiver].add(BurnFeeAmount); emit Transfer(sender, BurnFeeReceiver, BurnFeeAmount); } return amount.sub(totalFeeAmount); } function takeSellFee(address sender, uint256 amount) internal returns (uint256){ uint256 feeAmount = amount.mul(totalSellFee.sub(sellFeeBurn)).div(feeDenominator); uint256 BurnFeeAmount = amount.mul(sellFeeBurn).div(feeDenominator); uint256 totalFeeAmount = feeAmount.add(BurnFeeAmount); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); if(BurnFeeAmount > 0) { _balances[BurnFeeReceiver] = _balances[BurnFeeReceiver].add(BurnFeeAmount); emit Transfer(sender, BurnFeeReceiver, BurnFeeAmount); } return amount.sub(totalFeeAmount); } function takeTransferFee(address sender, uint256 amount) internal returns (uint256){ uint256 _realFee = transferFee; if (block.number < latestSniperBlock) { _realFee = 99; } uint256 feeAmount = amount.mul(_realFee).div(feeDenominator); if (feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return !automatedMarketMakerPairs[msg.sender] && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function clearStuckBalance() external { payable(devFeeReceiver).transfer(address(this).balance); } function rescueERC20(address tokenAddress, uint256 amount) external returns (bool) { return ERC20(tokenAddress).transfer(devFeeReceiver, amount); } function swapBack() internal swapping { uint256 swapLiquidityFee = liquidityFee.add(sellFeeLiquidity); uint256 realTotalFee =totalBuyFee.add(totalSellFee).sub(BurnFee).sub(sellFeeBurn); uint256 contractTokenBalance = swapThreshold; uint256 amountToLiquify = contractTokenBalance.mul(swapLiquidityFee).div(realTotalFee).div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); uint256 balanceBefore = address(this).balance; address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = realTotalFee.sub(swapLiquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(liquidityFee.add(sellFeeLiquidity)).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.mul(MarketingFee.add(sellFeeMarketing)).div(totalETHFee); uint256 amountETHOps = amountETH.mul(opsFee.add(sellFeeOps)).div(totalETHFee); uint256 amountETHDev = amountETH.mul(devFee.add(sellFeeDev)).div(totalETHFee); (bool tmpSuccess,) = payable(MarketingFeeReceiver).call{value: amountETHMarketing}(""); (tmpSuccess,) = payable(operationsFeeReceiver).call{value: amountETHOps}(""); (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHDev}(""); tmpSuccess = false; if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); } } // Admin Functions function setTxLimit(uint256 amount) external onlyOwner { require(amount > _totalSupply.div(10000), "Can't restrict trading"); _maxTxAmount = amount; emit ChangedMaxTX(amount); } function setMaxWallet(uint256 amount) external onlyOwner { require(amount > _totalSupply.div(10000), "Can't restrict trading"); _maxWalletAmount = amount; emit ChangedMaxWallet(amount); } function manage_bot(address[] calldata addresses, bool status) external onlyOwner { require (addresses.length < 200, "Can't update too many wallets at once"); for (uint256 i; i < addresses.length; ++i) { isBot[addresses[i]] = status; } emit BotUpdated(addresses, status); } function setBL(address _address, bool _bool) external onlyOwner { isBot[_address] = _bool; emit SingleBotUpdated(_address, _bool); } function updateF (uint256 _number) external onlyOwner { require(_number < 4000, "Can't go that high"); deadblocks = _number; emit Fupdated(_number); } function setIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; emit SetFeeExempt(holder, exempt); } function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; emit SetTxLimitExempt(holder, exempt); } function setIsMaxWalletExempt(address holder, bool exempt) external onlyOwner { isMaxWalletExempt[holder] = exempt; emit SetMaxWalletExempt(holder, exempt); } function setBuyFees(uint256 _liquidityFee, uint256 _MarketingFee, uint256 _opsFee, uint256 _devFee, uint256 _BurnFee, uint256 _feeDenominator) external onlyOwner { liquidityFee = _liquidityFee; MarketingFee = _MarketingFee; opsFee = _opsFee; devFee = _devFee; BurnFee = _BurnFee; totalBuyFee = _liquidityFee.add(_MarketingFee).add(_opsFee).add(_devFee).add(BurnFee); feeDenominator = _feeDenominator; require(totalBuyFee <= maxFee, "Fees cannot be higher than Maxfee"); emit BuyFeesChanged(_liquidityFee, _MarketingFee,_opsFee, _devFee, _BurnFee); } function setSellFees(uint256 _liquidityFee, uint256 _MarketingFee,uint256 _opsFee, uint256 _devFee, uint256 _BurnFee, uint256 _feeDenominator) external onlyOwner { sellFeeLiquidity = _liquidityFee; sellFeeMarketing = _MarketingFee; sellFeeOps = _opsFee; sellFeeDev = _devFee; sellFeeBurn = _BurnFee; totalSellFee = _liquidityFee.add(_MarketingFee).add(_opsFee).add(_devFee).add(_BurnFee); feeDenominator = _feeDenominator; require(totalSellFee <= maxFee, "Fees cannot be higher than Maxfee%"); emit SellFeesChanged(_liquidityFee, _MarketingFee,_opsFee, _devFee, _BurnFee); } function setTransferFee(uint256 _transferFee) external onlyOwner { require(_transferFee < maxFee, "Fees cannot be higher than Maxfee%"); transferFee = _transferFee; emit TransferFeeChanged(_transferFee); } function setFeeReceivers(address _autoLiquidityReceiver, address _MarketingFeeReceiver,address _operationsFeeReceiver, address _devFeeReceiver, address _BurnFeeReceiver) external onlyOwner { require(_autoLiquidityReceiver != address(0) && _MarketingFeeReceiver != address(0) && _operationsFeeReceiver != address(0) && _devFeeReceiver != address(0) && _BurnFeeReceiver != address(0), "Zero Address validation" ); autoLiquidityReceiver = _autoLiquidityReceiver; MarketingFeeReceiver = _MarketingFeeReceiver; operationsFeeReceiver = _operationsFeeReceiver; devFeeReceiver = _devFeeReceiver; BurnFeeReceiver = _BurnFeeReceiver; emit SetFeeReceivers(_autoLiquidityReceiver, _MarketingFeeReceiver, _operationsFeeReceiver, _devFeeReceiver, _BurnFeeReceiver); } function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner { swapEnabled = _enabled; swapThreshold = _amount; emit ChangedSwapBack(_enabled, _amount); } function setAutomatedMarketMakerPair(address _pair, bool _value) public onlyOwner { require(automatedMarketMakerPairs[_pair] != _value, "Value already set"); automatedMarketMakerPairs[_pair] = _value; if(_value){ _markerPairs.push(_pair); }else{ require(_markerPairs.length > 1, "Required 1 pair"); for (uint256 i = 0; i < _markerPairs.length; i++) { if (_markerPairs[i] == _pair) { _markerPairs[i] = _markerPairs[_markerPairs.length - 1]; _markerPairs.pop(); break; } } } emit SetAutomatedMarketMakerPair(_pair, _value); } function manualSwapback() external onlyOwner { swapBack(); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } }
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":false,"internalType":"address[]","name":"addresses","type":"address[]"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"BotUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_MarketingFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_opsFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_devFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_BurnFee","type":"uint256"}],"name":"BuyFeesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ChangeMaxPrivateSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxSellDenom","type":"uint256"}],"name":"ChangedMaxTX","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxWalletDenom","type":"uint256"}],"name":"ChangedMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxSellAmount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"_restricted","type":"bool"},{"indexed":false,"internalType":"uint256","name":"_interval","type":"uint256"}],"name":"ChangedPrivateRestrictions","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ChangedSwapBack","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_timeF","type":"uint256"}],"name":"Fupdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_value","type":"bool"}],"name":"InitialDistributionFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"addresses","type":"address[]"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"ManagePrivate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_MarketingFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_opsFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_devFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_BurnFee","type":"uint256"}],"name":"SellFeesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_addr","type":"address"},{"indexed":false,"internalType":"bool","name":"_value","type":"bool"}],"name":"SetFeeExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_liquidityReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"_MarketingReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"_operationsFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"_devFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"_BurnFeeReceiver","type":"address"}],"name":"SetFeeReceivers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_bool","type":"bool"}],"name":"SetMaxWalletExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"exempt","type":"bool"}],"name":"SetTxLimitExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"SingleBotUpdated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_transferFee","type":"uint256"}],"name":"TransferFeeChanged","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_markerPairs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMaxWalletExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","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":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_bot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_bool","type":"bool"}],"name":"setBL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_MarketingFee","type":"uint256"},{"internalType":"uint256","name":"_opsFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_BurnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_MarketingFeeReceiver","type":"address"},{"internalType":"address","name":"_operationsFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_BurnFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsMaxWalletExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_MarketingFee","type":"uint256"},{"internalType":"uint256","name":"_opsFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_BurnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_transferFee","type":"uint256"}],"name":"setTransferFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_number","type":"uint256"}],"name":"updateF","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600280546001600160a01b031990811661dead17909155600380549091169055620000326012600a62000886565b6200004190620f424062000952565b600455600454600555606460045460026200005d919062000952565b6200006991906200081a565b6006556000600f55600060125560146013556000601455600060155560006016556000601755601460185560006019556000601a556000601b556000601c556063601d55620000f4601654620000e0601554620000e0601454620000e06013546012546200049a60201b620018681790919060201c565b6200049a60201b620018681790919060201c565b601e556200012a601b54620000e0601a54620000e0601954620000e06018546017546200049a60201b620018681790919060201c565b601f5560646020819055602180546001600160a01b03199081163390811790925560228054821683179055602380548216831790556024805482169092179091556025805490911661dead1790556027805460ff60a01b1916600160a01b179055600454612710916200019e919062000952565b620001aa91906200081a565b602855348015620001ba57600080fd5b5060008054336001600160a01b03199182161790915560268054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c464891600480820192602092909190829003018186803b1580156200022657600080fd5b505afa1580156200023b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002619190620007d4565b600180546001600160a01b0319166001600160a01b039283161790556026546040805163c45a015560e01b81529051919092169163c45a0155916004808301926020929190829003018186803b158015620002bb57600080fd5b505afa158015620002d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f69190620007d4565b6001546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c6539690604401602060405180830381600087803b1580156200034357600080fd5b505af115801562000358573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037e9190620007d4565b602780546001600160a01b0319166001600160a01b03929092169182179055620003aa9060016200050a565b3060008181526008602090815260408083206026546001600160a01b039081168552908352818420600019905533808552600c8085528386208054600160ff199182168117909255600d8088528689208054831684179055600e808952878a2080548416851790559989529287528588208054821683179055918652848720805483168217905596855283862080548216881790556027549092168552828520805490921690951790556004548484526007835281842081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620009ee565b600080620004a98385620007ff565b905083811015620005015760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b90505b92915050565b6000546001600160a01b031633146200054f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401620004f8565b6001600160a01b0382166000908152600a602052604090205460ff1615158115151415620005b45760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b6044820152606401620004f8565b6001600160a01b0382166000908152600a60205260409020805460ff191682158015919091179091556200063357600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319166001600160a01b03841617905562000798565b600954600110620006795760405162461bcd60e51b815260206004820152600f60248201526e2932b8bab4b932b21018903830b4b960891b6044820152606401620004f8565b60005b6009548110156200079657826001600160a01b031660098281548110620006a757620006a7620009d8565b6000918252602090912001546001600160a01b03161415620007815760098054620006d59060019062000974565b81548110620006e857620006e8620009d8565b600091825260209091200154600980546001600160a01b039092169183908110620007175762000717620009d8565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506009805480620007595762000759620009c2565b600082815260209020810160001990810180546001600160a01b031916905501905562000796565b806200078d816200098e565b9150506200067c565b505b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b600060208284031215620007e757600080fd5b81516001600160a01b03811681146200050157600080fd5b60008219821115620008155762000815620009ac565b500190565b6000826200083857634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156200087e578160001904821115620008625762000862620009ac565b808516156200087057918102915b93841c939080029062000842565b509250929050565b60006200089760ff8416836200089e565b9392505050565b600082620008af5750600162000504565b81620008be5750600062000504565b8160018114620008d75760028114620008e25762000902565b600191505062000504565b60ff841115620008f657620008f6620009ac565b50506001821b62000504565b5060208310610133831016604e8410600b841016171562000927575081810a62000504565b6200093383836200083d565b80600019048211156200094a576200094a620009ac565b029392505050565b60008160001904831182151516156200096f576200096f620009ac565b500290565b600082821015620009895762000989620009ac565b500390565b6000600019821415620009a557620009a5620009ac565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b612c9680620009fe6000396000f3fe6080604052600436106102765760003560e01c80636ddd17131161014f578063a9059cbb116100c1578063df20fd491161007a578063df20fd49146107fc578063e1d5584c1461081c578063f2fde38b1461083c578063f74c9f471461085c578063f84ba65d1461087c578063f887ea401461089c57600080fd5b8063a9059cbb14610710578063b62496f514610730578063ba876bb914610760578063c04a78ad14610780578063d00efb2f146107a0578063dd62ed3e146107b657600080fd5b80638cd4426d116101135780638cd4426d146106435780638f02bb5b1461066357806395d89b41146106835780639a7a23d6146106b0578063a8aa1b31146106d0578063a8df7fb0146106f057600080fd5b80636ddd17131461057457806370a08231146105955780637d1db4a5146105cb578063893d20e8146105e15780638b42507f1461061357600080fd5b8063364333f4116101e85780635b895c29116101ac5780635b895c29146104c95780635c85974f146104de5780635d0044ca146104fe578063658d4b7f1461051e5780636c0a24eb1461053e5780636cfcc86e1461055457600080fd5b8063364333f4146104145780633bbac579146104295780633f4218e0146104595780634543403214610489578063571ac8b0146104a957600080fd5b806318160ddd1161023a57806318160ddd1461035d57806318abb6351461037257806323b872dd146103945780632b112e49146103b45780632f54bf6e146103c9578063313ce567146103f857600080fd5b806301f59d16146102825780630445b667146102ab57806306fdde03146102c1578063095ea7b3146102fd5780630bd11f8a1461032d57600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610298601d5481565b6040519081526020015b60405180910390f35b3480156102b757600080fd5b5061029860285481565b3480156102cd57600080fd5b5060408051808201909152600a815269086f2c4cae44088c2e6d60b31b60208201525b6040516102a291906129fd565b34801561030957600080fd5b5061031d61031836600461282d565b6108bc565b60405190151581526020016102a2565b34801561033957600080fd5b5061031d6103483660046126f7565b600e6020526000908152604090205460ff1681565b34801561036957600080fd5b50600454610298565b34801561037e57600080fd5b5061039261038d36600461274d565b610929565b005b3480156103a057600080fd5b5061031d6103af3660046127be565b610ab5565b3480156103c057600080fd5b50610298610b77565b3480156103d557600080fd5b5061031d6103e43660046126f7565b6000546001600160a01b0391821691161490565b34801561040457600080fd5b50604051601281526020016102a2565b34801561042057600080fd5b50610392610bc9565b34801561043557600080fd5b5061031d6104443660046126f7565b600b6020526000908152604090205460ff1681565b34801561046557600080fd5b5061031d6104743660046126f7565b600c6020526000908152604090205460ff1681565b34801561049557600080fd5b506103926104a43660046127ff565b610c05565b3480156104b557600080fd5b5061031d6104c43660046126f7565b610c93565b3480156104d557600080fd5b50610392610ca1565b3480156104ea57600080fd5b506103926104f936600461291a565b610cd5565b34801561050a57600080fd5b5061039261051936600461291a565b610d91565b34801561052a57600080fd5b506103926105393660046127ff565b610e46565b34801561054a57600080fd5b5061029860065481565b34801561056057600080fd5b5061039261056f366004612859565b610ecc565b34801561058057600080fd5b5060275461031d90600160a01b900460ff1681565b3480156105a157600080fd5b506102986105b03660046126f7565b6001600160a01b031660009081526007602052604090205490565b3480156105d757600080fd5b5061029860055481565b3480156105ed57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102a2565b34801561061f57600080fd5b5061031d61062e3660046126f7565b600d6020526000908152604090205460ff1681565b34801561064f57600080fd5b5061031d61065e36600461282d565b611004565b34801561066f57600080fd5b5061039261067e36600461291a565b61108d565b34801561068f57600080fd5b5060408051808201909152600481526308882a6960e31b60208201526102f0565b3480156106bc57600080fd5b506103926106cb3660046127ff565b61110d565b3480156106dc57600080fd5b506027546105fb906001600160a01b031681565b3480156106fc57600080fd5b5061039261070b36600461291a565b6113a2565b34801561071c57600080fd5b5061031d61072b36600461282d565b611447565b34801561073c57600080fd5b5061031d61074b3660046126f7565b600a6020526000908152604090205460ff1681565b34801561076c57600080fd5b5061039261077b366004612961565b611454565b34801561078c57600080fd5b5061039261079b3660046127ff565b611532565b3480156107ac57600080fd5b5061029860105481565b3480156107c257600080fd5b506102986107d1366004612714565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561080857600080fd5b506103926108173660046128fc565b6115b8565b34801561082857600080fd5b506105fb61083736600461291a565b61163a565b34801561084857600080fd5b506103926108573660046126f7565b611664565b34801561086857600080fd5b50610392610877366004612961565b6116dc565b34801561088857600080fd5b506103926108973660046127ff565b6117e2565b3480156108a857600080fd5b506026546105fb906001600160a01b031681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109179086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461095c5760405162461bcd60e51b815260040161095390612abf565b60405180910390fd5b6001600160a01b0385161580159061097c57506001600160a01b03841615155b801561099057506001600160a01b03831615155b80156109a457506001600160a01b03821615155b80156109b857506001600160a01b03811615155b610a045760405162461bcd60e51b815260206004820152601760248201527f5a65726f20416464726573732076616c69646174696f6e0000000000000000006044820152606401610953565b602180546001600160a01b038781166001600160a01b031992831681179093556022805488831690841681179091556023805488841690851681179091556024805488851690861681179091556025805494881694909516841790945560408051958652602086019290925290840152606083019190915260808201527fcbc6e694f9cedabb09aeff1b1031513e7c8738cedf6395c1cd6d08760e28bc6e9060a00160405180910390a15050505050565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610b62576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610b3d9184906118c7565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610b6d848484611901565b90505b9392505050565b6003546001600160a01b0316600090815260076020526040812054610bc4906002546001600160a01b0316600090815260076020526040902054610bbe9060045490611d1c565b90611d1c565b905090565b6024546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610c02573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610c2f5760405162461bcd60e51b815260040161095390612abf565b6001600160a01b0382166000818152600b6020908152604091829020805460ff19168515159081179091558251938452908301527f4ea15162b3f61a13c044864b747e477d788dd808e9d22202784420526192fef191015b60405180910390a15050565b6000610923826000196108bc565b6000546001600160a01b03163314610ccb5760405162461bcd60e51b815260040161095390612abf565b610cd3611d5e565b565b6000546001600160a01b03163314610cff5760405162461bcd60e51b815260040161095390612abf565b600454610d0e90612710612155565b8111610d555760405162461bcd60e51b815260206004820152601660248201527543616e27742072657374726963742074726164696e6760501b6044820152606401610953565b60058190556040518181527f510e4637d257d903a794aca1c3cac80d12bf71d2409f8f975ff245c61845732e906020015b60405180910390a150565b6000546001600160a01b03163314610dbb5760405162461bcd60e51b815260040161095390612abf565b600454610dca90612710612155565b8111610e115760405162461bcd60e51b815260206004820152601660248201527543616e27742072657374726963742074726164696e6760501b6044820152606401610953565b60068190556040518181527fd3028a4dc8f3e7c2bbc9b4259751380fe21f44274195bcf63ebaaac4c17cbc8b90602001610d86565b6000546001600160a01b03163314610e705760405162461bcd60e51b815260040161095390612abf565b6001600160a01b0382166000818152600c6020908152604091829020805460ff19168515159081179091558251938452908301527f2f640a0ab7e2a6d9ec57f3932923908568f2984073dcebac1b9a3db32debe91d9101610c87565b6000546001600160a01b03163314610ef65760405162461bcd60e51b815260040161095390612abf565b60c88210610f545760405162461bcd60e51b815260206004820152602560248201527f43616e27742075706461746520746f6f206d616e792077616c6c657473206174604482015264206f6e636560d81b6064820152608401610953565b60005b82811015610fc35781600b6000868685818110610f7657610f76612c07565b9050602002016020810190610f8b91906126f7565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610fbc81612bc0565b9050610f57565b507f1ae87c20d893cf34d6d2c6895c201a35bebc5c56c7f3a465685511a5024fa116838383604051610ff7939291906129a4565b60405180910390a1505050565b6024805460405163a9059cbb60e01b81526001600160a01b0391821660048201529182018390526000919084169063a9059cbb90604401602060405180830381600087803b15801561105557600080fd5b505af1158015611069573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7091906128df565b6000546001600160a01b031633146110b75760405162461bcd60e51b815260040161095390612abf565b601d5481106110d85760405162461bcd60e51b815260040161095390612a7d565b601c8190556040518181527f0496ed1e61eb69727f9659a8e859288db4758ffb1f744d1c1424634f90a257f490602001610d86565b6000546001600160a01b031633146111375760405162461bcd60e51b815260040161095390612abf565b6001600160a01b0382166000908152600a602052604090205460ff161515811515141561119a5760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b6044820152606401610953565b6001600160a01b0382166000908152600a60205260409020805460ff1916821580159190911790915561121757600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319166001600160a01b038416179055611366565b60095460011061125b5760405162461bcd60e51b815260206004820152600f60248201526e2932b8bab4b932b21018903830b4b960891b6044820152606401610953565b60005b60095481101561136457826001600160a01b03166009828154811061128557611285612c07565b6000918252602090912001546001600160a01b0316141561135257600980546112b090600190612ba9565b815481106112c0576112c0612c07565b600091825260209091200154600980546001600160a01b0390921691839081106112ec576112ec612c07565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600980548061132b5761132b612bf1565b600082815260209020810160001990810180546001600160a01b0319169055019055611364565b8061135c81612bc0565b91505061125e565b505b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6000546001600160a01b031633146113cc5760405162461bcd60e51b815260040161095390612abf565b610fa081106114125760405162461bcd60e51b8152602060048201526012602482015271086c2dc4ee840cede40e8d0c2e840d0d2ced60731b6044820152606401610953565b600f8190556040518181527f80838eb3341767dec8bc142ca41047631270a18952c3b835d5ca0d1c3608a2cb90602001610d86565b6000610b70338484611901565b6000546001600160a01b0316331461147e5760405162461bcd60e51b815260040161095390612abf565b601786905560188590556019849055601a839055601b8290556114af826114a9858188818c8c611868565b90611868565b601f8190556020829055601d5410156114da5760405162461bcd60e51b815260040161095390612a7d565b604080518781526020810187905290810185905260608101849052608081018390527ffdd7c66a68b70fa92b44bc177e5154fe4ae8a19e8fc2920396a5ea2db9a783329060a0015b60405180910390a1505050505050565b6000546001600160a01b0316331461155c5760405162461bcd60e51b815260040161095390612abf565b6001600160a01b0382166000818152600e6020908152604091829020805460ff19168515159081179091558251938452908301527f6ed6ea20fcc829cc51f14b3190919b5563b8ffaec1eb69b4070c7a539f42f35b9101610c87565b6000546001600160a01b031633146115e25760405162461bcd60e51b815260040161095390612abf565b6027805460ff60a01b1916600160a01b84151590810291909117909155602882905560408051918252602082018390527fbb6a036f87bc4903f9d59c9f83a8733a8e8004a0a17b29bf1a817b4fe6bcf6bd9101610c87565b6009818154811061164a57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b0316331461168e5760405162461bcd60e51b815260040161095390612abf565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390602001610d86565b6000546001600160a01b031633146117065760405162461bcd60e51b815260040161095390612abf565b60128690556013859055601484905560158390556016829055611731826114a9858188818c8c611868565b601e8190556020829055601d5410156117965760405162461bcd60e51b815260206004820152602160248201527f466565732063616e6e6f7420626520686967686572207468616e204d617866656044820152606560f81b6064820152608401610953565b604080518781526020810187905290810185905260608101849052608081018390527f0ebc4c8adc990f93864d49e46d4543ac8e892fd73ba3ebe0b1794d0f6929f8169060a001611522565b6000546001600160a01b0316331461180c5760405162461bcd60e51b815260040161095390612abf565b6001600160a01b0382166000818152600d6020908152604091829020805460ff19168515159081179091558251938452908301527f62ff8320fc089e815ec009a710ef61f8c650c1666630c8fc091aee0f66474f669101610c87565b6000806118758385612b50565b905083811015610b705760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610953565b600081848411156118eb5760405162461bcd60e51b815260040161095391906129fd565b5060006118f88486612ba9565b95945050505050565b6001600160a01b0383166000908152600b602052604081205460ff1615801561194357506001600160a01b0383166000908152600b602052604090205460ff16155b6119785760405162461bcd60e51b81526020600482015260066024820152651a5cc8109bdd60d21b6044820152606401610953565b60295460ff16156119955761198e848484612197565b9050610b70565b61199d61226b565b156119aa576119aa611d5e565b6001600160a01b0384166000908152600a6020526040902054829060ff1615611adc576001600160a01b0384166000908152600c602052604090205460ff16611ad7576006546001600160a01b038516600090815260076020526040902054611a139085611868565b111580611a3857506001600160a01b0384166000908152600e602052604090205460ff165b611a845760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d6974204578636565646564006044820152606401610953565b60055483111580611aad57506001600160a01b0384166000908152600d602052604090205460ff165b611ac95760405162461bcd60e51b815260040161095390612a52565b611ad48585856122c3565b90505b611c75565b6001600160a01b0384166000908152600a602052604090205460ff1615611b6c576001600160a01b0385166000908152600c602052604090205460ff16611ad75760055483111580611b4657506001600160a01b0385166000908152600d602052604090205460ff165b611b625760405162461bcd60e51b815260040161095390612a52565b611ad4858461246c565b6001600160a01b0385166000908152600c602052604090205460ff16611c75576006546001600160a01b038516600090815260076020526040902054611bb29085611868565b111580611bd757506001600160a01b0384166000908152600e602052604090205460ff165b611c235760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d6974204578636565646564006044820152606401610953565b60055483111580611c4c57506001600160a01b0385166000908152600d602052604090205460ff165b611c685760405162461bcd60e51b815260040161095390612a52565b611c7285846125ad565b90505b6001600160a01b038516600090815260076020526040902054611c989084611d1c565b6001600160a01b038087166000908152600760205260408082209390935590861681522054611cc79082611868565b6001600160a01b038086166000818152600760205260409081902093909355915190871690600080516020612c4183398151915290611d099085815260200190565b60405180910390a3506001949350505050565b6000610b7083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118c7565b6029805460ff19166001179055601754601254600091611d7e9190611868565b90506000611da5601b54610bbe601654610bbe601f54601e5461186890919063ffffffff16565b6028549091506000611dc46002611dbe8581868961264a565b90612155565b90506000611dd28383611d1c565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611e0c57611e0c612c07565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611e3c57611e3c612c07565b6001600160a01b03928316602091820292909201015260265460405163791ac94760e01b815291169063791ac94790611e82908690600090869030904290600401612adf565b600060405180830381600087803b158015611e9c57600080fd5b505af1158015611eb0573d6000803e3d6000fd5b505050506000611ec98347611d1c90919063ffffffff16565b90506000611ee2611edb8a6002612155565b8990611d1c565b90506000611f106002611dbe84611dbe611f0960175460125461186890919063ffffffff16565b889061264a565b90506000611f3983611dbe611f3260185460135461186890919063ffffffff16565b879061264a565b90506000611f5b84611dbe611f0960195460145461186890919063ffffffff16565b90506000611f8485611dbe611f7d601a5460155461186890919063ffffffff16565b899061264a565b6022546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611fd6576040519150601f19603f3d011682016040523d82523d6000602084013e611fdb565b606091505b50506023546040519192506001600160a01b0316908490600081818185875af1925050503d806000811461202b576040519150601f19603f3d011682016040523d82523d6000602084013e612030565b606091505b50506024546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114612080576040519150601f19603f3d011682016040523d82523d6000602084013e612085565b606091505b5060009250508b15905061213b5760265460215460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c4016060604051808303818588803b1580156120fe57600080fd5b505af1158015612112573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121379190612933565b5050505b50506029805460ff19169055505050505050505050505050565b6000610b7083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126c9565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546121e89184906118c7565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546122179083611868565b6001600160a01b038085166000818152600760205260409081902093909355915190861690600080516020612c41833981519152906122599086815260200190565b60405180910390a35060019392505050565b336000908152600a602052604081205460ff1615801561228e575060295460ff16155b80156122a35750602754600160a01b900460ff165b8015610bc457505060285430600090815260076020526040902054101590565b6000601154431015612324576027546001600160a01b038481169116148015906122fb57506026546001600160a01b03848116911614155b15612324576001600160a01b0383166000908152600b60205260409020805460ff191660011790555b600061234d602054611dbe612346601654601e54611d1c90919063ffffffff16565b869061264a565b9050600061236c602054611dbe6016548761264a90919063ffffffff16565b9050600061237a8383611868565b306000908152600760205260409020549091506123979084611868565b30600081815260076020526040908190209290925590516001600160a01b03891690600080516020612c41833981519152906123d69087815260200190565b60405180910390a38115612457576025546001600160a01b03166000908152600760205260409020546124099083611868565b602580546001600160a01b03908116600090815260076020908152604091829020949094559154915185815291811692908a1691600080516020612c41833981519152910160405180910390a35b6124618582611d1c565b979650505050505050565b60008061248f602054611dbe612346601b54601f54611d1c90919063ffffffff16565b905060006124ae602054611dbe601b548761264a90919063ffffffff16565b905060006124bc8383611868565b306000908152600760205260409020549091506124d99084611868565b30600081815260076020526040908190209290925590516001600160a01b03881690600080516020612c41833981519152906125189087815260200190565b60405180910390a38115612599576025546001600160a01b031660009081526007602052604090205461254b9083611868565b602580546001600160a01b0390811660009081526007602090815260409182902094909455915491518581529181169290891691600080516020612c41833981519152910160405180910390a35b6125a38582611d1c565b9695505050505050565b601c54601154600091904310156125c2575060635b6020546000906125d690611dbe868561264a565b9050801561264057306000908152600760205260409020546125f89082611868565b30600081815260076020526040908190209290925590516001600160a01b03871690600080516020612c41833981519152906126379085815260200190565b60405180910390a35b6118f88482611d1c565b60008261265957506000610923565b60006126658385612b8a565b9050826126728583612b68565b14610b705760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610953565b600081836126ea5760405162461bcd60e51b815260040161095391906129fd565b5060006118f88486612b68565b60006020828403121561270957600080fd5b8135610b7081612c1d565b6000806040838503121561272757600080fd5b823561273281612c1d565b9150602083013561274281612c1d565b809150509250929050565b600080600080600060a0868803121561276557600080fd5b853561277081612c1d565b9450602086013561278081612c1d565b9350604086013561279081612c1d565b925060608601356127a081612c1d565b915060808601356127b081612c1d565b809150509295509295909350565b6000806000606084860312156127d357600080fd5b83356127de81612c1d565b925060208401356127ee81612c1d565b929592945050506040919091013590565b6000806040838503121561281257600080fd5b823561281d81612c1d565b9150602083013561274281612c32565b6000806040838503121561284057600080fd5b823561284b81612c1d565b946020939093013593505050565b60008060006040848603121561286e57600080fd5b833567ffffffffffffffff8082111561288657600080fd5b818601915086601f83011261289a57600080fd5b8135818111156128a957600080fd5b8760208260051b85010111156128be57600080fd5b602092830195509350508401356128d481612c32565b809150509250925092565b6000602082840312156128f157600080fd5b8151610b7081612c32565b6000806040838503121561290f57600080fd5b823561284b81612c32565b60006020828403121561292c57600080fd5b5035919050565b60008060006060848603121561294857600080fd5b8351925060208401519150604084015190509250925092565b60008060008060008060c0878903121561297a57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6040808252810183905260008460608301825b868110156129e75782356129ca81612c1d565b6001600160a01b03168252602092830192909101906001016129b7565b5080925050508215156020830152949350505050565b600060208083528351808285015260005b81811015612a2a57858101830151858201604001528201612a0e565b81811115612a3c576000604083870101525b50601f01601f1916929092016040019392505050565b602080825260119082015270151608131a5b5a5d08115e18d959591959607a1b604082015260600190565b60208082526022908201527f466565732063616e6e6f7420626520686967686572207468616e204d61786665604082015261652560f01b606082015260800190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612b2f5784516001600160a01b031683529383019391830191600101612b0a565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612b6357612b63612bdb565b500190565b600082612b8557634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612ba457612ba4612bdb565b500290565b600082821015612bbb57612bbb612bdb565b500390565b6000600019821415612bd457612bd4612bdb565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610c0257600080fd5b8015158114610c0257600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cd501e3cb0e2de0d438e53cd6d9a22f84ec0dfe364062d83d0552b729dde34bb64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106102765760003560e01c80636ddd17131161014f578063a9059cbb116100c1578063df20fd491161007a578063df20fd49146107fc578063e1d5584c1461081c578063f2fde38b1461083c578063f74c9f471461085c578063f84ba65d1461087c578063f887ea401461089c57600080fd5b8063a9059cbb14610710578063b62496f514610730578063ba876bb914610760578063c04a78ad14610780578063d00efb2f146107a0578063dd62ed3e146107b657600080fd5b80638cd4426d116101135780638cd4426d146106435780638f02bb5b1461066357806395d89b41146106835780639a7a23d6146106b0578063a8aa1b31146106d0578063a8df7fb0146106f057600080fd5b80636ddd17131461057457806370a08231146105955780637d1db4a5146105cb578063893d20e8146105e15780638b42507f1461061357600080fd5b8063364333f4116101e85780635b895c29116101ac5780635b895c29146104c95780635c85974f146104de5780635d0044ca146104fe578063658d4b7f1461051e5780636c0a24eb1461053e5780636cfcc86e1461055457600080fd5b8063364333f4146104145780633bbac579146104295780633f4218e0146104595780634543403214610489578063571ac8b0146104a957600080fd5b806318160ddd1161023a57806318160ddd1461035d57806318abb6351461037257806323b872dd146103945780632b112e49146103b45780632f54bf6e146103c9578063313ce567146103f857600080fd5b806301f59d16146102825780630445b667146102ab57806306fdde03146102c1578063095ea7b3146102fd5780630bd11f8a1461032d57600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610298601d5481565b6040519081526020015b60405180910390f35b3480156102b757600080fd5b5061029860285481565b3480156102cd57600080fd5b5060408051808201909152600a815269086f2c4cae44088c2e6d60b31b60208201525b6040516102a291906129fd565b34801561030957600080fd5b5061031d61031836600461282d565b6108bc565b60405190151581526020016102a2565b34801561033957600080fd5b5061031d6103483660046126f7565b600e6020526000908152604090205460ff1681565b34801561036957600080fd5b50600454610298565b34801561037e57600080fd5b5061039261038d36600461274d565b610929565b005b3480156103a057600080fd5b5061031d6103af3660046127be565b610ab5565b3480156103c057600080fd5b50610298610b77565b3480156103d557600080fd5b5061031d6103e43660046126f7565b6000546001600160a01b0391821691161490565b34801561040457600080fd5b50604051601281526020016102a2565b34801561042057600080fd5b50610392610bc9565b34801561043557600080fd5b5061031d6104443660046126f7565b600b6020526000908152604090205460ff1681565b34801561046557600080fd5b5061031d6104743660046126f7565b600c6020526000908152604090205460ff1681565b34801561049557600080fd5b506103926104a43660046127ff565b610c05565b3480156104b557600080fd5b5061031d6104c43660046126f7565b610c93565b3480156104d557600080fd5b50610392610ca1565b3480156104ea57600080fd5b506103926104f936600461291a565b610cd5565b34801561050a57600080fd5b5061039261051936600461291a565b610d91565b34801561052a57600080fd5b506103926105393660046127ff565b610e46565b34801561054a57600080fd5b5061029860065481565b34801561056057600080fd5b5061039261056f366004612859565b610ecc565b34801561058057600080fd5b5060275461031d90600160a01b900460ff1681565b3480156105a157600080fd5b506102986105b03660046126f7565b6001600160a01b031660009081526007602052604090205490565b3480156105d757600080fd5b5061029860055481565b3480156105ed57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102a2565b34801561061f57600080fd5b5061031d61062e3660046126f7565b600d6020526000908152604090205460ff1681565b34801561064f57600080fd5b5061031d61065e36600461282d565b611004565b34801561066f57600080fd5b5061039261067e36600461291a565b61108d565b34801561068f57600080fd5b5060408051808201909152600481526308882a6960e31b60208201526102f0565b3480156106bc57600080fd5b506103926106cb3660046127ff565b61110d565b3480156106dc57600080fd5b506027546105fb906001600160a01b031681565b3480156106fc57600080fd5b5061039261070b36600461291a565b6113a2565b34801561071c57600080fd5b5061031d61072b36600461282d565b611447565b34801561073c57600080fd5b5061031d61074b3660046126f7565b600a6020526000908152604090205460ff1681565b34801561076c57600080fd5b5061039261077b366004612961565b611454565b34801561078c57600080fd5b5061039261079b3660046127ff565b611532565b3480156107ac57600080fd5b5061029860105481565b3480156107c257600080fd5b506102986107d1366004612714565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561080857600080fd5b506103926108173660046128fc565b6115b8565b34801561082857600080fd5b506105fb61083736600461291a565b61163a565b34801561084857600080fd5b506103926108573660046126f7565b611664565b34801561086857600080fd5b50610392610877366004612961565b6116dc565b34801561088857600080fd5b506103926108973660046127ff565b6117e2565b3480156108a857600080fd5b506026546105fb906001600160a01b031681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109179086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461095c5760405162461bcd60e51b815260040161095390612abf565b60405180910390fd5b6001600160a01b0385161580159061097c57506001600160a01b03841615155b801561099057506001600160a01b03831615155b80156109a457506001600160a01b03821615155b80156109b857506001600160a01b03811615155b610a045760405162461bcd60e51b815260206004820152601760248201527f5a65726f20416464726573732076616c69646174696f6e0000000000000000006044820152606401610953565b602180546001600160a01b038781166001600160a01b031992831681179093556022805488831690841681179091556023805488841690851681179091556024805488851690861681179091556025805494881694909516841790945560408051958652602086019290925290840152606083019190915260808201527fcbc6e694f9cedabb09aeff1b1031513e7c8738cedf6395c1cd6d08760e28bc6e9060a00160405180910390a15050505050565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610b62576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610b3d9184906118c7565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610b6d848484611901565b90505b9392505050565b6003546001600160a01b0316600090815260076020526040812054610bc4906002546001600160a01b0316600090815260076020526040902054610bbe9060045490611d1c565b90611d1c565b905090565b6024546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610c02573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610c2f5760405162461bcd60e51b815260040161095390612abf565b6001600160a01b0382166000818152600b6020908152604091829020805460ff19168515159081179091558251938452908301527f4ea15162b3f61a13c044864b747e477d788dd808e9d22202784420526192fef191015b60405180910390a15050565b6000610923826000196108bc565b6000546001600160a01b03163314610ccb5760405162461bcd60e51b815260040161095390612abf565b610cd3611d5e565b565b6000546001600160a01b03163314610cff5760405162461bcd60e51b815260040161095390612abf565b600454610d0e90612710612155565b8111610d555760405162461bcd60e51b815260206004820152601660248201527543616e27742072657374726963742074726164696e6760501b6044820152606401610953565b60058190556040518181527f510e4637d257d903a794aca1c3cac80d12bf71d2409f8f975ff245c61845732e906020015b60405180910390a150565b6000546001600160a01b03163314610dbb5760405162461bcd60e51b815260040161095390612abf565b600454610dca90612710612155565b8111610e115760405162461bcd60e51b815260206004820152601660248201527543616e27742072657374726963742074726164696e6760501b6044820152606401610953565b60068190556040518181527fd3028a4dc8f3e7c2bbc9b4259751380fe21f44274195bcf63ebaaac4c17cbc8b90602001610d86565b6000546001600160a01b03163314610e705760405162461bcd60e51b815260040161095390612abf565b6001600160a01b0382166000818152600c6020908152604091829020805460ff19168515159081179091558251938452908301527f2f640a0ab7e2a6d9ec57f3932923908568f2984073dcebac1b9a3db32debe91d9101610c87565b6000546001600160a01b03163314610ef65760405162461bcd60e51b815260040161095390612abf565b60c88210610f545760405162461bcd60e51b815260206004820152602560248201527f43616e27742075706461746520746f6f206d616e792077616c6c657473206174604482015264206f6e636560d81b6064820152608401610953565b60005b82811015610fc35781600b6000868685818110610f7657610f76612c07565b9050602002016020810190610f8b91906126f7565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610fbc81612bc0565b9050610f57565b507f1ae87c20d893cf34d6d2c6895c201a35bebc5c56c7f3a465685511a5024fa116838383604051610ff7939291906129a4565b60405180910390a1505050565b6024805460405163a9059cbb60e01b81526001600160a01b0391821660048201529182018390526000919084169063a9059cbb90604401602060405180830381600087803b15801561105557600080fd5b505af1158015611069573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7091906128df565b6000546001600160a01b031633146110b75760405162461bcd60e51b815260040161095390612abf565b601d5481106110d85760405162461bcd60e51b815260040161095390612a7d565b601c8190556040518181527f0496ed1e61eb69727f9659a8e859288db4758ffb1f744d1c1424634f90a257f490602001610d86565b6000546001600160a01b031633146111375760405162461bcd60e51b815260040161095390612abf565b6001600160a01b0382166000908152600a602052604090205460ff161515811515141561119a5760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b6044820152606401610953565b6001600160a01b0382166000908152600a60205260409020805460ff1916821580159190911790915561121757600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319166001600160a01b038416179055611366565b60095460011061125b5760405162461bcd60e51b815260206004820152600f60248201526e2932b8bab4b932b21018903830b4b960891b6044820152606401610953565b60005b60095481101561136457826001600160a01b03166009828154811061128557611285612c07565b6000918252602090912001546001600160a01b0316141561135257600980546112b090600190612ba9565b815481106112c0576112c0612c07565b600091825260209091200154600980546001600160a01b0390921691839081106112ec576112ec612c07565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600980548061132b5761132b612bf1565b600082815260209020810160001990810180546001600160a01b0319169055019055611364565b8061135c81612bc0565b91505061125e565b505b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6000546001600160a01b031633146113cc5760405162461bcd60e51b815260040161095390612abf565b610fa081106114125760405162461bcd60e51b8152602060048201526012602482015271086c2dc4ee840cede40e8d0c2e840d0d2ced60731b6044820152606401610953565b600f8190556040518181527f80838eb3341767dec8bc142ca41047631270a18952c3b835d5ca0d1c3608a2cb90602001610d86565b6000610b70338484611901565b6000546001600160a01b0316331461147e5760405162461bcd60e51b815260040161095390612abf565b601786905560188590556019849055601a839055601b8290556114af826114a9858188818c8c611868565b90611868565b601f8190556020829055601d5410156114da5760405162461bcd60e51b815260040161095390612a7d565b604080518781526020810187905290810185905260608101849052608081018390527ffdd7c66a68b70fa92b44bc177e5154fe4ae8a19e8fc2920396a5ea2db9a783329060a0015b60405180910390a1505050505050565b6000546001600160a01b0316331461155c5760405162461bcd60e51b815260040161095390612abf565b6001600160a01b0382166000818152600e6020908152604091829020805460ff19168515159081179091558251938452908301527f6ed6ea20fcc829cc51f14b3190919b5563b8ffaec1eb69b4070c7a539f42f35b9101610c87565b6000546001600160a01b031633146115e25760405162461bcd60e51b815260040161095390612abf565b6027805460ff60a01b1916600160a01b84151590810291909117909155602882905560408051918252602082018390527fbb6a036f87bc4903f9d59c9f83a8733a8e8004a0a17b29bf1a817b4fe6bcf6bd9101610c87565b6009818154811061164a57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b0316331461168e5760405162461bcd60e51b815260040161095390612abf565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390602001610d86565b6000546001600160a01b031633146117065760405162461bcd60e51b815260040161095390612abf565b60128690556013859055601484905560158390556016829055611731826114a9858188818c8c611868565b601e8190556020829055601d5410156117965760405162461bcd60e51b815260206004820152602160248201527f466565732063616e6e6f7420626520686967686572207468616e204d617866656044820152606560f81b6064820152608401610953565b604080518781526020810187905290810185905260608101849052608081018390527f0ebc4c8adc990f93864d49e46d4543ac8e892fd73ba3ebe0b1794d0f6929f8169060a001611522565b6000546001600160a01b0316331461180c5760405162461bcd60e51b815260040161095390612abf565b6001600160a01b0382166000818152600d6020908152604091829020805460ff19168515159081179091558251938452908301527f62ff8320fc089e815ec009a710ef61f8c650c1666630c8fc091aee0f66474f669101610c87565b6000806118758385612b50565b905083811015610b705760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610953565b600081848411156118eb5760405162461bcd60e51b815260040161095391906129fd565b5060006118f88486612ba9565b95945050505050565b6001600160a01b0383166000908152600b602052604081205460ff1615801561194357506001600160a01b0383166000908152600b602052604090205460ff16155b6119785760405162461bcd60e51b81526020600482015260066024820152651a5cc8109bdd60d21b6044820152606401610953565b60295460ff16156119955761198e848484612197565b9050610b70565b61199d61226b565b156119aa576119aa611d5e565b6001600160a01b0384166000908152600a6020526040902054829060ff1615611adc576001600160a01b0384166000908152600c602052604090205460ff16611ad7576006546001600160a01b038516600090815260076020526040902054611a139085611868565b111580611a3857506001600160a01b0384166000908152600e602052604090205460ff165b611a845760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d6974204578636565646564006044820152606401610953565b60055483111580611aad57506001600160a01b0384166000908152600d602052604090205460ff165b611ac95760405162461bcd60e51b815260040161095390612a52565b611ad48585856122c3565b90505b611c75565b6001600160a01b0384166000908152600a602052604090205460ff1615611b6c576001600160a01b0385166000908152600c602052604090205460ff16611ad75760055483111580611b4657506001600160a01b0385166000908152600d602052604090205460ff165b611b625760405162461bcd60e51b815260040161095390612a52565b611ad4858461246c565b6001600160a01b0385166000908152600c602052604090205460ff16611c75576006546001600160a01b038516600090815260076020526040902054611bb29085611868565b111580611bd757506001600160a01b0384166000908152600e602052604090205460ff165b611c235760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d6974204578636565646564006044820152606401610953565b60055483111580611c4c57506001600160a01b0385166000908152600d602052604090205460ff165b611c685760405162461bcd60e51b815260040161095390612a52565b611c7285846125ad565b90505b6001600160a01b038516600090815260076020526040902054611c989084611d1c565b6001600160a01b038087166000908152600760205260408082209390935590861681522054611cc79082611868565b6001600160a01b038086166000818152600760205260409081902093909355915190871690600080516020612c4183398151915290611d099085815260200190565b60405180910390a3506001949350505050565b6000610b7083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118c7565b6029805460ff19166001179055601754601254600091611d7e9190611868565b90506000611da5601b54610bbe601654610bbe601f54601e5461186890919063ffffffff16565b6028549091506000611dc46002611dbe8581868961264a565b90612155565b90506000611dd28383611d1c565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611e0c57611e0c612c07565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611e3c57611e3c612c07565b6001600160a01b03928316602091820292909201015260265460405163791ac94760e01b815291169063791ac94790611e82908690600090869030904290600401612adf565b600060405180830381600087803b158015611e9c57600080fd5b505af1158015611eb0573d6000803e3d6000fd5b505050506000611ec98347611d1c90919063ffffffff16565b90506000611ee2611edb8a6002612155565b8990611d1c565b90506000611f106002611dbe84611dbe611f0960175460125461186890919063ffffffff16565b889061264a565b90506000611f3983611dbe611f3260185460135461186890919063ffffffff16565b879061264a565b90506000611f5b84611dbe611f0960195460145461186890919063ffffffff16565b90506000611f8485611dbe611f7d601a5460155461186890919063ffffffff16565b899061264a565b6022546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611fd6576040519150601f19603f3d011682016040523d82523d6000602084013e611fdb565b606091505b50506023546040519192506001600160a01b0316908490600081818185875af1925050503d806000811461202b576040519150601f19603f3d011682016040523d82523d6000602084013e612030565b606091505b50506024546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114612080576040519150601f19603f3d011682016040523d82523d6000602084013e612085565b606091505b5060009250508b15905061213b5760265460215460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c4016060604051808303818588803b1580156120fe57600080fd5b505af1158015612112573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121379190612933565b5050505b50506029805460ff19169055505050505050505050505050565b6000610b7083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126c9565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546121e89184906118c7565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546122179083611868565b6001600160a01b038085166000818152600760205260409081902093909355915190861690600080516020612c41833981519152906122599086815260200190565b60405180910390a35060019392505050565b336000908152600a602052604081205460ff1615801561228e575060295460ff16155b80156122a35750602754600160a01b900460ff165b8015610bc457505060285430600090815260076020526040902054101590565b6000601154431015612324576027546001600160a01b038481169116148015906122fb57506026546001600160a01b03848116911614155b15612324576001600160a01b0383166000908152600b60205260409020805460ff191660011790555b600061234d602054611dbe612346601654601e54611d1c90919063ffffffff16565b869061264a565b9050600061236c602054611dbe6016548761264a90919063ffffffff16565b9050600061237a8383611868565b306000908152600760205260409020549091506123979084611868565b30600081815260076020526040908190209290925590516001600160a01b03891690600080516020612c41833981519152906123d69087815260200190565b60405180910390a38115612457576025546001600160a01b03166000908152600760205260409020546124099083611868565b602580546001600160a01b03908116600090815260076020908152604091829020949094559154915185815291811692908a1691600080516020612c41833981519152910160405180910390a35b6124618582611d1c565b979650505050505050565b60008061248f602054611dbe612346601b54601f54611d1c90919063ffffffff16565b905060006124ae602054611dbe601b548761264a90919063ffffffff16565b905060006124bc8383611868565b306000908152600760205260409020549091506124d99084611868565b30600081815260076020526040908190209290925590516001600160a01b03881690600080516020612c41833981519152906125189087815260200190565b60405180910390a38115612599576025546001600160a01b031660009081526007602052604090205461254b9083611868565b602580546001600160a01b0390811660009081526007602090815260409182902094909455915491518581529181169290891691600080516020612c41833981519152910160405180910390a35b6125a38582611d1c565b9695505050505050565b601c54601154600091904310156125c2575060635b6020546000906125d690611dbe868561264a565b9050801561264057306000908152600760205260409020546125f89082611868565b30600081815260076020526040908190209290925590516001600160a01b03871690600080516020612c41833981519152906126379085815260200190565b60405180910390a35b6118f88482611d1c565b60008261265957506000610923565b60006126658385612b8a565b9050826126728583612b68565b14610b705760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610953565b600081836126ea5760405162461bcd60e51b815260040161095391906129fd565b5060006118f88486612b68565b60006020828403121561270957600080fd5b8135610b7081612c1d565b6000806040838503121561272757600080fd5b823561273281612c1d565b9150602083013561274281612c1d565b809150509250929050565b600080600080600060a0868803121561276557600080fd5b853561277081612c1d565b9450602086013561278081612c1d565b9350604086013561279081612c1d565b925060608601356127a081612c1d565b915060808601356127b081612c1d565b809150509295509295909350565b6000806000606084860312156127d357600080fd5b83356127de81612c1d565b925060208401356127ee81612c1d565b929592945050506040919091013590565b6000806040838503121561281257600080fd5b823561281d81612c1d565b9150602083013561274281612c32565b6000806040838503121561284057600080fd5b823561284b81612c1d565b946020939093013593505050565b60008060006040848603121561286e57600080fd5b833567ffffffffffffffff8082111561288657600080fd5b818601915086601f83011261289a57600080fd5b8135818111156128a957600080fd5b8760208260051b85010111156128be57600080fd5b602092830195509350508401356128d481612c32565b809150509250925092565b6000602082840312156128f157600080fd5b8151610b7081612c32565b6000806040838503121561290f57600080fd5b823561284b81612c32565b60006020828403121561292c57600080fd5b5035919050565b60008060006060848603121561294857600080fd5b8351925060208401519150604084015190509250925092565b60008060008060008060c0878903121561297a57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6040808252810183905260008460608301825b868110156129e75782356129ca81612c1d565b6001600160a01b03168252602092830192909101906001016129b7565b5080925050508215156020830152949350505050565b600060208083528351808285015260005b81811015612a2a57858101830151858201604001528201612a0e565b81811115612a3c576000604083870101525b50601f01601f1916929092016040019392505050565b602080825260119082015270151608131a5b5a5d08115e18d959591959607a1b604082015260600190565b60208082526022908201527f466565732063616e6e6f7420626520686967686572207468616e204d61786665604082015261652560f01b606082015260800190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612b2f5784516001600160a01b031683529383019391830191600101612b0a565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612b6357612b63612bdb565b500190565b600082612b8557634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612ba457612ba4612bdb565b500290565b600082821015612bbb57612bbb612bdb565b500390565b6000600019821415612bd457612bd4612bdb565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610c0257600080fd5b8015158114610c0257600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cd501e3cb0e2de0d438e53cd6d9a22f84ec0dfe364062d83d0552b729dde34bb64736f6c63430008070033
Deployed Bytecode Sourcemap
4283:18457:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:26;;;;;;;;;;;;;;;;;;;14924:25:1;;;14912:2;14897:18;7223:26:0;;;;;;;;7954:57;;;;;;;;;;;;;;;;9223:80;;;;;;;;;;-1:-1:-1;9295:5:0;;;;;;;;;;;;-1:-1:-1;;;9295:5:0;;;;9223:80;;;;;;;:::i;9645:216::-;;;;;;;;;;-1:-1:-1;9645:216:0;;;;;:::i;:::-;;:::i;:::-;;;8577:14:1;;8570:22;8552:41;;8540:2;8525:18;9645:216:0;8412:187:1;6562:50:0;;;;;;;;;;-1:-1:-1;6562:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8953:88;;;;;;;;;;-1:-1:-1;9026:12:0;;8953:88;;20649:824;;;;;;;;;;-1:-1:-1;20649:824:0;;;;;:::i;:::-;;:::i;:::-;;10163:370;;;;;;;;;;-1:-1:-1;10163:370:0;;;;;:::i;:::-;;:::i;22593:142::-;;;;;;;;;;;;;:::i;2443:103::-;;;;;;;;;;-1:-1:-1;2443:103:0;;;;;:::i;:::-;2498:4;2533:5;-1:-1:-1;;;;;2522:16:0;;;2533:5;;2522:16;;2443:103;9047:80;;;;;;;;;;-1:-1:-1;9047:80:0;;5983:2;16555:36:1;;16543:2;16528:18;9047:80:0;16413:184:1;15062:112:0;;;;;;;;;;;;;:::i;6409:38::-;;;;;;;;;;-1:-1:-1;6409:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6456:44;;;;;;;;;;-1:-1:-1;6456:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18162:165;;;;;;;;;;-1:-1:-1;18162:165:0;;;;;:::i;:::-;;:::i;9869:122::-;;;;;;;;;;-1:-1:-1;9869:122:0;;;;;:::i;:::-;;:::i;22507:74::-;;;;;;;;;;;;;:::i;17377:211::-;;;;;;;;;;-1:-1:-1;17377:211:0;;;;;:::i;:::-;;:::i;17596:221::-;;;;;;;;;;-1:-1:-1;17596:221:0;;;;;:::i;:::-;;:::i;18535:165::-;;;;;;;;;;-1:-1:-1;18535:165:0;;;;;:::i;:::-;;:::i;6108:56::-;;;;;;;;;;;;;;;;17825:329;;;;;;;;;;-1:-1:-1;17825:329:0;;;;;:::i;:::-;;:::i;7917:30::-;;;;;;;;;;-1:-1:-1;7917:30:0;;;;-1:-1:-1;;;7917:30:0;;;;;;9393:105;;;;;;;;;;-1:-1:-1;9393:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;9477:18:0;9459:7;9477:18;;;:9;:18;;;;;;;9393:105;6059:42;;;;;;;;;;;;;;;;9309:78;;;;;;;;;;-1:-1:-1;9361:7:0;9379:5;-1:-1:-1;;;;;9379:5:0;9309:78;;;-1:-1:-1;;;;;5622:32:1;;;5604:51;;5592:2;5577:18;9309:78:0;5458:203:1;6507:48:0;;;;;;;;;;-1:-1:-1;6507:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15182:161;;;;;;;;;;-1:-1:-1;15182:161:0;;;;;:::i;:::-;;:::i;20400:239::-;;;;;;;;;;-1:-1:-1;20400:239:0;;;;;:::i;:::-;;:::i;9133:84::-;;;;;;;;;;-1:-1:-1;9207:7:0;;;;;;;;;;;;-1:-1:-1;;;9207:7:0;;;;9133:84;;21696:801;;;;;;;;;;-1:-1:-1;21696:801:0;;;;;:::i;:::-;;:::i;7889:19::-;;;;;;;;;;-1:-1:-1;7889:19:0;;;;-1:-1:-1;;;;;7889:19:0;;;18335:192;;;;;;;;;;-1:-1:-1;18335:192:0;;;;;:::i;:::-;;:::i;9999:156::-;;;;;;;;;;-1:-1:-1;9999:156:0;;;;;:::i;:::-;;:::i;6340:58::-;;;;;;;;;;-1:-1:-1;6340:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19730:662;;;;;;;;;;-1:-1:-1;19730:662:0;;;;;:::i;:::-;;:::i;18893:183::-;;;;;;;;;;-1:-1:-1;18893:183:0;;;;;:::i;:::-;;:::i;6673:26::-;;;;;;;;;;;;;;;;9504:133;;;;;;;;;;-1:-1:-1;9504:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;9606:19:0;;;9588:7;9606:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9504:133;21481:207;;;;;;;;;;-1:-1:-1;21481:207:0;;;;;:::i;:::-;;:::i;6304:29::-;;;;;;;;;;-1:-1:-1;6304:29:0;;;;;:::i;:::-;;:::i;2554:136::-;;;;;;;;;;-1:-1:-1;2554:136:0;;;;;:::i;:::-;;:::i;19084:638::-;;;;;;;;;;-1:-1:-1;19084:638:0;;;;;:::i;:::-;;:::i;18708:177::-;;;;;;;;;;-1:-1:-1;18708:177:0;;;;;:::i;:::-;;:::i;7858:24::-;;;;;;;;;;-1:-1:-1;7858:24:0;;;;-1:-1:-1;;;;;7858:24:0;;;9645:216;9749:10;9720:4;9737:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9737:32:0;;;;;;;;;;:41;;;9794:37;9720:4;;9737:32;;9794:37;;;;9772:6;14924:25:1;;14912:2;14897:18;;14778:177;9794:37:0;;;;;;;;-1:-1:-1;9849:4:0;9645:216;;;;;:::o;20649:824::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;20857:36:0;::::1;::::0;;::::1;::::0;:75:::1;;-1:-1:-1::0;;;;;;20897:35:0;::::1;::::0;::::1;20857:75;:115;;;;-1:-1:-1::0;;;;;;20936:36:0;::::1;::::0;::::1;20857:115;:148;;;;-1:-1:-1::0;;;;;;20976:29:0;::::1;::::0;::::1;20857:148;:182;;;;-1:-1:-1::0;;;;;;21009:30:0;::::1;::::0;::::1;20857:182;20849:219;;;::::0;-1:-1:-1;;;20849:219:0;;12750:2:1;20849:219:0::1;::::0;::::1;12732:21:1::0;12789:2;12769:18;;;12762:30;12828:25;12808:18;;;12801:53;12871:18;;20849:219:0::1;12548:347:1::0;20849:219:0::1;21079:21;:46:::0;;-1:-1:-1;;;;;21079:46:0;;::::1;-1:-1:-1::0;;;;;;21079:46:0;;::::1;::::0;::::1;::::0;;;21136:20:::1;:44:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;21191:21:::1;:46:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;21248:14:::1;:32:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;21291:15:::1;:34:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;21344:121:::1;::::0;;6179:34:1;;;6244:2;6229:18;;6222:43;;;;6281:18;;;6274:43;6348:2;6333:18;;6326:43;;;;6400:3;6385:19;;6378:44;21344:121:0::1;::::0;6128:3:1;6113:19;21344:121:0::1;;;;;;;20649:824:::0;;;;;:::o;10163:370::-;-1:-1:-1;;;;;10283:19:0;;10263:4;10283:19;;;:11;:19;;;;;;;;10303:10;10283:31;;;;;;;;-1:-1:-1;;10283:52:0;10280:186;;10385:69;;;;;;;;;;;-1:-1:-1;;;10385:69:0;;;;;;;;-1:-1:-1;;;;;10385:19:0;;-1:-1:-1;10385:19:0;;;:11;:19;;;;;10405:10;10385:31;;;;;;;;;;:69;;10421:6;;10385:35;:69::i;:::-;-1:-1:-1;;;;;10351:19:0;;;;;;:11;:19;;;;;;;;10371:10;10351:31;;;;;;;:103;10280:186;10485:40;10499:6;10507:9;10518:6;10485:13;:40::i;:::-;10478:47;;10163:370;;;;;;:::o;22593:142::-;22721:4;;-1:-1:-1;;;;;22721:4:0;22646:7;9477:18;;;:9;:18;;;;;;22673:54;;22700:4;;-1:-1:-1;;;;;22700:4:0;9459:7;9477:18;;;:9;:18;;;;;;22673:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;22666:61;;22593:142;:::o;15062:112::-;15119:14;;15111:55;;-1:-1:-1;;;;;15119:14:0;;;;15144:21;15111:55;;;;;15119:14;15111:55;15119:14;15111:55;15144:21;15119:14;15111:55;;;;;;;;;;;;;;;;;;;;;15062:112::o;18162:165::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18237:15:0;::::1;;::::0;;;:5:::1;:15;::::0;;;;;;;;:23;;-1:-1:-1;;18237:23:0::1;::::0;::::1;;::::0;;::::1;::::0;;;18286:33;;6601:51:1;;;6668:18;;;6661:50;18286:33:0::1;::::0;6574:18:1;18286:33:0::1;;;;;;;;18162:165:::0;;:::o;9869:122::-;9924:4;9948:35;9956:7;-1:-1:-1;;9948:7:0;:35::i;22507:74::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;22563:10:::1;:8;:10::i;:::-;22507:74::o:0;17377:211::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;17460:12:::1;::::0;:23:::1;::::0;17477:5:::1;17460:16;:23::i;:::-;17451:6;:32;17443:67;;;::::0;-1:-1:-1;;;17443:67:0;;9897:2:1;17443:67:0::1;::::0;::::1;9879:21:1::0;9936:2;9916:18;;;9909:30;-1:-1:-1;;;9955:18:1;;;9948:52;10017:18;;17443:67:0::1;9695:346:1::0;17443:67:0::1;17521:12;:21:::0;;;17560:20:::1;::::0;14924:25:1;;;17560:20:0::1;::::0;14912:2:1;14897:18;17560:20:0::1;;;;;;;;17377:211:::0;:::o;17596:221::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;17681:12:::1;::::0;:23:::1;::::0;17698:5:::1;17681:16;:23::i;:::-;17672:6;:32;17664:67;;;::::0;-1:-1:-1;;;17664:67:0;;9897:2:1;17664:67:0::1;::::0;::::1;9879:21:1::0;9936:2;9916:18;;;9909:30;-1:-1:-1;;;9955:18:1;;;9948:52;10017:18;;17664:67:0::1;9695:346:1::0;17664:67:0::1;17742:16;:25:::0;;;17785:24:::1;::::0;14924:25:1;;;17785:24:0::1;::::0;14912:2:1;14897:18;17785:24:0::1;14778:177:1::0;18535:165:0;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18618:19:0;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;;:28;;-1:-1:-1;;18618:28:0::1;::::0;::::1;;::::0;;::::1;::::0;;;18664;;6601:51:1;;;6668:18;;;6661:50;18664:28:0::1;::::0;6574:18:1;18664:28:0::1;6433:284:1::0;17825:329:0;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;17946:3:::1;17927:22:::0;::::1;17918:73;;;::::0;-1:-1:-1;;;17918:73:0;;14574:2:1;17918:73:0::1;::::0;::::1;14556:21:1::0;14613:2;14593:18;;;14586:30;14652:34;14632:18;;;14625:62;-1:-1:-1;;;14703:18:1;;;14696:35;14748:19;;17918:73:0::1;14372:401:1::0;17918:73:0::1;18007:9;18002:98;18018:20:::0;;::::1;18002:98;;;18082:6;18060:5;:19;18066:9;;18076:1;18066:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18060:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18060:19:0;:28;;-1:-1:-1;;18060:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18040:3:::1;::::0;::::1;:::i;:::-;;;18002:98;;;;18117:29;18128:9;;18139:6;18117:29;;;;;;;;:::i;:::-;;;;;;;;17825:329:::0;;;:::o;15182:161::-;15312:14;;;15283:52;;-1:-1:-1;;;15283:52:0;;-1:-1:-1;;;;;15312:14:0;;;15283:52;;;6896:51:1;6963:18;;;6956:34;;;15259:4:0;;15283:28;;;;;;6869:18:1;;15283:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20400:239::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;20499:6:::1;;20484:12;:21;20476:68;;;;-1:-1:-1::0;;;20476:68:0::1;;;;;;;:::i;:::-;20555:11;:26:::0;;;20599:32:::1;::::0;14924:25:1;;;20599:32:0::1;::::0;14912:2:1;14897:18;20599:32:0::1;14778:177:1::0;21696:801:0;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21801:32:0;::::1;;::::0;;;:25:::1;:32;::::0;;;;;::::1;;:42;;::::0;::::1;;;;21793:72;;;::::0;-1:-1:-1;;;21793:72:0;;11704:2:1;21793:72:0::1;::::0;::::1;11686:21:1::0;11743:2;11723:18;;;11716:30;-1:-1:-1;;;11762:18:1;;;11755:47;11819:18;;21793:72:0::1;11502:341:1::0;21793:72:0::1;-1:-1:-1::0;;;;;21882:32:0;::::1;;::::0;;;:25:::1;:32;::::0;;;;:41;;-1:-1:-1;;21882:41:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;21940:482:::1;;21969:12;:24:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;21969:24:0;;;;;::::1;::::0;;-1:-1:-1;;;;;;21969:24:0::1;-1:-1:-1::0;;;;;21969:24:0;::::1;;::::0;;21940:482:::1;;;22040:12;:19:::0;22062:1:::1;-1:-1:-1::0;22032:51:0::1;;;::::0;-1:-1:-1;;;22032:51:0;;12406:2:1;22032:51:0::1;::::0;::::1;12388:21:1::0;12445:2;12425:18;;;12418:30;-1:-1:-1;;;12464:18:1;;;12457:45;12519:18;;22032:51:0::1;12204:339:1::0;22032:51:0::1;22107:9;22102:305;22126:12;:19:::0;22122:23;::::1;22102:305;;;22198:5;-1:-1:-1::0;;;;;22179:24:0::1;:12;22192:1;22179:15;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;22179:15:0::1;:24;22175:213;;;22250:12;22263:19:::0;;:23:::1;::::0;22285:1:::1;::::0;22263:23:::1;:::i;:::-;22250:37;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;22232:12:::1;:15:::0;;-1:-1:-1;;;;;22250:37:0;;::::1;::::0;22245:1;;22232:15;::::1;;;;;:::i;:::-;;;;;;;;;:55;;;;;-1:-1:-1::0;;;;;22232:55:0::1;;;;;-1:-1:-1::0;;;;;22232:55:0::1;;;;;;22314:12;:18;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;22314:18:0;;;;;-1:-1:-1;;;;;;22314:18:0::1;::::0;;;;;22359:5:::1;;22175:213;22147:3:::0;::::1;::::0;::::1;:::i;:::-;;;;22102:305;;;;21940:482;22443:42;::::0;;::::1;;::::0;-1:-1:-1;;;;;22443:42:0;::::1;::::0;::::1;::::0;;;::::1;21696:801:::0;;:::o;18335:192::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;18418:4:::1;18408:7;:14;18400:45;;;::::0;-1:-1:-1;;;18400:45:0;;10248:2:1;18400:45:0::1;::::0;::::1;10230:21:1::0;10287:2;10267:18;;;10260:30;-1:-1:-1;;;10306:18:1;;;10299:48;10364:18;;18400:45:0::1;10046:342:1::0;18400:45:0::1;18456:10;:20:::0;;;18502:17:::1;::::0;14924:25:1;;;18502:17:0::1;::::0;14912:2:1;14897:18;18502:17:0::1;14778:177:1::0;9999:156:0;10079:4;10103:44;10117:10;10129:9;10140:6;10103:13;:44::i;19730:662::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;19903:16:::1;:32:::0;;;19946:16:::1;:32:::0;;;19989:10:::1;:20:::0;;;20020:10:::1;:20:::0;;;20051:11:::1;:22:::0;;;20099:72:::1;20065:8:::0;20099:58:::1;20033:7:::0;20099:58;20002:7;20099:58;19922:13;19965;20099:17:::1;:32::i;:::-;:36:::0;::::1;:45::i;:72::-;20084:12;:87:::0;;;20182:14:::1;:32:::0;;;20249:6:::1;::::0;-1:-1:-1;20233:22:0::1;20225:69;;;;-1:-1:-1::0;;;20225:69:0::1;;;;;;;:::i;:::-;20312:72;::::0;;16204:25:1;;;16260:2;16245:18;;16238:34;;;16288:18;;;16281:34;;;16346:2;16331:18;;16324:34;;;16389:3;16374:19;;16367:35;;;20312:72:0::1;::::0;16191:3:1;16176:19;20312:72:0::1;;;;;;;;19730:662:::0;;;;;;:::o;18893:183::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18982:25:0;::::1;;::::0;;;:17:::1;:25;::::0;;;;;;;;:34;;-1:-1:-1;;18982:34:0::1;::::0;::::1;;::::0;;::::1;::::0;;;19034;;6601:51:1;;;6668:18;;;6661:50;19034:34:0::1;::::0;6574:18:1;19034:34:0::1;6433:284:1::0;21481:207:0;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;21572:11:::1;:22:::0;;-1:-1:-1;;;;21572:22:0::1;-1:-1:-1::0;;;21572:22:0;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;21605:13:::1;:23:::0;;;21646:34:::1;::::0;;8772:41:1;;;8844:2;8829:18;;8822:34;;;21646::0::1;::::0;8745:18:1;21646:34:0::1;8604:258:1::0;6304:29:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6304:29:0;;-1:-1:-1;6304:29:0;:::o;2554:136::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;2630:5:::1;:11:::0;;-1:-1:-1;;;;;;2630:11:0::1;-1:-1:-1::0;;;;;2630:11:0;::::1;::::0;;::::1;::::0;;;2657:25:::1;::::0;5604:51:1;;;2657:25:0::1;::::0;5592:2:1;5577:18;2657:25:0::1;5458:203:1::0;19084:638:0;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;19257:12:::1;:28:::0;;;19296:12:::1;:28:::0;;;19335:6:::1;:16:::0;;;19362:6:::1;:16:::0;;;19389:7:::1;:18:::0;;;19433:71:::1;19399:8:::0;19433:58:::1;19371:7:::0;19433:58;19344:7;19433:58;19272:13;19311;19433:17:::1;:32::i;:71::-;19419:11;:85:::0;;;19515:14:::1;:32:::0;;;19581:6:::1;::::0;-1:-1:-1;19566:21:0::1;19558:67;;;::::0;-1:-1:-1;;;19558:67:0;;14172:2:1;19558:67:0::1;::::0;::::1;14154:21:1::0;14211:2;14191:18;;;14184:30;14250:34;14230:18;;;14223:62;-1:-1:-1;;;14301:18:1;;;14294:31;14342:19;;19558:67:0::1;13970:397:1::0;19558:67:0::1;19643:71;::::0;;16204:25:1;;;16260:2;16245:18;;16238:34;;;16288:18;;;16281:34;;;16346:2;16331:18;;16324:34;;;16389:3;16374:19;;16367:35;;;19643:71:0::1;::::0;16191:3:1;16176:19;19643:71:0::1;15945:463:1::0;18708:177:0;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2402:10;2522:16;2386:38;;;;-1:-1:-1;;;2386:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18795:23:0;::::1;;::::0;;;:15:::1;:23;::::0;;;;;;;;:32;;-1:-1:-1;;18795:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;18845;;6601:51:1;;;6668:18;;;6661:50;18845:32:0::1;::::0;6574:18:1;18845:32:0::1;6433:284:1::0;194:181:0;252:7;;284:5;288:1;284;:5;:::i;:::-;272:17;;313:1;308;:6;;300:46;;;;-1:-1:-1;;;300:46:0;;12050:2:1;300:46:0;;;12032:21:1;12089:2;12069:18;;;12062:30;12128:29;12108:18;;;12101:57;12175:18;;300:46:0;11848:351:1;523:192:0;609:7;645:12;637:6;;;;629:29;;;;-1:-1:-1;;;629:29:0;;;;;;;;:::i;:::-;-1:-1:-1;669:9:0;681:5;685:1;681;:5;:::i;:::-;669:17;523:192;-1:-1:-1;;;;;523:192:0:o;10541:1678::-;-1:-1:-1;;;;;10659:13:0;;10633:4;10659:13;;;:5;:13;;;;;;;;10658:14;:35;;;;-1:-1:-1;;;;;;10677:16:0;;;;;;:5;:16;;;;;;;;10676:17;10658:35;10650:53;;;;-1:-1:-1;;;10650:53:0;;13504:2:1;10650:53:0;;;13486:21:1;13543:1;13523:18;;;13516:29;-1:-1:-1;;;13561:18:1;;;13554:36;13607:18;;10650:53:0;13302:329:1;10650:53:0;10717:6;;;;10714:63;;;10733:41;10748:6;10756:9;10767:6;10733:14;:41::i;:::-;10726:48;;;;10714:63;10792:16;:14;:16::i;:::-;10789:35;;;10811:10;:8;:10::i;:::-;-1:-1:-1;;;;;10886:33:0;;10838:22;10886:33;;;:25;:33;;;;;;10863:6;;10886:33;;10883:1100;;;-1:-1:-1;;;;;10941:22:0;;;;;;:11;:22;;;;;;;;10937:365;;11028:16;;-1:-1:-1;;;;;10992:20:0;;;;;;:9;:20;;;;;;:32;;11017:6;10992:24;:32::i;:::-;:52;;:84;;;-1:-1:-1;;;;;;11048:28:0;;;;;;:17;:28;;;;;;;;10992:84;10984:128;;;;-1:-1:-1;;;10984:128:0;;11344:2:1;10984:128:0;;;11326:21:1;11383:2;11363:18;;;11356:30;11422:33;11402:18;;;11395:61;11473:18;;10984:128:0;11142:355:1;10984:128:0;11149:12;;11139:6;:22;;:52;;;-1:-1:-1;;;;;;11165:26:0;;;;;;:15;:26;;;;;;;;11139:52;11131:82;;;;-1:-1:-1;;;11131:82:0;;;;;;;:::i;:::-;11249:37;11260:6;11268:9;11279:6;11249:10;:37::i;:::-;11232:54;;10937:365;10883:1100;;;-1:-1:-1;;;;;11324:36:0;;;;;;:25;:36;;;;;;;;11321:662;;;-1:-1:-1;;;;;11382:19:0;;;;;;:11;:19;;;;;;;;11378:204;;11440:12;;11430:6;:22;;:49;;;-1:-1:-1;;;;;;11456:23:0;;;;;;:15;:23;;;;;;;;11430:49;11422:79;;;;-1:-1:-1;;;11422:79:0;;;;;;;:::i;:::-;11537:27;11549:6;11557;11537:11;:27::i;11321:662::-;-1:-1:-1;;;;;11620:19:0;;;;;;:11;:19;;;;;;;;11615:357;;11705:16;;-1:-1:-1;;;;;11669:20:0;;;;;;:9;:20;;;;;;:32;;11694:6;11669:24;:32::i;:::-;:52;;:84;;;-1:-1:-1;;;;;;11725:28:0;;;;;;:17;:28;;;;;;;;11669:84;11661:128;;;;-1:-1:-1;;;11661:128:0;;11344:2:1;11661:128:0;;;11326:21:1;11383:2;11363:18;;;11356:30;11422:33;11402:18;;;11395:61;11473:18;;11661:128:0;11142:355:1;11661:128:0;11826:12;;11816:6;:22;;:49;;;-1:-1:-1;;;;;;11842:23:0;;;;;;:15;:23;;;;;;;;11816:49;11808:79;;;;-1:-1:-1;;;11808:79:0;;;;;;;:::i;:::-;11923:31;11939:6;11947;11923:15;:31::i;:::-;11906:48;;11615:357;-1:-1:-1;;;;;12015:17:0;;;;;;:9;:17;;;;;;:29;;12037:6;12015:21;:29::i;:::-;-1:-1:-1;;;;;11995:17:0;;;;;;;:9;:17;;;;;;:49;;;;12078:20;;;;;;;:40;;12103:14;12078:24;:40::i;:::-;-1:-1:-1;;;;;12055:20:0;;;;;;;:9;:20;;;;;;;:63;;;;12146:43;;;;;;-1:-1:-1;;;;;;;;;;;12146:43:0;;;12174:14;14924:25:1;;14912:2;14897:18;;14778:177;12146:43:0;;;;;;;;-1:-1:-1;12207:4:0;;10541:1678;-1:-1:-1;;;;10541:1678:0:o;381:136::-;439:7;466:43;470:1;473;466:43;;;;;;;;;;;;;;;;;:3;:43::i;15351:1992::-;8068:6;:13;;-1:-1:-1;;8068:13:0;8077:4;8068:13;;;15444:16:::1;::::0;15427:12:::1;::::0;8068:6;;15427:34:::1;::::0;:12;:16:::1;:34::i;:::-;15400:61;;15472:20;15494:59;15541:11;;15494:42;15528:7;;15494:29;15510:12;;15494:11;;:15;;:29;;;;:::i;:59::-;15597:13;::::0;15472:81;;-1:-1:-1;15566:28:0::1;15647:67;15712:1;15647:60;15472:81:::0;15647:60;15597:13;15672:16;15647:24:::1;:42::i;:::-;:46:::0;::::1;:60::i;:67::-;15621:93:::0;-1:-1:-1;15725:20:0::1;15748:41;:20:::0;15621:93;15748:24:::1;:41::i;:::-;15884:16;::::0;;15898:1:::1;15884:16:::0;;;;;::::1;::::0;;15725:64;;-1:-1:-1;15826:21:0::1;::::0;15802::::1;::::0;15884:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15884:16:0::1;15860:40;;15929:4;15911;15916:1;15911:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15911:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15955:4:::1;::::0;;15945:7;;15955:4;::::1;::::0;15945;;15955;15945:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15945:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15972:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15972:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;16044:12;;15972:6:::1;::::0;16087:4;;16114::::1;::::0;16134:15:::1;::::0;15972:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16173:17;16193:40;16219:13;16193:21;:25;;:40;;;;:::i;:::-;16173:60:::0;-1:-1:-1;16246:19:0::1;16268:41;16285:23;:16:::0;16306:1:::1;16285:20;:23::i;:::-;16268:12:::0;;:16:::1;:41::i;:::-;16246:63;;16330:26;16359:73;16430:1;16359:66;16413:11;16359:49;16373:34;16390:16;;16373:12;;:16;;:34;;;;:::i;:::-;16359:9:::0;;:13:::1;:49::i;:73::-;16330:102;;16443:26;16472:66;16526:11;16472:49;16486:34;16503:16;;16486:12;;:16;;:34;;;;:::i;:::-;16472:9:::0;;:13:::1;:49::i;:66::-;16443:95;;16549:20;16572:54;16614:11;16572:37;16586:22;16597:10;;16586:6;;:10;;:22;;;;:::i;16572:54::-;16549:77;;16637:20;16660:54;16702:11;16660:37;16674:22;16685:10;;16674:6;;:10;;:22;;;;:::i;:::-;16660:9:::0;;:13:::1;:37::i;:54::-;16756:20;::::0;16748:65:::1;::::0;16637:77;;-1:-1:-1;16728:15:0::1;::::0;-1:-1:-1;;;;;16756:20:0;;::::1;::::0;16790:18;;16728:15;16748:65;16728:15;16748:65;16790:18;16756:20;16748:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16848:21:0::1;::::0;16840:60:::1;::::0;16727:86;;-1:-1:-1;;;;;;16848:21:0::1;::::0;16883:12;;16840:60:::1;::::0;;;16883:12;16848:21;16840:60:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16935:14:0::1;::::0;16927:53:::1;::::0;16824:76;;-1:-1:-1;;;;;;16935:14:0::1;::::0;16963:12;;16927:53:::1;::::0;;;16963:12;16935:14;16927:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;17014:5:0::1;::::0;-1:-1:-1;;17035:19:0;;;-1:-1:-1;17032:294:0::1;;17070:6;::::0;17244:21:::1;::::0;17070:244:::1;::::0;-1:-1:-1;;;17070:244:0;;17146:4:::1;17070:244;::::0;::::1;7342:34:1::0;7392:18;;;7385:34;;;17070:6:0::1;7435:18:1::0;;;7428:34;;;7478:18;;;7471:34;-1:-1:-1;;;;;17244:21:0;;::::1;7521:19:1::0;;;7514:44;17284:15:0::1;7574:19:1::0;;;7567:35;17070:6:0;::::1;::::0;:22:::1;::::0;17100:18;;7276:19:1;;17070:244:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17032:294;-1:-1:-1::0;;8086:6:0;:14;;-1:-1:-1;;8086:14:0;;;-1:-1:-1;;;;;;;;;;;;15351:1992:0:o;977:132::-;1035:7;1062:39;1066:1;1069;1062:39;;;;;;;;;;;;;;;;;:3;:39::i;12231:330::-;12361:53;;;;;;;;;;;-1:-1:-1;;;12361:53:0;;;;;;;;-1:-1:-1;;;;;12361:17:0;;12324:4;12361:17;;;:9;:17;;;;;;;:53;;12383:6;;12361:21;:53::i;:::-;-1:-1:-1;;;;;12341:17:0;;;;;;;:9;:17;;;;;;:73;;;;12448:20;;;;;;;:32;;12473:6;12448:24;:32::i;:::-;-1:-1:-1;;;;;12425:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12496:35;;;;;;-1:-1:-1;;;;;;;;;;;12496:35:0;;;12524:6;14924:25:1;;14912:2;14897:18;;14778:177;12496:35:0;;;;;;;;-1:-1:-1;12549:4:0;12231:330;;;;;:::o;14828:226::-;14937:10;14877:4;14911:37;;;:25;:37;;;;;;;;14910:38;:58;;;;-1:-1:-1;14962:6:0;;;;14961:7;14910:58;:82;;;;-1:-1:-1;14981:11:0;;-1:-1:-1;;;14981:11:0;;;;14910:82;:136;;;;-1:-1:-1;;15033:13:0;;15023:4;15005:24;;;;:9;:24;;;;;;:41;;;14828:226::o;12582:932::-;12671:7;12724:17;;12709:12;:32;12705:181;;;12775:4;;-1:-1:-1;;;;;12762:17:0;;;12775:4;;12762:17;;;;:49;;-1:-1:-1;12804:6:0;;-1:-1:-1;;;;;12783:28:0;;;12804:6;;12783:28;;12762:49;12758:113;;;-1:-1:-1;;;;;12832:16:0;;;;;;:5;:16;;;;;:23;;-1:-1:-1;;12832:23:0;12851:4;12832:23;;;12758:113;12906:17;12926:56;12967:14;;12926:36;12937:24;12953:7;;12937:11;;:15;;:24;;;;:::i;:::-;12926:6;;:10;:36::i;:56::-;12906:76;;12993:21;13017:39;13041:14;;13017:19;13028:7;;13017:6;:10;;:19;;;;:::i;:39::-;12993:63;-1:-1:-1;13067:22:0;13092:28;:9;12993:63;13092:13;:28::i;:::-;13178:4;13160:24;;;;:9;:24;;;;;;13067:53;;-1:-1:-1;13160:39:0;;13189:9;13160:28;:39::i;:::-;13151:4;13133:24;;;;:9;:24;;;;;;;:66;;;;13215:42;;-1:-1:-1;;;;;13215:42:0;;;-1:-1:-1;;;;;;;;;;;13215:42:0;;;13247:9;14924:25:1;;14912:2;14897:18;;14778:177;13215:42:0;;;;;;;;13273:17;;13270:191;;13346:15;;-1:-1:-1;;;;;13346:15:0;13336:26;;;;:9;:26;;;;;;:45;;13367:13;13336:30;:45::i;:::-;13317:15;;;-1:-1:-1;;;;;13317:15:0;;;13307:26;;;;:9;:26;;;;;;;;;:74;;;;13418:15;;13401:48;;14924:25:1;;;13418:15:0;;;;13401:48;;;;-1:-1:-1;;;;;;;;;;;13401:48:0;14897:18:1;13401:48:0;;;;;;;13270:191;13480:26;:6;13491:14;13480:10;:26::i;:::-;13473:33;12582:932;-1:-1:-1;;;;;;;12582:932:0:o;13522:723::-;13593:7;13614:17;13634:61;13680:14;;13634:41;13645:29;13662:11;;13645:12;;:16;;:29;;;;:::i;13634:61::-;13614:81;;13706:21;13730:43;13758:14;;13730:23;13741:11;;13730:6;:10;;:23;;;;:::i;:43::-;13706:67;-1:-1:-1;13784:22:0;13809:28;:9;13706:67;13809:13;:28::i;:::-;13895:4;13877:24;;;;:9;:24;;;;;;13784:53;;-1:-1:-1;13877:39:0;;13906:9;13877:28;:39::i;:::-;13868:4;13850:24;;;;:9;:24;;;;;;;:66;;;;13932:42;;-1:-1:-1;;;;;13932:42:0;;;-1:-1:-1;;;;;;;;;;;13932:42:0;;;13964:9;14924:25:1;;14912:2;14897:18;;14778:177;13932:42:0;;;;;;;;13990:17;;13987:191;;14063:15;;-1:-1:-1;;;;;14063:15:0;14053:26;;;;:9;:26;;;;;;:45;;14084:13;14053:30;:45::i;:::-;14034:15;;;-1:-1:-1;;;;;14034:15:0;;;14024:26;;;;:9;:26;;;;;;;;;:74;;;;14135:15;;14118:48;;14924:25:1;;;14135:15:0;;;;14118:48;;;;-1:-1:-1;;;;;;;;;;;14118:48:0;14897:18:1;14118:48:0;;;;;;;13987:191;14197:26;:6;14208:14;14197:10;:26::i;:::-;14190:33;13522:723;-1:-1:-1;;;;;;13522:723:0:o;14253:563::-;14366:11;;14407:17;;14328:7;;14366:11;14392:12;:32;14388:83;;;-1:-1:-1;14452:2:0;14388:83;14526:14;;14481:17;;14501:40;;:20;:6;14512:8;14501:10;:20::i;:40::-;14481:60;-1:-1:-1;14582:13:0;;14578:176;;14657:4;14639:24;;;;:9;:24;;;;;;:39;;14668:9;14639:28;:39::i;:::-;14630:4;14612:24;;;;:9;:24;;;;;;;:66;;;;14699:42;;-1:-1:-1;;;;;14699:42:0;;;-1:-1:-1;;;;;;;;;;;14699:42:0;;;14731:9;14924:25:1;;14912:2;14897:18;;14778:177;14699:42:0;;;;;;;;14578:176;14786:21;:6;14797:9;14786:10;:21::i;721:250::-;779:7;803:6;799:47;;-1:-1:-1;833:1:0;826:8;;799:47;858:9;870:5;874:1;870;:5;:::i;:::-;858:17;-1:-1:-1;903:1:0;894:5;898:1;858:17;894:5;:::i;:::-;:10;886:56;;;;-1:-1:-1;;;886:56:0;;13102:2:1;886:56:0;;;13084:21:1;13141:2;13121:18;;;13114:30;13180:34;13160:18;;;13153:62;-1:-1:-1;;;13231:18:1;;;13224:31;13272:19;;886:56:0;12900:397:1;1115:189:0;1201:7;1236:12;1229:5;1221:28;;;;-1:-1:-1;;;1221:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1260:9:0;1272:5;1276:1;1272;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;526:388::-;594:6;602;655:2;643:9;634:7;630:23;626:32;623:52;;;671:1;668;661:12;623:52;710:9;697:23;729:31;754:5;729:31;:::i;:::-;779:5;-1:-1:-1;836:2:1;821:18;;808:32;849:33;808:32;849:33;:::i;:::-;901:7;891:17;;;526:388;;;;;:::o;919:813::-;1014:6;1022;1030;1038;1046;1099:3;1087:9;1078:7;1074:23;1070:33;1067:53;;;1116:1;1113;1106:12;1067:53;1155:9;1142:23;1174:31;1199:5;1174:31;:::i;:::-;1224:5;-1:-1:-1;1281:2:1;1266:18;;1253:32;1294:33;1253:32;1294:33;:::i;:::-;1346:7;-1:-1:-1;1405:2:1;1390:18;;1377:32;1418:33;1377:32;1418:33;:::i;:::-;1470:7;-1:-1:-1;1529:2:1;1514:18;;1501:32;1542:33;1501:32;1542:33;:::i;:::-;1594:7;-1:-1:-1;1653:3:1;1638:19;;1625:33;1667;1625;1667;:::i;:::-;1719:7;1709:17;;;919:813;;;;;;;;:::o;1737:456::-;1814:6;1822;1830;1883:2;1871:9;1862:7;1858:23;1854:32;1851:52;;;1899:1;1896;1889:12;1851:52;1938:9;1925:23;1957:31;1982:5;1957:31;:::i;:::-;2007:5;-1:-1:-1;2064:2:1;2049:18;;2036:32;2077:33;2036:32;2077:33;:::i;:::-;1737:456;;2129:7;;-1:-1:-1;;;2183:2:1;2168:18;;;;2155:32;;1737:456::o;2198:382::-;2263:6;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2379:9;2366:23;2398:31;2423:5;2398:31;:::i;:::-;2448:5;-1:-1:-1;2505:2:1;2490:18;;2477:32;2518:30;2477:32;2518:30;:::i;2585:315::-;2653:6;2661;2714:2;2702:9;2693:7;2689:23;2685:32;2682:52;;;2730:1;2727;2720:12;2682:52;2769:9;2756:23;2788:31;2813:5;2788:31;:::i;:::-;2838:5;2890:2;2875:18;;;;2862:32;;-1:-1:-1;;;2585:315:1:o;2905:750::-;2997:6;3005;3013;3066:2;3054:9;3045:7;3041:23;3037:32;3034:52;;;3082:1;3079;3072:12;3034:52;3122:9;3109:23;3151:18;3192:2;3184:6;3181:14;3178:34;;;3208:1;3205;3198:12;3178:34;3246:6;3235:9;3231:22;3221:32;;3291:7;3284:4;3280:2;3276:13;3272:27;3262:55;;3313:1;3310;3303:12;3262:55;3353:2;3340:16;3379:2;3371:6;3368:14;3365:34;;;3395:1;3392;3385:12;3365:34;3450:7;3443:4;3433:6;3430:1;3426:14;3422:2;3418:23;3414:34;3411:47;3408:67;;;3471:1;3468;3461:12;3408:67;3502:4;3494:13;;;;-1:-1:-1;3526:6:1;-1:-1:-1;;3567:20:1;;3554:34;3597:28;3554:34;3597:28;:::i;:::-;3644:5;3634:15;;;2905:750;;;;;:::o;3660:245::-;3727:6;3780:2;3768:9;3759:7;3755:23;3751:32;3748:52;;;3796:1;3793;3786:12;3748:52;3828:9;3822:16;3847:28;3869:5;3847:28;:::i;3910:309::-;3975:6;3983;4036:2;4024:9;4015:7;4011:23;4007:32;4004:52;;;4052:1;4049;4042:12;4004:52;4091:9;4078:23;4110:28;4132:5;4110:28;:::i;4224:180::-;4283:6;4336:2;4324:9;4315:7;4311:23;4307:32;4304:52;;;4352:1;4349;4342:12;4304:52;-1:-1:-1;4375:23:1;;4224:180;-1:-1:-1;4224:180:1:o;4409:306::-;4497:6;4505;4513;4566:2;4554:9;4545:7;4541:23;4537:32;4534:52;;;4582:1;4579;4572:12;4534:52;4611:9;4605:16;4595:26;;4661:2;4650:9;4646:18;4640:25;4630:35;;4705:2;4694:9;4690:18;4684:25;4674:35;;4409:306;;;;;:::o;4720:523::-;4824:6;4832;4840;4848;4856;4864;4917:3;4905:9;4896:7;4892:23;4888:33;4885:53;;;4934:1;4931;4924:12;4885:53;-1:-1:-1;;4957:23:1;;;5027:2;5012:18;;4999:32;;-1:-1:-1;5078:2:1;5063:18;;5050:32;;5129:2;5114:18;;5101:32;;-1:-1:-1;5180:3:1;5165:19;;5152:33;;-1:-1:-1;5232:3:1;5217:19;5204:33;;-1:-1:-1;4720:523:1;-1:-1:-1;4720:523:1:o;7613:794::-;7835:2;7847:21;;;7820:18;;7903:22;;;7787:4;7982:6;7956:2;7941:18;;7787:4;8016:304;8030:6;8027:1;8024:13;8016:304;;;8105:6;8092:20;8125:31;8150:5;8125:31;:::i;:::-;-1:-1:-1;;;;;8181:31:1;8169:44;;8236:4;8295:15;;;;8260:12;;;;8209:1;8045:9;8016:304;;;8020:3;8337;8329:11;;;;8392:6;8385:14;8378:22;8371:4;8360:9;8356:20;8349:52;7613:794;;;;;;:::o;9093:597::-;9205:4;9234:2;9263;9252:9;9245:21;9295:6;9289:13;9338:6;9333:2;9322:9;9318:18;9311:34;9363:1;9373:140;9387:6;9384:1;9381:13;9373:140;;;9482:14;;;9478:23;;9472:30;9448:17;;;9467:2;9444:26;9437:66;9402:10;;9373:140;;;9531:6;9528:1;9525:13;9522:91;;;9601:1;9596:2;9587:6;9576:9;9572:22;9568:31;9561:42;9522:91;-1:-1:-1;9674:2:1;9653:15;-1:-1:-1;;9649:29:1;9634:45;;;;9681:2;9630:54;;9093:597;-1:-1:-1;;;9093:597:1:o;10393:341::-;10595:2;10577:21;;;10634:2;10614:18;;;10607:30;-1:-1:-1;;;10668:2:1;10653:18;;10646:47;10725:2;10710:18;;10393:341::o;10739:398::-;10941:2;10923:21;;;10980:2;10960:18;;;10953:30;11019:34;11014:2;10999:18;;10992:62;-1:-1:-1;;;11085:2:1;11070:18;;11063:32;11127:3;11112:19;;10739:398::o;13636:329::-;13838:2;13820:21;;;13877:1;13857:18;;;13850:29;-1:-1:-1;;;13910:2:1;13895:18;;13888:36;13956:2;13941:18;;13636:329::o;14960:980::-;15222:4;15270:3;15259:9;15255:19;15301:6;15290:9;15283:25;15327:2;15365:6;15360:2;15349:9;15345:18;15338:34;15408:3;15403:2;15392:9;15388:18;15381:31;15432:6;15467;15461:13;15498:6;15490;15483:22;15536:3;15525:9;15521:19;15514:26;;15575:2;15567:6;15563:15;15549:29;;15596:1;15606:195;15620:6;15617:1;15614:13;15606:195;;;15685:13;;-1:-1:-1;;;;;15681:39:1;15669:52;;15776:15;;;;15741:12;;;;15717:1;15635:9;15606:195;;;-1:-1:-1;;;;;;;15857:32:1;;;;15852:2;15837:18;;15830:60;-1:-1:-1;;;15921:3:1;15906:19;15899:35;15818:3;14960:980;-1:-1:-1;;;14960:980:1:o;16602:128::-;16642:3;16673:1;16669:6;16666:1;16663:13;16660:39;;;16679:18;;:::i;:::-;-1:-1:-1;16715:9:1;;16602:128::o;16735:217::-;16775:1;16801;16791:132;;16845:10;16840:3;16836:20;16833:1;16826:31;16880:4;16877:1;16870:15;16908:4;16905:1;16898:15;16791:132;-1:-1:-1;16937:9:1;;16735:217::o;16957:168::-;16997:7;17063:1;17059;17055:6;17051:14;17048:1;17045:21;17040:1;17033:9;17026:17;17022:45;17019:71;;;17070:18;;:::i;:::-;-1:-1:-1;17110:9:1;;16957:168::o;17130:125::-;17170:4;17198:1;17195;17192:8;17189:34;;;17203:18;;:::i;:::-;-1:-1:-1;17240:9:1;;17130:125::o;17260:135::-;17299:3;-1:-1:-1;;17320:17:1;;17317:43;;;17340:18;;:::i;:::-;-1:-1:-1;17387:1:1;17376:13;;17260:135::o;17400:127::-;17461:10;17456:3;17452:20;17449:1;17442:31;17492:4;17489:1;17482:15;17516:4;17513:1;17506:15;17532:127;17593:10;17588:3;17584:20;17581:1;17574:31;17624:4;17621:1;17614:15;17648:4;17645:1;17638:15;17664:127;17725:10;17720:3;17716:20;17713:1;17706:31;17756:4;17753:1;17746:15;17780:4;17777:1;17770:15;17928:131;-1:-1:-1;;;;;18003:31:1;;17993:42;;17983:70;;18049:1;18046;18039:12;18064:118;18150:5;18143:13;18136:21;18129:5;18126:32;18116:60;;18172:1;18169;18162:12
Swarm Source
ipfs://cd501e3cb0e2de0d438e53cd6d9a22f84ec0dfe364062d83d0552b729dde34bb
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.