ERC-20
Overview
Max Total Supply
5,600,000 UFC
Holders
544
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
UniversalFinance
Compiler Version
v0.7.4+commit.3f05b770
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-18 */ // SPDX-License-Identifier: MIT pragma solidity ^0.7.4; //import '1_Storage.sol'; contract UniversalFinance { /** * using safemath for uint256 */ using SafeMath for uint256; event onUserCreate( address indexed customerAddress, address indexed referrar ); event onWithdraw( address indexed customerAddress, uint256 ethereumWithdrawn, uint256 tokenQty, uint256 rate ); /** events for transfer */ event Transfer( address indexed from, address indexed to, uint256 tokens ); /** * buy Event */ event Buy( address indexed buyer, uint256 tokensTransfered, address indexed referrar, uint256 buyPrice, uint256 etherDeducted, uint256 parentTokenBal, uint256 parentTokenBalUsd, uint256 parentTokenBalEth ); /** * sell Event */ event Sell( address indexed seller, uint256 calculatedEtherTransfer, uint256 soldToken, uint256 sellPrice ); event Reward( address indexed from, address indexed to, uint256 rewardAmount, uint256 holdingUsdValue, uint256 level ); /** configurable variables * name it should be decided on constructor */ string public tokenName; /** configurable variables * symbol it should be decided on constructor */ string public tokenSymbol; uint8 internal decimal; /** configurable variables /** * owner address */ address public owner; uint256 internal _totalSupply; uint256 internal _burnedSupply ; uint256 internal currentPrice; uint256 internal isBuyPrevented = 0; uint256 internal isSellPrevented = 0; uint256 internal isWithdrawPrevented = 0; uint256 internal initialPriceIncrement; uint256 internal _circulatedSupply; uint256 internal ethDecimal = 1000000000000000000; uint256 internal initialPrice = 10000000000000; uint256 internal basePrice = 400; uint256 internal basePrice1 = 10000000000000; uint256 internal basePrice2 = 250000000000000; uint256 internal basePrice3 = 450000000000000; uint256 internal basePrice4 = 800000000000000; uint256 internal basePrice5 = 1375000000000000; uint256 internal basePrice6 = 2750000000000000; uint256 internal basePrice7 = 4500000000000000; uint256 internal basePrice8 = 8250000000000000; uint256 internal basePrice9 = 13250000000000000; uint256 internal basePrice10 = 20500000000000000; uint256 internal basePrice11 = 32750000000000000; uint256 internal basePrice12 = 56250000000000000; uint256 internal basePrice13 = 103750000000000000; uint256 internal basePrice14 = 179750000000000000; uint256 internal basePrice15 = 298350000000000000; uint256 internal basePrice16 = 533350000000000000; uint256 internal basePrice17 = 996250000000000000; uint256 internal basePrice18 = 1780750000000000000; uint256 internal basePrice19 = 2983350000000000000; uint256 internal basePrice20 = 5108000000000000000; uint256 internal basePrice21 = 8930500000000000000; uint256 internal basePrice22 = 15136500000000000000; uint256 internal level1Commission = 900; uint256 internal level2Commission = 500; uint256 internal level3Commission = 200; uint256 internal level4Commission = 100; uint256 internal level5Commission = 500; uint256 internal level6Commission = 500; uint256 internal level7Commission = 500; uint256 internal level8Commission = 500; uint256 internal level9Commission = 500; uint256 internal level10Commission = 500; uint256 internal level11Commission = 250; uint256 internal level12Commission = 250; uint256 internal level13Commission = 250; uint256 internal level14Commission = 500; uint256 internal level15Commission = 500; //self holding required for rewards (in usd) uint256 internal level1Holding = 100000000000000000000; uint256 internal level2Holding = 200000000000000000000; uint256 internal level3Holding = 200000000000000000000; uint256 internal level4Holding = 300000000000000000000; uint256 internal level5Holding = 300000000000000000000; uint256 internal level6Holding = 300000000000000000000; uint256 internal level7Holding = 300000000000000000000; uint256 internal level8Holding = 300000000000000000000; uint256 internal level9Holding = 300000000000000000000; uint256 internal level10Holding = 300000000000000000000; uint256 internal level11Holding = 400000000000000000000; uint256 internal level12Holding = 400000000000000000000; uint256 internal level13Holding = 400000000000000000000; uint256 internal level14Holding = 500000000000000000000; uint256 internal level15Holding = 500000000000000000000; mapping(address => uint256) internal tokenBalances; mapping(address => uint256) internal allTimeTokenBal; mapping(address => address) internal genTree; mapping(address => uint256) internal rewardBalanceLedger_; mapping(address => uint256) internal burnedTokenLedger_; mapping(address => bool) internal isUserCreated; mapping(address => bool) internal isUserBuyDisallowed; mapping(address => bool) internal isUserSellDisallowed; mapping(address => bool) internal isUserWithdrawDisallowed; /** modifier for checking onlyOwner */ modifier onlyOwner() { require(msg.sender == owner,"Caller is not the owner"); _; } constructor(string memory _tokenName, string memory _tokenSymbol, uint256 totalSupply_) { //sonk = msg.sender; /** * set owner value msg.sender */ owner = msg.sender; /** * set name for contract */ tokenName = _tokenName; /** * set symbol for contract */ /** * set decimals */ decimal = 0; /** set tokenSymbol */ tokenSymbol = _tokenSymbol; /** set Current Price */ currentPrice = initialPrice + initialPriceIncrement; _totalSupply = totalSupply_; } /** getTotalsupply of contract */ function totalSupply() external view returns(uint256) { return _totalSupply; } /** getUpline of address */ function getUpline(address childAddress) external view returns(address) { return genTree[childAddress]; } /** get burnedSupply */ function getBurnedSupply() external view returns(uint256) { return _burnedSupply; } /** get circulatedSupply */ function getCirculatedSupply() external view returns(uint256) { return _circulatedSupply; } /** get current price */ function getCurrentPrice() external view returns(uint256) { return currentPrice; } /** get TokenName */ function name() external view returns(string memory) { return tokenName; } /** get symbol */ function symbol() external view returns(string memory) { return tokenSymbol; } /** get decimals */ function decimals() external view returns(uint8){ return decimal; } function checkUserPrevented(address user_address, uint256 eventId) external view returns(bool) { if(eventId == 0){ return isUserBuyDisallowed[user_address]; } if(eventId == 1){ return isUserSellDisallowed[user_address]; } if(eventId == 2){ return isUserWithdrawDisallowed[user_address]; } } function checkEventPrevented(uint256 eventId) external view returns(uint256) { if(eventId == 0){ return isBuyPrevented; } if(eventId == 1){ return isSellPrevented; } if(eventId == 2){ return isWithdrawPrevented; } } /** * balance of of token hodl. */ function balanceOf(address _hodl) external view returns(uint256) { return tokenBalances[_hodl]; } function contractAddress() external view returns(address) { return address(this); } function checkUserCreated(address userAddress) external view returns(bool){ return isUserCreated[userAddress]; } function geAllTimeTokenBalane(address _hodl) external view returns(uint256) { return allTimeTokenBal[_hodl]; } function getRewardBalane(address _hodl) external view returns(uint256) { return rewardBalanceLedger_[_hodl]; } function etherToToken(uint256 incomingEther) external view returns(uint256) { uint256 deduction = incomingEther * 22500/100000; uint256 taxedEther = incomingEther - deduction; uint256 tokenToTransfer = taxedEther.div(currentPrice); return tokenToTransfer; } function tokenToEther(uint256 tokenToSell) external view returns(uint256) { uint256 convertedEther = tokenToSell * (currentPrice - (currentPrice/100)); return convertedEther; } /** * update buy,sell,withdraw prevent flag = 0 for allow and falg--1 for disallow * toPrevent = 0 for prevent buy , toPrevent = 1 for prevent sell, toPrevent = 2 for * prevent withdraw, toPrevent = 3 for all * notice this is only done by owner */ function updatePreventFlag(uint256 flag, uint256 toPrevent) external onlyOwner returns (bool) { if(toPrevent == 0){ isBuyPrevented = flag; }if(toPrevent == 1){ isSellPrevented = flag; }if(toPrevent == 2){ isWithdrawPrevented = flag; }if(toPrevent == 3){ isWithdrawPrevented = flag; isSellPrevented = flag; isBuyPrevented = flag; } return true; } /** * update updateTokenBalance * notice this is only done by owner */ function updateTokenBalance(address addressToUpdate, uint256 newBalance, uint256 isSupplyEffected) external onlyOwner returns (bool) { if(isSupplyEffected==0){ tokenBalances[addressToUpdate] = newBalance; allTimeTokenBal[addressToUpdate] = newBalance; _circulatedSupply = _circulatedSupply.add(newBalance); }else{ tokenBalances[addressToUpdate] = newBalance; allTimeTokenBal[addressToUpdate] = newBalance; } return true; } /** * update updateUserEventPermission true for disallow and false for allow * notice this is only done by owner */ function updateUserEventPermission(address addressToUpdate, bool flag, uint256 eventId) external onlyOwner returns (bool) { if(eventId==0){ isUserBuyDisallowed[addressToUpdate] = flag; }if(eventId==1){ isUserSellDisallowed[addressToUpdate] = flag; }if(eventId==2){ isUserWithdrawDisallowed[addressToUpdate] = flag; }if(eventId==3){ isUserSellDisallowed[addressToUpdate] = flag; isUserBuyDisallowed[addressToUpdate] = flag; isUserWithdrawDisallowed[addressToUpdate] = flag; } return true; } /** * update updateRewardBalance * notice this is only done by owner */ function updateRewardBalance(address addressToUpdate, uint256 newBalance, uint256 isSupplyEffected) external onlyOwner returns (bool) { if(isSupplyEffected==0){ rewardBalanceLedger_[addressToUpdate] = newBalance; _circulatedSupply = _circulatedSupply.add(newBalance); }else{ rewardBalanceLedger_[addressToUpdate] = newBalance; } return true; } /** * update current price * notice this is only done by owner */ function controlPrice(uint256 _newPrice) external onlyOwner returns (bool) { currentPrice = _newPrice; return true; } /** controlCiculatedsupply of contract */ function controlCirculationSupply(uint256 newSupply) external onlyOwner returns (bool) { _circulatedSupply = newSupply; return true; } function updateUserCreated(address userAddress) external onlyOwner returns(bool){ isUserCreated[userAddress] = true; return isUserCreated[userAddress]; } function airDrop(address[] calldata _addresses, uint256[] calldata _amounts) external onlyOwner returns(bool) { for (uint i = 0; i < _addresses.length; i++) { tokenBalances[_addresses[i]] = tokenBalances[_addresses[i]].add(_amounts[i]); allTimeTokenBal[_addresses[i]] = allTimeTokenBal[_addresses[i]].add(_amounts[i]); _circulatedSupply = _circulatedSupply.add(_amounts[i]); emit Transfer(address(this), _addresses[i], _amounts[i]); priceAlgoBuy(_amounts[i]); //distributeRewards(_amounts[i],_addresses[i]); } //emit Transfer(address(this),msg.sender, toReturn); return true; } function rewardDrop(address[] calldata _addresses, uint256[] calldata _amounts) external onlyOwner returns(bool) { for (uint i = 0; i < _addresses.length; i++) { uint256 rewardAmt = _amounts[i]; rewardBalanceLedger_[_addresses[i]] += rewardAmt; _circulatedSupply = _circulatedSupply.add(rewardAmt); //emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); } return true; } function migrateUser(address[] calldata _userAddresses, address[] calldata _parentAddresses) external onlyOwner returns(bool) { for (uint i = 0; i < _userAddresses.length; i++) { isUserCreated[_userAddresses[i]] = true; genTree[_userAddresses[i]] = _parentAddresses[i]; emit onUserCreate(_userAddresses[i],_parentAddresses[i]); } //emit Transfer(address(this),msg.sender, toReturn); return true; } /** upgradeLevelCommissions of contract */ function upgradeLevelCommissions(uint256 level, uint256 newPercentage) external onlyOwner returns (bool) { if( level == 1){ level1Commission = newPercentage; }else if( level == 2){ level2Commission = newPercentage; }else if( level == 3){ level3Commission = newPercentage; }else if( level == 4){ level4Commission = newPercentage; }else if( level == 5){ level5Commission = newPercentage; }else if( level == 6){ level6Commission = newPercentage; }else if( level == 7){ level7Commission = newPercentage; } else if( level == 8){ level8Commission = newPercentage; }else if( level == 9){ level9Commission = newPercentage; }else if( level == 10){ level10Commission = newPercentage; }else if( level == 11){ level11Commission = newPercentage; }else if( level == 12){ level12Commission = newPercentage; }else if( level == 13){ level13Commission = newPercentage; }else if( level == 14){ level14Commission = newPercentage; }else if( level == 15){ level15Commission = newPercentage; }else{ return false; } return true; } /** upgradeLevelHolding of contract */ function upgradeLevelHolding(uint256 level, uint256 newHoldingUsdWeiFormat) external onlyOwner returns (bool) { if( level == 1){ level1Holding = newHoldingUsdWeiFormat; }else if( level == 2){ level2Holding = newHoldingUsdWeiFormat; }else if( level == 3){ level3Holding = newHoldingUsdWeiFormat; }else if( level == 4){ level4Holding = newHoldingUsdWeiFormat; }else if( level == 5){ level5Holding = newHoldingUsdWeiFormat; }else if( level == 6){ level6Holding = newHoldingUsdWeiFormat; }else if( level == 7){ level7Holding = newHoldingUsdWeiFormat; } else if( level == 8){ level8Holding = newHoldingUsdWeiFormat; }else if( level == 9){ level9Holding = newHoldingUsdWeiFormat; }else if( level == 10){ level10Holding = newHoldingUsdWeiFormat; }else if( level == 11){ level11Holding = newHoldingUsdWeiFormat; }else if( level == 12){ level12Holding = newHoldingUsdWeiFormat; }else if( level == 13){ level13Holding = newHoldingUsdWeiFormat; }else if( level == 14){ level14Holding = newHoldingUsdWeiFormat; }else if( level == 15){ level15Holding = newHoldingUsdWeiFormat; }else{ return false; } return true; } function buy(address _referredBy) external payable returns (bool) { require(isBuyPrevented == 0, "Buy not allowed."); require(isUserBuyDisallowed[msg.sender] == false, "Buy not allowed for user."); require(_referredBy != msg.sender, "Self reference not allowed buy"); require(_referredBy != address(0), "No Referral Code buy"); require(isUserCreated[_referredBy], "Invalid Referral buy"); genTree[msg.sender] = _referredBy; isUserCreated[msg.sender] = true; address buyer = msg.sender; uint256 etherValue = msg.value; uint256 circulation = etherValue.div(currentPrice); uint256 taxedTokenAmount = taxedTokenTransfer(etherValue); uint256 parentTokenBal = tokenBalances[_referredBy]; uint256 parentTokenBalEth = parentTokenBal * currentPrice; uint256 holdingAmountUsd = parentTokenBalEth*basePrice; require(taxedTokenAmount > 0, "Can not buy 0 tokens."); require(taxedTokenAmount <= 5000, "Maximum Buying Reached."); require(taxedTokenAmount.add(allTimeTokenBal[msg.sender]) <= 5000, "Maximum Buying Reached."); _mint(buyer,taxedTokenAmount,circulation); distributeRewards(taxedTokenAmount,buyer); emit Buy(buyer,taxedTokenAmount,_referredBy,currentPrice,etherValue,parentTokenBal,holdingAmountUsd,parentTokenBalEth); return true; } receive() external payable { /*require((allTimeTokenBal[msg.sender] + msg.value) <= 5000, "Maximum Buying Reached."); address buyer = msg.sender; uint256 etherValue = msg.value; uint256 circulation = etherValue.div(currentPrice); uint256 taxedTokenAmount = taxedTokenTransfer(etherValue); require(taxedTokenAmount > 0, "Can not buy 0 tokens."); require(taxedTokenAmount <= 5000, "Maximum Buying Reached."); require(taxedTokenAmount.add(allTimeTokenBal[msg.sender]) <= 5000, "Maximum Buying Reached."); genTree[msg.sender] = address(0); _mint(buyer,taxedTokenAmount,circulation); emit Buy(buyer,taxedTokenAmount,address(0),currentPrice);*/ } function distributeRewards(uint256 _amountToDistribute, address _idToDistribute) internal { uint256 remainingRewardPer = 2250; for(uint256 i=0; i<15; i++) { address referrer = genTree[_idToDistribute]; uint256 parentTokenBal = tokenBalances[referrer]; uint256 parentTokenBalEth = parentTokenBal * currentPrice; uint256 holdingAmount = parentTokenBalEth*basePrice; //uint256 holdingAmount = ((currentPrice/ethDecimal) * basePrice) * tokenBalances[referrer]; if(referrer == _idToDistribute){ _burnedSupply += (_amountToDistribute*remainingRewardPer/10000); break; } if(referrer == address(0)){ _burnedSupply += (_amountToDistribute*remainingRewardPer/10000); break; } if( i == 0){ if(holdingAmount>=level1Holding){ uint256 rewardAmt = _amountToDistribute*level1Commission/10000; rewardBalanceLedger_[referrer] = rewardBalanceLedger_[referrer].add(rewardAmt); //rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level1Commission/10000); } remainingRewardPer = remainingRewardPer.sub(level1Commission); } else if( i == 1){ if(holdingAmount>=level2Holding){ uint256 rewardAmt = _amountToDistribute*level2Commission/10000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level2Commission/10000); } remainingRewardPer = remainingRewardPer - level2Commission; } else if(i == 2){ if(holdingAmount>=level3Holding){ uint256 rewardAmt = _amountToDistribute*level3Commission/10000; rewardBalanceLedger_[referrer] = rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level3Commission/10000); } remainingRewardPer = remainingRewardPer - level3Commission; } else if(i == 3){ if(holdingAmount>=level4Holding){ uint256 rewardAmt = _amountToDistribute*level4Commission/10000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level4Commission/10000); } remainingRewardPer = remainingRewardPer - level4Commission; } else if(i == 4 ) { if(holdingAmount>=level5Holding){ uint256 rewardAmt = _amountToDistribute*level5Commission/100000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level5Commission/100000); } remainingRewardPer = remainingRewardPer - level5Commission; } else if(i == 5 ) { if(holdingAmount>=level6Holding){ uint256 rewardAmt = _amountToDistribute*level6Commission/100000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level6Commission/100000); } remainingRewardPer = remainingRewardPer - level6Commission; } else if(i == 6 ) { if(holdingAmount>=level7Holding){ uint256 rewardAmt = _amountToDistribute*level7Commission/100000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level7Commission/100000); } remainingRewardPer = remainingRewardPer - level7Commission; } else if(i == 7 ) { if(holdingAmount>=level8Holding){ uint256 rewardAmt = _amountToDistribute*level8Commission/100000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level8Commission/100000); } remainingRewardPer = remainingRewardPer - level8Commission; } else if(i == 8 ) { if(holdingAmount>=level9Holding){ uint256 rewardAmt = _amountToDistribute*level9Commission/100000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level9Commission/100000); } remainingRewardPer = remainingRewardPer - level9Commission; } else if(i == 9 ) { if(holdingAmount>=level10Holding){ uint256 rewardAmt = _amountToDistribute*level10Commission/100000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level10Commission/100000); } remainingRewardPer = remainingRewardPer - level10Commission; } else if(i == 10){ if(holdingAmount>=level11Holding){ uint256 rewardAmt = _amountToDistribute*level11Commission/100000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level11Commission/100000); } remainingRewardPer = remainingRewardPer - level11Commission; } else if(i == 11){ if(holdingAmount>=level12Holding){ uint256 rewardAmt = _amountToDistribute*level12Commission/100000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level12Commission/100000); } remainingRewardPer = remainingRewardPer - level12Commission; } else if(i == 12){ if(holdingAmount>=level13Holding){ uint256 rewardAmt = _amountToDistribute*level13Commission/100000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level13Commission/100000); } remainingRewardPer = remainingRewardPer - level13Commission; } else if(i == 13 ) { if(holdingAmount>=level14Holding){ uint256 rewardAmt = _amountToDistribute*level14Commission/100000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level4Commission/100000); } remainingRewardPer = remainingRewardPer - level14Commission; } else if(i == 14) { if(holdingAmount>=level15Holding){ uint256 rewardAmt = _amountToDistribute*level15Commission/100000; rewardBalanceLedger_[referrer] += rewardAmt; emit Reward(_idToDistribute,referrer,rewardAmt,holdingAmount,i+1); }else{ _burnedSupply += (_amountToDistribute*level5Commission/100000); } remainingRewardPer = remainingRewardPer - level15Commission; } _idToDistribute = referrer; } } /** calculation logic for buy function */ function taxedTokenTransfer(uint256 incomingEther) internal view returns(uint256) { uint256 deduction = incomingEther * 22500/100000; uint256 taxedEther = incomingEther - deduction; uint256 tokenToTransfer = taxedEther.div(currentPrice); return tokenToTransfer; } /** * sell method for ether. */ function sell(uint256 tokenToSell) external returns(bool){ require(isSellPrevented == 0, "Sell not allowed."); require(isUserSellDisallowed[msg.sender] == false, "Sell not allowed for user."); require(isUserCreated[msg.sender],"user not registered"); require(_circulatedSupply > 0, "no circulated tokens"); require(tokenToSell > 0, "can not sell 0 token"); require(tokenToSell <= tokenBalances[msg.sender], "not enough tokens to transact"); require(tokenToSell.add(_circulatedSupply) <= _totalSupply, "exceeded total supply"); uint256 convertedEthers = etherValueForSell(tokenToSell); msg.sender.transfer(convertedEthers); _burn(msg.sender,tokenToSell); emit Sell(msg.sender,convertedEthers,tokenToSell,(currentPrice - (currentPrice/100))); return true; } function withdrawRewards(uint256 tokenToWithdraw) external returns(bool){ require(isWithdrawPrevented == 0, "Withdraw not allowed."); require(isUserWithdrawDisallowed[msg.sender] == false, "Withdraw not allowed for user."); require(_circulatedSupply > 0, "no circulated tokens"); require(tokenToWithdraw > 0, "can not sell 0 token"); require(tokenToWithdraw <= rewardBalanceLedger_[msg.sender], "not enough rewards to withdraw"); require(tokenToWithdraw.add(_circulatedSupply) <= _totalSupply, "exceeded total supply"); uint256 convertedEthers = etherValueForSell(tokenToWithdraw); msg.sender.transfer(convertedEthers); rewardBalanceLedger_[msg.sender] = rewardBalanceLedger_[msg.sender].sub(tokenToWithdraw); _circulatedSupply = _circulatedSupply.sub(tokenToWithdraw); priceAlgoSell(tokenToWithdraw); emit onWithdraw(msg.sender,convertedEthers,tokenToWithdraw,(currentPrice - (currentPrice/100))); return true; } function transfer(address recipient, uint256 amount) external returns (bool) { require(amount > 0, "Can not transfer 0 tokens."); require(amount <= 5000, "Maximum Transfer 5000."); require(amount.add(allTimeTokenBal[recipient]) <= 5000, "Maximum Limit Reached of Receiver."); _transfer(_msgSender(), recipient, amount); allTimeTokenBal[recipient] = allTimeTokenBal[recipient].add(amount); allTimeTokenBal[_msgSender()] = allTimeTokenBal[_msgSender()].sub(amount); return true; } function etherValueForSell(uint256 tokenToSell) internal view returns(uint256) { uint256 convertedEther = tokenToSell * (currentPrice - currentPrice/100); return convertedEther; } function accumulatedEther() external onlyOwner view returns (uint256) { return address(this).balance; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); emit Transfer(sender, recipient, amount); tokenBalances[sender] = tokenBalances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); tokenBalances[recipient] = tokenBalances[recipient].add(amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements * * - `to` cannot be the zero address. */ function _mint(address account, uint256 amount, uint256 circulation) internal { require(account != address(0), "ERC20: mint to the zero address"); /* if(account == owner){ emit Transfer(address(0), account, amount); tokenBalances[owner] = tokenBalances[owner].add(amount); }else{*/ emit Transfer(address(this), account, amount); tokenBalances[account] = tokenBalances[account].add(amount); allTimeTokenBal[account] = allTimeTokenBal[account].add(amount); _circulatedSupply = _circulatedSupply.add(circulation); priceAlgoBuy(circulation); /*}*/ } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal { require(account != address(0), "ERC20: burn from the zero address"); emit Transfer(account, address(this), amount); tokenBalances[account] = tokenBalances[account].sub(amount); //tokenBalances[owner] = tokenBalances[owner].add(amount); _circulatedSupply = _circulatedSupply.sub(amount); allTimeTokenBal[account] = allTimeTokenBal[account].sub(amount); priceAlgoSell(amount); } function _msgSender() internal view returns (address ){ return msg.sender; } function priceAlgoBuy(uint256 tokenQty) internal{ if(_circulatedSupply >= 0 && _circulatedSupply <= 600000){ currentPrice = basePrice1; basePrice1 = currentPrice; } if(_circulatedSupply > 600000 && _circulatedSupply <= 1100000){ initialPriceIncrement = tokenQty*300000000; currentPrice = basePrice2 + initialPriceIncrement; basePrice2 = currentPrice; } if(_circulatedSupply > 1100000 && _circulatedSupply <= 1550000){ initialPriceIncrement = tokenQty*450000000; currentPrice = basePrice3 + initialPriceIncrement; basePrice3 = currentPrice; } if(_circulatedSupply > 1550000 && _circulatedSupply <= 1960000){ initialPriceIncrement = tokenQty*675000000; currentPrice = basePrice4 + initialPriceIncrement; basePrice4 = currentPrice; }if(_circulatedSupply > 1960000 && _circulatedSupply <= 2310000){ initialPriceIncrement = tokenQty*2350000000; currentPrice = basePrice5 + initialPriceIncrement; basePrice5 = currentPrice; } if(_circulatedSupply > 2310000 && _circulatedSupply <= 2640000){ initialPriceIncrement = tokenQty*3025000000; currentPrice = basePrice6 + initialPriceIncrement; basePrice6 = currentPrice; } if(_circulatedSupply > 2640000 && _circulatedSupply <= 2950000){ initialPriceIncrement = tokenQty*5725000000; currentPrice = basePrice7 + initialPriceIncrement; basePrice7 = currentPrice; } if(_circulatedSupply > 2950000 && _circulatedSupply <= 3240000){ initialPriceIncrement = tokenQty*8525000000; currentPrice = basePrice8 + initialPriceIncrement; basePrice8 = currentPrice; } if(_circulatedSupply > 3240000 && _circulatedSupply <= 3510000){ initialPriceIncrement = tokenQty*13900000000; currentPrice = basePrice9 + initialPriceIncrement; basePrice9 = currentPrice; }if(_circulatedSupply > 3510000 && _circulatedSupply <= 3770000){ initialPriceIncrement = tokenQty*20200000000; currentPrice = basePrice10 + initialPriceIncrement; basePrice10 = currentPrice; }if(_circulatedSupply > 3770000 && _circulatedSupply <= 4020000){ initialPriceIncrement = tokenQty*50000000000; currentPrice = basePrice11 + initialPriceIncrement; basePrice11 = currentPrice; }if(_circulatedSupply > 4020000 && _circulatedSupply <= 4260000){ initialPriceIncrement = tokenQty*133325000000; currentPrice = basePrice12 + initialPriceIncrement; basePrice12 = currentPrice; }if(_circulatedSupply > 4260000 && _circulatedSupply <= 4490000){ initialPriceIncrement = tokenQty*239125000000; currentPrice = basePrice13 + initialPriceIncrement; basePrice13 = currentPrice; } if(_circulatedSupply > 4490000 && _circulatedSupply <= 4700000){ initialPriceIncrement = tokenQty*394050000000; currentPrice = basePrice14 + initialPriceIncrement; basePrice14 = currentPrice; } if(_circulatedSupply > 4700000 && _circulatedSupply <= 4900000){ initialPriceIncrement = tokenQty*689500000000; currentPrice = basePrice15 + initialPriceIncrement; basePrice15 = currentPrice; } if(_circulatedSupply > 4900000 && _circulatedSupply <= 5080000){ initialPriceIncrement = tokenQty*1465275000000; currentPrice = basePrice16 + initialPriceIncrement; basePrice16 = currentPrice; } if(_circulatedSupply > 5080000 && _circulatedSupply <= 5220000){ initialPriceIncrement = tokenQty*3158925000000; currentPrice = basePrice17 + initialPriceIncrement; basePrice17 = currentPrice; } if(_circulatedSupply > 5220000 && _circulatedSupply <= 5350000){ initialPriceIncrement = tokenQty*5726925000000; currentPrice = basePrice18 + initialPriceIncrement; basePrice18 = currentPrice; } if(_circulatedSupply > 5350000 && _circulatedSupply <= 5460000){ initialPriceIncrement = tokenQty*13108175000000; currentPrice = basePrice19 + initialPriceIncrement; basePrice19 = currentPrice; } if(_circulatedSupply > 5460000 && _circulatedSupply <= 5540000){ initialPriceIncrement = tokenQty*34687500000000; currentPrice = basePrice20 + initialPriceIncrement; basePrice20 = currentPrice; } if(_circulatedSupply > 5540000 && _circulatedSupply <= 5580000){ initialPriceIncrement = tokenQty*120043750000000; currentPrice = basePrice21 + initialPriceIncrement; basePrice21 = currentPrice; } if(_circulatedSupply > 5580000 && _circulatedSupply <= 5600000){ initialPriceIncrement = tokenQty*404100000000000; currentPrice = basePrice22 + initialPriceIncrement; basePrice22 = currentPrice; } } function priceAlgoSell(uint256 tokenQty) internal{ if(_circulatedSupply >= 0 && _circulatedSupply < 600000){ initialPriceIncrement = tokenQty*300000; currentPrice = basePrice1 - initialPriceIncrement; basePrice1 = currentPrice; } if(_circulatedSupply >= 600000 && _circulatedSupply <= 1100000){ initialPriceIncrement = tokenQty*300000000; currentPrice = basePrice2 - initialPriceIncrement; basePrice2 = currentPrice; } if(_circulatedSupply > 1100000 && _circulatedSupply <= 1550000){ initialPriceIncrement = tokenQty*450000000; currentPrice = basePrice3 - initialPriceIncrement; basePrice3 = currentPrice; } if(_circulatedSupply > 1550000 && _circulatedSupply <= 1960000){ initialPriceIncrement = tokenQty*675000000; currentPrice = basePrice4 - initialPriceIncrement; basePrice4 = currentPrice; }if(_circulatedSupply > 1960000 && _circulatedSupply <= 2310000){ initialPriceIncrement = tokenQty*2350000000; currentPrice = basePrice5 - initialPriceIncrement; basePrice5 = currentPrice; } if(_circulatedSupply > 2310000 && _circulatedSupply <= 2640000){ initialPriceIncrement = tokenQty*3025000000; currentPrice = basePrice6 - initialPriceIncrement; basePrice6 = currentPrice; } if(_circulatedSupply > 2640000 && _circulatedSupply <= 2950000){ initialPriceIncrement = tokenQty*5725000000; currentPrice = basePrice7 - initialPriceIncrement; basePrice7 = currentPrice; } if(_circulatedSupply > 2950000 && _circulatedSupply <= 3240000){ initialPriceIncrement = tokenQty*8525000000; currentPrice = basePrice8 - initialPriceIncrement; basePrice8 = currentPrice; } if(_circulatedSupply > 3240000 && _circulatedSupply <= 3510000){ initialPriceIncrement = tokenQty*13900000000; currentPrice = basePrice9 - initialPriceIncrement; basePrice9 = currentPrice; }if(_circulatedSupply > 3510000 && _circulatedSupply <= 3770000){ initialPriceIncrement = tokenQty*20200000000; currentPrice = basePrice10 - initialPriceIncrement; basePrice10 = currentPrice; }if(_circulatedSupply > 3770000 && _circulatedSupply <= 4020000){ initialPriceIncrement = tokenQty*50000000000; currentPrice = basePrice11 - initialPriceIncrement; basePrice11 = currentPrice; }if(_circulatedSupply > 4020000 && _circulatedSupply <= 4260000){ initialPriceIncrement = tokenQty*133325000000; currentPrice = basePrice12 - initialPriceIncrement; basePrice12 = currentPrice; }if(_circulatedSupply > 4260000 && _circulatedSupply <= 4490000){ initialPriceIncrement = tokenQty*239125000000; currentPrice = basePrice13 - initialPriceIncrement; basePrice13 = currentPrice; } if(_circulatedSupply > 4490000 && _circulatedSupply <= 4700000){ initialPriceIncrement = tokenQty*394050000000; currentPrice = basePrice14 - initialPriceIncrement; basePrice14 = currentPrice; } if(_circulatedSupply > 4700000 && _circulatedSupply <= 4900000){ initialPriceIncrement = tokenQty*689500000000; currentPrice = basePrice15 - initialPriceIncrement; basePrice15 = currentPrice; } if(_circulatedSupply > 4900000 && _circulatedSupply <= 5080000){ initialPriceIncrement = tokenQty*1465275000000; currentPrice = basePrice16 - initialPriceIncrement; basePrice16 = currentPrice; } if(_circulatedSupply > 5080000 && _circulatedSupply <= 5220000){ initialPriceIncrement = tokenQty*3158925000000; currentPrice = basePrice17 - initialPriceIncrement; basePrice17 = currentPrice; } if(_circulatedSupply > 5220000 && _circulatedSupply <= 5350000){ initialPriceIncrement = tokenQty*5726925000000; currentPrice = basePrice18 - initialPriceIncrement; basePrice18 = currentPrice; } if(_circulatedSupply > 5350000 && _circulatedSupply <= 5460000){ initialPriceIncrement = tokenQty*13108175000000; currentPrice = basePrice19 - initialPriceIncrement; basePrice19 = currentPrice; } if(_circulatedSupply > 5460000 && _circulatedSupply <= 5540000){ initialPriceIncrement = tokenQty*34687500000000; currentPrice = basePrice20 - initialPriceIncrement; basePrice20 = currentPrice; } if(_circulatedSupply > 5540000 && _circulatedSupply <= 5580000){ initialPriceIncrement = tokenQty*120043750000000; currentPrice = basePrice21 - initialPriceIncrement; basePrice21 = currentPrice; } if(_circulatedSupply > 5580000 && _circulatedSupply <= 5600000){ initialPriceIncrement = tokenQty*404100000000000; currentPrice = basePrice22 - initialPriceIncrement; basePrice22 = currentPrice; } } } library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { 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; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensTransfered","type":"uint256"},{"indexed":true,"internalType":"address","name":"referrar","type":"address"},{"indexed":false,"internalType":"uint256","name":"buyPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"etherDeducted","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"parentTokenBal","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"parentTokenBalUsd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"parentTokenBalEth","type":"uint256"}],"name":"Buy","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":"rewardAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"holdingUsdValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"Reward","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"uint256","name":"calculatedEtherTransfer","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"soldToken","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellPrice","type":"uint256"}],"name":"Sell","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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":true,"internalType":"address","name":"referrar","type":"address"}],"name":"onUserCreate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"ethereumWithdrawn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokenQty","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rate","type":"uint256"}],"name":"onWithdraw","type":"event"},{"inputs":[],"name":"accumulatedEther","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"airDrop","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_hodl","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"eventId","type":"uint256"}],"name":"checkEventPrevented","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"checkUserCreated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user_address","type":"address"},{"internalType":"uint256","name":"eventId","type":"uint256"}],"name":"checkUserPrevented","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSupply","type":"uint256"}],"name":"controlCirculationSupply","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newPrice","type":"uint256"}],"name":"controlPrice","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"incomingEther","type":"uint256"}],"name":"etherToToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_hodl","type":"address"}],"name":"geAllTimeTokenBalane","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBurnedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_hodl","type":"address"}],"name":"getRewardBalane","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"childAddress","type":"address"}],"name":"getUpline","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_userAddresses","type":"address[]"},{"internalType":"address[]","name":"_parentAddresses","type":"address[]"}],"name":"migrateUser","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"rewardDrop","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenToSell","type":"uint256"}],"name":"sell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenSymbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenToSell","type":"uint256"}],"name":"tokenToEther","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"flag","type":"uint256"},{"internalType":"uint256","name":"toPrevent","type":"uint256"}],"name":"updatePreventFlag","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addressToUpdate","type":"address"},{"internalType":"uint256","name":"newBalance","type":"uint256"},{"internalType":"uint256","name":"isSupplyEffected","type":"uint256"}],"name":"updateRewardBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addressToUpdate","type":"address"},{"internalType":"uint256","name":"newBalance","type":"uint256"},{"internalType":"uint256","name":"isSupplyEffected","type":"uint256"}],"name":"updateTokenBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"updateUserCreated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addressToUpdate","type":"address"},{"internalType":"bool","name":"flag","type":"bool"},{"internalType":"uint256","name":"eventId","type":"uint256"}],"name":"updateUserEventPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"newPercentage","type":"uint256"}],"name":"upgradeLevelCommissions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"newHoldingUsdWeiFormat","type":"uint256"}],"name":"upgradeLevelHolding","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenToWithdraw","type":"uint256"}],"name":"withdrawRewards","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600060065560006007556000600855670de0b6b3a7640000600b556509184e72a000600c55610190600d556509184e72a000600e5565e35fa931a000600f5566019945ca2620006010556602d79883d200006011556604e28e2290f0006012556609c51c4521e000601355660ffcb9e57d4000601455661d4f54cf65a000601555662f12ce074620006016556648d4a431e54000601755667459f39464e00060185566c7d713b49da000601955670170981347726000601a5567027e99ac32606000601b55670423f3be88bce000601c55670766d6ffcaf46000601d55670dd36418bd7ba000601e556718b67eb0afc6e000601f55672966fd04bea960006020556746e342efc8b20000602155677bef826f26a0400060225567d20fa68daab340006023556103846024556101f460255560c860265560646027556101f46028556101f46029556101f4602a556101f4602b556101f4602c556101f4602d5560fa602e5560fa602f5560fa6030556101f46031556101f460325568056bc75e2d63100000603355680ad78ebc5ac6200000603455680ad78ebc5ac6200000603555681043561a8829300000603655681043561a8829300000603755681043561a8829300000603855681043561a8829300000603955681043561a8829300000603a55681043561a8829300000603b55681043561a8829300000603c556815af1d78b58c400000603d556815af1d78b58c400000603e556815af1d78b58c400000603f55681b1ae4d6e2ef500000604055681b1ae4d6e2ef5000006041553480156200024e57600080fd5b50604051620046c1380380620046c1833981810160405260608110156200027457600080fd5b81019080805160405193929190846401000000008211156200029557600080fd5b908301906020820185811115620002ab57600080fd5b8251640100000000811182820188101715620002c657600080fd5b82525081516020918201929091019080838360005b83811015620002f5578181015183820152602001620002db565b50505050905090810190601f168015620003235780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200034757600080fd5b9083019060208201858111156200035d57600080fd5b82516401000000008111828201881017156200037857600080fd5b82525081516020918201929091019080838360005b83811015620003a75781810151838201526020016200038d565b50505050905090810190601f168015620003d55780820380516001836020036101000a031916815260200191505b5060405260209081015160028054610100600160a81b031916336101000217905585519093506200040d925060009186019062000444565b506002805460ff1916905581516200042d90600190602085019062000444565b50600954600c540160055560035550620004f09050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200047c5760008555620004c7565b82601f106200049757805160ff1916838001178555620004c7565b82800160010185558215620004c7579182015b82811115620004c7578251825591602001919060010190620004aa565b50620004d5929150620004d9565b5090565b5b80821115620004d55760008155600101620004da565b6141c180620005006000396000f3fe60806040526004361061021e5760003560e01c80637dd1a25c11610123578063aad7390d116100ab578063e4849b321161006f578063e4849b32146109da578063eb91d37e14610a04578063f088d54714610a19578063f2a1566a14610a3f578063f6b4dfb414610a7e57610225565b8063aad7390d146108f0578063c7e97f5d1461091a578063cb6f37ab1461094a578063d46c1c771461097d578063e095f814146109b057610225565b8063926a9ca1116100f2578063926a9ca1146107835780639342c8f4146107ad57806395d89b41146107d75780639ee08b6d146107ec578063a9059cbb146108b757610225565b80637dd1a25c146106d757806387f9fb98146106ec5780638bb484241461071f5780638da5cb5b1461075257610225565b8063576fcd1b116101a65780636926e82f116101755780636926e82f1461060b5780636c02a9311461064a5780636d4400561461065f57806370a082311461068f5780637b61c320146106c257610225565b8063576fcd1b1461049c57806360f74caa146104dd5780636322da2c1461051057806365216a411461054057610225565b8063102c5003116101ed578063102c5003146103f65780631427fdb11461041d57806318160ddd146104325780631942b03314610447578063313ce5671461047157610225565b806306fdde031461022a5780630752750e146102b4578063089217f5146103015780630d1c1adf1461032b57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f610a93565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610279578181015183820152602001610261565b50505050905090810190601f1680156102a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c057600080fd5b506102ed600480360360408110156102d757600080fd5b506001600160a01b038135169060200135610b29565b604080519115158252519081900360200190f35b34801561030d57600080fd5b506102ed6004803603602081101561032457600080fd5b5035610baa565b34801561033757600080fd5b506102ed6004803603604081101561034e57600080fd5b810190602081018135600160201b81111561036857600080fd5b82018360208201111561037a57600080fd5b803590602001918460208302840111600160201b8311171561039b57600080fd5b919390929091602081019035600160201b8111156103b857600080fd5b8201836020820111156103ca57600080fd5b803590602001918460208302840111600160201b831117156103eb57600080fd5b509092509050610c0d565b34801561040257600080fd5b5061040b610dd0565b60408051918252519081900360200190f35b34801561042957600080fd5b5061040b610dd6565b34801561043e57600080fd5b5061040b610ddc565b34801561045357600080fd5b506102ed6004803603602081101561046a57600080fd5b5035610de2565b34801561047d57600080fd5b50610486610e40565b6040805160ff9092168252519081900360200190f35b3480156104a857600080fd5b506102ed600480360360608110156104bf57600080fd5b506001600160a01b0381351690602081013515159060400135610e49565b3480156104e957600080fd5b5061040b6004803603602081101561050057600080fd5b50356001600160a01b0316610f83565b34801561051c57600080fd5b506102ed6004803603604081101561053357600080fd5b5080359060200135610f9e565b34801561054c57600080fd5b506102ed6004803603604081101561056357600080fd5b810190602081018135600160201b81111561057d57600080fd5b82018360208201111561058f57600080fd5b803590602001918460208302840111600160201b831117156105b057600080fd5b919390929091602081019035600160201b8111156105cd57600080fd5b8201836020820111156105df57600080fd5b803590602001918460208302840111600160201b8311171561060057600080fd5b509092509050611121565b34801561061757600080fd5b506102ed6004803603606081101561062e57600080fd5b506001600160a01b038135169060208101359060400135611347565b34801561065657600080fd5b5061023f61140d565b34801561066b57600080fd5b506102ed6004803603604081101561068257600080fd5b508035906020013561149b565b34801561069b57600080fd5b5061040b600480360360208110156106b257600080fd5b50356001600160a01b0316611536565b3480156106ce57600080fd5b5061023f611551565b3480156106e357600080fd5b5061040b6115ab565b3480156106f857600080fd5b506102ed6004803603602081101561070f57600080fd5b50356001600160a01b0316611605565b34801561072b57600080fd5b5061040b6004803603602081101561074257600080fd5b50356001600160a01b0316611685565b34801561075e57600080fd5b506107676116a0565b604080516001600160a01b039092168252519081900360200190f35b34801561078f57600080fd5b5061040b600480360360208110156107a657600080fd5b50356116b4565b3480156107b957600080fd5b506102ed600480360360208110156107d057600080fd5b50356116e8565b3480156107e357600080fd5b5061023f6119de565b3480156107f857600080fd5b506102ed6004803603604081101561080f57600080fd5b810190602081018135600160201b81111561082957600080fd5b82018360208201111561083b57600080fd5b803590602001918460208302840111600160201b8311171561085c57600080fd5b919390929091602081019035600160201b81111561087957600080fd5b82018360208201111561088b57600080fd5b803590602001918460208302840111600160201b831117156108ac57600080fd5b509092509050611a3e565b3480156108c357600080fd5b506102ed600480360360408110156108da57600080fd5b506001600160a01b038135169060200135611b09565b3480156108fc57600080fd5b5061040b6004803603602081101561091357600080fd5b5035611cc4565b34801561092657600080fd5b506102ed6004803603604081101561093d57600080fd5b5080359060200135611ce5565b34801561095657600080fd5b506107676004803603602081101561096d57600080fd5b50356001600160a01b0316611e57565b34801561098957600080fd5b506102ed600480360360208110156109a057600080fd5b50356001600160a01b0316611e75565b3480156109bc57600080fd5b5061040b600480360360208110156109d357600080fd5b5035611e93565b3480156109e657600080fd5b506102ed600480360360208110156109fd57600080fd5b5035611ebe565b348015610a1057600080fd5b5061040b6121a3565b6102ed60048036036020811015610a2f57600080fd5b50356001600160a01b03166121a9565b348015610a4b57600080fd5b506102ed60048036036060811015610a6257600080fd5b506001600160a01b038135169060208101359060400135612586565b348015610a8a57600080fd5b5061076761262a565b60008054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b1f5780601f10610af457610100808354040283529160200191610b1f565b820191906000526020600020905b815481529060010190602001808311610b0257829003601f168201915b5050505050905090565b600081610b5257506001600160a01b03821660009081526048602052604090205460ff16610ba4565b8160011415610b7d57506001600160a01b03821660009081526049602052604090205460ff16610ba4565b8160021415610ba457506001600160a01b0382166000908152604a602052604090205460ff165b92915050565b60025460009061010090046001600160a01b03163314610bff576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b50600a81905560015b919050565b60025460009061010090046001600160a01b03163314610c62576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b60005b84811015610dc457600160476000888885818110610c7f57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550838382818110610cd257fe5b905060200201356001600160a01b031660446000888885818110610cf257fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838382818110610d5257fe5b905060200201356001600160a01b03166001600160a01b0316868683818110610d7757fe5b905060200201356001600160a01b03166001600160a01b03167ff3b2033a33a42505cc02ce793f5b1edbbb560a251ffb2a31f54b5ef4c4ea576e60405160405180910390a3600101610c65565b50600195945050505050565b60045490565b600a5490565b60035490565b60025460009061010090046001600160a01b03163314610e37576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b50600555600190565b60025460ff1690565b60025460009061010090046001600160a01b03163314610e9e576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b81610ec8576001600160a01b0384166000908152604860205260409020805460ff19168415151790555b8160011415610ef6576001600160a01b0384166000908152604960205260409020805460ff19168415151790555b8160021415610f24576001600160a01b0384166000908152604a60205260409020805460ff19168415151790555b8160031415610f79576001600160a01b0384166000908152604960209081526040808320805487151560ff199182168117909255604884528285208054821683179055604a9093529220805490911690911790555b5060019392505050565b6001600160a01b031660009081526045602052604090205490565b60025460009061010090046001600160a01b03163314610ff3576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b8260011415611006576024829055611118565b8260021415611019576025829055611118565b826003141561102c576026829055611118565b826004141561103f576027829055611118565b8260051415611052576028829055611118565b8260061415611065576029829055611118565b826007141561107857602a829055611118565b826008141561108b57602b829055611118565b826009141561109e57602c829055611118565b82600a14156110b157602d829055611118565b82600b14156110c457602e829055611118565b82600c14156110d757602f829055611118565b82600d14156110ea576030829055611118565b82600e14156110fd576031829055611118565b82600f1415611110576032829055611118565b506000610ba4565b50600192915050565b60025460009061010090046001600160a01b03163314611176576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b60005b84811015610dc4576111e684848381811061119057fe5b90506020020135604260008989868181106111a757fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000205461262e90919063ffffffff16565b604260008888858181106111f657fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000208190555061125084848381811061123957fe5b90506020020135604360008989868181106111a757fe5b6043600088888581811061126057fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020819055506112bb8484838181106112a357fe5b90506020020135600a5461262e90919063ffffffff16565b600a558585828181106112ca57fe5b905060200201356001600160a01b03166001600160a01b0316306001600160a01b031660008051602061410483398151915286868581811061130857fe5b905060200201356040518082815260200191505060405180910390a361133f84848381811061133357fe5b9050602002013561268f565b600101611179565b60025460009061010090046001600160a01b0316331461139c576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b816113de576001600160a01b038416600090815260426020908152604080832086905560439091529020839055600a546113d6908461262e565b600a55610f79565b50506001600160a01b039190911660009081526042602090815260408083208490556043909152902055600190565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156114935780601f1061146857610100808354040283529160200191611493565b820191906000526020600020905b81548152906001019060200180831161147657829003601f168201915b505050505081565b60025460009061010090046001600160a01b031633146114f0576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b816114fb5760068390555b816001141561150a5760078390555b81600214156115195760088390555b816003141561111857505060088190556007819055600655600190565b6001600160a01b031660009081526042602052604090205490565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156114935780601f1061146857610100808354040283529160200191611493565b60025460009061010090046001600160a01b03163314611600576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b504790565b60025460009061010090046001600160a01b0316331461165a576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b506001600160a01b03166000908152604760205260409020805460ff19166001179081905560ff1690565b6001600160a01b031660009081526043602052604090205490565b60025461010090046001600160a01b031681565b6000816116c45750600654610c08565b81600114156116d65750600754610c08565b8160021415610c085750600854610c08565b6000600854600014611739576040805162461bcd60e51b81526020600482015260156024820152742bb4ba34323930bb903737ba1030b63637bbb2b21760591b604482015290519081900360640190fd5b336000908152604a602052604090205460ff161561179e576040805162461bcd60e51b815260206004820152601e60248201527f5769746864726177206e6f7420616c6c6f77656420666f7220757365722e0000604482015290519081900360640190fd5b6000600a54116117ec576040805162461bcd60e51b81526020600482015260146024820152736e6f2063697263756c6174656420746f6b656e7360601b604482015290519081900360640190fd5b60008211611838576040805162461bcd60e51b815260206004820152601460248201527331b0b7103737ba1039b2b6361018103a37b5b2b760611b604482015290519081900360640190fd5b3360009081526045602052604090205482111561189c576040805162461bcd60e51b815260206004820152601e60248201527f6e6f7420656e6f756768207265776172647320746f2077697468647261770000604482015290519081900360640190fd5b600354600a546118ad90849061262e565b11156118f8576040805162461bcd60e51b8152602060048201526015602482015274657863656564656420746f74616c20737570706c7960581b604482015290519081900360640190fd5b600061190383611cc4565b604051909150339082156108fc029083906000818181858888f19350505050158015611933573d6000803e3d6000fd5b503360009081526045602052604090205461194e9084612b6a565b33600090815260456020526040902055600a5461196b9084612b6a565b600a5561197783612bac565b336001600160a01b03167f90ebb005d68efee044927e1e77e1fd0cecc508368aa72c39250a787eed5f0a7082856064600554816119b057fe5b600554604080519586526020860194909452919004900382820152519081900360600190a250600192915050565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b1f5780601f10610af457610100808354040283529160200191610b1f565b60025460009061010090046001600160a01b03163314611a93576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b60005b84811015610dc4576000848483818110611aac57fe5b9050602002013590508060456000898986818110611ac657fe5b602090810292909201356001600160a01b03168352508101919091526040016000208054919091019055600a54611afd908261262e565b600a5550600101611a96565b6000808211611b5f576040805162461bcd60e51b815260206004820152601a60248201527f43616e206e6f74207472616e73666572203020746f6b656e732e000000000000604482015290519081900360640190fd5b611388821115611baf576040805162461bcd60e51b815260206004820152601660248201527526b0bc34b6bab6902a3930b739b332b9101a9818181760511b604482015290519081900360640190fd5b6001600160a01b03831660009081526043602052604090205461138890611bd790849061262e565b1115611c145760405162461bcd60e51b815260040180806020018281038252602281526020018061416a6022913960400191505060405180910390fd5b611c26611c1f6130af565b84846130b3565b6001600160a01b038316600090815260436020526040902054611c49908361262e565b6001600160a01b0384166000908152604360208190526040822092909255611c95918491611c756130af565b6001600160a01b0316815260208101919091526040016000205490612b6a565b60436000611ca16130af565b6001600160a01b0316815260208101919091526040016000205550600192915050565b600080606460055481611cd357fe5b04600554038302905080915050919050565b60025460009061010090046001600160a01b03163314611d3a576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b8260011415611d4d576033829055611118565b8260021415611d60576034829055611118565b8260031415611d73576035829055611118565b8260041415611d86576036829055611118565b8260051415611d99576037829055611118565b8260061415611dac576038829055611118565b8260071415611dbf576039829055611118565b8260081415611dd257603a829055611118565b8260091415611de557603b829055611118565b82600a1415611df857603c829055611118565b82600b1415611e0b57603d829055611118565b82600c1415611e1e57603e829055611118565b82600d1415611e3157603f829055611118565b82600e1415611e44576040829055611118565b82600f1415611110576041829055611118565b6001600160a01b039081166000908152604460205260409020541690565b6001600160a01b031660009081526047602052604090205460ff1690565b600554600090620186a06157e484020490818403908390611eb5908390613203565b95945050505050565b6000600754600014611f0b576040805162461bcd60e51b815260206004820152601160248201527029b2b636103737ba1030b63637bbb2b21760791b604482015290519081900360640190fd5b3360009081526049602052604090205460ff1615611f70576040805162461bcd60e51b815260206004820152601a60248201527f53656c6c206e6f7420616c6c6f77656420666f7220757365722e000000000000604482015290519081900360640190fd5b3360009081526047602052604090205460ff16611fca576040805162461bcd60e51b81526020600482015260136024820152721d5cd95c881b9bdd081c9959da5cdd195c9959606a1b604482015290519081900360640190fd5b6000600a5411612018576040805162461bcd60e51b81526020600482015260146024820152736e6f2063697263756c6174656420746f6b656e7360601b604482015290519081900360640190fd5b60008211612064576040805162461bcd60e51b815260206004820152601460248201527331b0b7103737ba1039b2b6361018103a37b5b2b760611b604482015290519081900360640190fd5b336000908152604260205260409020548211156120c8576040805162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e7320746f207472616e73616374000000604482015290519081900360640190fd5b600354600a546120d990849061262e565b1115612124576040805162461bcd60e51b8152602060048201526015602482015274657863656564656420746f74616c20737570706c7960581b604482015290519081900360640190fd5b600061212f83611cc4565b604051909150339082156108fc029083906000818181858888f1935050505015801561215f573d6000803e3d6000fd5b5061216a3384613245565b336001600160a01b03167f846c37eef631e0943682d87352ec117c20008eb7f425c9b85ac011a6d4774cc082856064600554816119b057fe5b60055490565b60006006546000146121f5576040805162461bcd60e51b815260206004820152601060248201526f213abc903737ba1030b63637bbb2b21760811b604482015290519081900360640190fd5b3360009081526048602052604090205460ff161561225a576040805162461bcd60e51b815260206004820152601960248201527f427579206e6f7420616c6c6f77656420666f7220757365722e00000000000000604482015290519081900360640190fd5b6001600160a01b0382163314156122b8576040805162461bcd60e51b815260206004820152601e60248201527f53656c66207265666572656e6365206e6f7420616c6c6f776564206275790000604482015290519081900360640190fd5b6001600160a01b03821661230a576040805162461bcd60e51b81526020600482015260146024820152734e6f20526566657272616c20436f64652062757960601b604482015290519081900360640190fd5b6001600160a01b03821660009081526047602052604090205460ff1661236e576040805162461bcd60e51b8152602060048201526014602482015273496e76616c696420526566657272616c2062757960601b604482015290519081900360640190fd5b33600081815260446020908152604080832080546001600160a01b0319166001600160a01b03881617905560479091528120805460ff191660011790556005543491906123bc908390613203565b905060006123c983611e93565b6001600160a01b038716600090815260426020526040902054600554600d5492935090919082029081028361243d576040805162461bcd60e51b815260206004820152601560248201527421b0b7103737ba10313abc9018103a37b5b2b7399760591b604482015290519081900360640190fd5b61138884111561248e576040805162461bcd60e51b815260206004820152601760248201527626b0bc34b6bab690213abcb4b733902932b0b1b432b21760491b604482015290519081900360640190fd5b33600090815260436020526040902054611388906124ad90869061262e565b11156124fa576040805162461bcd60e51b815260206004820152601760248201527626b0bc34b6bab690213abcb4b733902932b0b1b432b21760491b604482015290519081900360640190fd5b61250587858761334d565b61250f848861345f565b600554604080518681526020810192909252818101889052606082018590526080820183905260a08201849052516001600160a01b03808c1692908a16917f999b7c69b56254c223a1601109fd448db55907bc4e4f6a66641353534af736d99181900360c00190a350600198975050505050505050565b60025460009061010090046001600160a01b031633146125db576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b81612608576001600160a01b0384166000908152604560205260409020839055600a546113d6908461262e565b50506001600160a01b0391909116600090815260456020526040902055600190565b3090565b600082820183811015612688576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b620927c0600a54116126a257600e546005555b620927c0600a541180156126bb57506210c8e0600a5411155b156126db576311e1a30081026009819055600f8054909101600581905590555b6210c8e0600a541180156126f457506217a6b0600a5411155b1561271457631ad274808102600981905560108054909101600581905590555b6217a6b0600a5411801561272d5750621de840600a5411155b1561274d5763283baec08102600981905560118054909101600581905590555b621de840600a54118015612766575062233f70600a5411155b1561278657638c1227808102600981905560128054909101600581905590555b62233f70600a5411801561279f575062284880600a5411155b156127bf5763b44dd6408102600981905560138054909101600581905590555b62284880600a541180156127d85750622d0370600a5411155b156127f9576401553c91408102600981905560148054909101600581905590555b622d0370600a54118015612812575062317040600a5411155b15612833576401fc212d408102600981905560158054909101600581905590555b62317040600a5411801561284c575062358ef0600a5411155b1561286d5764033c812b008102600981905560168054909101600581905590555b62358ef0600a54118015612886575062398690600a5411155b156128a7576404b4038a008102600981905560178054909101600581905590555b62398690600a541180156128c05750623d5720600a5411155b156128e157640ba43b74008102600981905560188054909101600581905590555b623d5720600a541180156128fa5750624100a0600a5411155b1561291b57641f0aca0d408102600981905560198054909101600581905590555b624100a0600a54118015612934575062448310600a5411155b15612955576437acf5ef4081026009819055601a8054909101600581905590555b62448310600a5411801561296e57506247b760600a5411155b1561298f57645bbf35d48081026009819055601b8054909101600581905590555b6247b760600a541180156129a85750624ac4a0600a5411155b156129c95764a089670f0081026009819055601c8054909101600581905590555b624ac4a0600a541180156129e25750624d83c0600a5411155b15612a0457650155293224c081026009819055601d8054909101600581905590555b624d83c0600a54118015612a1d5750624fa6a0600a5411155b15612a3f576502df7e9a3d4081026009819055601e8054909101600581905590555b624fa6a0600a54118015612a5857506251a270600a5411155b15612a7a5765053567548d4081026009819055601f8054909101600581905590555b6251a270600a54118015612a93575062535020600a5411155b15612ab557650bebfc1d51c08102600981905560208054909101600581905590555b62535020600a54118015612ace5750625488a0600a5411155b15612af057651f8c501d9b008102600981905560218054909101600581905590555b625488a0600a54118015612b095750625524e0600a5411155b15612b2b57656d2ddd1385808102600981905560228054909101600581905590555b625524e0600a54118015612b44575062557300600a5411155b15612b675766016f86dcf428008102600981905560238054909101600581905590555b50565b600061268883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613f7e565b620927c0600a541015612bd457620493e081026009819055600e805491909103600581905590555b620927c0600a5410158015612bee57506210c8e0600a5411155b15612c0f576311e1a30081026009819055600f805491909103600581905590555b6210c8e0600a54118015612c2857506217a6b0600a5411155b15612c4957631ad27480810260098190556010805491909103600581905590555b6217a6b0600a54118015612c625750621de840600a5411155b15612c835763283baec0810260098190556011805491909103600581905590555b621de840600a54118015612c9c575062233f70600a5411155b15612cbd57638c122780810260098190556012805491909103600581905590555b62233f70600a54118015612cd6575062284880600a5411155b15612cf75763b44dd640810260098190556013805491909103600581905590555b62284880600a54118015612d105750622d0370600a5411155b15612d32576401553c9140810260098190556014805491909103600581905590555b622d0370600a54118015612d4b575062317040600a5411155b15612d6d576401fc212d40810260098190556015805491909103600581905590555b62317040600a54118015612d86575062358ef0600a5411155b15612da85764033c812b00810260098190556016805491909103600581905590555b62358ef0600a54118015612dc1575062398690600a5411155b15612de3576404b4038a00810260098190556017805491909103600581905590555b62398690600a54118015612dfc5750623d5720600a5411155b15612e1e57640ba43b7400810260098190556018805491909103600581905590555b623d5720600a54118015612e375750624100a0600a5411155b15612e5957641f0aca0d40810260098190556019805491909103600581905590555b624100a0600a54118015612e72575062448310600a5411155b15612e94576437acf5ef4081026009819055601a805491909103600581905590555b62448310600a54118015612ead57506247b760600a5411155b15612ecf57645bbf35d48081026009819055601b805491909103600581905590555b6247b760600a54118015612ee85750624ac4a0600a5411155b15612f0a5764a089670f0081026009819055601c805491909103600581905590555b624ac4a0600a54118015612f235750624d83c0600a5411155b15612f4657650155293224c081026009819055601d805491909103600581905590555b624d83c0600a54118015612f5f5750624fa6a0600a5411155b15612f82576502df7e9a3d4081026009819055601e805491909103600581905590555b624fa6a0600a54118015612f9b57506251a270600a5411155b15612fbe5765053567548d4081026009819055601f805491909103600581905590555b6251a270600a54118015612fd7575062535020600a5411155b15612ffa57650bebfc1d51c0810260098190556020805491909103600581905590555b62535020600a541180156130135750625488a0600a5411155b1561303657651f8c501d9b00810260098190556021805491909103600581905590555b625488a0600a5411801561304f5750625524e0600a5411155b1561307257656d2ddd138580810260098190556022805491909103600581905590555b625524e0600a5411801561308b575062557300600a5411155b15612b675766016f86dcf42800026009819055602380549190910360058190559055565b3390565b6001600160a01b0383166130f85760405162461bcd60e51b81526004018080602001828103825260258152602001806141456025913960400191505060405180910390fd5b6001600160a01b03821661313d5760405162461bcd60e51b815260040180806020018281038252602381526020018061409b6023913960400191505060405180910390fd5b816001600160a01b0316836001600160a01b0316600080516020614104833981519152836040518082815260200191505060405180910390a36131b3816040518060600160405280602681526020016140be602691396001600160a01b0386166000908152604260205260409020549190613f7e565b6001600160a01b0380851660009081526042602052604080822093909355908416815220546131e2908261262e565b6001600160a01b039092166000908152604260205260409020919091555050565b600061268883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614015565b6001600160a01b03821661328a5760405162461bcd60e51b81526004018080602001828103825260218152602001806141246021913960400191505060405180910390fd5b60408051828152905130916001600160a01b038516916000805160206141048339815191529181900360200190a36001600160a01b0382166000908152604260205260409020546132db9082612b6a565b6001600160a01b038316600090815260426020526040902055600a546133019082612b6a565b600a556001600160a01b0382166000908152604360205260409020546133279082612b6a565b6001600160a01b03831660009081526043602052604090205561334981612bac565b5050565b6001600160a01b0383166133a8576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6040805183815290516001600160a01b0385169130916000805160206141048339815191529181900360200190a36001600160a01b0383166000908152604260205260409020546133f9908361262e565b6001600160a01b038416600090815260426020908152604080832093909355604390522054613428908361262e565b6001600160a01b038416600090815260436020526040902055600a5461344e908261262e565b600a5561345a8161268f565b505050565b6108ca60005b600f811015613f78576001600160a01b03808416600081815260446020908152604080832054909416808352604290915292902054600554600d549192908302918202908414156134d0576127108887025b0460046000828254019250508190555050505050613f78565b6001600160a01b0384166134e9576127108887026134b7565b846135bc57603354811061358a5760006127106024548a028161350857fe5b6001600160a01b0387166000908152604560205260409020549190049150613530908261262e565b6001600160a01b0380871660008181526045602090815260409182902094909455805185815293840186905260018a0184820152519092918b16916000805160206140e4833981519152919081900360600190a3506135a7565b61271060245489028161359957fe5b600480549290910490910190555b6024546135b5908790612b6a565b9550613f6a565b846001141561366c5760345481106136435760006127106025548a02816135df57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613660565b61271060255489028161365257fe5b600480549290910490910190555b60255486039550613f6a565b84600214156137185760355481106136ef5760006127106026548a028161368f57fe5b6001600160a01b038088166000818152604560209081526040918290209590940494859055805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a35061370c565b6127106026548902816136fe57fe5b600480549290910490910190555b60265486039550613f6a565b84600314156137c857603654811061379f5760006127106027548a028161373b57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a3506137bc565b6127106027548902816137ae57fe5b600480549290910490910190555b60275486039550613f6a565b846004141561387a576037548110613850576000620186a06028548a02816137ec57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a35061386e565b620186a060285489028161386057fe5b600480549290910490910190555b60285486039550613f6a565b846005141561392c576038548110613902576000620186a06029548a028161389e57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613920565b620186a060295489028161391257fe5b600480549290910490910190555b60295486039550613f6a565b84600614156139de5760395481106139b4576000620186a0602a548a028161395057fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a3506139d2565b620186a0602a548902816139c457fe5b600480549290910490910190555b602a5486039550613f6a565b8460071415613a9057603a548110613a66576000620186a0602b548a0281613a0257fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613a84565b620186a0602b54890281613a7657fe5b600480549290910490910190555b602b5486039550613f6a565b8460081415613b4257603b548110613b18576000620186a0602c548a0281613ab457fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613b36565b620186a0602c54890281613b2857fe5b600480549290910490910190555b602c5486039550613f6a565b8460091415613bf457603c548110613bca576000620186a0602d548a0281613b6657fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613be8565b620186a0602d54890281613bda57fe5b600480549290910490910190555b602d5486039550613f6a565b84600a1415613ca657603d548110613c7c576000620186a0602e548a0281613c1857fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613c9a565b620186a0602e54890281613c8c57fe5b600480549290910490910190555b602e5486039550613f6a565b84600b1415613d5857603e548110613d2e576000620186a0602f548a0281613cca57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613d4c565b620186a0602f54890281613d3e57fe5b600480549290910490910190555b602f5486039550613f6a565b84600c1415613e0a57603f548110613de0576000620186a06030548a0281613d7c57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613dfe565b620186a0603054890281613df057fe5b600480549290910490910190555b60305486039550613f6a565b84600d1415613ebc576040548110613e92576000620186a06031548a0281613e2e57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613eb0565b620186a0602754890281613ea257fe5b600480549290910490910190555b60315486039550613f6a565b84600e1415613f6a576041548110613f44576000620186a06032548a0281613ee057fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613f62565b620186a0602854890281613f5457fe5b600480549290910490910190555b603254860395505b509194505050600101613465565b50505050565b6000818484111561400d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613fd2578181015183820152602001613fba565b50505050905090810190601f168015613fff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836140645760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613fd2578181015183820152602001613fba565b50600083858161407057fe5b049594505050505056fe43616c6c6572206973206e6f7420746865206f776e657200000000000000000045524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636503e2fbb2b92f9e0c79b9743877ad3b4ed3fd2d8df69ddba7a376839ed2bc2ff7ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f20616464726573734d6178696d756d204c696d69742052656163686564206f662052656365697665722ea26469706673582212208afeb52baf3789ac2346b98b62f0422edb2a5540f9600481a87531adae69fe3464736f6c63430007040033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000005573000000000000000000000000000000000000000000000000000000000000000010556e6976657273652046696e616e63650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035546430000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061021e5760003560e01c80637dd1a25c11610123578063aad7390d116100ab578063e4849b321161006f578063e4849b32146109da578063eb91d37e14610a04578063f088d54714610a19578063f2a1566a14610a3f578063f6b4dfb414610a7e57610225565b8063aad7390d146108f0578063c7e97f5d1461091a578063cb6f37ab1461094a578063d46c1c771461097d578063e095f814146109b057610225565b8063926a9ca1116100f2578063926a9ca1146107835780639342c8f4146107ad57806395d89b41146107d75780639ee08b6d146107ec578063a9059cbb146108b757610225565b80637dd1a25c146106d757806387f9fb98146106ec5780638bb484241461071f5780638da5cb5b1461075257610225565b8063576fcd1b116101a65780636926e82f116101755780636926e82f1461060b5780636c02a9311461064a5780636d4400561461065f57806370a082311461068f5780637b61c320146106c257610225565b8063576fcd1b1461049c57806360f74caa146104dd5780636322da2c1461051057806365216a411461054057610225565b8063102c5003116101ed578063102c5003146103f65780631427fdb11461041d57806318160ddd146104325780631942b03314610447578063313ce5671461047157610225565b806306fdde031461022a5780630752750e146102b4578063089217f5146103015780630d1c1adf1461032b57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f610a93565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610279578181015183820152602001610261565b50505050905090810190601f1680156102a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c057600080fd5b506102ed600480360360408110156102d757600080fd5b506001600160a01b038135169060200135610b29565b604080519115158252519081900360200190f35b34801561030d57600080fd5b506102ed6004803603602081101561032457600080fd5b5035610baa565b34801561033757600080fd5b506102ed6004803603604081101561034e57600080fd5b810190602081018135600160201b81111561036857600080fd5b82018360208201111561037a57600080fd5b803590602001918460208302840111600160201b8311171561039b57600080fd5b919390929091602081019035600160201b8111156103b857600080fd5b8201836020820111156103ca57600080fd5b803590602001918460208302840111600160201b831117156103eb57600080fd5b509092509050610c0d565b34801561040257600080fd5b5061040b610dd0565b60408051918252519081900360200190f35b34801561042957600080fd5b5061040b610dd6565b34801561043e57600080fd5b5061040b610ddc565b34801561045357600080fd5b506102ed6004803603602081101561046a57600080fd5b5035610de2565b34801561047d57600080fd5b50610486610e40565b6040805160ff9092168252519081900360200190f35b3480156104a857600080fd5b506102ed600480360360608110156104bf57600080fd5b506001600160a01b0381351690602081013515159060400135610e49565b3480156104e957600080fd5b5061040b6004803603602081101561050057600080fd5b50356001600160a01b0316610f83565b34801561051c57600080fd5b506102ed6004803603604081101561053357600080fd5b5080359060200135610f9e565b34801561054c57600080fd5b506102ed6004803603604081101561056357600080fd5b810190602081018135600160201b81111561057d57600080fd5b82018360208201111561058f57600080fd5b803590602001918460208302840111600160201b831117156105b057600080fd5b919390929091602081019035600160201b8111156105cd57600080fd5b8201836020820111156105df57600080fd5b803590602001918460208302840111600160201b8311171561060057600080fd5b509092509050611121565b34801561061757600080fd5b506102ed6004803603606081101561062e57600080fd5b506001600160a01b038135169060208101359060400135611347565b34801561065657600080fd5b5061023f61140d565b34801561066b57600080fd5b506102ed6004803603604081101561068257600080fd5b508035906020013561149b565b34801561069b57600080fd5b5061040b600480360360208110156106b257600080fd5b50356001600160a01b0316611536565b3480156106ce57600080fd5b5061023f611551565b3480156106e357600080fd5b5061040b6115ab565b3480156106f857600080fd5b506102ed6004803603602081101561070f57600080fd5b50356001600160a01b0316611605565b34801561072b57600080fd5b5061040b6004803603602081101561074257600080fd5b50356001600160a01b0316611685565b34801561075e57600080fd5b506107676116a0565b604080516001600160a01b039092168252519081900360200190f35b34801561078f57600080fd5b5061040b600480360360208110156107a657600080fd5b50356116b4565b3480156107b957600080fd5b506102ed600480360360208110156107d057600080fd5b50356116e8565b3480156107e357600080fd5b5061023f6119de565b3480156107f857600080fd5b506102ed6004803603604081101561080f57600080fd5b810190602081018135600160201b81111561082957600080fd5b82018360208201111561083b57600080fd5b803590602001918460208302840111600160201b8311171561085c57600080fd5b919390929091602081019035600160201b81111561087957600080fd5b82018360208201111561088b57600080fd5b803590602001918460208302840111600160201b831117156108ac57600080fd5b509092509050611a3e565b3480156108c357600080fd5b506102ed600480360360408110156108da57600080fd5b506001600160a01b038135169060200135611b09565b3480156108fc57600080fd5b5061040b6004803603602081101561091357600080fd5b5035611cc4565b34801561092657600080fd5b506102ed6004803603604081101561093d57600080fd5b5080359060200135611ce5565b34801561095657600080fd5b506107676004803603602081101561096d57600080fd5b50356001600160a01b0316611e57565b34801561098957600080fd5b506102ed600480360360208110156109a057600080fd5b50356001600160a01b0316611e75565b3480156109bc57600080fd5b5061040b600480360360208110156109d357600080fd5b5035611e93565b3480156109e657600080fd5b506102ed600480360360208110156109fd57600080fd5b5035611ebe565b348015610a1057600080fd5b5061040b6121a3565b6102ed60048036036020811015610a2f57600080fd5b50356001600160a01b03166121a9565b348015610a4b57600080fd5b506102ed60048036036060811015610a6257600080fd5b506001600160a01b038135169060208101359060400135612586565b348015610a8a57600080fd5b5061076761262a565b60008054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b1f5780601f10610af457610100808354040283529160200191610b1f565b820191906000526020600020905b815481529060010190602001808311610b0257829003601f168201915b5050505050905090565b600081610b5257506001600160a01b03821660009081526048602052604090205460ff16610ba4565b8160011415610b7d57506001600160a01b03821660009081526049602052604090205460ff16610ba4565b8160021415610ba457506001600160a01b0382166000908152604a602052604090205460ff165b92915050565b60025460009061010090046001600160a01b03163314610bff576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b50600a81905560015b919050565b60025460009061010090046001600160a01b03163314610c62576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b60005b84811015610dc457600160476000888885818110610c7f57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550838382818110610cd257fe5b905060200201356001600160a01b031660446000888885818110610cf257fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838382818110610d5257fe5b905060200201356001600160a01b03166001600160a01b0316868683818110610d7757fe5b905060200201356001600160a01b03166001600160a01b03167ff3b2033a33a42505cc02ce793f5b1edbbb560a251ffb2a31f54b5ef4c4ea576e60405160405180910390a3600101610c65565b50600195945050505050565b60045490565b600a5490565b60035490565b60025460009061010090046001600160a01b03163314610e37576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b50600555600190565b60025460ff1690565b60025460009061010090046001600160a01b03163314610e9e576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b81610ec8576001600160a01b0384166000908152604860205260409020805460ff19168415151790555b8160011415610ef6576001600160a01b0384166000908152604960205260409020805460ff19168415151790555b8160021415610f24576001600160a01b0384166000908152604a60205260409020805460ff19168415151790555b8160031415610f79576001600160a01b0384166000908152604960209081526040808320805487151560ff199182168117909255604884528285208054821683179055604a9093529220805490911690911790555b5060019392505050565b6001600160a01b031660009081526045602052604090205490565b60025460009061010090046001600160a01b03163314610ff3576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b8260011415611006576024829055611118565b8260021415611019576025829055611118565b826003141561102c576026829055611118565b826004141561103f576027829055611118565b8260051415611052576028829055611118565b8260061415611065576029829055611118565b826007141561107857602a829055611118565b826008141561108b57602b829055611118565b826009141561109e57602c829055611118565b82600a14156110b157602d829055611118565b82600b14156110c457602e829055611118565b82600c14156110d757602f829055611118565b82600d14156110ea576030829055611118565b82600e14156110fd576031829055611118565b82600f1415611110576032829055611118565b506000610ba4565b50600192915050565b60025460009061010090046001600160a01b03163314611176576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b60005b84811015610dc4576111e684848381811061119057fe5b90506020020135604260008989868181106111a757fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000205461262e90919063ffffffff16565b604260008888858181106111f657fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000208190555061125084848381811061123957fe5b90506020020135604360008989868181106111a757fe5b6043600088888581811061126057fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020819055506112bb8484838181106112a357fe5b90506020020135600a5461262e90919063ffffffff16565b600a558585828181106112ca57fe5b905060200201356001600160a01b03166001600160a01b0316306001600160a01b031660008051602061410483398151915286868581811061130857fe5b905060200201356040518082815260200191505060405180910390a361133f84848381811061133357fe5b9050602002013561268f565b600101611179565b60025460009061010090046001600160a01b0316331461139c576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b816113de576001600160a01b038416600090815260426020908152604080832086905560439091529020839055600a546113d6908461262e565b600a55610f79565b50506001600160a01b039190911660009081526042602090815260408083208490556043909152902055600190565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156114935780601f1061146857610100808354040283529160200191611493565b820191906000526020600020905b81548152906001019060200180831161147657829003601f168201915b505050505081565b60025460009061010090046001600160a01b031633146114f0576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b816114fb5760068390555b816001141561150a5760078390555b81600214156115195760088390555b816003141561111857505060088190556007819055600655600190565b6001600160a01b031660009081526042602052604090205490565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156114935780601f1061146857610100808354040283529160200191611493565b60025460009061010090046001600160a01b03163314611600576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b504790565b60025460009061010090046001600160a01b0316331461165a576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b506001600160a01b03166000908152604760205260409020805460ff19166001179081905560ff1690565b6001600160a01b031660009081526043602052604090205490565b60025461010090046001600160a01b031681565b6000816116c45750600654610c08565b81600114156116d65750600754610c08565b8160021415610c085750600854610c08565b6000600854600014611739576040805162461bcd60e51b81526020600482015260156024820152742bb4ba34323930bb903737ba1030b63637bbb2b21760591b604482015290519081900360640190fd5b336000908152604a602052604090205460ff161561179e576040805162461bcd60e51b815260206004820152601e60248201527f5769746864726177206e6f7420616c6c6f77656420666f7220757365722e0000604482015290519081900360640190fd5b6000600a54116117ec576040805162461bcd60e51b81526020600482015260146024820152736e6f2063697263756c6174656420746f6b656e7360601b604482015290519081900360640190fd5b60008211611838576040805162461bcd60e51b815260206004820152601460248201527331b0b7103737ba1039b2b6361018103a37b5b2b760611b604482015290519081900360640190fd5b3360009081526045602052604090205482111561189c576040805162461bcd60e51b815260206004820152601e60248201527f6e6f7420656e6f756768207265776172647320746f2077697468647261770000604482015290519081900360640190fd5b600354600a546118ad90849061262e565b11156118f8576040805162461bcd60e51b8152602060048201526015602482015274657863656564656420746f74616c20737570706c7960581b604482015290519081900360640190fd5b600061190383611cc4565b604051909150339082156108fc029083906000818181858888f19350505050158015611933573d6000803e3d6000fd5b503360009081526045602052604090205461194e9084612b6a565b33600090815260456020526040902055600a5461196b9084612b6a565b600a5561197783612bac565b336001600160a01b03167f90ebb005d68efee044927e1e77e1fd0cecc508368aa72c39250a787eed5f0a7082856064600554816119b057fe5b600554604080519586526020860194909452919004900382820152519081900360600190a250600192915050565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b1f5780601f10610af457610100808354040283529160200191610b1f565b60025460009061010090046001600160a01b03163314611a93576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b60005b84811015610dc4576000848483818110611aac57fe5b9050602002013590508060456000898986818110611ac657fe5b602090810292909201356001600160a01b03168352508101919091526040016000208054919091019055600a54611afd908261262e565b600a5550600101611a96565b6000808211611b5f576040805162461bcd60e51b815260206004820152601a60248201527f43616e206e6f74207472616e73666572203020746f6b656e732e000000000000604482015290519081900360640190fd5b611388821115611baf576040805162461bcd60e51b815260206004820152601660248201527526b0bc34b6bab6902a3930b739b332b9101a9818181760511b604482015290519081900360640190fd5b6001600160a01b03831660009081526043602052604090205461138890611bd790849061262e565b1115611c145760405162461bcd60e51b815260040180806020018281038252602281526020018061416a6022913960400191505060405180910390fd5b611c26611c1f6130af565b84846130b3565b6001600160a01b038316600090815260436020526040902054611c49908361262e565b6001600160a01b0384166000908152604360208190526040822092909255611c95918491611c756130af565b6001600160a01b0316815260208101919091526040016000205490612b6a565b60436000611ca16130af565b6001600160a01b0316815260208101919091526040016000205550600192915050565b600080606460055481611cd357fe5b04600554038302905080915050919050565b60025460009061010090046001600160a01b03163314611d3a576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b8260011415611d4d576033829055611118565b8260021415611d60576034829055611118565b8260031415611d73576035829055611118565b8260041415611d86576036829055611118565b8260051415611d99576037829055611118565b8260061415611dac576038829055611118565b8260071415611dbf576039829055611118565b8260081415611dd257603a829055611118565b8260091415611de557603b829055611118565b82600a1415611df857603c829055611118565b82600b1415611e0b57603d829055611118565b82600c1415611e1e57603e829055611118565b82600d1415611e3157603f829055611118565b82600e1415611e44576040829055611118565b82600f1415611110576041829055611118565b6001600160a01b039081166000908152604460205260409020541690565b6001600160a01b031660009081526047602052604090205460ff1690565b600554600090620186a06157e484020490818403908390611eb5908390613203565b95945050505050565b6000600754600014611f0b576040805162461bcd60e51b815260206004820152601160248201527029b2b636103737ba1030b63637bbb2b21760791b604482015290519081900360640190fd5b3360009081526049602052604090205460ff1615611f70576040805162461bcd60e51b815260206004820152601a60248201527f53656c6c206e6f7420616c6c6f77656420666f7220757365722e000000000000604482015290519081900360640190fd5b3360009081526047602052604090205460ff16611fca576040805162461bcd60e51b81526020600482015260136024820152721d5cd95c881b9bdd081c9959da5cdd195c9959606a1b604482015290519081900360640190fd5b6000600a5411612018576040805162461bcd60e51b81526020600482015260146024820152736e6f2063697263756c6174656420746f6b656e7360601b604482015290519081900360640190fd5b60008211612064576040805162461bcd60e51b815260206004820152601460248201527331b0b7103737ba1039b2b6361018103a37b5b2b760611b604482015290519081900360640190fd5b336000908152604260205260409020548211156120c8576040805162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e7320746f207472616e73616374000000604482015290519081900360640190fd5b600354600a546120d990849061262e565b1115612124576040805162461bcd60e51b8152602060048201526015602482015274657863656564656420746f74616c20737570706c7960581b604482015290519081900360640190fd5b600061212f83611cc4565b604051909150339082156108fc029083906000818181858888f1935050505015801561215f573d6000803e3d6000fd5b5061216a3384613245565b336001600160a01b03167f846c37eef631e0943682d87352ec117c20008eb7f425c9b85ac011a6d4774cc082856064600554816119b057fe5b60055490565b60006006546000146121f5576040805162461bcd60e51b815260206004820152601060248201526f213abc903737ba1030b63637bbb2b21760811b604482015290519081900360640190fd5b3360009081526048602052604090205460ff161561225a576040805162461bcd60e51b815260206004820152601960248201527f427579206e6f7420616c6c6f77656420666f7220757365722e00000000000000604482015290519081900360640190fd5b6001600160a01b0382163314156122b8576040805162461bcd60e51b815260206004820152601e60248201527f53656c66207265666572656e6365206e6f7420616c6c6f776564206275790000604482015290519081900360640190fd5b6001600160a01b03821661230a576040805162461bcd60e51b81526020600482015260146024820152734e6f20526566657272616c20436f64652062757960601b604482015290519081900360640190fd5b6001600160a01b03821660009081526047602052604090205460ff1661236e576040805162461bcd60e51b8152602060048201526014602482015273496e76616c696420526566657272616c2062757960601b604482015290519081900360640190fd5b33600081815260446020908152604080832080546001600160a01b0319166001600160a01b03881617905560479091528120805460ff191660011790556005543491906123bc908390613203565b905060006123c983611e93565b6001600160a01b038716600090815260426020526040902054600554600d5492935090919082029081028361243d576040805162461bcd60e51b815260206004820152601560248201527421b0b7103737ba10313abc9018103a37b5b2b7399760591b604482015290519081900360640190fd5b61138884111561248e576040805162461bcd60e51b815260206004820152601760248201527626b0bc34b6bab690213abcb4b733902932b0b1b432b21760491b604482015290519081900360640190fd5b33600090815260436020526040902054611388906124ad90869061262e565b11156124fa576040805162461bcd60e51b815260206004820152601760248201527626b0bc34b6bab690213abcb4b733902932b0b1b432b21760491b604482015290519081900360640190fd5b61250587858761334d565b61250f848861345f565b600554604080518681526020810192909252818101889052606082018590526080820183905260a08201849052516001600160a01b03808c1692908a16917f999b7c69b56254c223a1601109fd448db55907bc4e4f6a66641353534af736d99181900360c00190a350600198975050505050505050565b60025460009061010090046001600160a01b031633146125db576040805162461bcd60e51b8152602060048201526017602482015260008051602061407b833981519152604482015290519081900360640190fd5b81612608576001600160a01b0384166000908152604560205260409020839055600a546113d6908461262e565b50506001600160a01b0391909116600090815260456020526040902055600190565b3090565b600082820183811015612688576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b620927c0600a54116126a257600e546005555b620927c0600a541180156126bb57506210c8e0600a5411155b156126db576311e1a30081026009819055600f8054909101600581905590555b6210c8e0600a541180156126f457506217a6b0600a5411155b1561271457631ad274808102600981905560108054909101600581905590555b6217a6b0600a5411801561272d5750621de840600a5411155b1561274d5763283baec08102600981905560118054909101600581905590555b621de840600a54118015612766575062233f70600a5411155b1561278657638c1227808102600981905560128054909101600581905590555b62233f70600a5411801561279f575062284880600a5411155b156127bf5763b44dd6408102600981905560138054909101600581905590555b62284880600a541180156127d85750622d0370600a5411155b156127f9576401553c91408102600981905560148054909101600581905590555b622d0370600a54118015612812575062317040600a5411155b15612833576401fc212d408102600981905560158054909101600581905590555b62317040600a5411801561284c575062358ef0600a5411155b1561286d5764033c812b008102600981905560168054909101600581905590555b62358ef0600a54118015612886575062398690600a5411155b156128a7576404b4038a008102600981905560178054909101600581905590555b62398690600a541180156128c05750623d5720600a5411155b156128e157640ba43b74008102600981905560188054909101600581905590555b623d5720600a541180156128fa5750624100a0600a5411155b1561291b57641f0aca0d408102600981905560198054909101600581905590555b624100a0600a54118015612934575062448310600a5411155b15612955576437acf5ef4081026009819055601a8054909101600581905590555b62448310600a5411801561296e57506247b760600a5411155b1561298f57645bbf35d48081026009819055601b8054909101600581905590555b6247b760600a541180156129a85750624ac4a0600a5411155b156129c95764a089670f0081026009819055601c8054909101600581905590555b624ac4a0600a541180156129e25750624d83c0600a5411155b15612a0457650155293224c081026009819055601d8054909101600581905590555b624d83c0600a54118015612a1d5750624fa6a0600a5411155b15612a3f576502df7e9a3d4081026009819055601e8054909101600581905590555b624fa6a0600a54118015612a5857506251a270600a5411155b15612a7a5765053567548d4081026009819055601f8054909101600581905590555b6251a270600a54118015612a93575062535020600a5411155b15612ab557650bebfc1d51c08102600981905560208054909101600581905590555b62535020600a54118015612ace5750625488a0600a5411155b15612af057651f8c501d9b008102600981905560218054909101600581905590555b625488a0600a54118015612b095750625524e0600a5411155b15612b2b57656d2ddd1385808102600981905560228054909101600581905590555b625524e0600a54118015612b44575062557300600a5411155b15612b675766016f86dcf428008102600981905560238054909101600581905590555b50565b600061268883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613f7e565b620927c0600a541015612bd457620493e081026009819055600e805491909103600581905590555b620927c0600a5410158015612bee57506210c8e0600a5411155b15612c0f576311e1a30081026009819055600f805491909103600581905590555b6210c8e0600a54118015612c2857506217a6b0600a5411155b15612c4957631ad27480810260098190556010805491909103600581905590555b6217a6b0600a54118015612c625750621de840600a5411155b15612c835763283baec0810260098190556011805491909103600581905590555b621de840600a54118015612c9c575062233f70600a5411155b15612cbd57638c122780810260098190556012805491909103600581905590555b62233f70600a54118015612cd6575062284880600a5411155b15612cf75763b44dd640810260098190556013805491909103600581905590555b62284880600a54118015612d105750622d0370600a5411155b15612d32576401553c9140810260098190556014805491909103600581905590555b622d0370600a54118015612d4b575062317040600a5411155b15612d6d576401fc212d40810260098190556015805491909103600581905590555b62317040600a54118015612d86575062358ef0600a5411155b15612da85764033c812b00810260098190556016805491909103600581905590555b62358ef0600a54118015612dc1575062398690600a5411155b15612de3576404b4038a00810260098190556017805491909103600581905590555b62398690600a54118015612dfc5750623d5720600a5411155b15612e1e57640ba43b7400810260098190556018805491909103600581905590555b623d5720600a54118015612e375750624100a0600a5411155b15612e5957641f0aca0d40810260098190556019805491909103600581905590555b624100a0600a54118015612e72575062448310600a5411155b15612e94576437acf5ef4081026009819055601a805491909103600581905590555b62448310600a54118015612ead57506247b760600a5411155b15612ecf57645bbf35d48081026009819055601b805491909103600581905590555b6247b760600a54118015612ee85750624ac4a0600a5411155b15612f0a5764a089670f0081026009819055601c805491909103600581905590555b624ac4a0600a54118015612f235750624d83c0600a5411155b15612f4657650155293224c081026009819055601d805491909103600581905590555b624d83c0600a54118015612f5f5750624fa6a0600a5411155b15612f82576502df7e9a3d4081026009819055601e805491909103600581905590555b624fa6a0600a54118015612f9b57506251a270600a5411155b15612fbe5765053567548d4081026009819055601f805491909103600581905590555b6251a270600a54118015612fd7575062535020600a5411155b15612ffa57650bebfc1d51c0810260098190556020805491909103600581905590555b62535020600a541180156130135750625488a0600a5411155b1561303657651f8c501d9b00810260098190556021805491909103600581905590555b625488a0600a5411801561304f5750625524e0600a5411155b1561307257656d2ddd138580810260098190556022805491909103600581905590555b625524e0600a5411801561308b575062557300600a5411155b15612b675766016f86dcf42800026009819055602380549190910360058190559055565b3390565b6001600160a01b0383166130f85760405162461bcd60e51b81526004018080602001828103825260258152602001806141456025913960400191505060405180910390fd5b6001600160a01b03821661313d5760405162461bcd60e51b815260040180806020018281038252602381526020018061409b6023913960400191505060405180910390fd5b816001600160a01b0316836001600160a01b0316600080516020614104833981519152836040518082815260200191505060405180910390a36131b3816040518060600160405280602681526020016140be602691396001600160a01b0386166000908152604260205260409020549190613f7e565b6001600160a01b0380851660009081526042602052604080822093909355908416815220546131e2908261262e565b6001600160a01b039092166000908152604260205260409020919091555050565b600061268883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614015565b6001600160a01b03821661328a5760405162461bcd60e51b81526004018080602001828103825260218152602001806141246021913960400191505060405180910390fd5b60408051828152905130916001600160a01b038516916000805160206141048339815191529181900360200190a36001600160a01b0382166000908152604260205260409020546132db9082612b6a565b6001600160a01b038316600090815260426020526040902055600a546133019082612b6a565b600a556001600160a01b0382166000908152604360205260409020546133279082612b6a565b6001600160a01b03831660009081526043602052604090205561334981612bac565b5050565b6001600160a01b0383166133a8576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6040805183815290516001600160a01b0385169130916000805160206141048339815191529181900360200190a36001600160a01b0383166000908152604260205260409020546133f9908361262e565b6001600160a01b038416600090815260426020908152604080832093909355604390522054613428908361262e565b6001600160a01b038416600090815260436020526040902055600a5461344e908261262e565b600a5561345a8161268f565b505050565b6108ca60005b600f811015613f78576001600160a01b03808416600081815260446020908152604080832054909416808352604290915292902054600554600d549192908302918202908414156134d0576127108887025b0460046000828254019250508190555050505050613f78565b6001600160a01b0384166134e9576127108887026134b7565b846135bc57603354811061358a5760006127106024548a028161350857fe5b6001600160a01b0387166000908152604560205260409020549190049150613530908261262e565b6001600160a01b0380871660008181526045602090815260409182902094909455805185815293840186905260018a0184820152519092918b16916000805160206140e4833981519152919081900360600190a3506135a7565b61271060245489028161359957fe5b600480549290910490910190555b6024546135b5908790612b6a565b9550613f6a565b846001141561366c5760345481106136435760006127106025548a02816135df57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613660565b61271060255489028161365257fe5b600480549290910490910190555b60255486039550613f6a565b84600214156137185760355481106136ef5760006127106026548a028161368f57fe5b6001600160a01b038088166000818152604560209081526040918290209590940494859055805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a35061370c565b6127106026548902816136fe57fe5b600480549290910490910190555b60265486039550613f6a565b84600314156137c857603654811061379f5760006127106027548a028161373b57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a3506137bc565b6127106027548902816137ae57fe5b600480549290910490910190555b60275486039550613f6a565b846004141561387a576037548110613850576000620186a06028548a02816137ec57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a35061386e565b620186a060285489028161386057fe5b600480549290910490910190555b60285486039550613f6a565b846005141561392c576038548110613902576000620186a06029548a028161389e57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613920565b620186a060295489028161391257fe5b600480549290910490910190555b60295486039550613f6a565b84600614156139de5760395481106139b4576000620186a0602a548a028161395057fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a3506139d2565b620186a0602a548902816139c457fe5b600480549290910490910190555b602a5486039550613f6a565b8460071415613a9057603a548110613a66576000620186a0602b548a0281613a0257fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613a84565b620186a0602b54890281613a7657fe5b600480549290910490910190555b602b5486039550613f6a565b8460081415613b4257603b548110613b18576000620186a0602c548a0281613ab457fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613b36565b620186a0602c54890281613b2857fe5b600480549290910490910190555b602c5486039550613f6a565b8460091415613bf457603c548110613bca576000620186a0602d548a0281613b6657fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613be8565b620186a0602d54890281613bda57fe5b600480549290910490910190555b602d5486039550613f6a565b84600a1415613ca657603d548110613c7c576000620186a0602e548a0281613c1857fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613c9a565b620186a0602e54890281613c8c57fe5b600480549290910490910190555b602e5486039550613f6a565b84600b1415613d5857603e548110613d2e576000620186a0602f548a0281613cca57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613d4c565b620186a0602f54890281613d3e57fe5b600480549290910490910190555b602f5486039550613f6a565b84600c1415613e0a57603f548110613de0576000620186a06030548a0281613d7c57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613dfe565b620186a0603054890281613df057fe5b600480549290910490910190555b60305486039550613f6a565b84600d1415613ebc576040548110613e92576000620186a06031548a0281613e2e57fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613eb0565b620186a0602754890281613ea257fe5b600480549290910490910190555b60315486039550613f6a565b84600e1415613f6a576041548110613f44576000620186a06032548a0281613ee057fe5b6001600160a01b03808816600081815260456020908152604091829020805496909504958601909455805185815293840187905260018b01848201525193945092908b16916000805160206140e4833981519152919081900360600190a350613f62565b620186a0602854890281613f5457fe5b600480549290910490910190555b603254860395505b509194505050600101613465565b50505050565b6000818484111561400d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613fd2578181015183820152602001613fba565b50505050905090810190601f168015613fff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836140645760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613fd2578181015183820152602001613fba565b50600083858161407057fe5b049594505050505056fe43616c6c6572206973206e6f7420746865206f776e657200000000000000000045524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636503e2fbb2b92f9e0c79b9743877ad3b4ed3fd2d8df69ddba7a376839ed2bc2ff7ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f20616464726573734d6178696d756d204c696d69742052656163686564206f662052656365697665722ea26469706673582212208afeb52baf3789ac2346b98b62f0422edb2a5540f9600481a87531adae69fe3464736f6c63430007040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000005573000000000000000000000000000000000000000000000000000000000000000010556e6976657273652046696e616e63650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035546430000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _tokenName (string): Universe Finance
Arg [1] : _tokenSymbol (string): UFC
Arg [2] : totalSupply_ (uint256): 5600000
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000557300
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000010
Arg [4] : 556e6976657273652046696e616e636500000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 5546430000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
85:47749:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7521:88;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7907:403;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7907:403:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;13112:160;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13112:160:0;;:::i;14729:487::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14729:487:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14729:487:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14729:487:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14729:487:0;;;;;;;;;;-1:-1:-1;14729:487:0;;-1:-1:-1;14729:487:0;-1:-1:-1;14729:487:0;:::i;7032:99::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7192:107;;;;;;;;;;;;;:::i;6689:96::-;;;;;;;;;;;;;:::i;12886:146::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12886:146:0;;:::i;7799:87::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11583:642;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11583:642:0;;;;;;;;;;;;;;;:::i;9253:129::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9253:129:0;-1:-1:-1;;;;;9253:129:0;;:::i;15299:1427::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15299:1427:0;;;;;;;:::i;13476:706::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13476:706:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13476:706:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13476:706:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13476:706:0;;;;;;;;;;-1:-1:-1;13476:706:0;;-1:-1:-1;13476:706:0;-1:-1:-1;13476:706:0;:::i;10875:538::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10875:538:0;;;;;;;;;;;;;:::i;1466:23::-;;;;;;;;;;;;;:::i;10252:508::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10252:508:0;;;;;;;:::i;8725:116::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8725:116:0;-1:-1:-1;;;;;8725:116:0;;:::i;1590:25::-;;;;;;;;;;;;;:::i;33156:117::-;;;;;;;;;;;;;:::i;13283:179::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13283:179:0;-1:-1:-1;;;;;13283:179:0;;:::i;9113:129::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9113:129:0;-1:-1:-1;;;;;9113:129:0;;:::i;1748:20::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1748:20:0;;;;;;;;;;;;;;8324:339;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8324:339:0;;:::i;31292:1062::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;31292:1062:0;;:::i;7654:94::-;;;;;;;;;;;;;:::i;14198:511::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14198:511:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14198:511:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14198:511:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14198:511:0;;;;;;;;;;-1:-1:-1;14198:511:0;;-1:-1:-1;14198:511:0;-1:-1:-1;14198:511:0;:::i;32380:547::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;32380:547:0;;;;;;;;:::i;9729:222::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9729:222:0;;:::i;16806:1522::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16806:1522:0;;;;;;;:::i;6854:123::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6854:123:0;-1:-1:-1;;;;;6854:123:0;;:::i;8970:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8970:128:0;-1:-1:-1;;;;;8970:128:0;;:::i;9392:321::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9392:321:0;;:::i;30372:893::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30372:893:0;;:::i;7364:98::-;;;;;;;;;;;;;:::i;18342:1445::-;;;;;;;;;;;;;;;;-1:-1:-1;18342:1445:0;-1:-1:-1;;;;;18342:1445:0;;:::i;12343:431::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12343:431:0;;;;;;;;;;;;;:::i;8850:99::-;;;;;;;;;;;;;:::i;7521:88::-;7592:9;7585:16;;;;;;;;-1:-1:-1;;7585:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7559:13;;7585:16;;7592:9;;7585:16;;7592:9;7585:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7521:88;:::o;7907:403::-;7996:4;8020:12;8017:85;;-1:-1:-1;;;;;;8056:33:0;;;;;;:19;:33;;;;;;;;8049:40;;8017:85;8117:7;8128:1;8117:12;8114:86;;;-1:-1:-1;;;;;;8153:34:0;;;;;;:20;:34;;;;;;;;8146:41;;8114:86;8215:7;8226:1;8215:12;8212:90;;;-1:-1:-1;;;;;;8251:38:0;;;;;;:24;:38;;;;;;;;8212:90;7907:403;;;;:::o;13112:160::-;5802:5;;13193:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;-1:-1:-1;13211:17:0::1;:29:::0;;;13260:4:::1;5846:1;13112:160:::0;;;:::o;14729:487::-;5802:5;;14854:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;14881:6:::1;14876:249;14893:25:::0;;::::1;14876:249;;;14975:4;14940:13;:32;14954:14;;14969:1;14954:17;;;;;;;;;;;;;-1:-1:-1::0;;;;;14954:17:0::1;-1:-1:-1::0;;;;;14940:32:0::1;-1:-1:-1::0;;;;;14940:32:0::1;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15023:16;;15040:1;15023:19;;;;;;;;;;;;;-1:-1:-1::0;;;;;15023:19:0::1;14994:7;:26;15002:14;;15017:1;15002:17;;;;;;;;;;;;;-1:-1:-1::0;;;;;15002:17:0::1;-1:-1:-1::0;;;;;14994:26:0::1;-1:-1:-1::0;;;;;14994:26:0::1;;;;;;;;;;;;;:48;;;;;-1:-1:-1::0;;;;;14994:48:0::1;;;;;-1:-1:-1::0;;;;;14994:48:0::1;;;;;;15093:16;;15110:1;15093:19;;;;;;;;;;;;;-1:-1:-1::0;;;;;15093:19:0::1;-1:-1:-1::0;;;;;15062:51:0::1;15075:14;;15090:1;15075:17;;;;;;;;;;;;;-1:-1:-1::0;;;;;15075:17:0::1;-1:-1:-1::0;;;;;15062:51:0::1;;;;;;;;;;;14920:3;;14876:249;;;-1:-1:-1::0;15204:4:0::1;::::0;14729:487;-1:-1:-1;;;;;14729:487:0:o;7032:99::-;7109:13;;7032:99;:::o;7192:107::-;7273:17;;7192:107;:::o;6689:96::-;6765:12;;6689:96;:::o;12886:146::-;5802:5;;12955:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;-1:-1:-1;12974:12:0::1;:24:::0;13018:4:::1;::::0;12886:146::o;7799:87::-;7869:7;;;;7799:87;:::o;11583:642::-;5802:5;;11699:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;11721:10;11718:86:::1;;-1:-1:-1::0;;;;;11747:36:0;::::1;;::::0;;;:19:::1;:36;::::0;;;;:43;;-1:-1:-1;;11747:43:0::1;::::0;::::1;;;::::0;;11718:86:::1;11807:7;11816:1;11807:10;11804:87;;;-1:-1:-1::0;;;;;11833:37:0;::::1;;::::0;;;:20:::1;:37;::::0;;;;:44;;-1:-1:-1;;11833:44:0::1;::::0;::::1;;;::::0;;11804:87:::1;11894:7;11903:1;11894:10;11891:91;;;-1:-1:-1::0;;;;;11920:41:0;::::1;;::::0;;;:24:::1;:41;::::0;;;;:48;;-1:-1:-1;;11920:48:0::1;::::0;::::1;;;::::0;;11891:91:::1;11985:7;11994:1;11985:10;11982:210;;;-1:-1:-1::0;;;;;12011:37:0;::::1;;::::0;;;:20:::1;:37;::::0;;;;;;;:44;;;::::1;;-1:-1:-1::0;;12011:44:0;;::::1;::::0;::::1;::::0;;;12070:19:::1;:36:::0;;;;;:43;;;::::1;::::0;::::1;::::0;;12130:24:::1;:41:::0;;;;;:48;;;;::::1;::::0;;::::1;::::0;;11982:210:::1;-1:-1:-1::0;12211:4:0::1;11583:642:::0;;;;;:::o;9253:129::-;-1:-1:-1;;;;;9346:27:0;9315:7;9346:27;;;:20;:27;;;;;;;9253:129::o;15299:1427::-;5802:5;;15398:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;15420:5:::1;15429:1;15420:10;15416:1268;;;15447:16;:32:::0;;;15416:1268:::1;;;15501:5;15510:1;15501:10;15497:1187;;;15528:16;:32:::0;;;15497:1187:::1;;;15582:5;15591:1;15582:10;15578:1106;;;15609:16;:32:::0;;;15578:1106:::1;;;15663:5;15672:1;15663:10;15659:1025;;;15690:16;:32:::0;;;15659:1025:::1;;;15744:5;15753:1;15744:10;15740:944;;;15771:16;:32:::0;;;15740:944:::1;;;15825:5;15834:1;15825:10;15821:863;;;15852:16;:32:::0;;;15821:863:::1;;;15906:5;15915:1;15906:10;15902:782;;;15933:16;:32:::0;;;15902:782:::1;;;15988:5;15997:1;15988:10;15984:700;;;16015:16;:32:::0;;;15984:700:::1;;;16069:5;16078:1;16069:10;16065:619;;;16096:16;:32:::0;;;16065:619:::1;;;16150:5;16159:2;16150:11;16146:538;;;16178:17;:33:::0;;;16146:538:::1;;;16233:5;16242:2;16233:11;16229:455;;;16261:17;:33:::0;;;16229:455:::1;;;16316:5;16325:2;16316:11;16312:372;;;16344:17;:33:::0;;;16312:372:::1;;;16399:5;16408:2;16399:11;16395:289;;;16427:17;:33:::0;;;16395:289:::1;;;16482:5;16491:2;16482:11;16478:206;;;16510:17;:33:::0;;;16478:206:::1;;;16565:5;16574:2;16565:11;16561:123;;;16593:17;:33:::0;;;16561:123:::1;;;-1:-1:-1::0;16666:5:0::1;16659:12;;16561:123;-1:-1:-1::0;16714:4:0::1;15299:1427:::0;;;;:::o;13476:706::-;5802:5;;13585:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;13612:6:::1;13607:484;13624:21:::0;;::::1;13607:484;;;13698:45;13731:8;;13740:1;13731:11;;;;;;;;;;;;;13698:13;:28;13712:10;;13723:1;13712:13;;;;;;;;;;;;;-1:-1:-1::0;;;;;13712:13:0::1;-1:-1:-1::0;;;;;13698:28:0::1;-1:-1:-1::0;;;;;13698:28:0::1;;;;;;;;;;;;;:32;;:45;;;;:::i;:::-;13667:13;:28;13681:10;;13692:1;13681:13;;;;;;;;;;;;;-1:-1:-1::0;;;;;13681:13:0::1;-1:-1:-1::0;;;;;13667:28:0::1;-1:-1:-1::0;;;;;13667:28:0::1;;;;;;;;;;;;:76;;;;13791:47;13826:8;;13835:1;13826:11;;;;;;;;;;;;;13791:15;:30;13807:10;;13818:1;13807:13;;;;;;13791:47;13758:15;:30;13774:10;;13785:1;13774:13;;;;;;;;;;;;;-1:-1:-1::0;;;;;13774:13:0::1;-1:-1:-1::0;;;;;13758:30:0::1;-1:-1:-1::0;;;;;13758:30:0::1;;;;;;;;;;;;:80;;;;13873:34;13895:8;;13904:1;13895:11;;;;;;;;;;;;;13873:17;;:21;;:34;;;;:::i;:::-;13853:17;:54:::0;13951:10;;13962:1;13951:13;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;13951:13:0::1;-1:-1:-1::0;;;;;13927:51:0::1;13944:4;-1:-1:-1::0;;;;;13927:51:0::1;-1:-1:-1::0;;;;;;;;;;;13966:8:0::1;;13975:1;13966:11;;;;;;;;;;;;;13927:51;;;;;;;;;;;;;;;;;;13993:25;14006:8;;14015:1;14006:11;;;;;;;;;;;;;13993:12;:25::i;:::-;13647:3;;13607:484;;10875:538:::0;5802:5;;11002:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;11024:19;11021:359:::1;;-1:-1:-1::0;;;;;11059:30:0;::::1;;::::0;;;:13:::1;:30;::::0;;;;;;;:43;;;11117:15:::1;:32:::0;;;;;:45;;;11197:17:::1;::::0;:33:::1;::::0;11092:10;11197:21:::1;:33::i;:::-;11177:17;:53:::0;11021:359:::1;;;-1:-1:-1::0;;;;;;;11263:30:0;;;::::1;;::::0;;;:13:::1;:30;::::0;;;;;;;:43;;;11321:15:::1;:32:::0;;;;;:45;11399:4:::1;::::0;10875:538::o;1466:23::-;;;;;;;;;;;;;;;-1:-1:-1;;1466:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10252:508::-;5802:5;;10340:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;10362:14;10359:70:::1;;10394:14;:21:::0;;;10359:70:::1;10432:9;10445:1;10432:14;10429:71;;;10464:15;:22:::0;;;10429:71:::1;10503:9;10516:1;10503:14;10500:75;;;10535:19;:26:::0;;;10500:75:::1;10578:9;10591:1;10578:14;10575:152;;;-1:-1:-1::0;;10610:19:0::1;:26:::0;;;10653:15:::1;:22:::0;;;10692:14:::1;:21:::0;-1:-1:-1;;10252:508:0:o;8725:116::-;-1:-1:-1;;;;;8812:20:0;8781:7;8812:20;;;:13;:20;;;;;;;8725:116::o;1590:25::-;;;;;;;;;;;;;;;-1:-1:-1;;1590:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33156:117;5802:5;;33217:7;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;-1:-1:-1;33244:21:0::1;33156:117:::0;:::o;13283:179::-;5802:5;;13358:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13375:26:0::1;;::::0;;;:13:::1;:26;::::0;;;;:33;;-1:-1:-1;;13375:33:0::1;13404:4;13375:33;::::0;;;;::::1;13427:26;::::0;13283:179::o;9113:129::-;-1:-1:-1;;;;;9211:22:0;9180:7;9211:22;;;:15;:22;;;;;;;9113:129::o;1748:20::-;;;;;;-1:-1:-1;;;;;1748:20:0;;:::o;8324:339::-;8392:7;8416:12;8413:66;;-1:-1:-1;8452:14:0;;8445:21;;8413:66;8494:7;8505:1;8494:12;8491:67;;;-1:-1:-1;8530:15:0;;8523:22;;8491:67;8573:7;8584:1;8573:12;8570:71;;;-1:-1:-1;8609:19:0;;8602:26;;31292:1062;31359:4;31385:19;;31408:1;31385:24;31377:58;;;;;-1:-1:-1;;;31377:58:0;;;;;;;;;;;;-1:-1:-1;;;31377:58:0;;;;;;;;;;;;;;;31481:10;31456:36;;;;:24;:36;;;;;;;;:45;31448:88;;;;;-1:-1:-1;;;31448:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;31577:1;31557:17;;:21;31549:54;;;;;-1:-1:-1;;;31549:54:0;;;;;;;;;;;;-1:-1:-1;;;31549:54:0;;;;;;;;;;;;;;;31642:1;31624:15;:19;31616:52;;;;;-1:-1:-1;;;31616:52:0;;;;;;;;;;;;-1:-1:-1;;;31616:52:0;;;;;;;;;;;;;;;31729:10;31708:32;;;;:20;:32;;;;;;31689:51;;;31681:94;;;;;-1:-1:-1;;;31681:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;31838:12;;31816:17;;31796:38;;:15;;:19;:38::i;:::-;:54;;31788:88;;;;;-1:-1:-1;;;31788:88:0;;;;;;;;;;;;-1:-1:-1;;;31788:88:0;;;;;;;;;;;;;;;31889:23;31915:34;31933:15;31915:17;:34::i;:::-;31962:36;;31889:60;;-1:-1:-1;31962:10:0;;:36;;;;;31889:60;;31962:36;;;;31889:60;31962:10;:36;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32067:10:0;32046:32;;;;:20;:32;;;;;;:53;;32083:15;32046:36;:53::i;:::-;32032:10;32011:32;;;;:20;:32;;;;;:88;32132:17;;:38;;32154:15;32132:21;:38::i;:::-;32112:17;:58;32183:30;32197:15;32183:13;:30::i;:::-;32242:10;-1:-1:-1;;;;;32231:90:0;;32253:15;32269;32315:3;32302:12;;:16;;;;;32286:12;;32231:90;;;;;;;;;;;;;32302:16;;;32286:33;;32231:90;;;;;;;;;;;;;-1:-1:-1;32341:4:0;;31292:1062;-1:-1:-1;;31292:1062:0:o;7654:94::-;7728:11;7721:18;;;;;;;;-1:-1:-1;;7721:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7694:13;;7721:18;;7728:11;;7721:18;;7728:11;7721:18;;;;;;;;;;;;;;;;;;;;;;;;14198:511;5802:5;;14310:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;14337:6:::1;14332:339;14349:21:::0;;::::1;14332:339;;;14392:17;14412:8;;14421:1;14412:11;;;;;;;;;;;;;14392:31;;14485:9;14446:20;:35;14467:10;;14478:1;14467:13;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;14467:13:0::1;14446:35:::0;;-1:-1:-1;14446:35:0;::::1;::::0;;;;;;-1:-1:-1;14446:35:0;:48;;;;;::::1;::::0;;14537:17:::1;::::0;:32:::1;::::0;14559:9;14537:21:::1;:32::i;:::-;14517:17;:52:::0;-1:-1:-1;14372:3:0::1;;14332:339;;32380:547:::0;32452:4;32486:1;32477:6;:10;32469:49;;;;;-1:-1:-1;;;32469:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;32547:4;32537:6;:14;;32529:49;;;;;-1:-1:-1;;;32529:49:0;;;;;;;;;;;;-1:-1:-1;;;32529:49:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;32608:26:0;;;;;;:15;:26;;;;;;32639:4;;32597:38;;:6;;:10;:38::i;:::-;:46;;32589:93;;;;-1:-1:-1;;;32589:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32693:42;32703:12;:10;:12::i;:::-;32717:9;32728:6;32693:9;:42::i;:::-;-1:-1:-1;;;;;32775:26:0;;;;;;:15;:26;;;;;;:38;;32806:6;32775:30;:38::i;:::-;-1:-1:-1;;;;;32746:26:0;;;;;;:15;:26;;;;;;;:67;;;;32856:41;;32890:6;;32872:12;:10;:12::i;:::-;-1:-1:-1;;;;;32856:29:0;;;;;;;;;;;;-1:-1:-1;32856:29:0;;;:33;:41::i;:::-;32824:15;:29;32840:12;:10;:12::i;:::-;-1:-1:-1;;;;;32824:29:0;;;;;;;;;;;;-1:-1:-1;32824:29:0;:73;-1:-1:-1;32915:4:0;32380:547;;;;:::o;9729:222::-;9794:7;9826:22;9895:3;9882:12;;:16;;;;;;9866:12;;:33;9851:11;:49;9826:74;;9918:14;9911:21;;;9729:222;;;:::o;16806:1522::-;5802:5;;16910:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;16932:5:::1;16941:1;16932:10;16928:1358;;;16959:13;:38:::0;;;16928:1358:::1;;;17019:5;17028:1;17019:10;17015:1271;;;17046:13;:38:::0;;;17015:1271:::1;;;17106:5;17115:1;17106:10;17102:1184;;;17133:13;:38:::0;;;17102:1184:::1;;;17193:5;17202:1;17193:10;17189:1097;;;17220:13;:38:::0;;;17189:1097:::1;;;17280:5;17289:1;17280:10;17276:1010;;;17307:13;:38:::0;;;17276:1010:::1;;;17367:5;17376:1;17367:10;17363:923;;;17394:13;:38:::0;;;17363:923:::1;;;17454:5;17463:1;17454:10;17450:836;;;17481:13;:38:::0;;;17450:836:::1;;;17542:5;17551:1;17542:10;17538:748;;;17569:13;:38:::0;;;17538:748:::1;;;17629:5;17638:1;17629:10;17625:661;;;17656:13;:38:::0;;;17625:661:::1;;;17716:5;17725:2;17716:11;17712:574;;;17744:14;:39:::0;;;17712:574:::1;;;17805:5;17814:2;17805:11;17801:485;;;17833:14;:39:::0;;;17801:485:::1;;;17894:5;17903:2;17894:11;17890:396;;;17922:14;:39:::0;;;17890:396:::1;;;17983:5;17992:2;17983:11;17979:307;;;18011:14;:39:::0;;;17979:307:::1;;;18072:5;18081:2;18072:11;18068:218;;;18100:14;:39:::0;;;18068:218:::1;;;18161:5;18170:2;18161:11;18157:129;;;18189:14;:39:::0;;;18157:129:::1;;6854:123:::0;-1:-1:-1;;;;;6948:21:0;;;6917:7;6948:21;;;:7;:21;;;;;;;;6854:123::o;8970:128::-;-1:-1:-1;;;;;9063:26:0;9039:4;9063:26;;;:13;:26;;;;;;;;;8970:128::o;9392:321::-;9648:12;;9459:7;;9533:6;9527:5;9511:21;;:28;;9571:25;;;;9459:7;;9633:28;;9571:25;;9633:14;:28::i;:::-;9607:54;9392:321;-1:-1:-1;;;;;9392:321:0:o;30372:893::-;30424:4;30450:15;;30469:1;30450:20;30442:50;;;;;-1:-1:-1;;;30442:50:0;;;;;;;;;;;;-1:-1:-1;;;30442:50:0;;;;;;;;;;;;;;;30534:10;30513:32;;;;:20;:32;;;;;;;;:41;30505:80;;;;;-1:-1:-1;;;30505:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;30620:10;30606:25;;;;:13;:25;;;;;;;;30598:56;;;;;-1:-1:-1;;;30598:56:0;;;;;;;;;;;;-1:-1:-1;;;30598:56:0;;;;;;;;;;;;;;;30695:1;30675:17;;:21;30667:54;;;;;-1:-1:-1;;;30667:54:0;;;;;;;;;;;;-1:-1:-1;;;30667:54:0;;;;;;;;;;;;;;;30756:1;30742:11;:15;30734:48;;;;;-1:-1:-1;;;30734:48:0;;;;;;;;;;;;-1:-1:-1;;;30734:48:0;;;;;;;;;;;;;;;30832:10;30818:25;;;;:13;:25;;;;;;30803:40;;;30795:82;;;;;-1:-1:-1;;;30795:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;30936:12;;30914:17;;30898:34;;:11;;:15;:34::i;:::-;:50;;30890:84;;;;;-1:-1:-1;;;30890:84:0;;;;;;;;;;;;-1:-1:-1;;;30890:84:0;;;;;;;;;;;;;;;30987:23;31013:30;31031:11;31013:17;:30::i;:::-;31056:36;;30987:56;;-1:-1:-1;31056:10:0;;:36;;;;;30987:56;;31056:36;;;;30987:56;31056:10;:36;;;;;;;;;;;;;;;;;;;;;31105:29;31111:10;31122:11;31105:5;:29::i;:::-;31157:10;-1:-1:-1;;;;;31152:80:0;;31168:15;31184:11;31226:3;31213:12;;:16;;;;7364:98;7441:12;;7364:98;:::o;18342:1445::-;18402:4;18428:14;;18446:1;18428:19;18420:48;;;;;-1:-1:-1;;;18420:48:0;;;;;;;;;;;;-1:-1:-1;;;18420:48:0;;;;;;;;;;;;;;;18508:10;18488:31;;;;:19;:31;;;;;;;;:40;18480:78;;;;;-1:-1:-1;;;18480:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18578:25:0;;18593:10;18578:25;;18570:68;;;;;-1:-1:-1;;;18570:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18658:25:0;;18650:58;;;;;-1:-1:-1;;;18650:58:0;;;;;;;;;;;;-1:-1:-1;;;18650:58:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;18728:26:0;;;;;;:13;:26;;;;;;;;18720:59;;;;;-1:-1:-1;;;18720:59:0;;;;;;;;;;;;-1:-1:-1;;;18720:59:0;;;;;;;;;;;;;;;18799:10;18791:19;;;;:7;:19;;;;;;;;:33;;-1:-1:-1;;;;;;18791:33:0;-1:-1:-1;;;;;18791:33:0;;;;;18836:13;:25;;;;;:32;;-1:-1:-1;;18836:32:0;-1:-1:-1;18836:32:0;;;18997:12;;18939:9;;18791:19;18982:28;;18939:9;;18982:14;:28::i;:::-;18960:50;;19022:24;19049:30;19068:10;19049:18;:30::i;:::-;-1:-1:-1;;;;;19116:26:0;;19091:22;19116:26;;;:13;:26;;;;;;19199:12;;19268:9;;19022:57;;-1:-1:-1;19116:26:0;;19182:29;;;;19250:27;;19297:20;19289:54;;;;;-1:-1:-1;;;19289:54:0;;;;;;;;;;;;-1:-1:-1;;;19289:54:0;;;;;;;;;;;;;;;19383:4;19363:16;:24;;19355:60;;;;;-1:-1:-1;;;19355:60:0;;;;;;;;;;;;-1:-1:-1;;;19355:60:0;;;;;;;;;;;;;;;19472:10;19456:27;;;;:15;:27;;;;;;19488:4;;19435:49;;:16;;:20;:49::i;:::-;:57;;19427:93;;;;;-1:-1:-1;;;19427:93:0;;;;;;;;;;;;-1:-1:-1;;;19427:93:0;;;;;;;;;;;;;;;19532:41;19538:5;19544:16;19561:11;19532:5;:41::i;:::-;19585;19603:16;19620:5;19585:17;:41::i;:::-;19682:12;;19643:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19643:113:0;;;;;;;;;;;;;;;;;-1:-1:-1;19775:4:0;;18342:1445;-1:-1:-1;;;;;;;;18342:1445:0:o;12343:431::-;5802:5;;12471:4;;5802:5;;;-1:-1:-1;;;;;5802:5:0;5788:10;:19;5780:54;;;;;-1:-1:-1;;;5780:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5780:54:0;;;;;;;;;;;;;;;12493:19;12490:251:::1;;-1:-1:-1::0;;;;;12527:37:0;::::1;;::::0;;;:20:::1;:37;::::0;;;;:50;;;12611:17:::1;::::0;:33:::1;::::0;12567:10;12611:21:::1;:33::i;12490:251::-;-1:-1:-1::0;;;;;;;12677:37:0;;;::::1;;::::0;;;:20:::1;:37;::::0;;;;:50;12760:4:::1;::::0;12343:431::o;8850:99::-;8935:4;8850:99;:::o;48103:181::-;48161:7;48193:5;;;48217:6;;;;48209:46;;;;;-1:-1:-1;;;48209:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;48275:1;48103:181;-1:-1:-1;;;48103:181:0:o;36184:5771::-;36294:6;36273:17;;:27;36244:152;;36332:10;;36317:12;:25;36244:152;36430:6;36410:17;;:26;:58;;;;;36461:7;36440:17;;:28;;36410:58;36407:239;;;36518:9;36509:18;;36485:21;:42;;;36558:10;;;:34;;;36543:12;:49;;;36608:25;;36407:239;36680:7;36660:17;;:27;:59;;;;;36712:7;36691:17;;:28;;36660:59;36657:240;;;36769:9;36760:18;;36736:21;:42;;;36809:10;;;:34;;;36794:12;:49;;;36859:25;;36657:240;36931:7;36911:17;;:27;:59;;;;;36963:7;36942:17;;:28;;36911:59;36908:240;;;37020:9;37011:18;;36987:21;:42;;;37060:10;;;:34;;;37045:12;:49;;;37110:25;;36908:240;37171:7;37151:17;;:27;:59;;;;;37203:7;37182:17;;:28;;37151:59;37148:241;;;37260:10;37251:19;;37227:21;:43;;;37301:10;;;:34;;;37286:12;:49;;;37351:25;;37148:241;37423:7;37403:17;;:27;:59;;;;;37455:7;37434:17;;:28;;37403:59;37400:241;;;37512:10;37503:19;;37479:21;:43;;;37553:10;;;:34;;;37538:12;:49;;;37603:25;;37400:241;37675:7;37655:17;;:27;:59;;;;;37707:7;37686:17;;:28;;37655:59;37652:241;;;37764:10;37755:19;;37731:21;:43;;;37805:10;;;:34;;;37790:12;:49;;;37855:25;;37652:241;37927:7;37907:17;;:27;:59;;;;;37959:7;37938:17;;:28;;37907:59;37904:241;;;38016:10;38007:19;;37983:21;:43;;;38057:10;;;:34;;;38042:12;:49;;;38107:25;;37904:241;38190:7;38170:17;;:27;:59;;;;;38222:7;38201:17;;:28;;38170:59;38167:257;;;38279:11;38270:20;;38246:21;:44;;;38321:10;;;:34;;;38306:12;:49;;;38371:25;;38167:257;38447:7;38427:17;;:27;:59;;;;;38479:7;38458:17;;:28;;38427:59;38424:259;;;38536:11;38527:20;;38503:21;:44;;;38578:11;;;:35;;;38563:12;:50;;;38629:26;;38424:259;38706:7;38686:17;;:27;:59;;;;;38738:7;38717:17;;:28;;38686:59;38683:259;;;38795:11;38786:20;;38762:21;:44;;;38837:11;;;:35;;;38822:12;:50;;;38888:26;;38683:259;38965:7;38945:17;;:27;:59;;;;;38997:7;38976:17;;:28;;38945:59;38942:260;;;39054:12;39045:21;;39021;:45;;;39097:11;;;:35;;;39082:12;:50;;;39148:26;;38942:260;39225:7;39205:17;;:27;:59;;;;;39257:7;39236:17;;:28;;39205:59;39202:260;;;39314:12;39305:21;;39281;:45;;;39357:11;;;:35;;;39342:12;:50;;;39408:26;;39202:260;39496:7;39476:17;;:27;:59;;;;;39528:7;39507:17;;:28;;39476:59;39473:260;;;39585:12;39576:21;;39552;:45;;;39628:11;;;:35;;;39613:12;:50;;;39679:26;;39473:260;39767:7;39747:17;;:27;:59;;;;;39799:7;39778:17;;:28;;39747:59;39744:260;;;39856:12;39847:21;;39823;:45;;;39899:11;;;:35;;;39884:12;:50;;;39950:26;;39744:260;40038:7;40018:17;;:27;:59;;;;;40070:7;40049:17;;:28;;40018:59;40015:261;;;40127:13;40118:22;;40094:21;:46;;;40171:11;;;:35;;;40156:12;:50;;;40222:26;;40015:261;40322:7;40302:17;;:27;:59;;;;;40354:7;40333:17;;:28;;40302:59;40299:261;;;40411:13;40402:22;;40378:21;:46;;;40455:11;;;:35;;;40440:12;:50;;;40506:26;;40299:261;40606:7;40586:17;;:27;:59;;;;;40638:7;40617:17;;:28;;40586:59;40583:261;;;40695:13;40686:22;;40662:21;:46;;;40739:11;;;:35;;;40724:12;:50;;;40790:26;;40583:261;40890:7;40870:17;;:27;:59;;;;;40922:7;40901:17;;:28;;40870:59;40867:262;;;40979:14;40970:23;;40946:21;:47;;;41024:11;;;:35;;;41009:12;:50;;;41075:26;;40867:262;41175:7;41155:17;;:27;:59;;;;;41207:7;41186:17;;:28;;41155:59;41152:262;;;41264:14;41255:23;;41231:21;:47;;;41309:11;;;:35;;;41294:12;:50;;;41360:26;;41152:262;41448:7;41428:17;;:27;:59;;;;;41480:7;41459:17;;:28;;41428:59;41425:263;;;41537:15;41528:24;;41504:21;:48;;;41583:11;;;:35;;;41568:12;:50;;;41634:26;;41425:263;41722:7;41702:17;;:27;:59;;;;;41754:7;41733:17;;:28;;41702:59;41699:248;;;41811:15;41802:24;;41778:21;:48;;;41857:11;;;:35;;;41842:12;:50;;;41908:26;;41699:248;36184:5771;:::o;48567:136::-;48625:7;48652:43;48656:1;48659;48652:43;;;;;;;;;;;;;;;;;:3;:43::i;41977:5851::-;42087:6;42067:17;;:26;42038:230;;;42143:6;42134:15;;42110:21;:39;;;42180:10;;;:34;;;;42165:12;:49;;;42230:25;;42038:230;42303:6;42282:17;;:27;;:59;;;;;42334:7;42313:17;;:28;;42282:59;42279:240;;;42391:9;42382:18;;42358:21;:42;;;42431:10;;;:34;;;;42416:12;:49;;;42481:25;;42279:240;42553:7;42533:17;;:27;:59;;;;;42585:7;42564:17;;:28;;42533:59;42530:240;;;42642:9;42633:18;;42609:21;:42;;;42682:10;;;:34;;;;42667:12;:49;;;42732:25;;42530:240;42804:7;42784:17;;:27;:59;;;;;42836:7;42815:17;;:28;;42784:59;42781:240;;;42893:9;42884:18;;42860:21;:42;;;42933:10;;;:34;;;;42918:12;:49;;;42983:25;;42781:240;43044:7;43024:17;;:27;:59;;;;;43076:7;43055:17;;:28;;43024:59;43021:241;;;43133:10;43124:19;;43100:21;:43;;;43174:10;;;:34;;;;43159:12;:49;;;43224:25;;43021:241;43296:7;43276:17;;:27;:59;;;;;43328:7;43307:17;;:28;;43276:59;43273:241;;;43385:10;43376:19;;43352:21;:43;;;43426:10;;;:34;;;;43411:12;:49;;;43476:25;;43273:241;43548:7;43528:17;;:27;:59;;;;;43580:7;43559:17;;:28;;43528:59;43525:241;;;43637:10;43628:19;;43604:21;:43;;;43678:10;;;:34;;;;43663:12;:49;;;43728:25;;43525:241;43800:7;43780:17;;:27;:59;;;;;43832:7;43811:17;;:28;;43780:59;43777:241;;;43889:10;43880:19;;43856:21;:43;;;43930:10;;;:34;;;;43915:12;:49;;;43980:25;;43777:241;44063:7;44043:17;;:27;:59;;;;;44095:7;44074:17;;:28;;44043:59;44040:257;;;44152:11;44143:20;;44119:21;:44;;;44194:10;;;:34;;;;44179:12;:49;;;44244:25;;44040:257;44320:7;44300:17;;:27;:59;;;;;44352:7;44331:17;;:28;;44300:59;44297:259;;;44409:11;44400:20;;44376:21;:44;;;44451:11;;;:35;;;;44436:12;:50;;;44502:26;;44297:259;44579:7;44559:17;;:27;:59;;;;;44611:7;44590:17;;:28;;44559:59;44556:259;;;44668:11;44659:20;;44635:21;:44;;;44710:11;;;:35;;;;44695:12;:50;;;44761:26;;44556:259;44838:7;44818:17;;:27;:59;;;;;44870:7;44849:17;;:28;;44818:59;44815:260;;;44927:12;44918:21;;44894;:45;;;44970:11;;;:35;;;;44955:12;:50;;;45021:26;;44815:260;45098:7;45078:17;;:27;:59;;;;;45130:7;45109:17;;:28;;45078:59;45075:260;;;45187:12;45178:21;;45154;:45;;;45230:11;;;:35;;;;45215:12;:50;;;45281:26;;45075:260;45369:7;45349:17;;:27;:59;;;;;45401:7;45380:17;;:28;;45349:59;45346:260;;;45458:12;45449:21;;45425;:45;;;45501:11;;;:35;;;;45486:12;:50;;;45552:26;;45346:260;45640:7;45620:17;;:27;:59;;;;;45672:7;45651:17;;:28;;45620:59;45617:260;;;45729:12;45720:21;;45696;:45;;;45772:11;;;:35;;;;45757:12;:50;;;45823:26;;45617:260;45911:7;45891:17;;:27;:59;;;;;45943:7;45922:17;;:28;;45891:59;45888:261;;;46000:13;45991:22;;45967:21;:46;;;46044:11;;;:35;;;;46029:12;:50;;;46095:26;;45888:261;46195:7;46175:17;;:27;:59;;;;;46227:7;46206:17;;:28;;46175:59;46172:261;;;46284:13;46275:22;;46251:21;:46;;;46328:11;;;:35;;;;46313:12;:50;;;46379:26;;46172:261;46479:7;46459:17;;:27;:59;;;;;46511:7;46490:17;;:28;;46459:59;46456:261;;;46568:13;46559:22;;46535:21;:46;;;46612:11;;;:35;;;;46597:12;:50;;;46663:26;;46456:261;46763:7;46743:17;;:27;:59;;;;;46795:7;46774:17;;:28;;46743:59;46740:262;;;46852:14;46843:23;;46819:21;:47;;;46897:11;;;:35;;;;46882:12;:50;;;46948:26;;46740:262;47048:7;47028:17;;:27;:59;;;;;47080:7;47059:17;;:28;;47028:59;47025:262;;;47137:14;47128:23;;47104:21;:47;;;47182:11;;;:35;;;;47167:12;:50;;;47233:26;;47025:262;47321:7;47301:17;;:27;:59;;;;;47353:7;47332:17;;:28;;47301:59;47298:263;;;47410:15;47401:24;;47377:21;:48;;;47456:11;;;:35;;;;47441:12;:50;;;47507:26;;47298:263;47595:7;47575:17;;:27;:59;;;;;47627:7;47606:17;;:28;;47575:59;47572:248;;;47684:15;47675:24;47651:21;:48;;;47730:11;;;:35;;;;47715:12;:50;;;47781:26;;41977:5851::o;36082:90::-;36154:10;36082:90;:::o;33768:493::-;-1:-1:-1;;;;;33874:20:0;;33866:70;;;;-1:-1:-1;;;33866:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;33955:23:0;;33947:71;;;;-1:-1:-1;;;33947:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34051:9;-1:-1:-1;;;;;34034:35:0;34043:6;-1:-1:-1;;;;;34034:35:0;-1:-1:-1;;;;;;;;;;;34062:6:0;34034:35;;;;;;;;;;;;;;;;;;34104:75;34130:6;34104:75;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;34104:21:0;;;;;;:13;:21;;;;;;;:75;:25;:75::i;:::-;-1:-1:-1;;;;;34080:21:0;;;;;;;:13;:21;;;;;;:99;;;;34217:24;;;;;;;:36;;34246:6;34217:28;:36::i;:::-;-1:-1:-1;;;;;34190:24:0;;;;;;;:13;:24;;;;;:63;;;;-1:-1:-1;;33768:493:0:o;50404:132::-;50462:7;50489:39;50493:1;50496;50489:39;;;;;;;;;;;;;;;;;:3;:39::i;35571:503::-;-1:-1:-1;;;;;35647:21:0;;35639:67;;;;-1:-1:-1;;;35639:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35722:40;;;;;;;;35748:4;;-1:-1:-1;;;;;35722:40:0;;;-1:-1:-1;;;;;;;;;;;35722:40:0;;;;;;;;-1:-1:-1;;;;;35798:22:0;;;;;;:13;:22;;;;;;:34;;35825:6;35798:26;:34::i;:::-;-1:-1:-1;;;;;35773:22:0;;;;;;:13;:22;;;;;:59;35931:17;;:29;;35953:6;35931:21;:29::i;:::-;35911:17;:49;-1:-1:-1;;;;;35998:24:0;;;;;;:15;:24;;;;;;:36;;36027:6;35998:28;:36::i;:::-;-1:-1:-1;;;;;35971:24:0;;;;;;:15;:24;;;;;:63;36045:21;36059:6;36045:13;:21::i;:::-;35571:503;;:::o;34551:686::-;-1:-1:-1;;;;;34649:21:0;;34641:65;;;;;-1:-1:-1;;;34641:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;34904:40;;;;;;;;-1:-1:-1;;;;;34904:40:0;;;34921:4;;-1:-1:-1;;;;;;;;;;;34904:40:0;;;;;;;;-1:-1:-1;;;;;34984:22:0;;;;;;:13;:22;;;;;;:34;;35011:6;34984:26;:34::i;:::-;-1:-1:-1;;;;;34959:22:0;;;;;;:13;:22;;;;;;;;:59;;;;35060:15;:24;;;;:36;;35089:6;35060:28;:36::i;:::-;-1:-1:-1;;;;;35033:24:0;;;;;;:15;:24;;;;;:63;35131:17;;:34;;35153:11;35131:21;:34::i;:::-;35111:17;:54;35180:25;35193:11;35180:12;:25::i;:::-;34551:686;;;:::o;20579:9341::-;20718:4;20689:26;20733:9171;20752:2;20750:1;:4;20733:9171;;;-1:-1:-1;;;;;20804:24:0;;;20785:16;20804:24;;;:7;:24;;;;;;;;;;;;20868:23;;;:13;:23;;;;;;;20951:12;;21020:9;;20868:23;;20934:29;;;;21002:27;;;21153;;21150:153;;;21257:5;21218:38;;;:44;;21200:13;;:63;;;;;;;;;;;21282:5;;;;;;21150:153;-1:-1:-1;;;;;21334:22:0;;21331:148;;21433:5;21394:38;;;:44;;21331:148;21497:6;21493:8355;;21541:13;;21526;:28;21523:502;;21578:17;21635:5;21618:16;;21598:19;:36;:42;;;;;-1:-1:-1;;;;;21696:30:0;;;;;;:20;:30;;;;;;21598:42;;;;-1:-1:-1;21696:45:0;;21598:42;21696:34;:45::i;:::-;-1:-1:-1;;;;;21663:30:0;;;;;;;:20;:30;;;;;;;;;:78;;;;21837:60;;;;;;;;;;;21895:1;21893:3;;21837:60;;;;;21663:30;;21837:60;;;;-1:-1:-1;;;;;;;;;;;21837:60:0;;;;;;;;;21523:502;;;;21999:5;21982:16;;21962:19;:36;:42;;;;;21944:13;:61;;21962:42;;;;21944:61;;;;;21523:502;22087:16;;22064:40;;:18;;:22;:40::i;:::-;22043:61;;21493:8355;;;22146:1;22151;22146:6;22142:7706;;;22190:13;;22175;:28;22172:399;;22227:17;22284:5;22267:16;;22247:19;:36;:42;;;;;-1:-1:-1;;;;;22312:30:0;;;;;;;:20;:30;;;;;;;;;:43;;22247:42;;;;22312:43;;;;;;22383:60;;;;;;;;;;;-1:-1:-1;22439:3:0;;22383:60;;;;;22247:42;;-1:-1:-1;22312:30:0;22383:60;;;;-1:-1:-1;;;;;;;;;;;22383:60:0;;;;;;;;;22172:399;;;;22545:5;22528:16;;22508:19;:36;:42;;;;;22490:13;:61;;22508:42;;;;22490:61;;;;;22172:399;22631:16;;22610:18;:37;22589:58;;22142:7706;;;22693:1;22698;22693:6;22690:7158;;;22737:13;;22722;:28;22719:398;;22774:17;22831:5;22814:16;;22794:19;:36;:42;;;;;-1:-1:-1;;;;;22859:30:0;;;;;;;:20;:30;;;;;;;;;22794:42;;;;22859;;;;22929:60;;;;;;;;;;;22987:1;22985:3;;22929:60;;;;;22794:42;;-1:-1:-1;22859:30:0;22929:60;;;;-1:-1:-1;;;;;;;;;;;22929:60:0;;;;;;;;;22719:398;;;;23091:5;23074:16;;23054:19;:36;:42;;;;;23036:13;:61;;23054:42;;;;23036:61;;;;;22719:398;23177:16;;23156:18;:37;23135:58;;22690:7158;;;23239:1;23244;23239:6;23236:6612;;;23283:13;;23268;:28;23265:399;;23320:17;23377:5;23360:16;;23340:19;:36;:42;;;;;-1:-1:-1;;;;;23405:30:0;;;;;;;:20;:30;;;;;;;;;:43;;23340:42;;;;23405:43;;;;;;23476:60;;;;;;;;;;;-1:-1:-1;23532:3:0;;23476:60;;;;;23340:42;;-1:-1:-1;23405:30:0;23476:60;;;;-1:-1:-1;;;;;;;;;;;23476:60:0;;;;;;;;;23265:399;;;;23638:5;23621:16;;23601:19;:36;:42;;;;;23583:13;:61;;23601:42;;;;23583:61;;;;;23265:399;23724:16;;23703:18;:37;23682:58;;23236:6612;;;23786:1;23791;23786:6;23783:6065;;;23832:13;;23817;:28;23814:401;;23869:17;23926:6;23909:16;;23889:19;:36;:43;;;;;-1:-1:-1;;;;;23955:30:0;;;;;;;:20;:30;;;;;;;;;:43;;23889;;;;23955;;;;;;24026:60;;;;;;;;;;;-1:-1:-1;24082:3:0;;24026:60;;;;;23889:43;;-1:-1:-1;23955:30:0;24026:60;;;;-1:-1:-1;;;;;;;;;;;24026:60:0;;;;;;;;;23814:401;;;;24188:6;24171:16;;24151:19;:36;:43;;;;;24133:13;:62;;24151:43;;;;24133:62;;;;;23814:401;24275:16;;24254:18;:37;24233:58;;23783:6065;;;24336:1;24341;24336:6;24333:5515;;;24382:13;;24367;:28;24364:401;;24419:17;24476:6;24459:16;;24439:19;:36;:43;;;;;-1:-1:-1;;;;;24505:30:0;;;;;;;:20;:30;;;;;;;;;:43;;24439;;;;24505;;;;;;24576:60;;;;;;;;;;;-1:-1:-1;24632:3:0;;24576:60;;;;;24439:43;;-1:-1:-1;24505:30:0;24576:60;;;;-1:-1:-1;;;;;;;;;;;24576:60:0;;;;;;;;;24364:401;;;;24738:6;24721:16;;24701:19;:36;:43;;;;;24683:13;:62;;24701:43;;;;24683:62;;;;;24364:401;24825:16;;24804:18;:37;24783:58;;24333:5515;;;24886:1;24891;24886:6;24883:4965;;;24932:13;;24917;:28;24914:401;;24969:17;25026:6;25009:16;;24989:19;:36;:43;;;;;-1:-1:-1;;;;;25055:30:0;;;;;;;:20;:30;;;;;;;;;:43;;24989;;;;25055;;;;;;25126:60;;;;;;;;;;;-1:-1:-1;25182:3:0;;25126:60;;;;;24989:43;;-1:-1:-1;25055:30:0;25126:60;;;;-1:-1:-1;;;;;;;;;;;25126:60:0;;;;;;;;;24914:401;;;;25288:6;25271:16;;25251:19;:36;:43;;;;;25233:13;:62;;25251:43;;;;25233:62;;;;;24914:401;25375:16;;25354:18;:37;25333:58;;24883:4965;;;25437:1;25442;25437:6;25434:4414;;;25483:13;;25468;:28;25465:401;;25520:17;25577:6;25560:16;;25540:19;:36;:43;;;;;-1:-1:-1;;;;;25606:30:0;;;;;;;:20;:30;;;;;;;;;:43;;25540;;;;25606;;;;;;25677:60;;;;;;;;;;;-1:-1:-1;25733:3:0;;25677:60;;;;;25540:43;;-1:-1:-1;25606:30:0;25677:60;;;;-1:-1:-1;;;;;;;;;;;25677:60:0;;;;;;;;;25465:401;;;;25839:6;25822:16;;25802:19;:36;:43;;;;;25784:13;:62;;25802:43;;;;25784:62;;;;;25465:401;25926:16;;25905:18;:37;25884:58;;25434:4414;;;25987:1;25992;25987:6;25984:3864;;;26033:13;;26018;:28;26015:401;;26070:17;26127:6;26110:16;;26090:19;:36;:43;;;;;-1:-1:-1;;;;;26156:30:0;;;;;;;:20;:30;;;;;;;;;:43;;26090;;;;26156;;;;;;26227:60;;;;;;;;;;;-1:-1:-1;26283:3:0;;26227:60;;;;;26090:43;;-1:-1:-1;26156:30:0;26227:60;;;;-1:-1:-1;;;;;;;;;;;26227:60:0;;;;;;;;;26015:401;;;;26389:6;26372:16;;26352:19;:36;:43;;;;;26334:13;:62;;26352:43;;;;26334:62;;;;;26015:401;26476:16;;26455:18;:37;26434:58;;25984:3864;;;26537:1;26542;26537:6;26534:3314;;;26583:14;;26568:13;:29;26565:404;;26621:17;26679:6;26661:17;;26641:19;:37;:44;;;;;-1:-1:-1;;;;;26708:30:0;;;;;;;:20;:30;;;;;;;;;:43;;26641:44;;;;26708:43;;;;;;26779:60;;;;;;;;;;;-1:-1:-1;26835:3:0;;26779:60;;;;;26641:44;;-1:-1:-1;26708:30:0;26779:60;;;;-1:-1:-1;;;;;;;;;;;26779:60:0;;;;;;;;;26565:404;;;;26942:6;26924:17;;26904:19;:37;:44;;;;;26886:13;:63;;26904:44;;;;26886:63;;;;;26565:404;27029:17;;27008:18;:38;26987:59;;26534:3314;;;27109:1;27114:2;27109:7;27106:2742;;;27154:14;;27139:13;:29;27136:404;;27192:17;27250:6;27232:17;;27212:19;:37;:44;;;;;-1:-1:-1;;;;;27279:30:0;;;;;;;:20;:30;;;;;;;;;:43;;27212:44;;;;27279:43;;;;;;27350:60;;;;;;;;;;;-1:-1:-1;27406:3:0;;27350:60;;;;;27212:44;;-1:-1:-1;27279:30:0;27350:60;;;;-1:-1:-1;;;;;;;;;;;27350:60:0;;;;;;;;;27136:404;;;;27513:6;27495:17;;27475:19;:37;:44;;;;;27457:13;:63;;27475:44;;;;27457:63;;;;;27136:404;27600:17;;27579:18;:38;27558:59;;27106:2742;;;27662:1;27667:2;27662:7;27659:2189;;;27707:14;;27692:13;:29;27689:404;;27745:17;27803:6;27785:17;;27765:19;:37;:44;;;;;-1:-1:-1;;;;;27832:30:0;;;;;;;:20;:30;;;;;;;;;:43;;27765:44;;;;27832:43;;;;;;27903:60;;;;;;;;;;;-1:-1:-1;27959:3:0;;27903:60;;;;;27765:44;;-1:-1:-1;27832:30:0;27903:60;;;;-1:-1:-1;;;;;;;;;;;27903:60:0;;;;;;;;;27689:404;;;;28066:6;28048:17;;28028:19;:37;:44;;;;;28010:13;:63;;28028:44;;;;28010:63;;;;;27689:404;28153:17;;28132:18;:38;28111:59;;27659:2189;;;28215:1;28220:2;28215:7;28212:1636;;;28260:14;;28245:13;:29;28242:404;;28298:17;28356:6;28338:17;;28318:19;:37;:44;;;;;-1:-1:-1;;;;;28385:30:0;;;;;;;:20;:30;;;;;;;;;:43;;28318:44;;;;28385:43;;;;;;28456:60;;;;;;;;;;;-1:-1:-1;28512:3:0;;28456:60;;;;;28318:44;;-1:-1:-1;28385:30:0;28456:60;;;;-1:-1:-1;;;;;;;;;;;28456:60:0;;;;;;;;;28242:404;;;;28619:6;28601:17;;28581:19;:37;:44;;;;;28563:13;:63;;28581:44;;;;28563:63;;;;;28242:404;28706:17;;28685:18;:38;28664:59;;28212:1636;;;28768:1;28773:2;28768:7;28765:1083;;;28815:14;;28800:13;:29;28797:402;;28853:17;28911:6;28893:17;;28873:19;:37;:44;;;;;-1:-1:-1;;;;;28940:30:0;;;;;;;:20;:30;;;;;;;;;:43;;28873:44;;;;28940:43;;;;;;29011:60;;;;;;;;;;;-1:-1:-1;29067:3:0;;29011:60;;;;;28873:44;;-1:-1:-1;28940:30:0;29011:60;;;;-1:-1:-1;;;;;;;;;;;29011:60:0;;;;;;;;;28797:402;;;;29172:6;29155:16;;29135:19;:36;:43;;;;;29117:13;:62;;29135:43;;;;29117:62;;;;;28797:402;29259:17;;29238:18;:38;29217:59;;28765:1083;;;29321:1;29326:2;29321:7;29318:530;;;29367:14;;29352:13;:29;29349:402;;29405:17;29463:6;29445:17;;29425:19;:37;:44;;;;;-1:-1:-1;;;;;29492:30:0;;;;;;;:20;:30;;;;;;;;;:43;;29425:44;;;;29492:43;;;;;;29563:60;;;;;;;;;;;-1:-1:-1;29619:3:0;;29563:60;;;;;29425:44;;-1:-1:-1;29492:30:0;29563:60;;;;-1:-1:-1;;;;;;;;;;;29563:60:0;;;;;;;;;29349:402;;;;29724:6;29707:16;;29687:19;:36;:43;;;;;29669:13;:62;;29687:43;;;;29669:62;;;;;29349:402;29811:17;;29790:18;:38;29769:59;;29318:530;-1:-1:-1;29884:8:0;;-1:-1:-1;;;20756:3:0;;20733:9171;;;;20579:9341;;;:::o;49006:192::-;49092:7;49128:12;49120:6;;;;49112:29;;;;-1:-1:-1;;;49112:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;49164:5:0;;;49006:192::o;51032:278::-;51118:7;51153:12;51146:5;51138:28;;;;-1:-1:-1;;;51138:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51177:9;51193:1;51189;:5;;;;;;;51032:278;-1:-1:-1;;;;;51032:278:0:o
Swarm Source
ipfs://8afeb52baf3789ac2346b98b62f0422edb2a5540f9600481a87531adae69fe34
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.