Token migration announcement. HarryPotterObamaKnuckles10Inu token contract has migrated to a new address.
ERC-20
Overview
Max Total Supply
100,000,000 ETHEREUM
Holders
319 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
96,331.250744301 ETHEREUMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Ethereum
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-11 */ /********************************************************************************************************* ⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⣀⣠⣤⣤⣶⣶⣶⣶⣶⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀ ⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀ ⠀⠀⠀⠀ ⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀ ⠀⠀⠀ ⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆ ⠀⠀ ⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣋⣩⣭⣭⣭⣉⡻⣿⣿⣿⣿⣿⣿ ⣠⣴⣭⣹⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⢣⣼⣿⣿⠛⠁⠘⠿⠿⢻⣿⣿⣿⣿⣿ ⠛⠛⠁⣿⣿⡯⣫⣤⣴⣶⣶⣤⣭⣛⡸⣿⣿⣇⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿ ⠀ ⠀⢀⣴⣷⠬⣉⣀⣈⣹⣿⣿⣿⣿⣿⣷⣮⣝⣛⣯⣤⣤⣤⣤⣭⣛⠿⣿⣿⣿ ⠀ ⠈⠉⣽⣶⣶⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⢛⡛⠛⠿⣿⣿⣷⡌⢻⣿ ⣀⢰⣿⣦⡝⠛⢷⣮⡛⠻⣿⣿⣿⠿⢛⣫⣵⣶⣿⣿⣿⣿⣿⣿⣿⠿⠛⣣⣾⣿ ⣿⢸⣿⡿⠀⣿⣶⣝⢿⣿⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⡿⠟⣩⣵⣶⠇⣿⣿⣿⢹ ⣿⢸⣿⠀⡇⢹⣿⣿⡶⠎⣙⠿⠿⠿⠿⠿⢟⣛⣩⣴⣾⣿⣿⣿⡟⣸⣿⣿⠇⣸ ⣿⡇⠛⢠⣿⡀⣿⣿⠀⠀⠀⠈⠛⠻⠿⠿⣿⣿⠿⠿⠛⠛⠛⠁⠀⣿⡿⠃⠀⣿ ⣿⣿⣧⣿⣿⣷⡘⢿⡇⢸⣦⣤⣀⣀⡀⠀⠀⠀⠀⠀⣀⣀⣤⡄⠼⢋⣴⡇⠸⢋ ⣿⣿⣿⣿⣿⣿⣷⣮⡃⣸⣿⣿⣿⣿⣿⣿⣿⣶⣾⣿⣿⣿⣿⣷⣶⣿⡿⢀⣠⣾ HarryPotterObamaKnuckles10Inu (ETHEREUM) Telegram: http://t.me/hpok10i Website: https://hpok10i.com/ Twitter: https://twitter.com/hpok10i TikTok: https://www.tiktok.com/@hpok10i Medium: https://hpok10i.medium.com/ Discord: https://discord.gg/W46XWyzK6g Instagram:https://www.instagram.com/hpok10i ********************************************************************************************************** */ //SPDX-License-Identifier: MIT pragma solidity ^0.8.13; 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) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } } /** * IERC20 standard interface. */ interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * Allows for contract ownership along with multi-address authorization */ abstract contract Auth { address internal owner; mapping (address => bool) internal _intAddr; constructor(address _owner) { owner = _owner; _intAddr[_owner] = true; } /** * Function modifier to require caller to be contract owner */ modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } /** * Function modifier to require caller to be authorized */ modifier authorized() { require(isAuthorized(msg.sender), "!AUTHORIZED"); _; } /** * Authorize address. Owner only */ function authorize(address adr) public onlyOwner { _intAddr[adr] = true; } /** * Remove address' authorization. Owner only */ function unauthorize(address adr) public onlyOwner { _intAddr[adr] = false; } /** * Check if address is owner */ function isOwner(address account) public view returns (bool) { return account == owner; } /** * Return address' authorization status */ function isAuthorized(address adr) internal view returns (bool) { return _intAddr[adr]; } /** * */ function transferOwnership(address payable adr) public onlyOwner { owner = adr; _intAddr[adr] = true; 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; } contract Ethereum is IERC20, Auth { using SafeMath for uint256; address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // MAINNET string constant _name = "HarryPotterObamaKnuckles10Inu "; string constant _symbol = "ETHEREUM"; uint8 constant _decimals = 9; uint256 _totalSupply = 100000000 * (10 ** _decimals); uint256 public _maxTxAmount = (_totalSupply * 100) / 100; uint256 public _maxWalletSize = (_totalSupply * 100) / 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; mapping (address => bool) isTimelockExempt; mapping (address => bool) public isBlacklisted; uint256 liquidityFee = 0; uint256 buybackFee = 0; uint256 devFee = 0; uint256 totalFee = 0; uint256 feeDenominator = 100; uint256 public _sellMultiplier = 1; address public devFeeReceiver = 0xFBd476E91A4f2F5b7Ce48819AA159c142883300B; address public buybackFeeReceiver = 0x6E84f68b17E73DE70c9c76a440ed48eC0581C1c9; IDEXRouter public router; address public pair; uint256 public launchedAt; bool public tradingOpen = true; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 1000 * 3; // 0.3% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } // Cooldown & timer functionality bool public opCooldownEnabled = true; uint8 public cooldownTimerInterval = 15; mapping (address => uint) private cooldownTimer; constructor () Auth(msg.sender) { router = IDEXRouter(routerAddress); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; address _owner = owner; isFeeExempt[msg.sender] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[address(this)] = true; isTxLimitExempt[routerAddress] = true; // No timelock for these people isTimelockExempt[msg.sender] = true; isTimelockExempt[DEAD] = true; isTimelockExempt[address(this)] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _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) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if(!_intAddr[sender] && !_intAddr[recipient]){ require(tradingOpen,"Trading not open yet"); } checkTxLimit(sender, amount); // Check if address is blacklisted require(!isBlacklisted[recipient] && !isBlacklisted[sender], 'Address is blacklisted'); if (recipient != pair && recipient != DEAD) { require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size."); } if (sender == pair && opCooldownEnabled && !isTimelockExempt[recipient]) { require(cooldownTimer[recipient] < block.timestamp,"Please wait for 1min between two operations"); cooldownTimer[recipient] = block.timestamp + cooldownTimerInterval; } if(shouldSwapBack()){ swapBack(); } if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : 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; } function checkTxLimit(address sender, uint256 amount) internal view { require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function getTotalFee(bool selling) public view returns (uint256) { if(launchedAt + 1 >= block.number){ return feeDenominator.sub(1); } if(selling) { return totalFee.mul(_sellMultiplier); } return totalFee; } function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } // switch Trading function tradingStatus(bool _status) public authorized { tradingOpen = _status; if(tradingOpen){ launchedAt = block.number; } } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 contractTokenBalance = balanceOf(address(this)); uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2); uint256 amountETHbuyback = amountETH.mul(buybackFee).div(totalETHFee); uint256 amountETHDev = amountETH.mul(devFee).div(totalETHFee); (bool DevSuccess, /* bytes memory data */) = payable(devFeeReceiver).call{value: amountETHDev, gas: 30000}(""); require(DevSuccess, "receiver rejected ETH transfer"); (bool BuyBackSuccess, /* bytes memory data */) = payable(buybackFeeReceiver).call{value: amountETHbuyback, gas: 30000}(""); require(BuyBackSuccess, "receiver rejected ETH transfer"); if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, devFeeReceiver, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } function buyTokens(uint256 amount, address to) internal swapping { address[] memory path = new address[](2); path[0] = WETH; path[1] = address(this); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}( 0, path, to, block.timestamp ); } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() internal { launchedAt = block.number; } function setMaxWallet(uint256 amount) external onlyOwner() { require(amount >= _totalSupply / 1000 ); _maxWalletSize = amount; } function setFees(uint256 _liquidityFee, uint256 _devFee, uint256 _buybackFee, uint256 _feeDenominator) external authorized { liquidityFee = _liquidityFee; devFee = _devFee; buybackFee = _buybackFee; totalFee = _liquidityFee.add(_devFee).add(_buybackFee); feeDenominator = _feeDenominator; require(totalFee < feeDenominator/3); } // enable cooldown between trades function cooldownEnabled(bool _status, uint8 _interval) public authorized { opCooldownEnabled = _status; cooldownTimerInterval = _interval; } function setIsFeeExempt(address holder, bool exempt) external authorized { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external authorized { isTxLimitExempt[holder] = exempt; } function setSellMultiplier(uint256 multiplier) external authorized{ _sellMultiplier = multiplier; } function setFeeReceiver(address _devFeeReceiver, address _buybackFeeReceiver) external authorized { devFeeReceiver = _devFeeReceiver; buybackFeeReceiver = _buybackFeeReceiver; } // Set the maximum transaction limit function setTxLimit(uint256 amountBuy) external authorized { _maxTxAmount = amountBuy; } function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized { swapEnabled = _enabled; swapThreshold = _amount; } // Blacklist/unblacklist an address function blacklistAddress(address _address, bool _value) public authorized{ isBlacklisted[_address] = _value; } function manualSend() external authorized { uint256 contractETHBalance = address(this).balance; payable(devFeeReceiver).transfer(contractETHBalance); } function transferForeignToken(address _token) public authorized { require(_token != address(this), "Can't let you take all native token"); uint256 _contractBalance = IERC20(_token).balanceOf(address(this)); payable(devFeeReceiver).transfer(_contractBalance); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } event AutoLiquify(uint256 amountETH, uint256 amountBOG); }
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":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMultiplier","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":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buybackFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint8","name":"_interval","type":"uint8"}],"name":"cooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","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":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","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":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"opCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_buybackFeeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","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":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"setSellMultiplier","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":"amountBuy","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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","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":"_token","type":"address"}],"name":"transferForeignToken","outputs":[],"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":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600280546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560038054821661dead179055600480548216905560058054909116737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200006e6009600a620004bf565b6200007e906305f5e100620004d7565b60065560646006546064620000949190620004d7565b620000a09190620004f9565b60075560646006546064620000b69190620004d7565b620000c29190620004f9565b6008556000600f8190556010819055601181905560125560646013556001601455601580546001600160a01b031990811673fbd476e91a4f2f5b7ce48819aa159c142883300b1790915560168054909116736e84f68b17e73de70c9c76a440ed48ec0581c1c9179055601a805461010161ffff199091161790556006546200014e906103e890620004f9565b6200015b906003620004d7565b601b55601c805462ffff001916620f01001790553480156200017c57600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155600554601780546001600160a01b03909216919093168117909255825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa158015620001ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022591906200051c565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200051c565b601880546001600160a01b0319166001600160a01b03928316179055306000818152600a602090815260408083206017548616845282528083206000199055825433808552600b8452828520805460ff199081166001908117909255600c865284872080548216831790558787528487208054821683179055600554891687528487208054821683179055918652600d8552838620805483168217905560035488168652838620805483168217905595855282852080549091169095179094556006549390941680835260098252848320849055935192835283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000547565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000401578160001904821115620003e557620003e5620003aa565b80851615620003f357918102915b93841c9390800290620003c5565b509250929050565b6000826200041a57506001620004b9565b816200042957506000620004b9565b81600181146200044257600281146200044d576200046d565b6001915050620004b9565b60ff841115620004615762000461620003aa565b50506001821b620004b9565b5060208310610133831016604e8410600b841016171562000492575081810a620004b9565b6200049e8383620003c0565b8060001904821115620004b557620004b5620003aa565b0290505b92915050565b6000620004d060ff84168362000409565b9392505050565b6000816000190483118215151615620004f457620004f4620003aa565b500290565b6000826200051757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200052f57600080fd5b81516001600160a01b0381168114620004d057600080fd5b61220180620005576000396000f3fe6080604052600436106102815760003560e01c8063893d20e81161014f578063dc93cf70116100c1578063f2fde38b1161007a578063f2fde38b1461080b578063f42938901461082b578063f84ba65d14610840578063f887ea4014610860578063fe575a8714610880578063ffb54a99146108b057600080fd5b8063dc93cf7014610725578063dd62ed3e14610745578063df20fd491461078b578063e66db25e146107ab578063f0b37c04146107cb578063f1f3bca3146107eb57600080fd5b8063a9059cbb11610113578063a9059cbb14610670578063b6a5d7de14610690578063ba344dc4146106b0578063bf56b371146106cf578063d51ed1c8146106e5578063dab84ee71461070557600080fd5b8063893d20e8146105cb5780638f9a55c0146105e957806395d89b41146105ff578063a7bc1de014610630578063a8aa1b311461065057600080fd5b8063313ce567116101f35780636ddd1713116101ac5780636ddd1713146104e85780636fcba3771461050757806370a0823114610527578063722b62ad1461055d5780637d1db4a51461057d57806384b1d1ef1461059357600080fd5b8063313ce56714610426578063455a439614610448578063571ac8b0146104685780635c85974f146104885780635d0044ca146104a8578063658d4b7f146104c857600080fd5b806318160ddd1161024557806318160ddd1461037757806323b872dd1461038c57806324e9bafb146103ac5780632b112e49146103c25780632d594567146103d75780632f54bf6e146103f757600080fd5b80630445b6671461028d57806306fdde03146102b6578063095ea7b3146103055780630d295980146103355780631161ae391461035757600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a3601b5481565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b5060408051808201909152601e81527f4861727279506f747465724f62616d614b6e75636b6c65733130496e7520000060208201525b6040516102ad9190611de5565b34801561031157600080fd5b50610325610320366004611e4f565b6108ca565b60405190151581526020016102ad565b34801561034157600080fd5b50610355610350366004611e90565b610937565b005b34801561036357600080fd5b50610325610372366004611eab565b610986565b34801561038357600080fd5b506006546102a3565b34801561039857600080fd5b506103256103a7366004611ecd565b61099a565b3480156103b857600080fd5b506102a360145481565b3480156103ce57600080fd5b506102a3610a5c565b3480156103e357600080fd5b506103556103f2366004611f0e565b610aae565b34801561040357600080fd5b50610325610412366004611f4b565b6000546001600160a01b0391821691161490565b34801561043257600080fd5b5060095b60405160ff90911681526020016102ad565b34801561045457600080fd5b50610355610463366004611f68565b610b04565b34801561047457600080fd5b50610325610483366004611f4b565b610b54565b34801561049457600080fd5b506103556104a3366004611f9d565b610b62565b3480156104b457600080fd5b506103556104c3366004611f9d565b610b8c565b3480156104d457600080fd5b506103556104e3366004611f68565b610bd7565b3480156104f457600080fd5b50601a5461032590610100900460ff1681565b34801561051357600080fd5b50610355610522366004611fb6565b610c27565b34801561053357600080fd5b506102a3610542366004611f4b565b6001600160a01b031660009081526009602052604090205490565b34801561056957600080fd5b50601c546104369062010000900460ff1681565b34801561058957600080fd5b506102a360075481565b34801561059f57600080fd5b506016546105b3906001600160a01b031681565b6040516001600160a01b0390911681526020016102ad565b3480156105d757600080fd5b506000546001600160a01b03166105b3565b3480156105f557600080fd5b506102a360085481565b34801561060b57600080fd5b50604080518082019091526008815267455448455245554d60c01b60208201526102f8565b34801561063c57600080fd5b5061035561064b366004611f9d565b610c95565b34801561065c57600080fd5b506018546105b3906001600160a01b031681565b34801561067c57600080fd5b5061032561068b366004611e4f565b610cbf565b34801561069c57600080fd5b506103556106ab366004611f4b565b610ccc565b3480156106bc57600080fd5b50601c5461032590610100900460ff1681565b3480156106db57600080fd5b506102a360195481565b3480156106f157600080fd5b506102a3610700366004611f9d565b610d1d565b34801561071157600080fd5b506015546105b3906001600160a01b031681565b34801561073157600080fd5b50610355610740366004611f4b565b610d61565b34801561075157600080fd5b506102a3610760366004611fe8565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561079757600080fd5b506103556107a6366004612016565b610e95565b3480156107b757600080fd5b506103556107c6366004611fe8565b610ed8565b3480156107d757600080fd5b506103556107e6366004611f4b565b610f2b565b3480156107f757600080fd5b506102a3610806366004611e90565b610f76565b34801561081757600080fd5b50610355610826366004611f4b565b610fb8565b34801561083757600080fd5b5061035561104e565b34801561084c57600080fd5b5061035561085b366004611f68565b6110b1565b34801561086c57600080fd5b506017546105b3906001600160a01b031681565b34801561088c57600080fd5b5061032561089b366004611f4b565b600e6020526000908152604090205460ff1681565b3480156108bc57600080fd5b50601a546103259060ff1681565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109259086815260200190565b60405180910390a35060015b92915050565b61094033611101565b6109655760405162461bcd60e51b815260040161095c90612032565b60405180910390fd5b601a805460ff191682151590811790915560ff161561098357436019555b50565b60008261099283610d1d565b119392505050565b6001600160a01b0383166000908152600a6020908152604080832033845290915281205460001914610a47576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610a2291849061111f565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610a52848484611159565b90505b9392505050565b6004546001600160a01b0316600090815260096020526040812054610aa9906003546001600160a01b0316600090815260096020526040902054610aa390600654906115eb565b906115eb565b905090565b610ab733611101565b610ad35760405162461bcd60e51b815260040161095c90612032565b601c805462ffff0019166101009315159390930262ff00001916929092176201000060ff9290921691909102179055565b610b0d33611101565b610b295760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000610931826000196108ca565b610b6b33611101565b610b875760405162461bcd60e51b815260040161095c90612032565b600755565b6000546001600160a01b03163314610bb65760405162461bcd60e51b815260040161095c90612057565b6103e8600654610bc6919061208d565b811015610bd257600080fd5b600855565b610be033611101565b610bfc5760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610c3033611101565b610c4c5760405162461bcd60e51b815260040161095c90612032565b600f84905560118390556010829055610c6f82610c69868661162d565b9061162d565b6012556013819055610c8260038261208d565b60125410610c8f57600080fd5b50505050565b610c9e33611101565b610cba5760405162461bcd60e51b815260040161095c90612032565b601455565b6000610a55338484611159565b6000546001600160a01b03163314610cf65760405162461bcd60e51b815260040161095c90612057565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610931610d2a610a5c565b6018546001600160a01b0316600090815260096020526040902054610d5b90610d5490600261168c565b859061168c565b9061170e565b610d6a33611101565b610d865760405162461bcd60e51b815260040161095c90612032565b306001600160a01b03821603610dea5760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b606482015260840161095c565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5591906120af565b6015546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e90573d6000803e3d6000fd5b505050565b610e9e33611101565b610eba5760405162461bcd60e51b815260040161095c90612032565b601a80549215156101000261ff001990931692909217909155601b55565b610ee133611101565b610efd5760405162461bcd60e51b815260040161095c90612032565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000546001600160a01b03163314610f555760405162461bcd60e51b815260040161095c90612057565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000436019546001610f8891906120c8565b10610f9b576013546109319060016115eb565b8115610fb0576014546012546109319161168c565b505060125490565b6000546001600160a01b03163314610fe25760405162461bcd60e51b815260040161095c90612057565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61105733611101565b6110735760405162461bcd60e51b815260040161095c90612032565b60155460405147916001600160a01b03169082156108fc029083906000818181858888f193505050501580156110ad573d6000803e3d6000fd5b5050565b6110ba33611101565b6110d65760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156111435760405162461bcd60e51b815260040161095c9190611de5565b50600061115084866120e0565b95945050505050565b601c5460009060ff161561117957611172848484611750565b9050610a55565b6001600160a01b03841660009081526001602052604090205460ff161580156111bb57506001600160a01b03831660009081526001602052604090205460ff16155b1561120957601a5460ff166112095760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161095c565b6112138483611836565b6001600160a01b0383166000908152600e602052604090205460ff1615801561125557506001600160a01b0384166000908152600e602052604090205460ff16155b61129a5760405162461bcd60e51b81526020600482015260166024820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b604482015260640161095c565b6018546001600160a01b038481169116148015906112c657506003546001600160a01b03848116911614155b15611371576001600160a01b0383166000908152600c602052604090205460ff168061131757506008546001600160a01b0384166000908152600960205260409020546113149084906120c8565b11155b6113715760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161095c565b6018546001600160a01b0385811691161480156113955750601c54610100900460ff165b80156113ba57506001600160a01b0383166000908152600d602052604090205460ff16155b1561146a576001600160a01b0383166000908152601d6020526040902054421161143a5760405162461bcd60e51b815260206004820152602b60248201527f506c65617365207761697420666f7220316d696e206265747765656e2074776f60448201526a206f7065726174696f6e7360a81b606482015260840161095c565b601c546114509062010000900460ff16426120c8565b6001600160a01b0384166000908152601d60205260409020555b61147261189f565b1561147f5761147f6118f3565b60195415801561149c57506018546001600160a01b038481169116145b156114cc576001600160a01b0384166000908152600960205260409020546114c357600080fd5b6114cc43601955565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526009909152919091205461151e91849061111f565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff1615611553578261155e565b61155e858585611d05565b6001600160a01b038516600090815260096020526040902054909150611584908261162d565b6001600160a01b0380861660008181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115d89085815260200190565b60405180910390a3506001949350505050565b6000610a5583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061111f565b60008061163a83856120c8565b905083811015610a555760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161095c565b60008260000361169e57506000610931565b60006116aa83856120f7565b9050826116b7858361208d565b14610a555760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161095c565b6000610a5583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611db7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526009909152918220546117a191849061111f565b6001600160a01b0380861660009081526009602052604080822093909355908516815220546117d0908361162d565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118249086815260200190565b60405180910390a35060019392505050565b6007548111158061185f57506001600160a01b0382166000908152600c602052604090205460ff165b6110ad5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161095c565b6018546000906001600160a01b031633148015906118c05750601c5460ff16155b80156118d35750601a54610100900460ff165b8015610aa9575050601b5430600090815260096020526040902054101590565b601c805460ff1916600117905530600090815260096020526040812054905060006119346002610d5b601254610d5b600f548761168c90919063ffffffff16565b9050600061194283836115eb565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061197c5761197c612116565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106119ad576119ad612116565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b81524792919091169063791ac947906119f790869060009087903090429060040161212c565b600060405180830381600087803b158015611a1157600080fd5b505af1158015611a25573d6000803e3d6000fd5b505050506000611a3e82476115eb90919063ffffffff16565b90506000611a64611a5b6002600f5461170e90919063ffffffff16565b601254906115eb565b90506000611a866002610d5b84610d5b600f548861168c90919063ffffffff16565b90506000611aa383610d5b6010548761168c90919063ffffffff16565b90506000611ac084610d5b6011548861168c90919063ffffffff16565b6015546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114611b17576040519150601f19603f3d011682016040523d82523d6000602084013e611b1c565b606091505b5050905080611b6d5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161095c565b6016546040516000916001600160a01b03169061753090869084818181858888f193505050503d8060008114611bbf576040519150601f19603f3d011682016040523d82523d6000602084013e611bc4565b606091505b5050905080611c155760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161095c565b8a15611ced5760175460155460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611c8b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cb0919061219d565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601c805460ff1916905550505050505050505050565b6013546018546000918291611d379190610d5b90611d30906001600160a01b03898116911614610f76565b869061168c565b30600090815260096020526040902054909150611d54908261162d565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611da59085815260200190565b60405180910390a361115083826115eb565b60008183611dd85760405162461bcd60e51b815260040161095c9190611de5565b506000611150848661208d565b600060208083528351808285015260005b81811015611e1257858101830151858201604001528201611df6565b81811115611e24576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461098357600080fd5b60008060408385031215611e6257600080fd5b8235611e6d81611e3a565b946020939093013593505050565b80358015158114611e8b57600080fd5b919050565b600060208284031215611ea257600080fd5b610a5582611e7b565b60008060408385031215611ebe57600080fd5b50508035926020909101359150565b600080600060608486031215611ee257600080fd5b8335611eed81611e3a565b92506020840135611efd81611e3a565b929592945050506040919091013590565b60008060408385031215611f2157600080fd5b611f2a83611e7b565b9150602083013560ff81168114611f4057600080fd5b809150509250929050565b600060208284031215611f5d57600080fd5b8135610a5581611e3a565b60008060408385031215611f7b57600080fd5b8235611f8681611e3a565b9150611f9460208401611e7b565b90509250929050565b600060208284031215611faf57600080fd5b5035919050565b60008060008060808587031215611fcc57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611ffb57600080fd5b823561200681611e3a565b91506020830135611f4081611e3a565b6000806040838503121561202957600080fd5b611e6d83611e7b565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826120aa57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156120c157600080fd5b5051919050565b600082198211156120db576120db612077565b500190565b6000828210156120f2576120f2612077565b500390565b600081600019048311821515161561211157612111612077565b500290565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561217c5784516001600160a01b031683529383019391830191600101612157565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156121b257600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212201bf25552b81aaee667e517b81bc82f99adaabd02d6f69d20ab4bba0d3923998964736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106102815760003560e01c8063893d20e81161014f578063dc93cf70116100c1578063f2fde38b1161007a578063f2fde38b1461080b578063f42938901461082b578063f84ba65d14610840578063f887ea4014610860578063fe575a8714610880578063ffb54a99146108b057600080fd5b8063dc93cf7014610725578063dd62ed3e14610745578063df20fd491461078b578063e66db25e146107ab578063f0b37c04146107cb578063f1f3bca3146107eb57600080fd5b8063a9059cbb11610113578063a9059cbb14610670578063b6a5d7de14610690578063ba344dc4146106b0578063bf56b371146106cf578063d51ed1c8146106e5578063dab84ee71461070557600080fd5b8063893d20e8146105cb5780638f9a55c0146105e957806395d89b41146105ff578063a7bc1de014610630578063a8aa1b311461065057600080fd5b8063313ce567116101f35780636ddd1713116101ac5780636ddd1713146104e85780636fcba3771461050757806370a0823114610527578063722b62ad1461055d5780637d1db4a51461057d57806384b1d1ef1461059357600080fd5b8063313ce56714610426578063455a439614610448578063571ac8b0146104685780635c85974f146104885780635d0044ca146104a8578063658d4b7f146104c857600080fd5b806318160ddd1161024557806318160ddd1461037757806323b872dd1461038c57806324e9bafb146103ac5780632b112e49146103c25780632d594567146103d75780632f54bf6e146103f757600080fd5b80630445b6671461028d57806306fdde03146102b6578063095ea7b3146103055780630d295980146103355780631161ae391461035757600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a3601b5481565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b5060408051808201909152601e81527f4861727279506f747465724f62616d614b6e75636b6c65733130496e7520000060208201525b6040516102ad9190611de5565b34801561031157600080fd5b50610325610320366004611e4f565b6108ca565b60405190151581526020016102ad565b34801561034157600080fd5b50610355610350366004611e90565b610937565b005b34801561036357600080fd5b50610325610372366004611eab565b610986565b34801561038357600080fd5b506006546102a3565b34801561039857600080fd5b506103256103a7366004611ecd565b61099a565b3480156103b857600080fd5b506102a360145481565b3480156103ce57600080fd5b506102a3610a5c565b3480156103e357600080fd5b506103556103f2366004611f0e565b610aae565b34801561040357600080fd5b50610325610412366004611f4b565b6000546001600160a01b0391821691161490565b34801561043257600080fd5b5060095b60405160ff90911681526020016102ad565b34801561045457600080fd5b50610355610463366004611f68565b610b04565b34801561047457600080fd5b50610325610483366004611f4b565b610b54565b34801561049457600080fd5b506103556104a3366004611f9d565b610b62565b3480156104b457600080fd5b506103556104c3366004611f9d565b610b8c565b3480156104d457600080fd5b506103556104e3366004611f68565b610bd7565b3480156104f457600080fd5b50601a5461032590610100900460ff1681565b34801561051357600080fd5b50610355610522366004611fb6565b610c27565b34801561053357600080fd5b506102a3610542366004611f4b565b6001600160a01b031660009081526009602052604090205490565b34801561056957600080fd5b50601c546104369062010000900460ff1681565b34801561058957600080fd5b506102a360075481565b34801561059f57600080fd5b506016546105b3906001600160a01b031681565b6040516001600160a01b0390911681526020016102ad565b3480156105d757600080fd5b506000546001600160a01b03166105b3565b3480156105f557600080fd5b506102a360085481565b34801561060b57600080fd5b50604080518082019091526008815267455448455245554d60c01b60208201526102f8565b34801561063c57600080fd5b5061035561064b366004611f9d565b610c95565b34801561065c57600080fd5b506018546105b3906001600160a01b031681565b34801561067c57600080fd5b5061032561068b366004611e4f565b610cbf565b34801561069c57600080fd5b506103556106ab366004611f4b565b610ccc565b3480156106bc57600080fd5b50601c5461032590610100900460ff1681565b3480156106db57600080fd5b506102a360195481565b3480156106f157600080fd5b506102a3610700366004611f9d565b610d1d565b34801561071157600080fd5b506015546105b3906001600160a01b031681565b34801561073157600080fd5b50610355610740366004611f4b565b610d61565b34801561075157600080fd5b506102a3610760366004611fe8565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561079757600080fd5b506103556107a6366004612016565b610e95565b3480156107b757600080fd5b506103556107c6366004611fe8565b610ed8565b3480156107d757600080fd5b506103556107e6366004611f4b565b610f2b565b3480156107f757600080fd5b506102a3610806366004611e90565b610f76565b34801561081757600080fd5b50610355610826366004611f4b565b610fb8565b34801561083757600080fd5b5061035561104e565b34801561084c57600080fd5b5061035561085b366004611f68565b6110b1565b34801561086c57600080fd5b506017546105b3906001600160a01b031681565b34801561088c57600080fd5b5061032561089b366004611f4b565b600e6020526000908152604090205460ff1681565b3480156108bc57600080fd5b50601a546103259060ff1681565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109259086815260200190565b60405180910390a35060015b92915050565b61094033611101565b6109655760405162461bcd60e51b815260040161095c90612032565b60405180910390fd5b601a805460ff191682151590811790915560ff161561098357436019555b50565b60008261099283610d1d565b119392505050565b6001600160a01b0383166000908152600a6020908152604080832033845290915281205460001914610a47576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610a2291849061111f565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610a52848484611159565b90505b9392505050565b6004546001600160a01b0316600090815260096020526040812054610aa9906003546001600160a01b0316600090815260096020526040902054610aa390600654906115eb565b906115eb565b905090565b610ab733611101565b610ad35760405162461bcd60e51b815260040161095c90612032565b601c805462ffff0019166101009315159390930262ff00001916929092176201000060ff9290921691909102179055565b610b0d33611101565b610b295760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000610931826000196108ca565b610b6b33611101565b610b875760405162461bcd60e51b815260040161095c90612032565b600755565b6000546001600160a01b03163314610bb65760405162461bcd60e51b815260040161095c90612057565b6103e8600654610bc6919061208d565b811015610bd257600080fd5b600855565b610be033611101565b610bfc5760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610c3033611101565b610c4c5760405162461bcd60e51b815260040161095c90612032565b600f84905560118390556010829055610c6f82610c69868661162d565b9061162d565b6012556013819055610c8260038261208d565b60125410610c8f57600080fd5b50505050565b610c9e33611101565b610cba5760405162461bcd60e51b815260040161095c90612032565b601455565b6000610a55338484611159565b6000546001600160a01b03163314610cf65760405162461bcd60e51b815260040161095c90612057565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610931610d2a610a5c565b6018546001600160a01b0316600090815260096020526040902054610d5b90610d5490600261168c565b859061168c565b9061170e565b610d6a33611101565b610d865760405162461bcd60e51b815260040161095c90612032565b306001600160a01b03821603610dea5760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b606482015260840161095c565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5591906120af565b6015546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e90573d6000803e3d6000fd5b505050565b610e9e33611101565b610eba5760405162461bcd60e51b815260040161095c90612032565b601a80549215156101000261ff001990931692909217909155601b55565b610ee133611101565b610efd5760405162461bcd60e51b815260040161095c90612032565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000546001600160a01b03163314610f555760405162461bcd60e51b815260040161095c90612057565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000436019546001610f8891906120c8565b10610f9b576013546109319060016115eb565b8115610fb0576014546012546109319161168c565b505060125490565b6000546001600160a01b03163314610fe25760405162461bcd60e51b815260040161095c90612057565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61105733611101565b6110735760405162461bcd60e51b815260040161095c90612032565b60155460405147916001600160a01b03169082156108fc029083906000818181858888f193505050501580156110ad573d6000803e3d6000fd5b5050565b6110ba33611101565b6110d65760405162461bcd60e51b815260040161095c90612032565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156111435760405162461bcd60e51b815260040161095c9190611de5565b50600061115084866120e0565b95945050505050565b601c5460009060ff161561117957611172848484611750565b9050610a55565b6001600160a01b03841660009081526001602052604090205460ff161580156111bb57506001600160a01b03831660009081526001602052604090205460ff16155b1561120957601a5460ff166112095760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161095c565b6112138483611836565b6001600160a01b0383166000908152600e602052604090205460ff1615801561125557506001600160a01b0384166000908152600e602052604090205460ff16155b61129a5760405162461bcd60e51b81526020600482015260166024820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b604482015260640161095c565b6018546001600160a01b038481169116148015906112c657506003546001600160a01b03848116911614155b15611371576001600160a01b0383166000908152600c602052604090205460ff168061131757506008546001600160a01b0384166000908152600960205260409020546113149084906120c8565b11155b6113715760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161095c565b6018546001600160a01b0385811691161480156113955750601c54610100900460ff165b80156113ba57506001600160a01b0383166000908152600d602052604090205460ff16155b1561146a576001600160a01b0383166000908152601d6020526040902054421161143a5760405162461bcd60e51b815260206004820152602b60248201527f506c65617365207761697420666f7220316d696e206265747765656e2074776f60448201526a206f7065726174696f6e7360a81b606482015260840161095c565b601c546114509062010000900460ff16426120c8565b6001600160a01b0384166000908152601d60205260409020555b61147261189f565b1561147f5761147f6118f3565b60195415801561149c57506018546001600160a01b038481169116145b156114cc576001600160a01b0384166000908152600960205260409020546114c357600080fd5b6114cc43601955565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526009909152919091205461151e91849061111f565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff1615611553578261155e565b61155e858585611d05565b6001600160a01b038516600090815260096020526040902054909150611584908261162d565b6001600160a01b0380861660008181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115d89085815260200190565b60405180910390a3506001949350505050565b6000610a5583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061111f565b60008061163a83856120c8565b905083811015610a555760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161095c565b60008260000361169e57506000610931565b60006116aa83856120f7565b9050826116b7858361208d565b14610a555760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161095c565b6000610a5583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611db7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526009909152918220546117a191849061111f565b6001600160a01b0380861660009081526009602052604080822093909355908516815220546117d0908361162d565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118249086815260200190565b60405180910390a35060019392505050565b6007548111158061185f57506001600160a01b0382166000908152600c602052604090205460ff165b6110ad5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161095c565b6018546000906001600160a01b031633148015906118c05750601c5460ff16155b80156118d35750601a54610100900460ff165b8015610aa9575050601b5430600090815260096020526040902054101590565b601c805460ff1916600117905530600090815260096020526040812054905060006119346002610d5b601254610d5b600f548761168c90919063ffffffff16565b9050600061194283836115eb565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061197c5761197c612116565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106119ad576119ad612116565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b81524792919091169063791ac947906119f790869060009087903090429060040161212c565b600060405180830381600087803b158015611a1157600080fd5b505af1158015611a25573d6000803e3d6000fd5b505050506000611a3e82476115eb90919063ffffffff16565b90506000611a64611a5b6002600f5461170e90919063ffffffff16565b601254906115eb565b90506000611a866002610d5b84610d5b600f548861168c90919063ffffffff16565b90506000611aa383610d5b6010548761168c90919063ffffffff16565b90506000611ac084610d5b6011548861168c90919063ffffffff16565b6015546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114611b17576040519150601f19603f3d011682016040523d82523d6000602084013e611b1c565b606091505b5050905080611b6d5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161095c565b6016546040516000916001600160a01b03169061753090869084818181858888f193505050503d8060008114611bbf576040519150601f19603f3d011682016040523d82523d6000602084013e611bc4565b606091505b5050905080611c155760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161095c565b8a15611ced5760175460155460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611c8b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cb0919061219d565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601c805460ff1916905550505050505050505050565b6013546018546000918291611d379190610d5b90611d30906001600160a01b03898116911614610f76565b869061168c565b30600090815260096020526040902054909150611d54908261162d565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611da59085815260200190565b60405180910390a361115083826115eb565b60008183611dd85760405162461bcd60e51b815260040161095c9190611de5565b506000611150848661208d565b600060208083528351808285015260005b81811015611e1257858101830151858201604001528201611df6565b81811115611e24576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461098357600080fd5b60008060408385031215611e6257600080fd5b8235611e6d81611e3a565b946020939093013593505050565b80358015158114611e8b57600080fd5b919050565b600060208284031215611ea257600080fd5b610a5582611e7b565b60008060408385031215611ebe57600080fd5b50508035926020909101359150565b600080600060608486031215611ee257600080fd5b8335611eed81611e3a565b92506020840135611efd81611e3a565b929592945050506040919091013590565b60008060408385031215611f2157600080fd5b611f2a83611e7b565b9150602083013560ff81168114611f4057600080fd5b809150509250929050565b600060208284031215611f5d57600080fd5b8135610a5581611e3a565b60008060408385031215611f7b57600080fd5b8235611f8681611e3a565b9150611f9460208401611e7b565b90509250929050565b600060208284031215611faf57600080fd5b5035919050565b60008060008060808587031215611fcc57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611ffb57600080fd5b823561200681611e3a565b91506020830135611f4081611e3a565b6000806040838503121561202957600080fd5b611e6d83611e7b565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826120aa57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156120c157600080fd5b5051919050565b600082198211156120db576120db612077565b500190565b6000828210156120f2576120f2612077565b500390565b600081600019048311821515161561211157612111612077565b500290565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561217c5784516001600160a01b031683529383019391830191600101612157565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156121b257600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212201bf25552b81aaee667e517b81bc82f99adaabd02d6f69d20ab4bba0d3923998964736f6c634300080d0033
Deployed Bytecode Sourcemap
7288:12684:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8811:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8811:54:0;;;;;;;;10215:80;;;;;;;;;;-1:-1:-1;10287:5:0;;;;;;;;;;;;;;;;;10215:80;;;;;;;:::i;10637:216::-;;;;;;;;;;-1:-1:-1;10637:216:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;10637:216:0;1254:187:1;14339:172:0;;;;;;;;;;-1:-1:-1;14339:172:0;;;;;:::i;:::-;;:::i;:::-;;19751:150;;;;;;;;;;-1:-1:-1;19751:150:0;;;;;:::i;:::-;;:::i;9945:88::-;;;;;;;;;;-1:-1:-1;10018:12:0;;9945:88;;11155:370;;;;;;;;;;-1:-1:-1;11155:370:0;;;;;:::i;:::-;;:::i;8429:34::-;;;;;;;;;;;;;;;;19426:142;;;;;;;;;;;;;:::i;17669:164::-;;;;;;;;;;-1:-1:-1;17669:164:0;;;;;:::i;:::-;;:::i;5277:103::-;;;;;;;;;;-1:-1:-1;5277:103:0;;;;;:::i;:::-;5332:4;5367:5;-1:-1:-1;;;;;5356:16:0;;;5367:5;;5356:16;;5277:103;10039:80;;;;;;;;;;-1:-1:-1;7770:1:0;10039:80;;;3276:4:1;3264:17;;;3246:36;;3234:2;3219:18;10039:80:0;3104:184:1;18805:125:0;;;;;;;;;;-1:-1:-1;18805:125:0;;;;;:::i;:::-;;:::i;10861:122::-;;;;;;;;;;-1:-1:-1;10861:122:0;;;;;:::i;:::-;;:::i;18484:112::-;;;;;;;;;;-1:-1:-1;18484:112:0;;;;;:::i;:::-;;:::i;17068:151::-;;;;;;;;;;-1:-1:-1;17068:151:0;;;;;:::i;:::-;;:::i;17847:120::-;;;;;;;;;;-1:-1:-1;17847:120:0;;;;;:::i;:::-;;:::i;8774:30::-;;;;;;;;;;-1:-1:-1;8774:30:0;;;;;;;;;;;17233:387;;;;;;;;;;-1:-1:-1;17233:387:0;;;;;:::i;:::-;;:::i;10385:105::-;;;;;;;;;;-1:-1:-1;10385:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;10469:18:0;10451:7;10469:18;;;:9;:18;;;;;;;10385:105;9049:39;;;;;;;;;;-1:-1:-1;9049:39:0;;;;;;;;;;;7839:56;;;;;;;;;;;;;;;;8557:78;;;;;;;;;;-1:-1:-1;8557:78:0;;;;-1:-1:-1;;;;;8557:78:0;;;;;;-1:-1:-1;;;;;4352:32:1;;;4334:51;;4322:2;4307:18;8557:78:0;4188:203:1;10301:78:0;;;;;;;;;;-1:-1:-1;10353:7:0;10371:5;-1:-1:-1;;;;;10371:5:0;10301:78;;7903:58;;;;;;;;;;;;;;;;10125:84;;;;;;;;;;-1:-1:-1;10199:7:0;;;;;;;;;;;;-1:-1:-1;;;10199:7:0;;;;10125:84;;18109:121;;;;;;;;;;-1:-1:-1;18109:121:0;;;;;:::i;:::-;;:::i;8675:19::-;;;;;;;;;;-1:-1:-1;8675:19:0;;;;-1:-1:-1;;;;;8675:19:0;;;10991:156;;;;;;;;;;-1:-1:-1;10991:156:0;;;;;:::i;:::-;;:::i;4956:88::-;;;;;;;;;;-1:-1:-1;4956:88:0;;;;;:::i;:::-;;:::i;9006:36::-;;;;;;;;;;-1:-1:-1;9006:36:0;;;;;;;;;;;8703:25;;;;;;;;;;;;;;;;19576:167;;;;;;;;;;-1:-1:-1;19576:167:0;;;;;:::i;:::-;;:::i;8476:74::-;;;;;;;;;;-1:-1:-1;8476:74:0;;;;-1:-1:-1;;;;;8476:74:0;;;19118:292;;;;;;;;;;-1:-1:-1;19118:292:0;;;;;:::i;:::-;;:::i;10496:133::-;;;;;;;;;;-1:-1:-1;10496:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;10598:19:0;;;10580:7;10598:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10496:133;18602:156;;;;;;;;;;-1:-1:-1;18602:156:0;;;;;:::i;:::-;;:::i;18236:200::-;;;;;;;;;;-1:-1:-1;18236:200:0;;;;;:::i;:::-;;:::i;5126:91::-;;;;;;;;;;-1:-1:-1;5126:91:0;;;;;:::i;:::-;;:::i;13685:239::-;;;;;;;;;;-1:-1:-1;13685:239:0;;;;;:::i;:::-;;:::i;5589:167::-;;;;;;;;;;-1:-1:-1;5589:167:0;;;;;:::i;:::-;;:::i;18936:174::-;;;;;;;;;;;;;:::i;17975:128::-;;;;;;;;;;-1:-1:-1;17975:128:0;;;;;:::i;:::-;;:::i;8644:24::-;;;;;;;;;;-1:-1:-1;8644:24:0;;;;-1:-1:-1;;;;;8644:24:0;;;8227:46;;;;;;;;;;-1:-1:-1;8227:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8737:30;;;;;;;;;;-1:-1:-1;8737:30:0;;;;;;;;10637:216;10741:10;10712:4;10729:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10729:32:0;;;;;;;;;;:41;;;10786:37;10712:4;;10729:32;;10786:37;;;;10764:6;160:25:1;;148:2;133:18;;14:177;10786:37:0;;;;;;;;-1:-1:-1;10841:4:0;10637:216;;;;;:::o;14339:172::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;;;;;;;;;14405:11:::1;:21:::0;;-1:-1:-1;;14405:21:0::1;::::0;::::1;;::::0;;::::1;::::0;;;::::1;14440:11:::0;14437:67:::1;;;14480:12;14467:10;:25:::0;14437:67:::1;14339:172:::0;:::o;19751:150::-;19831:4;19887:6;19855:29;19875:8;19855:19;:29::i;:::-;:38;;19751:150;-1:-1:-1;;;19751:150:0:o;11155:370::-;-1:-1:-1;;;;;11275:19:0;;11255:4;11275:19;;;:11;:19;;;;;;;;11295:10;11275:31;;;;;;;;-1:-1:-1;;11275:52:0;11272:186;;11377:69;;;;;;;;;;;-1:-1:-1;;;11377:69:0;;;;;;;;-1:-1:-1;;;;;11377:19:0;;-1:-1:-1;11377:19:0;;;:11;:19;;;;;11397:10;11377:31;;;;;;;;;;:69;;11413:6;;11377:35;:69::i;:::-;-1:-1:-1;;;;;11343:19:0;;;;;;:11;:19;;;;;;;;11363:10;11343:31;;;;;;;:103;11272:186;11477:40;11491:6;11499:9;11510:6;11477:13;:40::i;:::-;11470:47;;11155:370;;;;;;:::o;19426:142::-;19554:4;;-1:-1:-1;;;;;19554:4:0;19479:7;10469:18;;;:9;:18;;;;;;19506:54;;19533:4;;-1:-1:-1;;;;;19533:4:0;10451:7;10469:18;;;:9;:18;;;;;;19506:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;19499:61;;19426:142;:::o;17669:164::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;17754:17:::1;:27:::0;;-1:-1:-1;;17792:33:0;17754:27:::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;17792:33:0;;;;;;17754:27:::1;17792:33:::0;;;::::1;::::0;;;::::1;;::::0;;17669:164::o;18805:125::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18890:23:0;;;::::1;;::::0;;;:13:::1;:23;::::0;;;;:32;;-1:-1:-1;;18890:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18805:125::o;10861:122::-;10916:4;10940:35;10948:7;-1:-1:-1;;10940:7:0;:35::i;18484:112::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;18554:12:::1;:24:::0;18484:112::o;17068:151::-;5332:4;5367:5;-1:-1:-1;;;;;5367:5:0;4680:10;5356:16;4664:38;;;;-1:-1:-1;;;4664:38:0;;;;;;;:::i;:::-;17171:4:::1;17156:12;;:19;;;;:::i;:::-;17146:6;:29;;17138:39;;;::::0;::::1;;17188:14;:23:::0;17068:151::o;17847:120::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17931:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;17931:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17847:120::o;17233:387::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;17367:12:::1;:28:::0;;;17406:6:::1;:16:::0;;;17433:10:::1;:24:::0;;;17479:43:::1;17446:11:::0;17479:26:::1;17382:13:::0;17415:7;17479:17:::1;:26::i;:::-;:30:::0;::::1;:43::i;:::-;17468:8;:54:::0;17533:14:::1;:32:::0;;;17595:16:::1;17610:1;17550:15:::0;17595:16:::1;:::i;:::-;17584:8;;:27;17576:36;;;::::0;::::1;;17233:387:::0;;;;:::o;18109:121::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;18186:15:::1;:28:::0;18109:121::o;10991:156::-;11071:4;11095:44;11109:10;11121:9;11132:6;11095:13;:44::i;4956:88::-;5332:4;5367:5;-1:-1:-1;;;;;5367:5:0;4680:10;5356:16;4664:38;;;;-1:-1:-1;;;4664:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5016:13:0::1;;::::0;;;5032:4:::1;5016:13;::::0;;;;;;;:20;;-1:-1:-1;;5016:20:0::1;::::0;;::::1;::::0;;4956:88::o;19576:167::-;19644:7;19671:64;19712:22;:20;:22::i;:::-;19694:4;;-1:-1:-1;;;;;19694:4:0;10451:7;10469:18;;;:9;:18;;;;;;19671:36;;19684:22;;19704:1;19684:19;:22::i;:::-;19671:8;;:12;:36::i;:::-;:40;;:64::i;19118:292::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;19219:4:::1;-1:-1:-1::0;;;;;19201:23:0;::::1;::::0;19193:71:::1;;;::::0;-1:-1:-1;;;19193:71:0;;6758:2:1;19193:71:0::1;::::0;::::1;6740:21:1::0;6797:2;6777:18;;;6770:30;6836:34;6816:18;;;6809:62;-1:-1:-1;;;6887:18:1;;;6880:33;6930:19;;19193:71:0::1;6556:399:1::0;19193:71:0::1;19302:39;::::0;-1:-1:-1;;;19302:39:0;;19335:4:::1;19302:39;::::0;::::1;4334:51:1::0;19275:24:0::1;::::0;-1:-1:-1;;;;;19302:24:0;::::1;::::0;::::1;::::0;4307:18:1;;19302:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19360:14;::::0;19352:50:::1;::::0;19275:66;;-1:-1:-1;;;;;;19360:14:0::1;::::0;19352:50;::::1;;;::::0;19275:66;;19360:14:::1;19352:50:::0;19360:14;19352:50;19275:66;19360:14;19352:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;19182:228;19118:292:::0;:::o;18602:156::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;18694:11:::1;:22:::0;;;::::1;;;;-1:-1:-1::0;;18694:22:0;;::::1;::::0;;;::::1;::::0;;;18727:13:::1;:23:::0;18602:156::o;18236:200::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;18345:14:::1;:32:::0;;-1:-1:-1;;;;;18345:32:0;;::::1;-1:-1:-1::0;;;;;;18345:32:0;;::::1;;::::0;;;18388:18:::1;:40:::0;;;;;::::1;::::0;::::1;;::::0;;18236:200::o;5126:91::-;5332:4;5367:5;-1:-1:-1;;;;;5367:5:0;4680:10;5356:16;4664:38;;;;-1:-1:-1;;;4664:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5188:13:0::1;5204:5;5188:13:::0;;;:8:::1;:13;::::0;;;;:21;;-1:-1:-1;;5188:21:0::1;::::0;;5126:91::o;13685:239::-;13741:7;13782:12;13764:10;;13777:1;13764:14;;;;:::i;:::-;:30;13761:67;;13804:14;;:21;;13823:1;13804:18;:21::i;13761:67::-;13841:7;13838:53;;;13872:15;;13859:8;;:29;;:12;:29::i;13838:53::-;-1:-1:-1;;13908:8:0;;;13685:239::o;5589:167::-;5332:4;5367:5;-1:-1:-1;;;;;5367:5:0;4680:10;5356:16;4664:38;;;;-1:-1:-1;;;4664:38:0;;;;;;;:::i;:::-;5665:5:::1;:11:::0;;-1:-1:-1;;;;;;5665:11:0::1;-1:-1:-1::0;;;;;5665:11:0;::::1;::::0;;::::1;::::0;;5687:13;;;-1:-1:-1;5687:13:0::1;::::0;;;;;;;;:20;;-1:-1:-1;;5687:20:0::1;::::0;;::::1;::::0;;;5723:25;;4334:51:1;;;5723:25:0::1;::::0;4307:18:1;5723:25:0::1;;;;;;;5589:167:::0;:::o;18936:174::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;19058:14:::1;::::0;19050:52:::1;::::0;19018:21:::1;::::0;-1:-1:-1;;;;;19058:14:0::1;::::0;19050:52;::::1;;;::::0;19018:21;;18989:26:::1;19050:52:::0;18989:26;19050:52;19018:21;19058:14;19050:52;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18978:132;18936:174::o:0;17975:128::-;4841:24;4854:10;4841:12;:24::i;:::-;4833:48;;;;-1:-1:-1;;;4833:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18063:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;18063:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17975:128::o;5451:103::-;-1:-1:-1;;;;;5533:13:0;5509:4;5533:13;;;:8;:13;;;;;;;;;5451:103::o;2351:192::-;2437:7;2473:12;2465:6;;;;2457:29;;;;-1:-1:-1;;;2457:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2497:9:0;2509:5;2513:1;2509;:5;:::i;:::-;2497:17;2351:192;-1:-1:-1;;;;;2351:192:0:o;11533:1502::-;11645:6;;11625:4;;11645:6;;11642:63;;;11661:41;11676:6;11684:9;11695:6;11661:14;:41::i;:::-;11654:48;;;;11642:63;-1:-1:-1;;;;;11729:16:0;;;;;;:8;:16;;;;;;;;11728:17;:41;;;;-1:-1:-1;;;;;;11750:19:0;;;;;;:8;:19;;;;;;;;11749:20;11728:41;11725:115;;;11793:11;;;;11785:43;;;;-1:-1:-1;;;11785:43:0;;7830:2:1;11785:43:0;;;7812:21:1;7869:2;7849:18;;;7842:30;-1:-1:-1;;;7888:18:1;;;7881:50;7948:18;;11785:43:0;7628:344:1;11785:43:0;11850:28;11863:6;11871;11850:12;:28::i;:::-;-1:-1:-1;;;;;11942:24:0;;;;;;:13;:24;;;;;;;;11941:25;:51;;;;-1:-1:-1;;;;;;11971:21:0;;;;;;:13;:21;;;;;;;;11970:22;11941:51;11933:86;;;;-1:-1:-1;;;11933:86:0;;8179:2:1;11933:86:0;;;8161:21:1;8218:2;8198:18;;;8191:30;-1:-1:-1;;;8237:18:1;;;8230:52;8299:18;;11933:86:0;7977:346:1;11933:86:0;12047:4;;-1:-1:-1;;;;;12034:17:0;;;12047:4;;12034:17;;;;:38;;-1:-1:-1;12068:4:0;;-1:-1:-1;;;;;12055:17:0;;;12068:4;;12055:17;;12034:38;12030:198;;;-1:-1:-1;;;;;12097:26:0;;;;;;:15;:26;;;;;;;;;:77;;-1:-1:-1;12160:14:0;;-1:-1:-1;;;;;12127:20:0;;;;;;:9;:20;;;;;;:29;;12150:6;;12127:29;:::i;:::-;:47;;12097:77;12089:127;;;;-1:-1:-1;;;12089:127:0;;8530:2:1;12089:127:0;;;8512:21:1;8569:2;8549:18;;;8542:30;8608:34;8588:18;;;8581:62;-1:-1:-1;;;8659:18:1;;;8652:35;8704:19;;12089:127:0;8328:401:1;12089:127:0;12252:4;;-1:-1:-1;;;;;12242:14:0;;;12252:4;;12242:14;:48;;;;-1:-1:-1;12273:17:0;;;;;;;12242:48;:93;;;;-1:-1:-1;;;;;;12308:27:0;;;;;;:16;:27;;;;;;;;12307:28;12242:93;12238:304;;;-1:-1:-1;;;;;12360:24:0;;;;;;:13;:24;;;;;;12387:15;-1:-1:-1;12352:97:0;;;;-1:-1:-1;;;12352:97:0;;8936:2:1;12352:97:0;;;8918:21:1;8975:2;8955:18;;;8948:30;9014:34;8994:18;;;8987:62;-1:-1:-1;;;9065:18:1;;;9058:41;9116:19;;12352:97:0;8734:407:1;12352:97:0;12509:21;;12491:39;;12509:21;;;;;12491:15;:39;:::i;:::-;-1:-1:-1;;;;;12464:24:0;;;;;;:13;:24;;;;;:66;12238:304;12555:16;:14;:16::i;:::-;12552:35;;;12574:10;:8;:10::i;:::-;16959;;:15;;;12602:32;;-1:-1:-1;12630:4:0;;-1:-1:-1;;;;;12617:17:0;;;12630:4;;12617:17;12602:32;12599:81;;;-1:-1:-1;;;;;12645:17:0;;12665:1;12645:17;;;:9;:17;;;;;;12637:30;;;;;;12669:8;17041:12;17028:10;:25;16990:71;12669:8;12712:53;;;;;;;;;;;-1:-1:-1;;;12712:53:0;;;;;;;;-1:-1:-1;;;;;12712:17:0;;-1:-1:-1;12712:17:0;;;:9;:17;;;;;;;;:53;;12734:6;;12712:21;:53::i;:::-;-1:-1:-1;;;;;12692:17:0;;;;;;:9;:17;;;;;;;;:73;;;;13650:11;:19;;;;;;;;13649:20;12803:67;;12864:6;12803:67;;;12827:34;12835:6;12843:9;12854:6;12827:7;:34::i;:::-;-1:-1:-1;;;;;12904:20:0;;;;;;:9;:20;;;;;;12778:92;;-1:-1:-1;12904:40:0;;12778:92;12904:24;:40::i;:::-;-1:-1:-1;;;;;12881:20:0;;;;;;;:9;:20;;;;;;;:63;;;;12962:43;;;;;;;;;;12990:14;160:25:1;;148:2;133:18;;14:177;12962:43:0;;;;;;;;-1:-1:-1;13023:4:0;;11533:1502;-1:-1:-1;;;;11533:1502:0:o;2209:136::-;2267:7;2294:43;2298:1;2301;2294:43;;;;;;;;;;;;;;;;;:3;:43::i;2022:181::-;2080:7;;2112:5;2116:1;2112;:5;:::i;:::-;2100:17;;2141:1;2136;:6;;2128:46;;;;-1:-1:-1;;;2128:46:0;;9348:2:1;2128:46:0;;;9330:21:1;9387:2;9367:18;;;9360:30;9426:29;9406:18;;;9399:57;9473:18;;2128:46:0;9146:351:1;2549:250:0;2607:7;2631:1;2636;2631:6;2627:47;;-1:-1:-1;2661:1:0;2654:8;;2627:47;2686:9;2698:5;2702:1;2698;:5;:::i;:::-;2686:17;-1:-1:-1;2731:1:0;2722:5;2726:1;2686:17;2722:5;:::i;:::-;:10;2714:56;;;;-1:-1:-1;;;2714:56:0;;9877:2:1;2714:56:0;;;9859:21:1;9916:2;9896:18;;;9889:30;9955:34;9935:18;;;9928:62;-1:-1:-1;;;10006:18:1;;;9999:31;10047:19;;2714:56:0;9675:397:1;2805:132:0;2863:7;2890:39;2894:1;2897;2890:39;;;;;;;;;;;;;;;;;:3;:39::i;13047:330::-;13177:53;;;;;;;;;;;-1:-1:-1;;;13177:53:0;;;;;;;;-1:-1:-1;;;;;13177:17:0;;13140:4;13177:17;;;:9;:17;;;;;;;:53;;13199:6;;13177:21;:53::i;:::-;-1:-1:-1;;;;;13157:17:0;;;;;;;:9;:17;;;;;;:73;;;;13264:20;;;;;;;:32;;13289:6;13264:24;:32::i;:::-;-1:-1:-1;;;;;13241:20:0;;;;;;;:9;:20;;;;;;;:55;;;;13312:35;;;;;;;;;;13340:6;160:25:1;;148:2;133:18;;14:177;13312:35:0;;;;;;;;-1:-1:-1;13365:4:0;13047:330;;;;;:::o;13385:166::-;13482:12;;13472:6;:22;;:49;;;-1:-1:-1;;;;;;13498:23:0;;;;;;:15;:23;;;;;;;;13472:49;13464:79;;;;-1:-1:-1;;;13464:79:0;;10279:2:1;13464:79:0;;;10261:21:1;10318:2;10298:18;;;10291:30;-1:-1:-1;;;10337:18:1;;;10330:47;10394:18;;13464:79:0;10077:341:1;14519:197:0;14606:4;;14568;;-1:-1:-1;;;;;14606:4:0;14592:10;:18;;;;:38;;-1:-1:-1;14624:6:0;;;;14623:7;14592:38;:62;;;;-1:-1:-1;14643:11:0;;;;;;;14592:62;:116;;;;-1:-1:-1;;14695:13:0;;14685:4;14667:24;;;;:9;:24;;;;;;:41;;;14519:197::o;14724:1791::-;8920:6;:13;;-1:-1:-1;;8920:13:0;8929:4;8920:13;;;14822:4:::1;-1:-1:-1::0;10469:18:0;;;:9;:18;;;;;;14773:55:::1;;14839:23;14865:59;14922:1;14865:52;14908:8;;14865:38;14890:12;;14865:20;:24;;:38;;;;:::i;:59::-;14839:85:::0;-1:-1:-1;14935:20:0::1;14958:41;:20:::0;14839:85;14958:24:::1;:41::i;:::-;15036:16;::::0;;15050:1:::1;15036:16:::0;;;;;::::1;::::0;;14935:64;;-1:-1:-1;15012:21:0::1;::::0;15036:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15036:16:0::1;15012:40;;15081:4;15063;15068:1;15063:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15063:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15107:4:::1;::::0;15097:7;;15107:4;::::1;::::0;15097;;15107;;15097:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15097:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15182:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15182:188:0;;15148:21:::1;::::0;15182:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15254:12;;15124:21:::1;::::0;15297:4;;15324::::1;::::0;15344:15:::1;::::0;15182:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15381:17;15401:40;15427:13;15401:21;:25;;:40;;;;:::i;:::-;15381:60;;15452:19;15474:33;15487:19;15504:1;15487:12;;:16;;:19;;;;:::i;:::-;15474:8;::::0;;:12:::1;:33::i;:::-;15452:55;;15518:26;15547:51;15596:1;15547:44;15579:11;15547:27;15561:12;;15547:9;:13;;:27;;;;:::i;:51::-;15518:80;;15609:24;15636:42;15666:11;15636:25;15650:10;;15636:9;:13;;:25;;;;:::i;:42::-;15609:69;;15689:20;15712:38;15738:11;15712:21;15726:6;;15712:9;:13;;:21;;;;:::i;:38::-;15818:14;::::0;15810:65:::1;::::0;15689:61;;-1:-1:-1;15766:15:0::1;::::0;-1:-1:-1;;;;;15818:14:0;;::::1;::::0;15865:5:::1;::::0;15689:61;;15766:15;15810:65;15766:15;15810:65;15689:61;15818:14;15865:5;15810:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15765:110;;;15894:10;15886:53;;;::::0;-1:-1:-1;;;15886:53:0;;12084:2:1;15886:53:0::1;::::0;::::1;12066:21:1::0;12123:2;12103:18;;;12096:30;12162:32;12142:18;;;12135:60;12212:18;;15886:53:0::1;11882:354:1::0;15886:53:0::1;16007:18;::::0;15999:73:::1;::::0;15951:19:::1;::::0;-1:-1:-1;;;;;16007:18:0::1;::::0;16062:5:::1;::::0;16039:16;;15951:19;15999:73;15951:19;15999:73;16039:16;16007:18;16062:5;15999:73:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15950:122;;;16091:14;16083:57;;;::::0;-1:-1:-1;;;16083:57:0;;12084:2:1;16083:57:0::1;::::0;::::1;12066:21:1::0;12123:2;12103:18;;;12096:30;12162:32;12142:18;;;12135:60;12212:18;;16083:57:0::1;11882:354:1::0;16083:57:0::1;16156:19:::0;;16153:355:::1;;16191:6;::::0;16365:14:::1;::::0;16191:237:::1;::::0;-1:-1:-1;;;16191:237:0;;16267:4:::1;16191:237;::::0;::::1;12582:34:1::0;12632:18;;;12625:34;;;16191:6:0::1;12675:18:1::0;;;12668:34;;;12718:18;;;12711:34;-1:-1:-1;;;;;16365:14:0;;::::1;12761:19:1::0;;;12754:44;16398:15:0::1;12814:19:1::0;;;12807:35;16191:6:0;::::1;::::0;:22:::1;::::0;16221:18;;12516:19:1;;16191:237:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16448:48:0::1;::::0;;13338:25:1;;;13394:2;13379:18;;13372:34;;;16448:48:0::1;::::0;-1:-1:-1;13311:18:1;16448:48:0::1;;;;;;;16153:355;-1:-1:-1::0;;8938:6:0;:14;;-1:-1:-1;;8938:14:0;;;-1:-1:-1;;;;;;;;;;14724:1791:0:o;13932:372::-;14103:14;;14092:4;;14017:7;;;;14057:61;;14103:14;14057:41;;14068:29;;-1:-1:-1;;;;;14080:16:0;;;14092:4;;14080:16;14068:11;:29::i;:::-;14057:6;;:10;:41::i;:61::-;14176:4;14158:24;;;;:9;:24;;;;;;14037:81;;-1:-1:-1;14158:39:0;;14037:81;14158:28;:39::i;:::-;14149:4;14131:24;;;;:9;:24;;;;;;;:66;;;;14213:42;;-1:-1:-1;;;;;14213:42:0;;;;;;;14245:9;160:25:1;;148:2;133:18;;14:177;14213:42:0;;;;;;;;14275:21;:6;14286:9;14275:10;:21::i;2943:345::-;3029:7;3131:12;3124:5;3116:28;;;;-1:-1:-1;;;3116:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3155:9:0;3167:5;3171:1;3167;:5;:::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:315;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1446:160::-;1511:20;;1567:13;;1560:21;1550:32;;1540:60;;1596:1;1593;1586:12;1540:60;1446:160;;;:::o;1611:180::-;1667:6;1720:2;1708:9;1699:7;1695:23;1691:32;1688:52;;;1736:1;1733;1726:12;1688:52;1759:26;1775:9;1759:26;:::i;1796:248::-;1864:6;1872;1925:2;1913:9;1904:7;1900:23;1896:32;1893:52;;;1941:1;1938;1931:12;1893:52;-1:-1:-1;;1964:23:1;;;2034:2;2019:18;;;2006:32;;-1:-1:-1;1796:248:1:o;2049:456::-;2126:6;2134;2142;2195:2;2183:9;2174:7;2170:23;2166:32;2163:52;;;2211:1;2208;2201:12;2163:52;2250:9;2237:23;2269:31;2294:5;2269:31;:::i;:::-;2319:5;-1:-1:-1;2376:2:1;2361:18;;2348:32;2389:33;2348:32;2389:33;:::i;:::-;2049:456;;2441:7;;-1:-1:-1;;;2495:2:1;2480:18;;;;2467:32;;2049:456::o;2510:337::-;2573:6;2581;2634:2;2622:9;2613:7;2609:23;2605:32;2602:52;;;2650:1;2647;2640:12;2602:52;2673:26;2689:9;2673:26;:::i;:::-;2663:36;;2749:2;2738:9;2734:18;2721:32;2793:4;2786:5;2782:16;2775:5;2772:27;2762:55;;2813:1;2810;2803:12;2762:55;2836:5;2826:15;;;2510:337;;;;;:::o;2852:247::-;2911:6;2964:2;2952:9;2943:7;2939:23;2935:32;2932:52;;;2980:1;2977;2970:12;2932:52;3019:9;3006:23;3038:31;3063:5;3038:31;:::i;3293:315::-;3358:6;3366;3419:2;3407:9;3398:7;3394:23;3390:32;3387:52;;;3435:1;3432;3425:12;3387:52;3474:9;3461:23;3493:31;3518:5;3493:31;:::i;:::-;3543:5;-1:-1:-1;3567:35:1;3598:2;3583:18;;3567:35;:::i;:::-;3557:45;;3293:315;;;;;:::o;3613:180::-;3672:6;3725:2;3713:9;3704:7;3700:23;3696:32;3693:52;;;3741:1;3738;3731:12;3693:52;-1:-1:-1;3764:23:1;;3613:180;-1:-1:-1;3613:180:1:o;3798:385::-;3884:6;3892;3900;3908;3961:3;3949:9;3940:7;3936:23;3932:33;3929:53;;;3978:1;3975;3968:12;3929:53;-1:-1:-1;;4001:23:1;;;4071:2;4056:18;;4043:32;;-1:-1:-1;4122:2:1;4107:18;;4094:32;;4173:2;4158:18;4145:32;;-1:-1:-1;3798:385:1;-1:-1:-1;3798:385:1:o;4396:388::-;4464:6;4472;4525:2;4513:9;4504:7;4500:23;4496:32;4493:52;;;4541:1;4538;4531:12;4493:52;4580:9;4567:23;4599:31;4624:5;4599:31;:::i;:::-;4649:5;-1:-1:-1;4706:2:1;4691:18;;4678:32;4719:33;4678:32;4719:33;:::i;4789:248::-;4854:6;4862;4915:2;4903:9;4894:7;4890:23;4886:32;4883:52;;;4931:1;4928;4921:12;4883:52;4954:26;4970:9;4954:26;:::i;5528:335::-;5730:2;5712:21;;;5769:2;5749:18;;;5742:30;-1:-1:-1;;;5803:2:1;5788:18;;5781:41;5854:2;5839:18;;5528:335::o;5868:329::-;6070:2;6052:21;;;6109:1;6089:18;;;6082:29;-1:-1:-1;;;6142:2:1;6127:18;;6120:36;6188:2;6173:18;;5868:329::o;6202:127::-;6263:10;6258:3;6254:20;6251:1;6244:31;6294:4;6291:1;6284:15;6318:4;6315:1;6308:15;6334:217;6374:1;6400;6390:132;;6444:10;6439:3;6435:20;6432:1;6425:31;6479:4;6476:1;6469:15;6507:4;6504:1;6497:15;6390:132;-1:-1:-1;6536:9:1;;6334:217::o;6960:184::-;7030:6;7083:2;7071:9;7062:7;7058:23;7054:32;7051:52;;;7099:1;7096;7089:12;7051:52;-1:-1:-1;7122:16:1;;6960:184;-1:-1:-1;6960:184:1:o;7149:128::-;7189:3;7220:1;7216:6;7213:1;7210:13;7207:39;;;7226:18;;:::i;:::-;-1:-1:-1;7262:9:1;;7149:128::o;7498:125::-;7538:4;7566:1;7563;7560:8;7557:34;;;7571:18;;:::i;:::-;-1:-1:-1;7608:9:1;;7498:125::o;9502:168::-;9542:7;9608:1;9604;9600:6;9596:14;9593:1;9590:21;9585:1;9578:9;9571:17;9567:45;9564:71;;;9615:18;;:::i;:::-;-1:-1:-1;9655:9:1;;9502:168::o;10555:127::-;10616:10;10611:3;10607:20;10604:1;10597:31;10647:4;10644:1;10637:15;10671:4;10668:1;10661:15;10687:980;10949:4;10997:3;10986:9;10982:19;11028:6;11017:9;11010:25;11054:2;11092:6;11087:2;11076:9;11072:18;11065:34;11135:3;11130:2;11119:9;11115:18;11108:31;11159:6;11194;11188:13;11225:6;11217;11210:22;11263:3;11252:9;11248:19;11241:26;;11302:2;11294:6;11290:15;11276:29;;11323:1;11333:195;11347:6;11344:1;11341:13;11333:195;;;11412:13;;-1:-1:-1;;;;;11408:39:1;11396:52;;11503:15;;;;11468:12;;;;11444:1;11362:9;11333:195;;;-1:-1:-1;;;;;;;11584:32:1;;;;11579:2;11564:18;;11557:60;-1:-1:-1;;;11648:3:1;11633:19;11626:35;11545:3;10687:980;-1:-1:-1;;;10687:980:1:o;12853:306::-;12941:6;12949;12957;13010:2;12998:9;12989:7;12985:23;12981:32;12978:52;;;13026:1;13023;13016:12;12978:52;13055:9;13049:16;13039:26;;13105:2;13094:9;13090:18;13084:25;13074:35;;13149:2;13138:9;13134:18;13128:25;13118:35;;12853:306;;;;;:::o
Swarm Source
ipfs://1bf25552b81aaee667e517b81bc82f99adaabd02d6f69d20ab4bba0d39239989
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.