Overview
ETH Balance
0.0035875 ETH
Eth Value
$12.10 (@ $3,372.89/ETH)More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 502 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw Income | 12760102 | 1271 days ago | IN | 0 ETH | 0.00354438 | ||||
Withdraw Income | 12572842 | 1300 days ago | IN | 0 ETH | 0.00432304 | ||||
Withdraw Income | 11678184 | 1438 days ago | IN | 0 ETH | 0.01830813 | ||||
Withdraw Income | 11596422 | 1450 days ago | IN | 0 ETH | 0.0324045 | ||||
Withdraw Income | 11371982 | 1485 days ago | IN | 0 ETH | 0.00904983 | ||||
Withdraw Income | 11286875 | 1498 days ago | IN | 0 ETH | 0.0069382 | ||||
Withdraw Income | 11286840 | 1498 days ago | IN | 0 ETH | 0.0051584 | ||||
Withdraw Income | 11286781 | 1498 days ago | IN | 0 ETH | 0.00512823 | ||||
Withdraw Income | 11267033 | 1501 days ago | IN | 0 ETH | 0.00592333 | ||||
Withdraw Income | 11266995 | 1501 days ago | IN | 0 ETH | 0.00592333 | ||||
Withdraw Income | 11210791 | 1509 days ago | IN | 0 ETH | 0.00630756 | ||||
Withdraw Income | 11169501 | 1516 days ago | IN | 0 ETH | 0.00671311 | ||||
Withdraw Income | 11167811 | 1516 days ago | IN | 0 ETH | 0.0037761 | ||||
Withdraw Income | 11104157 | 1526 days ago | IN | 0 ETH | 0.01206644 | ||||
Withdraw Income | 11104150 | 1526 days ago | IN | 0 ETH | 0.01206644 | ||||
Withdraw Income | 11070881 | 1531 days ago | IN | 0 ETH | 0.00645131 | ||||
Withdraw Income | 11057470 | 1533 days ago | IN | 0 ETH | 0.00859983 | ||||
Withdraw Income | 11056781 | 1533 days ago | IN | 0 ETH | 0.00336924 | ||||
Withdraw Income | 11049389 | 1534 days ago | IN | 0 ETH | 0.00607882 | ||||
Withdraw Income | 11032832 | 1537 days ago | IN | 0 ETH | 0.00696303 | ||||
Withdraw Income | 11032832 | 1537 days ago | IN | 0 ETH | 0.00696303 | ||||
Withdraw Income | 11032709 | 1537 days ago | IN | 0 ETH | 0.00669522 | ||||
Withdraw Income | 11032656 | 1537 days ago | IN | 0 ETH | 0.00669522 | ||||
Withdraw Income | 11031482 | 1537 days ago | IN | 0 ETH | 0.00400669 | ||||
Withdraw Income | 11029501 | 1537 days ago | IN | 0 ETH | 0.00883769 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
10932954 | 1552 days ago | 0.16 ETH | ||||
10932946 | 1552 days ago | 0.07 ETH | ||||
10932939 | 1552 days ago | 0.67 ETH | ||||
10932937 | 1552 days ago | 0.0375 ETH | ||||
10932934 | 1552 days ago | 0.87 ETH | ||||
10932926 | 1552 days ago | 0.45 ETH | ||||
10932922 | 1552 days ago | 0.78 ETH | ||||
10932172 | 1552 days ago | 0.081625 ETH | ||||
10932158 | 1552 days ago | 0.142625 ETH | ||||
10932149 | 1552 days ago | 0.06 ETH | ||||
10932114 | 1552 days ago | 0.17325 ETH | ||||
10932105 | 1552 days ago | 0.06 ETH | ||||
10932095 | 1552 days ago | 0.118875 ETH | ||||
10931803 | 1552 days ago | 0.0625 ETH | ||||
10931700 | 1552 days ago | 0.182625 ETH | ||||
10931684 | 1552 days ago | 0.05875 ETH | ||||
10931652 | 1552 days ago | 0.05875 ETH | ||||
10931408 | 1552 days ago | 0.09175 ETH | ||||
10931333 | 1552 days ago | 0.05875 ETH | ||||
10931333 | 1552 days ago | 1.2 ETH | ||||
10931307 | 1552 days ago | 0.06 ETH | ||||
10930956 | 1553 days ago | 0.53 ETH | ||||
10930956 | 1553 days ago | 0.57 ETH | ||||
10930890 | 1553 days ago | 0.79 ETH | ||||
10930890 | 1553 days ago | 0.47 ETH |
Loading...
Loading
Contract Name:
CrowdsharingIO
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-08-08 */ /* ░█████╗░██████╗░░█████╗░░██╗░░░░░░░██╗██████╗░░██████╗██╗░░██╗░█████╗░██████╗░██╗███╗░░██╗░██████╗░ ██╗░█████╗░ ██╔══██╗██╔══██╗██╔══██╗░██║░░██╗░░██║██╔══██╗██╔════╝██║░░██║██╔══██╗██╔══██╗██║████╗░██║██╔════╝░ ██║██╔══██╗ ██║░░╚═╝██████╔╝██║░░██║░╚██╗████╗██╔╝██║░░██║╚█████╗░███████║███████║██████╔╝██║██╔██╗██║██║░░██╗░ ██║██║░░██║ ██║░░██╗██╔══██╗██║░░██║░░████╔═████║░██║░░██║░╚═══██╗██╔══██║██╔══██║██╔══██╗██║██║╚████║██║░░╚██╗ ██║██║░░██║ ╚█████╔╝██║░░██║╚█████╔╝░░╚██╔╝░╚██╔╝░██████╔╝██████╔╝██║░░██║██║░░██║██║░░██║██║██║░╚███║╚██████╔╝ ██║╚█████╔╝ ░╚════╝░╚═╝░░╚═╝░╚════╝░░░░╚═╝░░░╚═╝░░╚═════╝░╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░╚═╝╚═╝╚═╝░░╚══╝░╚═════╝░ ╚═╝░╚════╝░ Official Telegram: https://t.me/crowdsharing Official Website: https://crowdsharing.io */ pragma solidity ^0.5.17; contract CrowdsharingIO { using SafeMath for *; address public owner; address private admin; CrowdsharingIO public oldSC = CrowdsharingIO(0x77E867326F438360bF382fB5fFeE3BC77845566D); uint public oldSCUserId = 1; uint256 public currUserID = 0; uint256 private houseFee = 3; uint256 private poolTime = 24 hours; uint256 private payoutPeriod = 24 hours; uint256 private dailyWinPool = 10; uint256 private incomeTimes = 32; uint256 private incomeDivide = 10; uint256 public roundID; uint256 public r1 = 0; uint256 public r2 = 0; uint256 public r3 = 0; uint256 public totalAmountWithdrawn = 0; uint256[3] private awardPercentage; struct Leaderboard { uint256 amt; address addr; } Leaderboard[3] public topPromoters; Leaderboard[3] public topInvestors; Leaderboard[3] public lastTopInvestors; Leaderboard[3] public lastTopPromoters; uint256[3] public lastTopInvestorsWinningAmount; uint256[3] public lastTopPromotersWinningAmount; mapping (address => uint256) private playerEventVariable; mapping (uint256 => address) public userList; mapping (uint256 => DataStructs.DailyRound) public round; mapping (address => DataStructs.Player) public player; mapping (address => mapping (uint256 => DataStructs.PlayerDailyRounds)) public plyrRnds_; /**************************** EVENTS *****************************************/ event registerUserEvent(address indexed _playerAddress, uint256 _userID, address indexed _referrer, uint256 _referrerID); event investmentEvent(address indexed _playerAddress, uint256 indexed _amount); event referralCommissionEvent(address indexed _playerAddress, address indexed _referrer, uint256 indexed amount, uint256 timeStamp); event dailyPayoutEvent(address indexed _playerAddress, uint256 indexed amount, uint256 indexed timeStamp); event withdrawEvent(address indexed _playerAddress, uint256 indexed amount, uint256 indexed timeStamp); event superBonusEvent(address indexed _playerAddress, uint256 indexed _amount); event superBonusAwardEvent(address indexed _playerAddress, uint256 indexed _amount); event roundAwardsEvent(address indexed _playerAddress, uint256 indexed _amount); event ownershipTransferred(address indexed owner, address indexed newOwner); constructor (address _admin) public { owner = msg.sender; admin = _admin; roundID = 1; round[1].startTime = 1596896192; round[1].endTime = 1596982592; round[1].pool = 6710000000000000000; awardPercentage[0] = 50; awardPercentage[1] = 30; awardPercentage[2] = 20; } /**************************** MODIFIERS *****************************************/ /** * @dev sets boundaries for incoming tx */ modifier isWithinLimits(uint256 _eth) { require(_eth >= 100000000000000000, "Minimum is 0.1"); _; } /** * @dev sets permissible values for incoming tx */ modifier isallowedValue(uint256 _eth) { require(_eth % 100000000000000000 == 0, "Wrong amount, 0.1 multiples allowed"); _; } /** * @dev allows only the user to run the function */ modifier onlyOwner() { require(msg.sender == owner, "only Owner"); _; } /**************************** CORE LOGIC *****************************************/ //if someone accidently sends eth to contract address function () external payable { depositAmount(1); } function regAdmins(address [] memory _adminAddress, uint256 _amount) public onlyOwner { require(currUserID <= 200, "No more admins can be registered"); for(uint i = 0; i < _adminAddress.length; i++){ currUserID++; player[_adminAddress[i]].id = currUserID; player[_adminAddress[i]].lastSettledTime = now; player[_adminAddress[i]].currentInvestedAmount = _amount; player[_adminAddress[i]].incomeLimitLeft = 500000 ether; player[_adminAddress[i]].totalInvestment = _amount; player[_adminAddress[i]].referrer = userList[currUserID-1]; player[_adminAddress[i]].referralCount = 20; userList[currUserID] = _adminAddress[i]; playerEventVariable[_adminAddress[i]] = 100 ether; } } function syncUsers(uint limit) public onlyOwner { require(address(oldSC) != address(0), 'Initialize closed'); for(uint i = 0; i < limit; i++) { address user = oldSC.userList(oldSCUserId); oldSCUserId++; (,uint256 _totalInvestment,uint256 _totalVolETH, uint _directReferralIncome, uint256 _roiReferralIncome, uint _currentInvestedAmount,,uint _lastSettledTime, uint _incomeLimitLeft,,,,uint _referralCount, address _referrer) = oldSC.player(user); (uint256 _selfInvestment, uint _ethVolume) = oldSC.plyrRnds_(user,1); player[user].id = ++currUserID; player[user].lastSettledTime = _lastSettledTime; player[user].currentInvestedAmount = _currentInvestedAmount; player[user].incomeLimitLeft = _incomeLimitLeft; player[user].totalInvestment = _totalInvestment; player[user].referrer = _referrer; player[user].referralCount =_referralCount; player[user].roiReferralIncome = _roiReferralIncome; player[user].directReferralIncome = _directReferralIncome; player[user].totalVolumeEth = _totalVolETH; userList[currUserID] = user; playerEventVariable[user] = 100 ether; plyrRnds_[user][1].selfInvestment = _selfInvestment; plyrRnds_[user][1].ethVolume = _ethVolume; } } function syncData() public onlyOwner{ require(address(oldSC) != address(0), 'Initialize closed'); topPromoters[0].amt = 15000000000000000000; topPromoters[0].addr = 0x538682B5BA140351dB74B094Cf779fE59dFc600E; topPromoters[1].amt = 12900000000000000000; topPromoters[1].addr = 0x732Cae5Dd214517156B985379922777afD34249d; topPromoters[2].amt = 4900000000000000000; topPromoters[2].addr = 0x6f62016176Ee749B3805f6663Cbc575DdD831b11; topInvestors[0].amt = 15000000000000000000; topInvestors[0].addr = 0x732Cae5Dd214517156B985379922777afD34249d; topInvestors[1].amt = 5000000000000000000; topInvestors[1].addr = 0x5A8D2a28729351bb6BFcFBb8701be1C7186Aad48; topInvestors[2].amt = 5000000000000000000; topInvestors[2].addr = 0x9116a95eB0292e076bD0c4865127bF1e3640B20C; r1 = oldSC.r1(); r2 = oldSC.r2(); r3 = oldSC.r3(); totalAmountWithdrawn = oldSC.totalAmountWithdrawn(); } function closeSync() public onlyOwner{ oldSC = CrowdsharingIO(0); } function depositAmount(uint256 _referrerID) public isWithinLimits(msg.value) isallowedValue(msg.value) payable { require(_referrerID >0 && _referrerID <=currUserID,"Wrong Referrer ID"); uint256 amount = msg.value; address _referrer = userList[_referrerID]; //check whether it's the new user if (player[msg.sender].id <= 0) { currUserID++; player[msg.sender].id = currUserID; player[msg.sender].lastSettledTime = now; player[msg.sender].currentInvestedAmount = amount; player[msg.sender].incomeLimitLeft = amount.mul(incomeTimes).div(incomeDivide); player[msg.sender].totalInvestment = amount; player[msg.sender].referrer = _referrer; player[_referrer].referralCount = player[_referrer].referralCount.add(1); userList[currUserID] = msg.sender; playerEventVariable[msg.sender] = 100 ether; //update player's investment in current round plyrRnds_[msg.sender][roundID].selfInvestment = plyrRnds_[msg.sender][roundID].selfInvestment.add(amount); addInvestor(msg.sender); if(_referrer == owner) { player[owner].directReferralIncome = player[owner].directReferralIncome.add(amount.mul(20).div(100)); r1 = r1.add(amount.mul(13).div(100)); } else { player[_referrer].totalVolumeEth = player[_referrer].totalVolumeEth.add(amount); plyrRnds_[_referrer][roundID].ethVolume = plyrRnds_[_referrer][roundID].ethVolume.add(amount); addPromoter(_referrer); checkSuperBonus(_referrer); //assign the referral commission to all. referralBonusTransferDirect(msg.sender, amount.mul(20).div(100)); } emit registerUserEvent(msg.sender, currUserID, _referrer, _referrerID); } //if the user has already joined earlier else { require(player[msg.sender].incomeLimitLeft == 0, "limit still left"); require(amount >= player[msg.sender].currentInvestedAmount, "bad amount"); _referrer = player[msg.sender].referrer; player[msg.sender].lastSettledTime = now; player[msg.sender].currentInvestedAmount = amount; player[msg.sender].incomeLimitLeft = amount.mul(incomeTimes).div(incomeDivide); player[msg.sender].totalInvestment = player[msg.sender].totalInvestment.add(amount); //update player's investment in current round pool plyrRnds_[msg.sender][roundID].selfInvestment = plyrRnds_[msg.sender][roundID].selfInvestment.add(amount); addInvestor(msg.sender); if(_referrer == owner) { player[owner].directReferralIncome = player[owner].directReferralIncome.add(amount.mul(20).div(100)); } else { player[_referrer].totalVolumeEth = player[_referrer].totalVolumeEth.add(amount); plyrRnds_[_referrer][roundID].ethVolume = plyrRnds_[_referrer][roundID].ethVolume.add(amount); addPromoter(_referrer); checkSuperBonus(_referrer); //assign the referral commission to all. referralBonusTransferDirect(msg.sender, amount.mul(20).div(100)); } } round[roundID].pool = round[roundID].pool.add(amount.mul(dailyWinPool).div(100)); address(uint160(admin)).transfer(amount.mul(houseFee).div(100)); r3 = r3.add(amount.mul(5).div(100)); //check if round time has finished if (now > round[roundID].endTime && round[roundID].ended == false) { startNewRound(); } emit investmentEvent (msg.sender, amount); } //Check Super bonus award function checkSuperBonus(address _playerAddress) private { if(player[_playerAddress].totalVolumeEth >= playerEventVariable[_playerAddress]) { playerEventVariable[_playerAddress] = playerEventVariable[_playerAddress].add(100 ether); emit superBonusEvent(_playerAddress, player[_playerAddress].totalVolumeEth); } } function referralBonusTransferDirect(address _playerAddress, uint256 amount) private { address _nextReferrer = player[_playerAddress].referrer; uint256 _amountLeft = amount.mul(60).div(100); uint i; for(i=0; i < 10; i++) { if (_nextReferrer != address(0x0)) { //referral commission to level 1 if(i == 0) { if (player[_nextReferrer].incomeLimitLeft >= amount.div(2)) { player[_nextReferrer].incomeLimitLeft = player[_nextReferrer].incomeLimitLeft.sub(amount.div(2)); player[_nextReferrer].directReferralIncome = player[_nextReferrer].directReferralIncome.add(amount.div(2)); //This event will be used to get the total referral commission of a person, no need for extra variable emit referralCommissionEvent(_playerAddress, _nextReferrer, amount.div(2), now); } else if(player[_nextReferrer].incomeLimitLeft !=0) { player[_nextReferrer].directReferralIncome = player[_nextReferrer].directReferralIncome.add(player[_nextReferrer].incomeLimitLeft); r1 = r1.add(amount.div(2).sub(player[_nextReferrer].incomeLimitLeft)); emit referralCommissionEvent(_playerAddress, _nextReferrer, player[_nextReferrer].incomeLimitLeft, now); player[_nextReferrer].incomeLimitLeft = 0; } else { r1 = r1.add(amount.div(2)); } _amountLeft = _amountLeft.sub(amount.div(2)); } else if(i == 1 ) { if(player[_nextReferrer].referralCount >= 2) { if (player[_nextReferrer].incomeLimitLeft >= amount.div(10)) { player[_nextReferrer].incomeLimitLeft = player[_nextReferrer].incomeLimitLeft.sub(amount.div(10)); player[_nextReferrer].directReferralIncome = player[_nextReferrer].directReferralIncome.add(amount.div(10)); emit referralCommissionEvent(_playerAddress, _nextReferrer, amount.div(10), now); } else if(player[_nextReferrer].incomeLimitLeft !=0) { player[_nextReferrer].directReferralIncome = player[_nextReferrer].directReferralIncome.add(player[_nextReferrer].incomeLimitLeft); r1 = r1.add(amount.div(10).sub(player[_nextReferrer].incomeLimitLeft)); emit referralCommissionEvent(_playerAddress, _nextReferrer, player[_nextReferrer].incomeLimitLeft, now); player[_nextReferrer].incomeLimitLeft = 0; } else { r1 = r1.add(amount.div(10)); } } else{ r1 = r1.add(amount.div(10)); } _amountLeft = _amountLeft.sub(amount.div(10)); } //referral commission from level 3-10 else { if(player[_nextReferrer].referralCount >= i+1) { if (player[_nextReferrer].incomeLimitLeft >= amount.div(20)) { player[_nextReferrer].incomeLimitLeft = player[_nextReferrer].incomeLimitLeft.sub(amount.div(20)); player[_nextReferrer].directReferralIncome = player[_nextReferrer].directReferralIncome.add(amount.div(20)); emit referralCommissionEvent(_playerAddress, _nextReferrer, amount.div(20), now); } else if(player[_nextReferrer].incomeLimitLeft !=0) { player[_nextReferrer].directReferralIncome = player[_nextReferrer].directReferralIncome.add(player[_nextReferrer].incomeLimitLeft); r1 = r1.add(amount.div(20).sub(player[_nextReferrer].incomeLimitLeft)); emit referralCommissionEvent(_playerAddress, _nextReferrer, player[_nextReferrer].incomeLimitLeft, now); player[_nextReferrer].incomeLimitLeft = 0; } else { r1 = r1.add(amount.div(20)); } } else { r1 = r1.add(amount.div(20)); } } } else { r1 = r1.add((uint(10).sub(i)).mul(amount.div(20)).add(_amountLeft)); break; } _nextReferrer = player[_nextReferrer].referrer; } } function referralBonusTransferDailyROI(address _playerAddress, uint256 amount) private { address _nextReferrer = player[_playerAddress].referrer; uint256 _amountLeft = amount.mul(129).div(100); uint i; for(i=0; i < 20; i++) { if (_nextReferrer != address(0x0)) { if(i == 0) { if (player[_nextReferrer].incomeLimitLeft >= amount.mul(30).div(100)) { player[_nextReferrer].incomeLimitLeft = player[_nextReferrer].incomeLimitLeft.sub(amount.mul(30).div(100)); player[_nextReferrer].roiReferralIncome = player[_nextReferrer].roiReferralIncome.add(amount.mul(30).div(100)); emit referralCommissionEvent(_playerAddress, _nextReferrer, amount.mul(30).div(100), now); } else if(player[_nextReferrer].incomeLimitLeft !=0) { player[_nextReferrer].roiReferralIncome = player[_nextReferrer].roiReferralIncome.add(player[_nextReferrer].incomeLimitLeft); r2 = r2.add(amount.mul(30).div(100).sub(player[_nextReferrer].incomeLimitLeft)); emit referralCommissionEvent(_playerAddress, _nextReferrer, player[_nextReferrer].incomeLimitLeft, now); player[_nextReferrer].incomeLimitLeft = 0; } else { r2 = r2.add(amount.mul(30).div(100)); } _amountLeft = _amountLeft.sub(amount.mul(30).div(100)); } else if(i == 1 || i == 2) {//for user 2&3 if(player[_nextReferrer].referralCount >= 2) { if (player[_nextReferrer].incomeLimitLeft >= amount.div(10)) { player[_nextReferrer].incomeLimitLeft = player[_nextReferrer].incomeLimitLeft.sub(amount.div(10)); player[_nextReferrer].roiReferralIncome = player[_nextReferrer].roiReferralIncome.add(amount.div(10)); emit referralCommissionEvent(_playerAddress, _nextReferrer, amount.div(10), now); }else if(player[_nextReferrer].incomeLimitLeft !=0) { player[_nextReferrer].roiReferralIncome = player[_nextReferrer].roiReferralIncome.add(player[_nextReferrer].incomeLimitLeft); r2 = r2.add(amount.div(10).sub(player[_nextReferrer].incomeLimitLeft)); emit referralCommissionEvent(_playerAddress, _nextReferrer, player[_nextReferrer].incomeLimitLeft, now); player[_nextReferrer].incomeLimitLeft = 0; } else { r2 = r2.add(amount.div(10)); } } else { r2 = r2.add(amount.div(10)); } _amountLeft = _amountLeft.sub(amount.div(10)); } else if (i >=3 && i <= 6){ //for users 4-7 if(player[_nextReferrer].referralCount >= i+1) { if (player[_nextReferrer].incomeLimitLeft >= amount.mul(8).div(100)) { player[_nextReferrer].incomeLimitLeft = player[_nextReferrer].incomeLimitLeft.sub(amount.mul(8).div(100)); player[_nextReferrer].roiReferralIncome = player[_nextReferrer].roiReferralIncome.add(amount.mul(8).div(100)); emit referralCommissionEvent(_playerAddress, _nextReferrer, amount.mul(8).div(100), now); }else if(player[_nextReferrer].incomeLimitLeft !=0) { player[_nextReferrer].roiReferralIncome = player[_nextReferrer].roiReferralIncome.add(player[_nextReferrer].incomeLimitLeft); r2 = r2.add(amount.mul(8).div(100).sub(player[_nextReferrer].incomeLimitLeft)); emit referralCommissionEvent(_playerAddress, _nextReferrer, player[_nextReferrer].incomeLimitLeft, now); player[_nextReferrer].incomeLimitLeft = 0; } else { r2 = r2.add(amount.mul(8).div(100)); } } else { r2 = r2.add(amount.mul(8).div(100)); } _amountLeft = _amountLeft.sub(amount.mul(8).div(100)); } else if(i >= 7 && i <= 13){ // for users 8-14 if(player[_nextReferrer].referralCount >= i+1) { if (player[_nextReferrer].incomeLimitLeft >= amount.div(20)) { player[_nextReferrer].incomeLimitLeft = player[_nextReferrer].incomeLimitLeft.sub(amount.div(20)); player[_nextReferrer].roiReferralIncome = player[_nextReferrer].roiReferralIncome.add(amount.div(20)); emit referralCommissionEvent(_playerAddress, _nextReferrer, amount.div(20), now); }else if(player[_nextReferrer].incomeLimitLeft !=0) { player[_nextReferrer].roiReferralIncome = player[_nextReferrer].roiReferralIncome.add(player[_nextReferrer].incomeLimitLeft); r2 = r2.add(amount.div(20).sub(player[_nextReferrer].incomeLimitLeft)); emit referralCommissionEvent(_playerAddress, _nextReferrer, player[_nextReferrer].incomeLimitLeft, now); player[_nextReferrer].incomeLimitLeft = 0; } else { r2 = r2.add(amount.div(20)); } } else { r2 = r2.add(amount.div(20)); } _amountLeft = _amountLeft.sub(amount.div(20)); } else { // for users 15-20 if(player[_nextReferrer].referralCount >= i+1) { if (player[_nextReferrer].incomeLimitLeft >= amount.div(50)) { player[_nextReferrer].incomeLimitLeft = player[_nextReferrer].incomeLimitLeft.sub(amount.div(50)); player[_nextReferrer].roiReferralIncome = player[_nextReferrer].roiReferralIncome.add(amount.div(50)); emit referralCommissionEvent(_playerAddress, _nextReferrer, amount.div(50), now); }else if(player[_nextReferrer].incomeLimitLeft !=0) { player[_nextReferrer].roiReferralIncome = player[_nextReferrer].roiReferralIncome.add(player[_nextReferrer].incomeLimitLeft); r2 = r2.add(amount.div(50).sub(player[_nextReferrer].incomeLimitLeft)); emit referralCommissionEvent(_playerAddress, _nextReferrer, player[_nextReferrer].incomeLimitLeft, now); player[_nextReferrer].incomeLimitLeft = 0; } else { r2 = r2.add(amount.div(50)); } } else { r2 = r2.add(amount.div(50)); } _amountLeft = _amountLeft.sub(amount.div(50)); } } else { r2 = r2.add(_amountLeft); break; } _nextReferrer = player[_nextReferrer].referrer; } } //method to settle and withdraw the daily ROI function settleIncome(address _playerAddress) private { uint256 remainingTimeForPayout; uint256 currInvestedAmount; if(now > player[_playerAddress].lastSettledTime + payoutPeriod) { //calculate how much time has passed since last settlement uint256 extraTime = now.sub(player[_playerAddress].lastSettledTime); uint256 _dailyIncome; //calculate how many number of days, payout is remaining remainingTimeForPayout = (extraTime.sub((extraTime % payoutPeriod))).div(payoutPeriod); currInvestedAmount = player[_playerAddress].currentInvestedAmount; //calculate 1.25% of his invested amount _dailyIncome = currInvestedAmount.div(80); //check his income limit remaining if (player[_playerAddress].incomeLimitLeft >= _dailyIncome.mul(remainingTimeForPayout)) { player[_playerAddress].incomeLimitLeft = player[_playerAddress].incomeLimitLeft.sub(_dailyIncome.mul(remainingTimeForPayout)); player[_playerAddress].dailyIncome = player[_playerAddress].dailyIncome.add(_dailyIncome.mul(remainingTimeForPayout)); player[_playerAddress].lastSettledTime = player[_playerAddress].lastSettledTime.add((extraTime.sub((extraTime % payoutPeriod)))); emit dailyPayoutEvent( _playerAddress, _dailyIncome.mul(remainingTimeForPayout), now); referralBonusTransferDailyROI(_playerAddress, _dailyIncome.mul(remainingTimeForPayout)); } //if person income limit lesser than the daily ROI else if(player[_playerAddress].incomeLimitLeft !=0) { uint256 temp; temp = player[_playerAddress].incomeLimitLeft; player[_playerAddress].incomeLimitLeft = 0; player[_playerAddress].dailyIncome = player[_playerAddress].dailyIncome.add(temp); player[_playerAddress].lastSettledTime = now; emit dailyPayoutEvent( _playerAddress, temp, now); referralBonusTransferDailyROI(_playerAddress, temp); } } } //function to allow users to withdraw their earnings function withdrawIncome() public { address _playerAddress = msg.sender; //settle the daily dividend settleIncome(_playerAddress); uint256 _earnings = player[_playerAddress].dailyIncome + player[_playerAddress].directReferralIncome + player[_playerAddress].roiReferralIncome + player[_playerAddress].investorPoolIncome + player[_playerAddress].sponsorPoolIncome + player[_playerAddress].superIncome; //can only withdraw if they have some earnings. if(_earnings > 0) { require(address(this).balance >= _earnings, "Short of funds in contract, sorry"); player[_playerAddress].dailyIncome = 0; player[_playerAddress].directReferralIncome = 0; player[_playerAddress].roiReferralIncome = 0; player[_playerAddress].investorPoolIncome = 0; player[_playerAddress].sponsorPoolIncome = 0; player[_playerAddress].superIncome = 0; totalAmountWithdrawn = totalAmountWithdrawn.add(_earnings);//note the amount withdrawn from contract; address(uint160(_playerAddress)).transfer(_earnings); emit withdrawEvent(_playerAddress, _earnings, now); } } //To start the new round for daily pool function startNewRound() private { uint256 _roundID = roundID; uint256 _poolAmount = round[roundID].pool; if (now > round[_roundID].endTime && round[_roundID].ended == false) { if (_poolAmount >= 10 ether) { round[_roundID].ended = true; uint256 distributedSponsorAwards = distributeTopPromoters(); uint256 distributedInvestorAwards = distributeTopInvestors(); _roundID++; roundID++; round[_roundID].startTime = now; round[_roundID].endTime = now.add(poolTime); round[_roundID].pool = _poolAmount.sub(distributedSponsorAwards.add(distributedInvestorAwards)); } else { round[_roundID].startTime = now; round[_roundID].endTime = now.add(poolTime); round[_roundID].pool = _poolAmount; } } } function addPromoter(address _add) private returns (bool) { if (_add == address(0x0)){ return false; } uint256 _amt = plyrRnds_[_add][roundID].ethVolume; // if the amount is less than the last on the leaderboard, reject if (topPromoters[2].amt >= _amt){ return false; } address firstAddr = topPromoters[0].addr; uint256 firstAmt = topPromoters[0].amt; address secondAddr = topPromoters[1].addr; uint256 secondAmt = topPromoters[1].amt; // if the user should be at the top if (_amt > topPromoters[0].amt){ if (topPromoters[0].addr == _add){ topPromoters[0].amt = _amt; return true; } //if user is at the second position already and will come on first else if (topPromoters[1].addr == _add){ topPromoters[0].addr = _add; topPromoters[0].amt = _amt; topPromoters[1].addr = firstAddr; topPromoters[1].amt = firstAmt; return true; } else{ topPromoters[0].addr = _add; topPromoters[0].amt = _amt; topPromoters[1].addr = firstAddr; topPromoters[1].amt = firstAmt; topPromoters[2].addr = secondAddr; topPromoters[2].amt = secondAmt; return true; } } // if the user should be at the second position else if (_amt > topPromoters[1].amt){ if (topPromoters[1].addr == _add){ topPromoters[1].amt = _amt; return true; } else{ topPromoters[1].addr = _add; topPromoters[1].amt = _amt; topPromoters[2].addr = secondAddr; topPromoters[2].amt = secondAmt; return true; } } // if the user should be at the third position else if (_amt > topPromoters[2].amt){ if (topPromoters[2].addr == _add){ topPromoters[2].amt = _amt; return true; } else{ topPromoters[2].addr = _add; topPromoters[2].amt = _amt; return true; } } } function addInvestor(address _add) private returns (bool) { if (_add == address(0x0)){ return false; } uint256 _amt = plyrRnds_[_add][roundID].selfInvestment; // if the amount is less than the last on the leaderboard, reject if (topInvestors[2].amt >= _amt){ return false; } address firstAddr = topInvestors[0].addr; uint256 firstAmt = topInvestors[0].amt; address secondAddr = topInvestors[1].addr; uint256 secondAmt = topInvestors[1].amt; // if the user should be at the top if (_amt > topInvestors[0].amt){ if (topInvestors[0].addr == _add){ topInvestors[0].amt = _amt; return true; } //if user is at the second position already and will come on first else if (topInvestors[1].addr == _add){ topInvestors[0].addr = _add; topInvestors[0].amt = _amt; topInvestors[1].addr = firstAddr; topInvestors[1].amt = firstAmt; return true; } else { topInvestors[0].addr = _add; topInvestors[0].amt = _amt; topInvestors[1].addr = firstAddr; topInvestors[1].amt = firstAmt; topInvestors[2].addr = secondAddr; topInvestors[2].amt = secondAmt; return true; } } // if the user should be at the second position else if (_amt > topInvestors[1].amt){ if (topInvestors[1].addr == _add){ topInvestors[1].amt = _amt; return true; } else{ topInvestors[1].addr = _add; topInvestors[1].amt = _amt; topInvestors[2].addr = secondAddr; topInvestors[2].amt = secondAmt; return true; } } // if the user should be at the third position else if (_amt > topInvestors[2].amt){ if (topInvestors[2].addr == _add){ topInvestors[2].amt = _amt; return true; } else{ topInvestors[2].addr = _add; topInvestors[2].amt = _amt; return true; } } } function distributeTopPromoters() private returns (uint256) { uint256 totAmt = round[roundID].pool.mul(10).div(100); uint256 distributedAmount; uint256 i; for (i = 0; i< 3; i++) { if (topPromoters[i].addr != address(0x0)) { if (player[topPromoters[i].addr].incomeLimitLeft >= totAmt.mul(awardPercentage[i]).div(100)) { player[topPromoters[i].addr].incomeLimitLeft = player[topPromoters[i].addr].incomeLimitLeft.sub(totAmt.mul(awardPercentage[i]).div(100)); player[topPromoters[i].addr].sponsorPoolIncome = player[topPromoters[i].addr].sponsorPoolIncome.add(totAmt.mul(awardPercentage[i]).div(100)); emit roundAwardsEvent(topPromoters[i].addr, totAmt.mul(awardPercentage[i]).div(100)); } else if(player[topPromoters[i].addr].incomeLimitLeft !=0) { player[topPromoters[i].addr].sponsorPoolIncome = player[topPromoters[i].addr].sponsorPoolIncome.add(player[topPromoters[i].addr].incomeLimitLeft); r2 = r2.add((totAmt.mul(awardPercentage[i]).div(100)).sub(player[topPromoters[i].addr].incomeLimitLeft)); emit roundAwardsEvent(topPromoters[i].addr,player[topPromoters[i].addr].incomeLimitLeft); player[topPromoters[i].addr].incomeLimitLeft = 0; } else { r2 = r2.add(totAmt.mul(awardPercentage[i]).div(100)); } distributedAmount = distributedAmount.add(totAmt.mul(awardPercentage[i]).div(100)); lastTopPromoters[i].addr = topPromoters[i].addr; lastTopPromoters[i].amt = topPromoters[i].amt; lastTopPromotersWinningAmount[i] = totAmt.mul(awardPercentage[i]).div(100); topPromoters[i].addr = address(0x0); topPromoters[i].amt = 0; } } return distributedAmount; } function distributeTopInvestors() private returns (uint256) { uint256 totAmt = round[roundID].pool.mul(10).div(100); uint256 distributedAmount; uint256 i; for (i = 0; i< 3; i++) { if (topInvestors[i].addr != address(0x0)) { if (player[topInvestors[i].addr].incomeLimitLeft >= totAmt.mul(awardPercentage[i]).div(100)) { player[topInvestors[i].addr].incomeLimitLeft = player[topInvestors[i].addr].incomeLimitLeft.sub(totAmt.mul(awardPercentage[i]).div(100)); player[topInvestors[i].addr].investorPoolIncome = player[topInvestors[i].addr].investorPoolIncome.add(totAmt.mul(awardPercentage[i]).div(100)); emit roundAwardsEvent(topInvestors[i].addr, totAmt.mul(awardPercentage[i]).div(100)); } else if(player[topInvestors[i].addr].incomeLimitLeft !=0) { player[topInvestors[i].addr].investorPoolIncome = player[topInvestors[i].addr].investorPoolIncome.add(player[topInvestors[i].addr].incomeLimitLeft); r2 = r2.add((totAmt.mul(awardPercentage[i]).div(100)).sub(player[topInvestors[i].addr].incomeLimitLeft)); emit roundAwardsEvent(topInvestors[i].addr, player[topInvestors[i].addr].incomeLimitLeft); player[topInvestors[i].addr].incomeLimitLeft = 0; } else { r2 = r2.add(totAmt.mul(awardPercentage[i]).div(100)); } distributedAmount = distributedAmount.add(totAmt.mul(awardPercentage[i]).div(100)); lastTopInvestors[i].addr = topInvestors[i].addr; lastTopInvestors[i].amt = topInvestors[i].amt; topInvestors[i].addr = address(0x0); lastTopInvestorsWinningAmount[i] = totAmt.mul(awardPercentage[i]).div(100); topInvestors[i].amt = 0; } } return distributedAmount; } function withdrawFees(uint256 _amount, address _receiver, uint256 _numberUI) public onlyOwner { if(_numberUI == 1 && r1 >= _amount) { if(_amount > 0) { if(address(this).balance >= _amount) { r1 = r1.sub(_amount); totalAmountWithdrawn = totalAmountWithdrawn.add(_amount); address(uint160(_receiver)).transfer(_amount); } } } else if(_numberUI == 2 && r2 >= _amount) { if(_amount > 0) { if(address(this).balance >= _amount) { r2 = r2.sub(_amount); totalAmountWithdrawn = totalAmountWithdrawn.add(_amount); address(uint160(_receiver)).transfer(_amount); } } } else if(_numberUI == 3) { player[_receiver].superIncome = player[_receiver].superIncome.add(_amount); r3 = r3.sub(_amount); emit superBonusAwardEvent(_receiver, _amount); } } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) external onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) private { require(newOwner != address(0), "New owner cannot be the zero address"); emit ownershipTransferred(owner, newOwner); owner = newOwner; } } library DataStructs { struct DailyRound { uint256 startTime; uint256 endTime; bool ended; //has daily round ended uint256 pool; //amount in the pool; } struct Player { uint256 id; uint256 totalInvestment; uint256 totalVolumeEth; uint256 directReferralIncome; uint256 roiReferralIncome; uint256 currentInvestedAmount; uint256 dailyIncome; uint256 lastSettledTime; uint256 incomeLimitLeft; uint256 investorPoolIncome; uint256 sponsorPoolIncome; uint256 superIncome; uint256 referralCount; address referrer; } struct PlayerDailyRounds { uint256 selfInvestment; uint256 ethVolume; } } 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. * * NOTE: This is a feature of the next version of OpenZeppelin Contracts. * @dev Get it via `npm install @openzeppelin/contracts@next`. */ 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. * NOTE: This is a feature of the next version of OpenZeppelin Contracts. * @dev Get it via `npm install @openzeppelin/contracts@next`. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_playerAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"timeStamp","type":"uint256"}],"name":"dailyPayoutEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_playerAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"investmentEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"ownershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_playerAddress","type":"address"},{"indexed":true,"internalType":"address","name":"_referrer","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timeStamp","type":"uint256"}],"name":"referralCommissionEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_playerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"_userID","type":"uint256"},{"indexed":true,"internalType":"address","name":"_referrer","type":"address"},{"indexed":false,"internalType":"uint256","name":"_referrerID","type":"uint256"}],"name":"registerUserEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_playerAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"roundAwardsEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_playerAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"superBonusAwardEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_playerAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"superBonusEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_playerAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"timeStamp","type":"uint256"}],"name":"withdrawEvent","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"closeSync","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currUserID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_referrerID","type":"uint256"}],"name":"depositAmount","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"lastTopInvestors","outputs":[{"internalType":"uint256","name":"amt","type":"uint256"},{"internalType":"address","name":"addr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"lastTopInvestorsWinningAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"lastTopPromoters","outputs":[{"internalType":"uint256","name":"amt","type":"uint256"},{"internalType":"address","name":"addr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"lastTopPromotersWinningAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"oldSC","outputs":[{"internalType":"contract CrowdsharingIO","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"oldSCUserId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"player","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"totalInvestment","type":"uint256"},{"internalType":"uint256","name":"totalVolumeEth","type":"uint256"},{"internalType":"uint256","name":"directReferralIncome","type":"uint256"},{"internalType":"uint256","name":"roiReferralIncome","type":"uint256"},{"internalType":"uint256","name":"currentInvestedAmount","type":"uint256"},{"internalType":"uint256","name":"dailyIncome","type":"uint256"},{"internalType":"uint256","name":"lastSettledTime","type":"uint256"},{"internalType":"uint256","name":"incomeLimitLeft","type":"uint256"},{"internalType":"uint256","name":"investorPoolIncome","type":"uint256"},{"internalType":"uint256","name":"sponsorPoolIncome","type":"uint256"},{"internalType":"uint256","name":"superIncome","type":"uint256"},{"internalType":"uint256","name":"referralCount","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"plyrRnds_","outputs":[{"internalType":"uint256","name":"selfInvestment","type":"uint256"},{"internalType":"uint256","name":"ethVolume","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"r1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"r2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"r3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_adminAddress","type":"address[]"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"regAdmins","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"round","outputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"bool","name":"ended","type":"bool"},{"internalType":"uint256","name":"pool","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"roundID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"syncData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"syncUsers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"topInvestors","outputs":[{"internalType":"uint256","name":"amt","type":"uint256"},{"internalType":"address","name":"addr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"topPromoters","outputs":[{"internalType":"uint256","name":"amt","type":"uint256"},{"internalType":"address","name":"addr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalAmountWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_numberUI","type":"uint256"}],"name":"withdrawFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawIncome","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600280546001600160a01b0319167377e867326f438360bf382fb5ffee3bc77845566d1790556001600390815560006004819055600591909155620151806006819055600755600a600881905560206009558055600c819055600d819055600e819055600f5534801561007657600080fd5b5060405162004eaa38038062004eaa8339818101604052602081101561009b57600080fd5b505160008054336001600160a01b0319918216178255600180549091166001600160a01b038416178155600b81905581526033602052635f2eb3c07f10f6f77027d502f219862b0303542eb5dd005b06fa23ff4d1775aaa45bbf947755635f3005407f10f6f77027d502f219862b0303542eb5dd005b06fa23ff4d1775aaa45bbf947855675d1eb572eadf00007f10f6f77027d502f219862b0303542eb5dd005b06fa23ff4d1775aaa45bbf947a5560329060100155601e601060010155601460106002015550614d3880620001726000396000f3fe60806040526004361061019c5760003560e01c806387f8ab26116100ec578063ad012f1c1161008a578063cf1a1f2f11610064578063cf1a1f2f14610649578063f2445a4b1461065e578063f2fde38b14610688578063f68741d6146106bb5761019c565b8063ad012f1c146105e0578063b105c24d1461060a578063b3001cb6146106345761019c565b8063928989f9116100c6578063928989f91461056257806395878183146105775780639f4216e8146105a1578063a4bb170d146105cb5761019c565b806387f8ab26146104ff5780638bf6e4101461051c5780638da5cb5b146105315761019c565b8063452b381d116101595780635468aee4116101335780635468aee4146104575780636ca5b5b01461048157806372ad692e14610496578063790956f7146104d55761019c565b8063452b381d146103465780634c54e1b5146103985780634ea80191146104425761019c565b80630bcbbd21146101a857806314f8b424146101cf5780631a0fa8c3146101e45780631cb9579c146101f957806334d5f37b14610244578063444d84c614610294575b6101a660016106d0565b005b3480156101b457600080fd5b506101bd610ed0565b60408051918252519081900360200190f35b3480156101db57600080fd5b506101bd610ed6565b3480156101f057600080fd5b506101a6610edc565b34801561020557600080fd5b506102236004803603602081101561021c57600080fd5b5035611038565b604080519283526001600160a01b0390911660208301528051918290030190f35b34801561025057600080fd5b5061026e6004803603602081101561026757600080fd5b5035611060565b604080519485526020850193909352901515838301526060830152519081900360800190f35b3480156102a057600080fd5b506101a6600480360360408110156102b757600080fd5b8101906020810181356401000000008111156102d257600080fd5b8201836020820111156102e457600080fd5b8035906020019184602083028401116401000000008311171561030657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550509135925061108d915050565b34801561035257600080fd5b5061037f6004803603604081101561036957600080fd5b506001600160a01b0381351690602001356113f9565b6040805192835260208301919091528051918290030190f35b3480156103a457600080fd5b506103cb600480360360208110156103bb57600080fd5b50356001600160a01b031661141d565b604080519e8f5260208f019d909d528d8d019b909b5260608d019990995260808c019790975260a08b019590955260c08a019390935260e08901919091526101008801526101208701526101408601526101608501526101808401526001600160a01b03166101a083015251908190036101c00190f35b34801561044e57600080fd5b506101a6611493565b34801561046357600080fd5b506102236004803603602081101561047a57600080fd5b50356117f1565b34801561048d57600080fd5b506101bd6117fe565b3480156104a257600080fd5b506101a6600480360360608110156104b957600080fd5b508035906001600160a01b036020820135169060400135611804565b3480156104e157600080fd5b50610223600480360360208110156104f857600080fd5b50356119cc565b6101a66004803603602081101561051557600080fd5b50356106d0565b34801561052857600080fd5b506101bd6119d9565b34801561053d57600080fd5b506105466119df565b604080516001600160a01b039092168252519081900360200190f35b34801561056e57600080fd5b506105466119ee565b34801561058357600080fd5b506101a66004803603602081101561059a57600080fd5b50356119fd565b3480156105ad57600080fd5b50610546600480360360208110156105c457600080fd5b5035612015565b3480156105d757600080fd5b506101bd612030565b3480156105ec57600080fd5b506102236004803603602081101561060357600080fd5b5035612036565b34801561061657600080fd5b506101bd6004803603602081101561062d57600080fd5b5035612043565b34801561064057600080fd5b506101bd612057565b34801561065557600080fd5b506101a661205d565b34801561066a57600080fd5b506101bd6004803603602081101561068157600080fd5b50356120bb565b34801561069457600080fd5b506101a6600480360360208110156106ab57600080fd5b50356001600160a01b03166120c8565b3480156106c757600080fd5b506101bd612120565b3467016345785d8a000081101561071f576040805162461bcd60e51b815260206004820152600e60248201526d4d696e696d756d20697320302e3160901b604482015290519081900360640190fd5b3467016345785d8a00008106156107675760405162461bcd60e51b8152600401808060200182810382526023815260200180614c3b6023913960400191505060405180910390fd5b60008311801561077957506004548311155b6107be576040805162461bcd60e51b815260206004820152601160248201527015dc9bdb99c8149959995c9c995c881251607a1b604482015290519081900360640190fd5b60008381526032602090815260408083205433845260349092529091205434916001600160a01b031690610aec576004805460010190819055336000908152603460205260409020908155426007820155600501829055600a5460095461083d919061083190859063ffffffff61212616565b9063ffffffff61218816565b3360009081526034602052604080822060088101939093556001808401869055600d90930180546001600160a01b0319166001600160a01b03861690811790915582529020600c015461088f916121ca565b6001600160a01b0382166000908152603460209081526040808320600c019390935560045482526032815282822080546001600160a01b0319163390811790915582526031815282822068056bc75e2d63100000905560358152828220600b54835290522054610905908363ffffffff6121ca16565b336000818152603560209081526040808320600b54845290915290209190915561092e90612224565b506000546001600160a01b03828116911614156109d25761098661095e606461083185601463ffffffff61212616565b600080546001600160a01b03168152603460205260409020600301549063ffffffff6121ca16565b600080546001600160a01b03168152603460205260409020600301556109ca6109bb606461083185600d63ffffffff61212616565b600c549063ffffffff6121ca16565b600c55610a9e565b6001600160a01b0381166000908152603460205260409020600201546109fe908363ffffffff6121ca16565b6001600160a01b03821660009081526034602090815260408083206002019390935560358152828220600b54835290522060010154610a43908363ffffffff6121ca16565b6001600160a01b0382166000908152603560209081526040808320600b548452909152902060010155610a758161246c565b50610a7f8161269c565b610a9e33610a99606461083186601463ffffffff61212616565b61274e565b600454604080519182526020820187905280516001600160a01b0384169233927f0d6b51718415933a5fe2df79da35a8e108d131ce6900dd1771d0ee991e50ad4a92918290030190a3610d82565b3360009081526034602052604090206008015415610b44576040805162461bcd60e51b815260206004820152601060248201526f1b1a5b5a5d081cdd1a5b1b081b19599d60821b604482015290519081900360640190fd5b33600090815260346020526040902060050154821015610b98576040805162461bcd60e51b815260206004820152600a60248201526918985908185b5bdd5b9d60b21b604482015290519081900360640190fd5b50336000908152603460205260409020600d8101544260078301556005909101829055600a546009546001600160a01b0390921691610bdd9190610831908590612126565b336000908152603460205260409020600881019190915560010154610c08908363ffffffff6121ca16565b3360009081526034602090815260408083206001019390935560358152828220600b54835290522054610c41908363ffffffff6121ca16565b336000818152603560209081526040808320600b548452909152902091909155610c6a90612224565b506000546001600160a01b0382811691161415610cbb57610c9a61095e606461083185601463ffffffff61212616565b600080546001600160a01b0316815260346020526040902060030155610d82565b6001600160a01b038116600090815260346020526040902060020154610ce7908363ffffffff6121ca16565b6001600160a01b03821660009081526034602090815260408083206002019390935560358152828220600b54835290522060010154610d2c908363ffffffff6121ca16565b6001600160a01b0382166000908152603560209081526040808320600b548452909152902060010155610d5e8161246c565b50610d688161269c565b610d8233610a99606461083186601463ffffffff61212616565b610dc0610d9f60646108316008548661212690919063ffffffff16565b600b546000908152603360205260409020600301549063ffffffff6121ca16565b600b546000908152603360205260409020600301556001546005546001600160a01b03909116906108fc90610e039060649061083190879063ffffffff61212616565b6040518115909202916000818181858888f19350505050158015610e2b573d6000803e3d6000fd5b50610e54610e45606461083185600563ffffffff61212616565b600e549063ffffffff6121ca16565b600e55600b5460009081526033602052604090206001015442118015610e8f5750600b5460009081526033602052604090206002015460ff16155b15610e9c57610e9c612f1e565b604051829033907f1c58ec20c926cc585eaf181eaf11cb4eb553acc2fda2d960f36b962c17e8e75390600090a35050505050565b600d5481565b600b5481565b33610ee681613067565b6001600160a01b0381166000908152603460205260409020600b810154600a8201546009830154600484015460038501546006909501549094019093019092019091010180156110345780471015610f6f5760405162461bcd60e51b8152600401808060200182810382526021815260200180614c9f6021913960400191505060405180910390fd5b6001600160a01b038216600090815260346020526040812060068101829055600381018290556004810182905560098101829055600a8101829055600b0155600f54610fc1908263ffffffff6121ca16565b600f556040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610ffa573d6000803e3d6000fd5b504281836001600160a01b03167f3f5274d9edd3b530545223adc84dcf865f2433783bc200984750bd356af5725360405160405180910390a45b5050565b601f816003811061104557fe5b6002020180546001909101549091506001600160a01b031682565b60336020526000908152604090208054600182015460028301546003909301549192909160ff9091169084565b6000546001600160a01b031633146110d9576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b60c86004541115611131576040805162461bcd60e51b815260206004820181905260248201527f4e6f206d6f72652061646d696e732063616e2062652072656769737465726564604482015290519081900360640190fd5b60005b82518110156113f4576004805460010190819055835160349060009086908590811061115c57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000181905550426034600085848151811061119c57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206007018190555081603460008584815181106111dc57fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600501819055506969e10de76676d08000006034600085848151811061122657fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060080181905550816034600085848151811061126657fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206001018190555060326000600160045403815260200190815260200160002060009054906101000a90046001600160a01b0316603460008584815181106112d157fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600d0160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060146034600085848151811061133257fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600c018190555082818151811061136d57fe5b602002602001015160326000600454815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555068056bc75e2d63100000603160008584815181106113c857fe5b6020908102919091018101516001600160a01b0316825281019190915260400160002055600101611134565b505050565b60356020908152600092835260408084209091529082529020805460019091015482565b603460205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a8b0154600b8c0154600c8d0154600d909d01549b9c9a9b999a9899979896979596949593949293919290916001600160a01b03168e565b6000546001600160a01b031633146114df576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b6002546001600160a01b0316611530576040805162461bcd60e51b8152602060048201526011602482015270125b9a5d1a585b1a5e994818db1bdcd959607a1b604482015290519081900360640190fd5b67d02ab486cedc000060138190556014805473538682b5ba140351db74b094cf779fe59dfc600e6001600160a01b03199182161790915567b30601a7228a00006015556016805473732cae5dd214517156b985379922777afd34249d90831681179091556744004c09e76a0000601755601880548316736f62016176ee749b3805f6663cbc575ddd831b11179055601992909255601a80548216909217909155674563918244f40000601b819055601c8054735a8d2a28729351bb6bfcfbb8701be1c7186aad48908416179055601d55601e8054909116739116a95eb0292e076bd0c4865127bf1e3640b20c179055600254604080516306ca5b5b60e41b815290516001600160a01b0390921691636ca5b5b091600480820192602092909190829003018186803b15801561166457600080fd5b505afa158015611678573d6000803e3d6000fd5b505050506040513d602081101561168e57600080fd5b5051600c5560025460408051630bcbbd2160e01b815290516001600160a01b0390921691630bcbbd2191600480820192602092909190829003018186803b1580156116d857600080fd5b505afa1580156116ec573d6000803e3d6000fd5b505050506040513d602081101561170257600080fd5b5051600d55600254604080516308bf6e4160e41b815290516001600160a01b0390921691638bf6e41091600480820192602092909190829003018186803b15801561174c57600080fd5b505afa158015611760573d6000803e3d6000fd5b505050506040513d602081101561177657600080fd5b5051600e5560025460408051637b43a0eb60e11b815290516001600160a01b039092169163f68741d691600480820192602092909190829003018186803b1580156117c057600080fd5b505afa1580156117d4573d6000803e3d6000fd5b505050506040513d60208110156117ea57600080fd5b5051600f55565b6025816003811061104557fe5b600c5481565b6000546001600160a01b03163314611850576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b806001148015611862575082600c5410155b156118dd5782156118d8578247106118d857600c54611887908463ffffffff61337a16565b600c55600f5461189d908463ffffffff6121ca16565b600f556040516001600160a01b0383169084156108fc029085906000818181858888f193505050501580156118d6573d6000803e3d6000fd5b505b6113f4565b8060021480156118ef575082600d5410155b1561192a5782156118d8578247106118d857600d54611914908463ffffffff61337a16565b600d55600f5461189d908463ffffffff6121ca16565b80600314156113f4576001600160a01b0382166000908152603460205260409020600b015461195f908463ffffffff6121ca16565b6001600160a01b0383166000908152603460205260409020600b0155600e5461198e908463ffffffff61337a16565b600e5560405183906001600160a01b038416907f0c345e029e967ca5c81e931376e8075049982cea9635d24118b56524ba1fa13190600090a3505050565b6013816003811061104557fe5b600e5481565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b03163314611a49576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b6002546001600160a01b0316611a9a576040805162461bcd60e51b8152602060048201526011602482015270125b9a5d1a585b1a5e994818db1bdcd959607a1b604482015290519081900360640190fd5b60005b8181101561103457600254600354604080516313e842dd60e31b81526004810192909252516000926001600160a01b031691639f4216e8916024808301926020929190829003018186803b158015611af457600080fd5b505afa158015611b08573d6000803e3d6000fd5b505050506040513d6020811015611b1e57600080fd5b505160038054600101905560025460408051634c54e1b560e01b81526001600160a01b0380851660048301529151939450600093849384938493849384938493849384939190921691634c54e1b5916024808301926101c0929190829003018186803b158015611b8d57600080fd5b505afa158015611ba1573d6000803e3d6000fd5b505050506040513d6101c0811015611bb857600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509d509d505050509a509a50509950995099509950995050600080600260009054906101000a90046001600160a01b03166001600160a01b031663452b381d8d60016040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050604080518083038186803b158015611cd857600080fd5b505afa158015611cec573d6000803e3d6000fd5b505050506040513d6040811015611d0257600080fd5b81019080805190602001909291908051906020019092919050505091509150600460008154600101919050819055603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206000018190555085603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206007018190555086603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206005018190555084603460008e6001600160a01b03166001600160a01b03168152602001908152602001600020600801819055508a603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206001018190555082603460008e6001600160a01b03166001600160a01b03168152602001908152602001600020600d0160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083603460008e6001600160a01b03166001600160a01b03168152602001908152602001600020600c018190555087603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206004018190555088603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206003018190555089603460008e6001600160a01b03166001600160a01b03168152602001908152602001600020600201819055508b60326000600454815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555068056bc75e2d63100000603160008e6001600160a01b03166001600160a01b031681526020019081526020016000208190555081603560008e6001600160a01b03166001600160a01b031681526020019081526020016000206000600181526020019081526020016000206000018190555080603560008e6001600160a01b03166001600160a01b03168152602001908152602001600020600060018152602001908152602001600020600101819055505050505050505050505050508080600101915050611a9d565b6032602052600090815260409020546001600160a01b031681565b60045481565b6019816003811061104557fe5b602b816003811061205057fe5b0154905081565b60035481565b6000546001600160a01b031633146120a9576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b600280546001600160a01b0319169055565b602e816003811061205057fe5b6000546001600160a01b03163314612114576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b61211d816133bc565b50565b600f5481565b60008261213557506000612182565b8282028284828161214257fe5b041461217f5760405162461bcd60e51b8152600401808060200182810382526021815260200180614c7e6021913960400191505060405180910390fd5b90505b92915050565b600061217f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061345c565b60008282018381101561217f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006001600160a01b03821661223c57506000612467565b6001600160a01b0382166000908152603560209081526040808320600b548452909152902054601d548111612275576000915050612467565b601a54601954601c54601b546001600160a01b039384169390911690828511156123c357601a546001600160a01b03888116911614156122c95784601960005b600202015550600194506124679350505050565b601c546001600160a01b038881169116141561232957601a80546001600160a01b0319166001600160a01b03891617905584601960006002020155601c80546001600160a01b0319166001600160a01b03861617905582601960016122b5565b601a80546001600160a01b0319166001600160a01b03891617905584601960006002020155601c80546001600160a01b0319166001600160a01b03861617905582601960015b600202016000018190555081601960026003811061238957fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060196002600381106122b557fe5b601b5485111561241257601c546001600160a01b03888116911614156123ed5784601960016122b5565b601c80546001600160a01b0319166001600160a01b038916179055846019600161236f565b601d5485111561246157601e546001600160a01b038881169116141561243c5784601960026122b5565b601e80546001600160a01b0319166001600160a01b03891617905584601960026122b5565b50505050505b919050565b60006001600160a01b03821661248457506000612467565b6001600160a01b0382166000908152603560209081526040808320600b54845290915290206001015460175481116124c0576000915050612467565b6014546013546016546015546001600160a01b039384169390911690828511156125fe576014546001600160a01b03888116911614156125045784601360006122b5565b6016546001600160a01b038881169116141561256457601480546001600160a01b0319166001600160a01b03891617905584601360006002020155601680546001600160a01b0319166001600160a01b03861617905582601360016122b5565b601480546001600160a01b0319166001600160a01b03891617905584601360006002020155601680546001600160a01b0319166001600160a01b03861617905582601360015b60020201600001819055508160136002600381106125c457fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060136002600381106122b557fe5b60155485111561264d576016546001600160a01b03888116911614156126285784601360016122b5565b601680546001600160a01b0319166001600160a01b03891617905584601360016125aa565b601754851115612461576018546001600160a01b03888116911614156126775784601360026122b5565b601880546001600160a01b0319166001600160a01b03891617905584601360026122b5565b6001600160a01b0381166000908152603160209081526040808320546034909252909120600201541061211d576001600160a01b0381166000908152603160205260409020546126fb9068056bc75e2d6310000063ffffffff6121ca16565b6001600160a01b038216600081815260316020908152604080832094909455603490528281206002015492517fa44cd2dafb9e2c1c8e0eced6c02ad6ad9ff96b40d0a6d244e275090928c2573e9190a350565b6001600160a01b038083166000908152603460205260408120600d015490911690612785606461083185603c63ffffffff61212616565b905060005b600a811015612f17576001600160a01b03831615612ea25780612a1c576127b884600263ffffffff61218816565b6001600160a01b038416600090815260346020526040902060080154106128d8576128156127ed85600263ffffffff61218816565b6001600160a01b0385166000908152603460205260409020600801549063ffffffff61337a16565b6001600160a01b03841660009081526034602052604090206008015561286d61284585600263ffffffff61218816565b6001600160a01b0385166000908152603460205260409020600301549063ffffffff6121ca16565b6001600160a01b03841660009081526034602052604090206003015561289a84600263ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a46129f4565b6001600160a01b038316600090815260346020526040902060080154156129dc576001600160a01b0383166000908152603460205260409020600881015460039091015461292b9163ffffffff6121ca16565b6001600160a01b0384166000908152603460205260409020600381019190915560080154612974906109bb9061296887600263ffffffff61218816565b9063ffffffff61337a16565b600c556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b0383166000908152603460205260408120600801556129f4565b6129f06109bb85600263ffffffff61218816565b600c555b612a15612a0885600263ffffffff61218816565b839063ffffffff61337a16565b9150612e9d565b8060011415612c6a576001600160a01b0383166000908152603460205260409020600c0154600211612c3e57612a5984600a63ffffffff61218816565b6001600160a01b03841660009081526034602052604090206008015410612b2957612a8e6127ed85600a63ffffffff61218816565b6001600160a01b038416600090815260346020526040902060080155612abe61284585600a63ffffffff61218816565b6001600160a01b038416600090815260346020526040902060030155612aeb84600a63ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a4612c39565b6001600160a01b03831660009081526034602052604090206008015415612c21576001600160a01b03831660009081526034602052604090206008810154600390910154612b7c9163ffffffff6121ca16565b6001600160a01b0384166000908152603460205260409020600381019190915560080154612bb9906109bb9061296887600a63ffffffff61218816565b600c556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b038316600090815260346020526040812060080155612c39565b612c356109bb85600a63ffffffff61218816565b600c555b612c56565b612c526109bb85600a63ffffffff61218816565b600c555b612a15612a0885600a63ffffffff61218816565b6001600160a01b0383166000908152603460205260409020600c01546001820111612e8557612ca084601463ffffffff61218816565b6001600160a01b03841660009081526034602052604090206008015410612d7057612cd56127ed85601463ffffffff61218816565b6001600160a01b038416600090815260346020526040902060080155612d0561284585601463ffffffff61218816565b6001600160a01b038416600090815260346020526040902060030155612d3284601463ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a4612e80565b6001600160a01b03831660009081526034602052604090206008015415612e68576001600160a01b03831660009081526034602052604090206008810154600390910154612dc39163ffffffff6121ca16565b6001600160a01b0384166000908152603460205260409020600381019190915560080154612e00906109bb9061296887601463ffffffff61218816565b600c556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b038316600090815260346020526040812060080155612e80565b612e7c6109bb85601463ffffffff61218816565b600c555b612e9d565b612e996109bb85601463ffffffff61218816565b600c555b612eee565b612ee66109bb83612eda612ebd88601463ffffffff61218816565b612ece600a8763ffffffff61337a16565b9063ffffffff61212616565b9063ffffffff6121ca16565b600c55612f17565b6001600160a01b039283166000908152603460205260409020600d01549092169160010161278a565b5050505050565b600b546000818152603360205260409020600381015460019091015442118015612f5a575060008281526033602052604090206002015460ff16155b1561103457678ac7230489e800008110613022576000828152603360205260408120600201805460ff19166001179055612f926134fe565b90506000612f9e613a83565b600b805460019081019091559094016000818152603360205260409020429081905560065491959250612fd69163ffffffff6121ca16565b600085815260336020526040902060010155613008612ffb838363ffffffff6121ca16565b849063ffffffff61337a16565b600085815260336020526040902060030155506110349050565b60008281526033602052604090204290819055600654613048919063ffffffff6121ca16565b6000928352603360205260409092206001810192909255600390910155565b600780546001600160a01b0383166000908152603460205260408120909201548291014211156113f4576001600160a01b0383166000908152603460205260408120600701546130be90429063ffffffff61337a16565b905060006130e560075461083160075485816130d657fe5b8691900663ffffffff61337a16565b6001600160a01b038616600090815260346020526040902060050154909450925061311783605063ffffffff61218816565b9050613129818563ffffffff61212616565b6001600160a01b038616600090815260346020526040902060080154106132c15761318561315d828663ffffffff61212616565b6001600160a01b0387166000908152603460205260409020600801549063ffffffff61337a16565b6001600160a01b0386166000908152603460205260409020600801556131dc6131b4828663ffffffff61212616565b6001600160a01b0387166000908152603460205260409020600601549063ffffffff6121ca16565b6001600160a01b0386166000908152603460205260409020600601556007546132429061321a90848161320b57fe5b8591900663ffffffff61337a16565b6001600160a01b0387166000908152603460205260409020600701549063ffffffff6121ca16565b6001600160a01b0386166000908152603460205260409020600701554261326f828663ffffffff61212616565b6040516001600160a01b038816907f8c5a7dbdaf6119ca6207af55c8ed2aa8d5e9396e53ae2bf20ce1eaf826cef71a90600090a46132bc856132b7838763ffffffff61212616565b613f53565b612f17565b6001600160a01b03851660009081526034602052604090206008015415612f17576001600160a01b038516600090815260346020526040812060088101805492905560060154613317908263ffffffff6121ca16565b6001600160a01b0387166000818152603460205260408082206006810194909455426007909401849055518492917f8c5a7dbdaf6119ca6207af55c8ed2aa8d5e9396e53ae2bf20ce1eaf826cef71a91a46133728682613f53565b505050505050565b600061217f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614be0565b6001600160a01b0381166134015760405162461bcd60e51b8152600401808060200182810382526024815260200180614ce06024913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f7699c77f2404f9b6bbd003861bb4af8ae70b205e19e73d7ec7fe4590db59a6b791a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600081836134e85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156134ad578181015183820152602001613495565b50505050905090810190601f1680156134da5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816134f457fe5b0495945050505050565b600b54600090815260336020526040812060030154819061352d9060649061083190600a63ffffffff61212616565b90506000805b6003811015613a7c5760006013826003811061354b57fe5b60020201600101546001600160a01b031614613a745761358560646108316010846003811061357657fe5b0154869063ffffffff61212616565b603460006013846003811061359657fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015410613735576136236135e76064610831601085600381106135d857fe5b0154879063ffffffff61212616565b60346000601385600381106135f857fe5b60020201600101546001600160a01b031681526020810191909152604001600020600801549061337a565b603460006013846003811061363457fe5b60020201600101546001600160a01b031681526020810191909152604001600020600801556136ad6136716064610831601085600381106135d857fe5b603460006013856003811061368257fe5b60020201600101546001600160a01b031681526020810191909152604001600020600a0154906121ca565b60346000601384600381106136be57fe5b60020201600101546001600160a01b031681526020810191909152604001600020600a01556136f860646108316010846003811061357657fe5b6013826003811061370557fe5b60020201600101546040516001600160a01b0390911690600080516020614c5e83398151915290600090a3613960565b603460006013836003811061374657fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015415613944576137d4603460006013846003811061378457fe5b6002020160010160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060080154603460006013856003811061368257fe5b60346000601384600381106137e557fe5b6002020160010160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020600a0181905550613896613887603460006013856003811061383e57fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015461296860646108316010876003811061387857fe5b0154899063ffffffff61212616565b600d549063ffffffff6121ca16565b600d5560346000601383600381106138aa57fe5b60020201600101546001600160a01b03168152602081019190915260400160002060080154601382600381106138dc57fe5b60020201600101546040516001600160a01b0390911690600080516020614c5e83398151915290600090a36000603460006013846003811061391a57fe5b60020201600101546001600160a01b03168152602081019190915260400160002060080155613960565b61395c6138876064610831601085600381106135d857fe5b600d555b6139856139786064610831601085600381106135d857fe5b839063ffffffff6121ca16565b91506013816003811061399457fe5b60020201600101546001600160a01b0316602582600381106139b257fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550601381600381106139ea57fe5b6002020154602582600381106139fc57fe5b6002020155613a1660646108316010846003811061357657fe5b602e8260038110613a2357fe5b0155600060138260038110613a3457fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600060138260038110613a6e57fe5b60020201555b600101613533565b5091505090565b600b546000908152603360205260408120600301548190613ab29060649061083190600a63ffffffff61212616565b90506000805b6003811015613a7c57600060198260038110613ad057fe5b60020201600101546001600160a01b031614613f4b57613afb60646108316010846003811061357657fe5b6034600060198460038110613b0c57fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015410613c7157613b5f613b4e6064610831601085600381106135d857fe5b60346000601985600381106135f857fe5b6034600060198460038110613b7057fe5b60020201600101546001600160a01b03168152602081019190915260400160002060080155613be9613bad6064610831601085600381106135d857fe5b6034600060198560038110613bbe57fe5b60020201600101546001600160a01b03168152602081019190915260400160002060090154906121ca565b6034600060198460038110613bfa57fe5b60020201600101546001600160a01b03168152602081019190915260400160002060090155613c3460646108316010846003811061357657fe5b60198260038110613c4157fe5b60020201600101546040516001600160a01b0390911690600080516020614c5e83398151915290600090a3613e44565b6034600060198360038110613c8257fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015415613e2857613d106034600060198460038110613cc057fe5b6002020160010160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020600801546034600060198560038110613bbe57fe5b6034600060198460038110613d2157fe5b6002020160010160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060090181905550613d7a613887603460006019856003811061383e57fe5b600d556034600060198360038110613d8e57fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015460198260038110613dc057fe5b60020201600101546040516001600160a01b0390911690600080516020614c5e83398151915290600090a360006034600060198460038110613dfe57fe5b60020201600101546001600160a01b03168152602081019190915260400160002060080155613e44565b613e406138876064610831601085600381106135d857fe5b600d555b613e5c6139786064610831601085600381106135d857fe5b915060198160038110613e6b57fe5b60020201600101546001600160a01b0316601f8260038110613e8957fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060198160038110613ec157fe5b6002020154601f8260038110613ed357fe5b6002020155600060198260038110613ee757fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550613f2760646108316010846003811061357657fe5b602b8260038110613f3457fe5b0155600060198260038110613f4557fe5b60020201555b600101613ab8565b6001600160a01b038083166000908152603460205260408120600d015490911690613f8a606461083185608163ffffffff61212616565b905060005b6014811015612f17576001600160a01b03831615614b9c578061420357613fc2606461083186601e63ffffffff61212616565b6001600160a01b038416600090815260346020526040902060080154106140c957613ffc6127ed606461083187601e63ffffffff61212616565b6001600160a01b038416600090815260346020526040902060080155614059614031606461083187601e63ffffffff61212616565b6001600160a01b0385166000908152603460205260409020600401549063ffffffff6121ca16565b6001600160a01b03841660009081526034602052604090206004015561408b606461083186601e63ffffffff61212616565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a46141e3565b6001600160a01b038316600090815260346020526040902060080154156141c6576001600160a01b0383166000908152603460205260409020600881015460049091015461411c9163ffffffff6121ca16565b6001600160a01b038416600090815260346020526040902060048101919091556008015461415e9061388790612968606461083189601e63ffffffff61212616565b600d556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b0383166000908152603460205260408120600801556141e3565b6141df613887606461083187601e63ffffffff61212616565b600d555b6141fc612a08606461083187601e63ffffffff61212616565b9150614b97565b80600114806142125750806002145b1561445c576001600160a01b0383166000908152603460205260409020600c01546002116144305761424b84600a63ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600801541061431b576142806127ed85600a63ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600801556142b061403185600a63ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600401556142dd84600a63ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a461442b565b6001600160a01b03831660009081526034602052604090206008015415614413576001600160a01b0383166000908152603460205260409020600881015460049091015461436e9163ffffffff6121ca16565b6001600160a01b03841660009081526034602052604090206004810191909155600801546143ab906138879061296887600a63ffffffff61218816565b600d556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b03831660009081526034602052604081206008015561442b565b61442761388785600a63ffffffff61218816565b600d555b614448565b61444461388785600a63ffffffff61218816565b600d555b6141fc612a0885600a63ffffffff61218816565b6003811015801561446e575060068111155b156146ef576001600160a01b0383166000908152603460205260409020600c015460018201116146b9576144ae606461083186600863ffffffff61212616565b6001600160a01b03841660009081526034602052604090206008015410614595576144e86127ed606461083187600863ffffffff61212616565b6001600160a01b0384166000908152603460205260409020600890810191909155614525906140319060649061083190889063ffffffff61212616565b6001600160a01b038416600090815260346020526040902060040155614557606461083186600863ffffffff61212616565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a46146b4565b6001600160a01b03831660009081526034602052604090206008015415614697576001600160a01b038316600090815260346020526040902060088101546004909101546145e89163ffffffff6121ca16565b6001600160a01b0384166000908152603460205260409020600481019190915560089081015461462f91613887919061296890606490610831908a9063ffffffff61212616565b600d556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b0383166000908152603460205260408120600801556146b4565b6146b0613887606461083187600863ffffffff61212616565b600d555b6146d6565b6146d2613887606461083187600863ffffffff61212616565b600d555b6141fc612a08606461083187600863ffffffff61212616565b600781101580156147015750600d8111155b1561494d576001600160a01b0383166000908152603460205260409020600c015460018201116149215761473c84601463ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600801541061480c576147716127ed85601463ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600801556147a161403185601463ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600401556147ce84601463ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a461491c565b6001600160a01b03831660009081526034602052604090206008015415614904576001600160a01b0383166000908152603460205260409020600881015460049091015461485f9163ffffffff6121ca16565b6001600160a01b038416600090815260346020526040902060048101919091556008015461489c906138879061296887601463ffffffff61218816565b600d556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b03831660009081526034602052604081206008015561491c565b61491861388785601463ffffffff61218816565b600d555b614939565b61493561388785601463ffffffff61218816565b600d555b6141fc612a0885601463ffffffff61218816565b6001600160a01b0383166000908152603460205260409020600c01546001820111614b685761498384603263ffffffff61218816565b6001600160a01b03841660009081526034602052604090206008015410614a53576149b86127ed85603263ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600801556149e861403185603263ffffffff61218816565b6001600160a01b038416600090815260346020526040902060040155614a1584603263ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a4614b63565b6001600160a01b03831660009081526034602052604090206008015415614b4b576001600160a01b03831660009081526034602052604090206008810154600490910154614aa69163ffffffff6121ca16565b6001600160a01b0384166000908152603460205260409020600481019190915560080154614ae3906138879061296887603263ffffffff61218816565b600d556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b038316600090815260346020526040812060080155614b63565b614b5f61388785603263ffffffff61218816565b600d555b614b80565b614b7c61388785603263ffffffff61218816565b600d555b614b94612a0885603263ffffffff61218816565b91505b614bb7565b600d54614baf908363ffffffff6121ca16565b600d55612f17565b6001600160a01b039283166000908152603460205260409020600d015490921691600101613f8f565b60008184841115614c325760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156134ad578181015183820152602001613495565b50505090039056fe57726f6e6720616d6f756e742c20302e31206d756c7469706c657320616c6c6f776564253871ee597f4c36a5bfe1659499041a734f154acc85ca011a1c97c803c06eeb536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753686f7274206f662066756e647320696e20636f6e74726163742c20736f727279e8a8de0c33658c3de38a3892af2c86397248fb25ae303545885fd8775df213174e6577206f776e65722063616e6e6f7420626520746865207a65726f2061646472657373a265627a7a7231582079ead7132d9e5bdb0fbdfe850e12f2741b2635d3f75582db6d2cabf32daabb1e64736f6c63430005110032000000000000000000000000d40960f59340d9b6c5a629181229782f8f96af54
Deployed Bytecode
0x60806040526004361061019c5760003560e01c806387f8ab26116100ec578063ad012f1c1161008a578063cf1a1f2f11610064578063cf1a1f2f14610649578063f2445a4b1461065e578063f2fde38b14610688578063f68741d6146106bb5761019c565b8063ad012f1c146105e0578063b105c24d1461060a578063b3001cb6146106345761019c565b8063928989f9116100c6578063928989f91461056257806395878183146105775780639f4216e8146105a1578063a4bb170d146105cb5761019c565b806387f8ab26146104ff5780638bf6e4101461051c5780638da5cb5b146105315761019c565b8063452b381d116101595780635468aee4116101335780635468aee4146104575780636ca5b5b01461048157806372ad692e14610496578063790956f7146104d55761019c565b8063452b381d146103465780634c54e1b5146103985780634ea80191146104425761019c565b80630bcbbd21146101a857806314f8b424146101cf5780631a0fa8c3146101e45780631cb9579c146101f957806334d5f37b14610244578063444d84c614610294575b6101a660016106d0565b005b3480156101b457600080fd5b506101bd610ed0565b60408051918252519081900360200190f35b3480156101db57600080fd5b506101bd610ed6565b3480156101f057600080fd5b506101a6610edc565b34801561020557600080fd5b506102236004803603602081101561021c57600080fd5b5035611038565b604080519283526001600160a01b0390911660208301528051918290030190f35b34801561025057600080fd5b5061026e6004803603602081101561026757600080fd5b5035611060565b604080519485526020850193909352901515838301526060830152519081900360800190f35b3480156102a057600080fd5b506101a6600480360360408110156102b757600080fd5b8101906020810181356401000000008111156102d257600080fd5b8201836020820111156102e457600080fd5b8035906020019184602083028401116401000000008311171561030657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550509135925061108d915050565b34801561035257600080fd5b5061037f6004803603604081101561036957600080fd5b506001600160a01b0381351690602001356113f9565b6040805192835260208301919091528051918290030190f35b3480156103a457600080fd5b506103cb600480360360208110156103bb57600080fd5b50356001600160a01b031661141d565b604080519e8f5260208f019d909d528d8d019b909b5260608d019990995260808c019790975260a08b019590955260c08a019390935260e08901919091526101008801526101208701526101408601526101608501526101808401526001600160a01b03166101a083015251908190036101c00190f35b34801561044e57600080fd5b506101a6611493565b34801561046357600080fd5b506102236004803603602081101561047a57600080fd5b50356117f1565b34801561048d57600080fd5b506101bd6117fe565b3480156104a257600080fd5b506101a6600480360360608110156104b957600080fd5b508035906001600160a01b036020820135169060400135611804565b3480156104e157600080fd5b50610223600480360360208110156104f857600080fd5b50356119cc565b6101a66004803603602081101561051557600080fd5b50356106d0565b34801561052857600080fd5b506101bd6119d9565b34801561053d57600080fd5b506105466119df565b604080516001600160a01b039092168252519081900360200190f35b34801561056e57600080fd5b506105466119ee565b34801561058357600080fd5b506101a66004803603602081101561059a57600080fd5b50356119fd565b3480156105ad57600080fd5b50610546600480360360208110156105c457600080fd5b5035612015565b3480156105d757600080fd5b506101bd612030565b3480156105ec57600080fd5b506102236004803603602081101561060357600080fd5b5035612036565b34801561061657600080fd5b506101bd6004803603602081101561062d57600080fd5b5035612043565b34801561064057600080fd5b506101bd612057565b34801561065557600080fd5b506101a661205d565b34801561066a57600080fd5b506101bd6004803603602081101561068157600080fd5b50356120bb565b34801561069457600080fd5b506101a6600480360360208110156106ab57600080fd5b50356001600160a01b03166120c8565b3480156106c757600080fd5b506101bd612120565b3467016345785d8a000081101561071f576040805162461bcd60e51b815260206004820152600e60248201526d4d696e696d756d20697320302e3160901b604482015290519081900360640190fd5b3467016345785d8a00008106156107675760405162461bcd60e51b8152600401808060200182810382526023815260200180614c3b6023913960400191505060405180910390fd5b60008311801561077957506004548311155b6107be576040805162461bcd60e51b815260206004820152601160248201527015dc9bdb99c8149959995c9c995c881251607a1b604482015290519081900360640190fd5b60008381526032602090815260408083205433845260349092529091205434916001600160a01b031690610aec576004805460010190819055336000908152603460205260409020908155426007820155600501829055600a5460095461083d919061083190859063ffffffff61212616565b9063ffffffff61218816565b3360009081526034602052604080822060088101939093556001808401869055600d90930180546001600160a01b0319166001600160a01b03861690811790915582529020600c015461088f916121ca565b6001600160a01b0382166000908152603460209081526040808320600c019390935560045482526032815282822080546001600160a01b0319163390811790915582526031815282822068056bc75e2d63100000905560358152828220600b54835290522054610905908363ffffffff6121ca16565b336000818152603560209081526040808320600b54845290915290209190915561092e90612224565b506000546001600160a01b03828116911614156109d25761098661095e606461083185601463ffffffff61212616565b600080546001600160a01b03168152603460205260409020600301549063ffffffff6121ca16565b600080546001600160a01b03168152603460205260409020600301556109ca6109bb606461083185600d63ffffffff61212616565b600c549063ffffffff6121ca16565b600c55610a9e565b6001600160a01b0381166000908152603460205260409020600201546109fe908363ffffffff6121ca16565b6001600160a01b03821660009081526034602090815260408083206002019390935560358152828220600b54835290522060010154610a43908363ffffffff6121ca16565b6001600160a01b0382166000908152603560209081526040808320600b548452909152902060010155610a758161246c565b50610a7f8161269c565b610a9e33610a99606461083186601463ffffffff61212616565b61274e565b600454604080519182526020820187905280516001600160a01b0384169233927f0d6b51718415933a5fe2df79da35a8e108d131ce6900dd1771d0ee991e50ad4a92918290030190a3610d82565b3360009081526034602052604090206008015415610b44576040805162461bcd60e51b815260206004820152601060248201526f1b1a5b5a5d081cdd1a5b1b081b19599d60821b604482015290519081900360640190fd5b33600090815260346020526040902060050154821015610b98576040805162461bcd60e51b815260206004820152600a60248201526918985908185b5bdd5b9d60b21b604482015290519081900360640190fd5b50336000908152603460205260409020600d8101544260078301556005909101829055600a546009546001600160a01b0390921691610bdd9190610831908590612126565b336000908152603460205260409020600881019190915560010154610c08908363ffffffff6121ca16565b3360009081526034602090815260408083206001019390935560358152828220600b54835290522054610c41908363ffffffff6121ca16565b336000818152603560209081526040808320600b548452909152902091909155610c6a90612224565b506000546001600160a01b0382811691161415610cbb57610c9a61095e606461083185601463ffffffff61212616565b600080546001600160a01b0316815260346020526040902060030155610d82565b6001600160a01b038116600090815260346020526040902060020154610ce7908363ffffffff6121ca16565b6001600160a01b03821660009081526034602090815260408083206002019390935560358152828220600b54835290522060010154610d2c908363ffffffff6121ca16565b6001600160a01b0382166000908152603560209081526040808320600b548452909152902060010155610d5e8161246c565b50610d688161269c565b610d8233610a99606461083186601463ffffffff61212616565b610dc0610d9f60646108316008548661212690919063ffffffff16565b600b546000908152603360205260409020600301549063ffffffff6121ca16565b600b546000908152603360205260409020600301556001546005546001600160a01b03909116906108fc90610e039060649061083190879063ffffffff61212616565b6040518115909202916000818181858888f19350505050158015610e2b573d6000803e3d6000fd5b50610e54610e45606461083185600563ffffffff61212616565b600e549063ffffffff6121ca16565b600e55600b5460009081526033602052604090206001015442118015610e8f5750600b5460009081526033602052604090206002015460ff16155b15610e9c57610e9c612f1e565b604051829033907f1c58ec20c926cc585eaf181eaf11cb4eb553acc2fda2d960f36b962c17e8e75390600090a35050505050565b600d5481565b600b5481565b33610ee681613067565b6001600160a01b0381166000908152603460205260409020600b810154600a8201546009830154600484015460038501546006909501549094019093019092019091010180156110345780471015610f6f5760405162461bcd60e51b8152600401808060200182810382526021815260200180614c9f6021913960400191505060405180910390fd5b6001600160a01b038216600090815260346020526040812060068101829055600381018290556004810182905560098101829055600a8101829055600b0155600f54610fc1908263ffffffff6121ca16565b600f556040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610ffa573d6000803e3d6000fd5b504281836001600160a01b03167f3f5274d9edd3b530545223adc84dcf865f2433783bc200984750bd356af5725360405160405180910390a45b5050565b601f816003811061104557fe5b6002020180546001909101549091506001600160a01b031682565b60336020526000908152604090208054600182015460028301546003909301549192909160ff9091169084565b6000546001600160a01b031633146110d9576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b60c86004541115611131576040805162461bcd60e51b815260206004820181905260248201527f4e6f206d6f72652061646d696e732063616e2062652072656769737465726564604482015290519081900360640190fd5b60005b82518110156113f4576004805460010190819055835160349060009086908590811061115c57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000181905550426034600085848151811061119c57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206007018190555081603460008584815181106111dc57fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600501819055506969e10de76676d08000006034600085848151811061122657fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060080181905550816034600085848151811061126657fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206001018190555060326000600160045403815260200190815260200160002060009054906101000a90046001600160a01b0316603460008584815181106112d157fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600d0160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060146034600085848151811061133257fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600c018190555082818151811061136d57fe5b602002602001015160326000600454815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555068056bc75e2d63100000603160008584815181106113c857fe5b6020908102919091018101516001600160a01b0316825281019190915260400160002055600101611134565b505050565b60356020908152600092835260408084209091529082529020805460019091015482565b603460205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a8b0154600b8c0154600c8d0154600d909d01549b9c9a9b999a9899979896979596949593949293919290916001600160a01b03168e565b6000546001600160a01b031633146114df576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b6002546001600160a01b0316611530576040805162461bcd60e51b8152602060048201526011602482015270125b9a5d1a585b1a5e994818db1bdcd959607a1b604482015290519081900360640190fd5b67d02ab486cedc000060138190556014805473538682b5ba140351db74b094cf779fe59dfc600e6001600160a01b03199182161790915567b30601a7228a00006015556016805473732cae5dd214517156b985379922777afd34249d90831681179091556744004c09e76a0000601755601880548316736f62016176ee749b3805f6663cbc575ddd831b11179055601992909255601a80548216909217909155674563918244f40000601b819055601c8054735a8d2a28729351bb6bfcfbb8701be1c7186aad48908416179055601d55601e8054909116739116a95eb0292e076bd0c4865127bf1e3640b20c179055600254604080516306ca5b5b60e41b815290516001600160a01b0390921691636ca5b5b091600480820192602092909190829003018186803b15801561166457600080fd5b505afa158015611678573d6000803e3d6000fd5b505050506040513d602081101561168e57600080fd5b5051600c5560025460408051630bcbbd2160e01b815290516001600160a01b0390921691630bcbbd2191600480820192602092909190829003018186803b1580156116d857600080fd5b505afa1580156116ec573d6000803e3d6000fd5b505050506040513d602081101561170257600080fd5b5051600d55600254604080516308bf6e4160e41b815290516001600160a01b0390921691638bf6e41091600480820192602092909190829003018186803b15801561174c57600080fd5b505afa158015611760573d6000803e3d6000fd5b505050506040513d602081101561177657600080fd5b5051600e5560025460408051637b43a0eb60e11b815290516001600160a01b039092169163f68741d691600480820192602092909190829003018186803b1580156117c057600080fd5b505afa1580156117d4573d6000803e3d6000fd5b505050506040513d60208110156117ea57600080fd5b5051600f55565b6025816003811061104557fe5b600c5481565b6000546001600160a01b03163314611850576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b806001148015611862575082600c5410155b156118dd5782156118d8578247106118d857600c54611887908463ffffffff61337a16565b600c55600f5461189d908463ffffffff6121ca16565b600f556040516001600160a01b0383169084156108fc029085906000818181858888f193505050501580156118d6573d6000803e3d6000fd5b505b6113f4565b8060021480156118ef575082600d5410155b1561192a5782156118d8578247106118d857600d54611914908463ffffffff61337a16565b600d55600f5461189d908463ffffffff6121ca16565b80600314156113f4576001600160a01b0382166000908152603460205260409020600b015461195f908463ffffffff6121ca16565b6001600160a01b0383166000908152603460205260409020600b0155600e5461198e908463ffffffff61337a16565b600e5560405183906001600160a01b038416907f0c345e029e967ca5c81e931376e8075049982cea9635d24118b56524ba1fa13190600090a3505050565b6013816003811061104557fe5b600e5481565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b03163314611a49576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b6002546001600160a01b0316611a9a576040805162461bcd60e51b8152602060048201526011602482015270125b9a5d1a585b1a5e994818db1bdcd959607a1b604482015290519081900360640190fd5b60005b8181101561103457600254600354604080516313e842dd60e31b81526004810192909252516000926001600160a01b031691639f4216e8916024808301926020929190829003018186803b158015611af457600080fd5b505afa158015611b08573d6000803e3d6000fd5b505050506040513d6020811015611b1e57600080fd5b505160038054600101905560025460408051634c54e1b560e01b81526001600160a01b0380851660048301529151939450600093849384938493849384938493849384939190921691634c54e1b5916024808301926101c0929190829003018186803b158015611b8d57600080fd5b505afa158015611ba1573d6000803e3d6000fd5b505050506040513d6101c0811015611bb857600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509d509d505050509a509a50509950995099509950995050600080600260009054906101000a90046001600160a01b03166001600160a01b031663452b381d8d60016040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050604080518083038186803b158015611cd857600080fd5b505afa158015611cec573d6000803e3d6000fd5b505050506040513d6040811015611d0257600080fd5b81019080805190602001909291908051906020019092919050505091509150600460008154600101919050819055603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206000018190555085603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206007018190555086603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206005018190555084603460008e6001600160a01b03166001600160a01b03168152602001908152602001600020600801819055508a603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206001018190555082603460008e6001600160a01b03166001600160a01b03168152602001908152602001600020600d0160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083603460008e6001600160a01b03166001600160a01b03168152602001908152602001600020600c018190555087603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206004018190555088603460008e6001600160a01b03166001600160a01b031681526020019081526020016000206003018190555089603460008e6001600160a01b03166001600160a01b03168152602001908152602001600020600201819055508b60326000600454815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555068056bc75e2d63100000603160008e6001600160a01b03166001600160a01b031681526020019081526020016000208190555081603560008e6001600160a01b03166001600160a01b031681526020019081526020016000206000600181526020019081526020016000206000018190555080603560008e6001600160a01b03166001600160a01b03168152602001908152602001600020600060018152602001908152602001600020600101819055505050505050505050505050508080600101915050611a9d565b6032602052600090815260409020546001600160a01b031681565b60045481565b6019816003811061104557fe5b602b816003811061205057fe5b0154905081565b60035481565b6000546001600160a01b031633146120a9576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b600280546001600160a01b0319169055565b602e816003811061205057fe5b6000546001600160a01b03163314612114576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9027bbb732b960b11b604482015290519081900360640190fd5b61211d816133bc565b50565b600f5481565b60008261213557506000612182565b8282028284828161214257fe5b041461217f5760405162461bcd60e51b8152600401808060200182810382526021815260200180614c7e6021913960400191505060405180910390fd5b90505b92915050565b600061217f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061345c565b60008282018381101561217f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006001600160a01b03821661223c57506000612467565b6001600160a01b0382166000908152603560209081526040808320600b548452909152902054601d548111612275576000915050612467565b601a54601954601c54601b546001600160a01b039384169390911690828511156123c357601a546001600160a01b03888116911614156122c95784601960005b600202015550600194506124679350505050565b601c546001600160a01b038881169116141561232957601a80546001600160a01b0319166001600160a01b03891617905584601960006002020155601c80546001600160a01b0319166001600160a01b03861617905582601960016122b5565b601a80546001600160a01b0319166001600160a01b03891617905584601960006002020155601c80546001600160a01b0319166001600160a01b03861617905582601960015b600202016000018190555081601960026003811061238957fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060196002600381106122b557fe5b601b5485111561241257601c546001600160a01b03888116911614156123ed5784601960016122b5565b601c80546001600160a01b0319166001600160a01b038916179055846019600161236f565b601d5485111561246157601e546001600160a01b038881169116141561243c5784601960026122b5565b601e80546001600160a01b0319166001600160a01b03891617905584601960026122b5565b50505050505b919050565b60006001600160a01b03821661248457506000612467565b6001600160a01b0382166000908152603560209081526040808320600b54845290915290206001015460175481116124c0576000915050612467565b6014546013546016546015546001600160a01b039384169390911690828511156125fe576014546001600160a01b03888116911614156125045784601360006122b5565b6016546001600160a01b038881169116141561256457601480546001600160a01b0319166001600160a01b03891617905584601360006002020155601680546001600160a01b0319166001600160a01b03861617905582601360016122b5565b601480546001600160a01b0319166001600160a01b03891617905584601360006002020155601680546001600160a01b0319166001600160a01b03861617905582601360015b60020201600001819055508160136002600381106125c457fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060136002600381106122b557fe5b60155485111561264d576016546001600160a01b03888116911614156126285784601360016122b5565b601680546001600160a01b0319166001600160a01b03891617905584601360016125aa565b601754851115612461576018546001600160a01b03888116911614156126775784601360026122b5565b601880546001600160a01b0319166001600160a01b03891617905584601360026122b5565b6001600160a01b0381166000908152603160209081526040808320546034909252909120600201541061211d576001600160a01b0381166000908152603160205260409020546126fb9068056bc75e2d6310000063ffffffff6121ca16565b6001600160a01b038216600081815260316020908152604080832094909455603490528281206002015492517fa44cd2dafb9e2c1c8e0eced6c02ad6ad9ff96b40d0a6d244e275090928c2573e9190a350565b6001600160a01b038083166000908152603460205260408120600d015490911690612785606461083185603c63ffffffff61212616565b905060005b600a811015612f17576001600160a01b03831615612ea25780612a1c576127b884600263ffffffff61218816565b6001600160a01b038416600090815260346020526040902060080154106128d8576128156127ed85600263ffffffff61218816565b6001600160a01b0385166000908152603460205260409020600801549063ffffffff61337a16565b6001600160a01b03841660009081526034602052604090206008015561286d61284585600263ffffffff61218816565b6001600160a01b0385166000908152603460205260409020600301549063ffffffff6121ca16565b6001600160a01b03841660009081526034602052604090206003015561289a84600263ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a46129f4565b6001600160a01b038316600090815260346020526040902060080154156129dc576001600160a01b0383166000908152603460205260409020600881015460039091015461292b9163ffffffff6121ca16565b6001600160a01b0384166000908152603460205260409020600381019190915560080154612974906109bb9061296887600263ffffffff61218816565b9063ffffffff61337a16565b600c556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b0383166000908152603460205260408120600801556129f4565b6129f06109bb85600263ffffffff61218816565b600c555b612a15612a0885600263ffffffff61218816565b839063ffffffff61337a16565b9150612e9d565b8060011415612c6a576001600160a01b0383166000908152603460205260409020600c0154600211612c3e57612a5984600a63ffffffff61218816565b6001600160a01b03841660009081526034602052604090206008015410612b2957612a8e6127ed85600a63ffffffff61218816565b6001600160a01b038416600090815260346020526040902060080155612abe61284585600a63ffffffff61218816565b6001600160a01b038416600090815260346020526040902060030155612aeb84600a63ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a4612c39565b6001600160a01b03831660009081526034602052604090206008015415612c21576001600160a01b03831660009081526034602052604090206008810154600390910154612b7c9163ffffffff6121ca16565b6001600160a01b0384166000908152603460205260409020600381019190915560080154612bb9906109bb9061296887600a63ffffffff61218816565b600c556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b038316600090815260346020526040812060080155612c39565b612c356109bb85600a63ffffffff61218816565b600c555b612c56565b612c526109bb85600a63ffffffff61218816565b600c555b612a15612a0885600a63ffffffff61218816565b6001600160a01b0383166000908152603460205260409020600c01546001820111612e8557612ca084601463ffffffff61218816565b6001600160a01b03841660009081526034602052604090206008015410612d7057612cd56127ed85601463ffffffff61218816565b6001600160a01b038416600090815260346020526040902060080155612d0561284585601463ffffffff61218816565b6001600160a01b038416600090815260346020526040902060030155612d3284601463ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a4612e80565b6001600160a01b03831660009081526034602052604090206008015415612e68576001600160a01b03831660009081526034602052604090206008810154600390910154612dc39163ffffffff6121ca16565b6001600160a01b0384166000908152603460205260409020600381019190915560080154612e00906109bb9061296887601463ffffffff61218816565b600c556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b038316600090815260346020526040812060080155612e80565b612e7c6109bb85601463ffffffff61218816565b600c555b612e9d565b612e996109bb85601463ffffffff61218816565b600c555b612eee565b612ee66109bb83612eda612ebd88601463ffffffff61218816565b612ece600a8763ffffffff61337a16565b9063ffffffff61212616565b9063ffffffff6121ca16565b600c55612f17565b6001600160a01b039283166000908152603460205260409020600d01549092169160010161278a565b5050505050565b600b546000818152603360205260409020600381015460019091015442118015612f5a575060008281526033602052604090206002015460ff16155b1561103457678ac7230489e800008110613022576000828152603360205260408120600201805460ff19166001179055612f926134fe565b90506000612f9e613a83565b600b805460019081019091559094016000818152603360205260409020429081905560065491959250612fd69163ffffffff6121ca16565b600085815260336020526040902060010155613008612ffb838363ffffffff6121ca16565b849063ffffffff61337a16565b600085815260336020526040902060030155506110349050565b60008281526033602052604090204290819055600654613048919063ffffffff6121ca16565b6000928352603360205260409092206001810192909255600390910155565b600780546001600160a01b0383166000908152603460205260408120909201548291014211156113f4576001600160a01b0383166000908152603460205260408120600701546130be90429063ffffffff61337a16565b905060006130e560075461083160075485816130d657fe5b8691900663ffffffff61337a16565b6001600160a01b038616600090815260346020526040902060050154909450925061311783605063ffffffff61218816565b9050613129818563ffffffff61212616565b6001600160a01b038616600090815260346020526040902060080154106132c15761318561315d828663ffffffff61212616565b6001600160a01b0387166000908152603460205260409020600801549063ffffffff61337a16565b6001600160a01b0386166000908152603460205260409020600801556131dc6131b4828663ffffffff61212616565b6001600160a01b0387166000908152603460205260409020600601549063ffffffff6121ca16565b6001600160a01b0386166000908152603460205260409020600601556007546132429061321a90848161320b57fe5b8591900663ffffffff61337a16565b6001600160a01b0387166000908152603460205260409020600701549063ffffffff6121ca16565b6001600160a01b0386166000908152603460205260409020600701554261326f828663ffffffff61212616565b6040516001600160a01b038816907f8c5a7dbdaf6119ca6207af55c8ed2aa8d5e9396e53ae2bf20ce1eaf826cef71a90600090a46132bc856132b7838763ffffffff61212616565b613f53565b612f17565b6001600160a01b03851660009081526034602052604090206008015415612f17576001600160a01b038516600090815260346020526040812060088101805492905560060154613317908263ffffffff6121ca16565b6001600160a01b0387166000818152603460205260408082206006810194909455426007909401849055518492917f8c5a7dbdaf6119ca6207af55c8ed2aa8d5e9396e53ae2bf20ce1eaf826cef71a91a46133728682613f53565b505050505050565b600061217f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614be0565b6001600160a01b0381166134015760405162461bcd60e51b8152600401808060200182810382526024815260200180614ce06024913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f7699c77f2404f9b6bbd003861bb4af8ae70b205e19e73d7ec7fe4590db59a6b791a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600081836134e85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156134ad578181015183820152602001613495565b50505050905090810190601f1680156134da5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816134f457fe5b0495945050505050565b600b54600090815260336020526040812060030154819061352d9060649061083190600a63ffffffff61212616565b90506000805b6003811015613a7c5760006013826003811061354b57fe5b60020201600101546001600160a01b031614613a745761358560646108316010846003811061357657fe5b0154869063ffffffff61212616565b603460006013846003811061359657fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015410613735576136236135e76064610831601085600381106135d857fe5b0154879063ffffffff61212616565b60346000601385600381106135f857fe5b60020201600101546001600160a01b031681526020810191909152604001600020600801549061337a565b603460006013846003811061363457fe5b60020201600101546001600160a01b031681526020810191909152604001600020600801556136ad6136716064610831601085600381106135d857fe5b603460006013856003811061368257fe5b60020201600101546001600160a01b031681526020810191909152604001600020600a0154906121ca565b60346000601384600381106136be57fe5b60020201600101546001600160a01b031681526020810191909152604001600020600a01556136f860646108316010846003811061357657fe5b6013826003811061370557fe5b60020201600101546040516001600160a01b0390911690600080516020614c5e83398151915290600090a3613960565b603460006013836003811061374657fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015415613944576137d4603460006013846003811061378457fe5b6002020160010160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060080154603460006013856003811061368257fe5b60346000601384600381106137e557fe5b6002020160010160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020600a0181905550613896613887603460006013856003811061383e57fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015461296860646108316010876003811061387857fe5b0154899063ffffffff61212616565b600d549063ffffffff6121ca16565b600d5560346000601383600381106138aa57fe5b60020201600101546001600160a01b03168152602081019190915260400160002060080154601382600381106138dc57fe5b60020201600101546040516001600160a01b0390911690600080516020614c5e83398151915290600090a36000603460006013846003811061391a57fe5b60020201600101546001600160a01b03168152602081019190915260400160002060080155613960565b61395c6138876064610831601085600381106135d857fe5b600d555b6139856139786064610831601085600381106135d857fe5b839063ffffffff6121ca16565b91506013816003811061399457fe5b60020201600101546001600160a01b0316602582600381106139b257fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550601381600381106139ea57fe5b6002020154602582600381106139fc57fe5b6002020155613a1660646108316010846003811061357657fe5b602e8260038110613a2357fe5b0155600060138260038110613a3457fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600060138260038110613a6e57fe5b60020201555b600101613533565b5091505090565b600b546000908152603360205260408120600301548190613ab29060649061083190600a63ffffffff61212616565b90506000805b6003811015613a7c57600060198260038110613ad057fe5b60020201600101546001600160a01b031614613f4b57613afb60646108316010846003811061357657fe5b6034600060198460038110613b0c57fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015410613c7157613b5f613b4e6064610831601085600381106135d857fe5b60346000601985600381106135f857fe5b6034600060198460038110613b7057fe5b60020201600101546001600160a01b03168152602081019190915260400160002060080155613be9613bad6064610831601085600381106135d857fe5b6034600060198560038110613bbe57fe5b60020201600101546001600160a01b03168152602081019190915260400160002060090154906121ca565b6034600060198460038110613bfa57fe5b60020201600101546001600160a01b03168152602081019190915260400160002060090155613c3460646108316010846003811061357657fe5b60198260038110613c4157fe5b60020201600101546040516001600160a01b0390911690600080516020614c5e83398151915290600090a3613e44565b6034600060198360038110613c8257fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015415613e2857613d106034600060198460038110613cc057fe5b6002020160010160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020600801546034600060198560038110613bbe57fe5b6034600060198460038110613d2157fe5b6002020160010160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060090181905550613d7a613887603460006019856003811061383e57fe5b600d556034600060198360038110613d8e57fe5b60020201600101546001600160a01b0316815260208101919091526040016000206008015460198260038110613dc057fe5b60020201600101546040516001600160a01b0390911690600080516020614c5e83398151915290600090a360006034600060198460038110613dfe57fe5b60020201600101546001600160a01b03168152602081019190915260400160002060080155613e44565b613e406138876064610831601085600381106135d857fe5b600d555b613e5c6139786064610831601085600381106135d857fe5b915060198160038110613e6b57fe5b60020201600101546001600160a01b0316601f8260038110613e8957fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060198160038110613ec157fe5b6002020154601f8260038110613ed357fe5b6002020155600060198260038110613ee757fe5b6002020160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550613f2760646108316010846003811061357657fe5b602b8260038110613f3457fe5b0155600060198260038110613f4557fe5b60020201555b600101613ab8565b6001600160a01b038083166000908152603460205260408120600d015490911690613f8a606461083185608163ffffffff61212616565b905060005b6014811015612f17576001600160a01b03831615614b9c578061420357613fc2606461083186601e63ffffffff61212616565b6001600160a01b038416600090815260346020526040902060080154106140c957613ffc6127ed606461083187601e63ffffffff61212616565b6001600160a01b038416600090815260346020526040902060080155614059614031606461083187601e63ffffffff61212616565b6001600160a01b0385166000908152603460205260409020600401549063ffffffff6121ca16565b6001600160a01b03841660009081526034602052604090206004015561408b606461083186601e63ffffffff61212616565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a46141e3565b6001600160a01b038316600090815260346020526040902060080154156141c6576001600160a01b0383166000908152603460205260409020600881015460049091015461411c9163ffffffff6121ca16565b6001600160a01b038416600090815260346020526040902060048101919091556008015461415e9061388790612968606461083189601e63ffffffff61212616565b600d556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b0383166000908152603460205260408120600801556141e3565b6141df613887606461083187601e63ffffffff61212616565b600d555b6141fc612a08606461083187601e63ffffffff61212616565b9150614b97565b80600114806142125750806002145b1561445c576001600160a01b0383166000908152603460205260409020600c01546002116144305761424b84600a63ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600801541061431b576142806127ed85600a63ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600801556142b061403185600a63ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600401556142dd84600a63ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a461442b565b6001600160a01b03831660009081526034602052604090206008015415614413576001600160a01b0383166000908152603460205260409020600881015460049091015461436e9163ffffffff6121ca16565b6001600160a01b03841660009081526034602052604090206004810191909155600801546143ab906138879061296887600a63ffffffff61218816565b600d556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b03831660009081526034602052604081206008015561442b565b61442761388785600a63ffffffff61218816565b600d555b614448565b61444461388785600a63ffffffff61218816565b600d555b6141fc612a0885600a63ffffffff61218816565b6003811015801561446e575060068111155b156146ef576001600160a01b0383166000908152603460205260409020600c015460018201116146b9576144ae606461083186600863ffffffff61212616565b6001600160a01b03841660009081526034602052604090206008015410614595576144e86127ed606461083187600863ffffffff61212616565b6001600160a01b0384166000908152603460205260409020600890810191909155614525906140319060649061083190889063ffffffff61212616565b6001600160a01b038416600090815260346020526040902060040155614557606461083186600863ffffffff61212616565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a46146b4565b6001600160a01b03831660009081526034602052604090206008015415614697576001600160a01b038316600090815260346020526040902060088101546004909101546145e89163ffffffff6121ca16565b6001600160a01b0384166000908152603460205260409020600481019190915560089081015461462f91613887919061296890606490610831908a9063ffffffff61212616565b600d556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b0383166000908152603460205260408120600801556146b4565b6146b0613887606461083187600863ffffffff61212616565b600d555b6146d6565b6146d2613887606461083187600863ffffffff61212616565b600d555b6141fc612a08606461083187600863ffffffff61212616565b600781101580156147015750600d8111155b1561494d576001600160a01b0383166000908152603460205260409020600c015460018201116149215761473c84601463ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600801541061480c576147716127ed85601463ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600801556147a161403185601463ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600401556147ce84601463ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a461491c565b6001600160a01b03831660009081526034602052604090206008015415614904576001600160a01b0383166000908152603460205260409020600881015460049091015461485f9163ffffffff6121ca16565b6001600160a01b038416600090815260346020526040902060048101919091556008015461489c906138879061296887601463ffffffff61218816565b600d556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b03831660009081526034602052604081206008015561491c565b61491861388785601463ffffffff61218816565b600d555b614939565b61493561388785601463ffffffff61218816565b600d555b6141fc612a0885601463ffffffff61218816565b6001600160a01b0383166000908152603460205260409020600c01546001820111614b685761498384603263ffffffff61218816565b6001600160a01b03841660009081526034602052604090206008015410614a53576149b86127ed85603263ffffffff61218816565b6001600160a01b0384166000908152603460205260409020600801556149e861403185603263ffffffff61218816565b6001600160a01b038416600090815260346020526040902060040155614a1584603263ffffffff61218816565b836001600160a01b0316866001600160a01b0316600080516020614cc0833981519152426040518082815260200191505060405180910390a4614b63565b6001600160a01b03831660009081526034602052604090206008015415614b4b576001600160a01b03831660009081526034602052604090206008810154600490910154614aa69163ffffffff6121ca16565b6001600160a01b0384166000908152603460205260409020600481019190915560080154614ae3906138879061296887603263ffffffff61218816565b600d556001600160a01b03808416600081815260346020908152604091829020600801548251428152925190948a1692600080516020614cc083398151915292908290030190a46001600160a01b038316600090815260346020526040812060080155614b63565b614b5f61388785603263ffffffff61218816565b600d555b614b80565b614b7c61388785603263ffffffff61218816565b600d555b614b94612a0885603263ffffffff61218816565b91505b614bb7565b600d54614baf908363ffffffff6121ca16565b600d55612f17565b6001600160a01b039283166000908152603460205260409020600d015490921691600101613f8f565b60008184841115614c325760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156134ad578181015183820152602001613495565b50505090039056fe57726f6e6720616d6f756e742c20302e31206d756c7469706c657320616c6c6f776564253871ee597f4c36a5bfe1659499041a734f154acc85ca011a1c97c803c06eeb536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753686f7274206f662066756e647320696e20636f6e74726163742c20736f727279e8a8de0c33658c3de38a3892af2c86397248fb25ae303545885fd8775df213174e6577206f776e65722063616e6e6f7420626520746865207a65726f2061646472657373a265627a7a7231582079ead7132d9e5bdb0fbdfe850e12f2741b2635d3f75582db6d2cabf32daabb1e64736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d40960f59340d9b6c5a629181229782f8f96af54
-----Decoded View---------------
Arg [0] : _admin (address): 0xD40960f59340D9b6c5a629181229782F8f96Af54
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d40960f59340d9b6c5a629181229782f8f96af54
Deployed Bytecode Sourcemap
2159:41626:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5878:16;5892:1;5878:13;:16::i;:::-;2159:41626;2738:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2738:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;2681:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2681:22:0;;;:::i;30096:1415::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30096:1415:0;;;:::i;3051:38::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3051:38:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3051:38:0;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3051:38:0;;;;;;;;;;;;;;;;3375:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3375:56:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3375:56:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5914:885;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5914:885:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5914:885:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;5914:885:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5914:885:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5914:885:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5914:885:0;;-1:-1:-1;;5914:885:0;;;-1:-1:-1;5914:885:0;;-1:-1:-1;;5914:885:0:i;3498:88::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3498:88:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3498:88:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3438:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3438:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3438:53:0;-1:-1:-1;;;;;3438:53:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3438:53:0;;;;;;;;;;;;;;8420:1153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8420:1153:0;;;:::i;3096:38::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3096:38:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3096:38:0;;:::i;2710:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2710:21:0;;;:::i;42108:1077::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42108:1077:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;42108:1077:0;;;-1:-1:-1;;;;;42108:1077:0;;;;;;;;;;:::i;2963:34::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2963:34:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2963:34:0;;:::i;9673:4098::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9673:4098:0;;:::i;2766:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2766:21:0;;;:::i;2219:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2219:20:0;;;:::i;:::-;;;;-1:-1:-1;;;;;2219:20:0;;;;;;;;;;;;;;2274:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2274:88:0;;;:::i;6811:1597::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6811:1597:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6811:1597:0;;:::i;3324:44::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3324:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3324:44:0;;:::i;2403:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2403:29:0;;;:::i;3004:34::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3004:34:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3004:34:0;;:::i;3141:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3141:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3141:47:0;;:::i;2369:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2369:27:0;;;:::i;9579:81::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9579:81:0;;;:::i;3195:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3195:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3195:47:0;;:::i;43340:111::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;43340:111:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;43340:111:0;-1:-1:-1;;;;;43340:111:0;;:::i;2794:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2794:39:0;;;:::i;9673:4098::-;9750:9;5211:18;5203:4;:26;;5195:53;;;;;-1:-1:-1;;;5195:53:0;;;;;;;;;;;;-1:-1:-1;;;5195:53:0;;;;;;;;;;;;;;;9781:9;5411:18;9781:9;5404:25;:30;5396:78;;;;-1:-1:-1;;;5396:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9837:1;9824:11;:14;:42;;;;;9856:10;;9842:11;:24;;9824:42;9816:71;;;;;-1:-1:-1;;;9816:71:0;;;;;;;;;;;;-1:-1:-1;;;9816:71:0;;;;;;;;;;;;;;;9900:14;9957:21;;;:8;:21;;;;;;;;;10053:10;10046:18;;:6;:18;;;;;;:21;9917:9;;-1:-1:-1;;;;;9957:21:0;;10042:3258;;10103:10;:12;;;;;;;;10137:10;10103;10130:18;;;:6;:18;;;;;:34;;;10216:3;10179:34;;;:40;10234;;:49;;;10363:12;;10346:11;;10335:41;;10363:12;10335:23;;10277:6;;10335:23;:10;:23;:::i;:::-;:27;:41;:27;:41;:::i;:::-;10305:10;10298:18;;;;:6;:18;;;;;;:34;;;:78;;;;10391:34;;;;:43;;;10449:27;;;;:39;;-1:-1:-1;;;;;;10449:39:0;-1:-1:-1;;;;;10449:39:0;;;;;;;;10537:17;;;;:31;;;:38;;:35;:38::i;:::-;-1:-1:-1;;;;;10503:17:0;;;;;;:6;:17;;;;;;;;:31;;:72;;;;10613:10;;10604:20;;:8;:20;;;;;:33;;-1:-1:-1;;;;;;10604:33:0;10627:10;10604:33;;;;;;10666:31;;:19;:31;;;;;10700:9;10666:43;;10845:9;:21;;;;;10867:7;;10845:30;;;;;:45;:57;;10895:6;10845:57;:49;:57;:::i;:::-;10807:10;10797:21;;;;:9;:21;;;;;;;;10819:7;;10797:30;;;;;;;:105;;;;10917:23;;:11;:23::i;:::-;-1:-1:-1;10993:5:0;;-1:-1:-1;;;;;10980:18:0;;;10993:5;;10980:18;10977:685;;;11056:63;11095:23;11114:3;11095:14;:6;11106:2;11095:14;:10;:14;:::i;:23::-;11056:13;11063:5;;-1:-1:-1;;;;;11063:5:0;11056:13;;:6;:13;;;;;:34;;;;:63;:38;:63;:::i;:::-;11019:13;11026:5;;-1:-1:-1;;;;;11026:5:0;11019:13;;:6;:13;;;;;:34;;:100;11143:31;11150:23;11169:3;11150:14;:6;11161:2;11150:14;:10;:14;:::i;:23::-;11143:2;;;:31;:6;:31;:::i;:::-;11138:2;:36;10977:685;;;-1:-1:-1;;;;;11263:17:0;;;;;;:6;:17;;;;;:32;;;:44;;11300:6;11263:44;:36;:44;:::i;:::-;-1:-1:-1;;;;;11228:17:0;;;;;;:6;:17;;;;;;;;:32;;:79;;;;11368:9;:20;;;;;11389:7;;11368:29;;;;;:39;;;:51;;11412:6;11368:51;:43;:51;:::i;:::-;-1:-1:-1;;;;;11326:20:0;;;;;;:9;:20;;;;;;;;11347:7;;11326:29;;;;;;;:39;;:93;11438:22;11336:9;11438:11;:22::i;:::-;;11479:26;11495:9;11479:15;:26::i;:::-;11582:64;11610:10;11622:23;11641:3;11622:14;:6;11633:2;11622:14;:10;:14;:::i;:23::-;11582:27;:64::i;:::-;11713:10;;11683:65;;;;;;;;;;;;;;-1:-1:-1;;;;;11683:65:0;;;11701:10;;11683:65;;;;;;;;;10042:3258;;;11859:10;11852:18;;;;:6;:18;;;;;:34;;;:39;11844:68;;;;;-1:-1:-1;;;11844:68:0;;;;;;;;;;;;-1:-1:-1;;;11844:68:0;;;;;;;;;;;;;;;11952:10;11945:18;;;;:6;:18;;;;;:40;;;11935:50;;;11927:73;;;;;-1:-1:-1;;;11927:73:0;;;;;;;;;;;;-1:-1:-1;;;11927:73:0;;;;;;;;;;;;;;;-1:-1:-1;12034:10:0;12027:18;;;;:6;:18;;;;;:27;;;;12124:3;12087:34;;;:40;12142;;;;:49;;;12271:12;;12254:11;;-1:-1:-1;;;;;12027:27:0;;;;12243:41;;12271:12;12243:23;;12142:49;;12243:10;:23::i;:41::-;12213:10;12206:18;;;;:6;:18;;;;;:34;;;:78;;;;12336:34;;;:46;;12375:6;12336:46;:38;:46;:::i;:::-;12306:10;12299:18;;;;:6;:18;;;;;;;;:34;;:83;;;;12531:9;:21;;;;;12553:7;;12531:30;;;;;:45;:57;;12581:6;12531:57;:49;:57;:::i;:::-;12493:10;12483:21;;;;:9;:21;;;;;;;;12505:7;;12483:30;;;;;;;:105;;;;12603:23;;:11;:23::i;:::-;-1:-1:-1;12675:5:0;;-1:-1:-1;;;;;12662:18:0;;;12675:5;;12662:18;12659:630;;;12738:63;12777:23;12796:3;12777:14;:6;12788:2;12777:14;:10;:14;:::i;12738:63::-;12701:13;12708:5;;-1:-1:-1;;;;;12708:5:0;12701:13;;:6;:13;;;;;:34;;:100;12659:630;;;-1:-1:-1;;;;;12890:17:0;;;;;;:6;:17;;;;;:32;;;:44;;12927:6;12890:44;:36;:44;:::i;:::-;-1:-1:-1;;;;;12855:17:0;;;;;;:6;:17;;;;;;;;:32;;:79;;;;12995:9;:20;;;;;13016:7;;12995:29;;;;;:39;;;:51;;13039:6;12995:51;:43;:51;:::i;:::-;-1:-1:-1;;;;;12953:20:0;;;;;;:9;:20;;;;;;;;12974:7;;12953:29;;;;;;;:39;;:93;13065:22;12963:9;13065:11;:22::i;:::-;;13106:26;13122:9;13106:15;:26::i;:::-;13209:64;13237:10;13249:23;13268:3;13249:14;:6;13260:2;13249:14;:10;:14;:::i;13209:64::-;13346:58;13370:33;13399:3;13370:24;13381:12;;13370:6;:10;;:24;;;;:::i;:33::-;13352:7;;13346:14;;;;:5;:14;;;;;:19;;;;:58;:23;:58;:::i;:::-;13330:7;;13324:14;;;;:5;:14;;;;;:19;;:80;13431:5;;13459:8;;-1:-1:-1;;;;;13431:5:0;;;;13415:63;;13448:29;;13473:3;;13448:20;;:6;;:20;:10;:20;:::i;:29::-;13415:63;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;13494:30:0;13501:22;13519:3;13501:13;:6;13512:1;13501:13;:10;:13;:::i;:22::-;13494:2;;;:30;:6;:30;:::i;:::-;13489:2;:35;13605:7;;13599:14;;;;:5;:14;;;;;:22;;;13593:3;:28;:61;;;;-1:-1:-1;13631:7:0;;13625:14;;;;:5;:14;;;;;:20;;;;;:29;13593:61;13589:109;;;13671:15;:13;:15::i;:::-;13713:36;;13742:6;;13730:10;;13713:36;;;;;5485:1;;5259;9673:4098;;:::o;2738:21::-;;;;:::o;2681:22::-;;;;:::o;30096:1415::-;30181:10;30249:28;30181:10;30249:12;:28::i;:::-;-1:-1:-1;;;;;30657:22:0;;30298:17;30657:22;;;:6;:22;;;;;:34;;;;30593:40;;;;30528:41;;;;30464:40;;;;30397:43;;;;30339:34;;;;;:101;;;:165;;;:230;;;:294;;;:352;30773:13;;30770:734;;30836:9;30811:21;:34;;30803:80;;;;-1:-1:-1;;;30803:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30900:22:0;;30937:1;30900:22;;;:6;:22;;;;;:34;;;:38;;;30953:43;;;:47;;;31015:40;;;:44;;;31074:41;;;:45;;;31134:40;;;:44;;;31193:34;;:38;31283:20;;:35;;31308:9;31283:35;:24;:35;:::i;:::-;31260:20;:58;31375:52;;-1:-1:-1;;;;;31375:41:0;;;:52;;;;;31417:9;;31375:52;;;;31417:9;31375:41;:52;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;31375:52:0;31488:3;31477:9;31461:14;-1:-1:-1;;;;;31447:45:0;;;;;;;;;;;30770:734;30096:1415;;:::o;3051:38::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3051:38:0;;:::o;3375:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5914:885::-;5632:5;;-1:-1:-1;;;;;5632:5:0;5618:10;:19;5610:42;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;;;;6033:3;6019:10;;:17;;6011:62;;;;;-1:-1:-1;;;6011:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6088:6;6084:708;6104:13;:20;6100:1;:24;6084:708;;;6159:10;:12;;;;;;;;6193:16;;6186:6;;6159:10;;6193:13;;6207:1;;6193:16;;;;;;;;;;;;-1:-1:-1;;;;;6186:24:0;-1:-1:-1;;;;;6186:24:0;;;;;;;;;;;;:27;;:40;;;;6284:3;6241:6;:24;6248:13;6262:1;6248:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6241:24:0;-1:-1:-1;;;;;6241:24:0;;;;;;;;;;;;:40;;:46;;;;6351:7;6302:6;:24;6309:13;6323:1;6309:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6302:24:0;-1:-1:-1;;;;;6302:24:0;;;;;;;;;;;;:46;;:56;;;;6416:12;6373:6;:24;6380:13;6394:1;6380:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6373:24:0;-1:-1:-1;;;;;6373:24:0;;;;;;;;;;;;:40;;:55;;;;6486:7;6443:6;:24;6450:13;6464:1;6450:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6443:24:0;-1:-1:-1;;;;;6443:24:0;;;;;;;;;;;;:40;;:50;;;;6544:8;:22;6564:1;6553:10;;:12;6544:22;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6544:22:0;6508:6;:24;6515:13;6529:1;6515:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6508:24:0;-1:-1:-1;;;;;6508:24:0;;;;;;;;;;;;:33;;;:58;;;;;-1:-1:-1;;;;;6508:58:0;;;;;-1:-1:-1;;;;;6508:58:0;;;;;;6622:2;6581:6;:24;6588:13;6602:1;6588:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6581:24:0;-1:-1:-1;;;;;6581:24:0;;;;;;;;;;;;:38;;:43;;;;6676:13;6690:1;6676:16;;;;;;;;;;;;;;6653:8;:20;6662:10;;6653:20;;;;;;;;;;;;:39;;;;;-1:-1:-1;;;;;6653:39:0;;;;;-1:-1:-1;;;;;6653:39:0;;;;;;6761:9;6721:19;:37;6741:13;6755:1;6741:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6721:37:0;;;;;;;;;;;-1:-1:-1;6721:37:0;:49;6126:3;;6084:708;;;;5914:885;;:::o;3498:88::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3438:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3438:53:0;;:::o;8420:1153::-;5632:5;;-1:-1:-1;;;;;5632:5:0;5618:10;:19;5610:42;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;;;;8483:5;;-1:-1:-1;;;;;8483:5:0;8467:58;;;;;-1:-1:-1;;;8467:58:0;;;;;;;;;;;;-1:-1:-1;;;8467:58:0;;;;;;;;;;;;;;;8573:20;8550:12;:43;;;8608:20;:65;;8631:42;-1:-1:-1;;;;;;8608:65:0;;;;;;;8711:20;8688:15;:43;8746:20;:65;;8769:42;8746:65;;;;;;;;8849:19;8826:15;:42;8883:20;:65;;;;8906:42;8883:65;;;8977:12;:42;;;;9034:20;:65;;;;;;;;;;9136:19;9114:15;:41;;;9170:20;:65;;9193:42;9170:65;;;;;;9250:15;:41;9306:20;:65;;;;;9329:42;9306:65;;;8977:15;9419:5;:10;;;-1:-1:-1;;;9419:10:0;;;;-1:-1:-1;;;;;9419:5:0;;;;:8;;9306:15;9419:10;;;;;;;;;;;;;;:5;:10;;;5:2:-1;;;;30:1;27;20:12;5:2;9419:10:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9419:10:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9419:10:0;9414:2;:15;9449:5;;:10;;;-1:-1:-1;;;9449:10:0;;;;-1:-1:-1;;;;;9449:5:0;;;;:8;;:10;;;;;9419;;9449;;;;;;;;:5;:10;;;5:2:-1;;;;30:1;27;20:12;5:2;9449:10:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9449:10:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9449:10:0;9444:2;:15;9479:5;;:10;;;-1:-1:-1;;;9479:10:0;;;;-1:-1:-1;;;;;9479:5:0;;;;:8;;:10;;;;;9449;;9479;;;;;;;;:5;:10;;;5:2:-1;;;;30:1;27;20:12;5:2;9479:10:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9479:10:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9479:10:0;9474:2;:15;9527:5;;:28;;;-1:-1:-1;;;9527:28:0;;;;-1:-1:-1;;;;;9527:5:0;;;;:26;;:28;;;;;9479:10;;9527:28;;;;;;;;:5;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;9527:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9527:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9527:28:0;9504:20;:51;8420:1153::o;3096:38::-;;;;;;;;;2710:21;;;;:::o;42108:1077::-;5632:5;;-1:-1:-1;;;;;5632:5:0;5618:10;:19;5610:42;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;;;;42218:9;42231:1;42218:14;:31;;;;;42242:7;42236:2;;:13;;42218:31;42215:963;;;42269:11;;42266:297;;42329:7;42304:21;:32;42301:247;;42366:2;;:15;;42373:7;42366:15;:6;:15;:::i;:::-;42361:2;:20;42427;;:33;;42452:7;42427:33;:24;:33;:::i;:::-;42404:20;:56;42483:45;;-1:-1:-1;;;;;42483:36:0;;;:45;;;;;42520:7;;42483:45;;;;42520:7;42483:36;:45;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;42483:45:0;42301:247;42215:963;;;42592:9;42605:1;42592:14;:31;;;;;42616:7;42610:2;;:13;;42592:31;42589:589;;;42643:11;;42640:297;;42703:7;42678:21;:32;42675:247;;42740:2;;:15;;42747:7;42740:15;:6;:15;:::i;:::-;42735:2;:20;42801;;:33;;42826:7;42801:33;:24;:33;:::i;42589:589::-;42966:9;42979:1;42966:14;42963:215;;;-1:-1:-1;;;;;43029:17:0;;;;;;:6;:17;;;;;:29;;;:42;;43063:7;43029:42;:33;:42;:::i;:::-;-1:-1:-1;;;;;42997:17:0;;;;;;:6;:17;;;;;:29;;:74;43091:2;;:15;;43098:7;43091:15;:6;:15;:::i;:::-;43086:2;:20;43126:40;;43158:7;;-1:-1:-1;;;;;43126:40:0;;;;;;;;42108:1077;;;:::o;2963:34::-;;;;;;;;;2766:21;;;;:::o;2219:20::-;;;-1:-1:-1;;;;;2219:20:0;;:::o;2274:88::-;;;-1:-1:-1;;;;;2274:88:0;;:::o;6811:1597::-;5632:5;;-1:-1:-1;;;;;5632:5:0;5618:10;:19;5610:42;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;;;;6886:5;;-1:-1:-1;;;;;6886:5:0;6870:58;;;;;-1:-1:-1;;;6870:58:0;;;;;;;;;;;;-1:-1:-1;;;6870:58:0;;;;;;;;;;;;;;;6954:6;6950:1441;6970:5;6966:1;:9;6950:1441;;;7013:5;;7028:11;;7013:27;;;-1:-1:-1;;;7013:27:0;;;;;;;;;;6998:12;;-1:-1:-1;;;;;7013:5:0;;:14;;:27;;;;;;;;;;;;;;:5;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;7013:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7013:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7013:27:0;7056:11;:13;;;;;;7368:5;;:18;;;-1:-1:-1;;;7368:18:0;;-1:-1:-1;;;;;7368:18:0;;;;;;;;;7013:27;;-1:-1:-1;7056:11:0;;;;;;;;;;;;;;;;;;7368:5;;;;;:12;;:18;;;;;;;;;;;;;;:5;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;7368:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7368:18:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7368:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7100:286;;;;;;;;;;;;;;;;;;;;;;;7403:23;7428:15;7447:5;;;;;;;;;-1:-1:-1;;;;;7447:5:0;-1:-1:-1;;;;;7447:15:0;;7463:4;7468:1;7447:23;;;;;;;;;;;;;-1:-1:-1;;;;;7447:23:0;-1:-1:-1;;;;;7447:23:0;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7447:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7447:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7447:23:0;;;;;;;;;;;;;;;;;;;;;;;;;7402:68;;;;7521:10;;7519:12;;;;;;;;;;7501:6;:12;7508:4;-1:-1:-1;;;;;7501:12:0;-1:-1:-1;;;;;7501:12:0;;;;;;;;;;;;:15;;:30;;;;7578:16;7547:6;:12;7554:4;-1:-1:-1;;;;;7547:12:0;-1:-1:-1;;;;;7547:12:0;;;;;;;;;;;;:28;;:47;;;;7647:22;7610:6;:12;7617:4;-1:-1:-1;;;;;7610:12:0;-1:-1:-1;;;;;7610:12:0;;;;;;;;;;;;:34;;:59;;;;7716:16;7685:6;:12;7692:4;-1:-1:-1;;;;;7685:12:0;-1:-1:-1;;;;;7685:12:0;;;;;;;;;;;;:28;;:47;;;;7779:16;7748:6;:12;7755:4;-1:-1:-1;;;;;7748:12:0;-1:-1:-1;;;;;7748:12:0;;;;;;;;;;;;:28;;:47;;;;7835:9;7811:6;:12;7818:4;-1:-1:-1;;;;;7811:12:0;-1:-1:-1;;;;;7811:12:0;;;;;;;;;;;;:21;;;:33;;;;;-1:-1:-1;;;;;7811:33:0;;;;;-1:-1:-1;;;;;7811:33:0;;;;;;7888:14;7860:6;:12;7867:4;-1:-1:-1;;;;;7860:12:0;-1:-1:-1;;;;;7860:12:0;;;;;;;;;;;;:26;;:42;;;;7951:18;7918:6;:12;7925:4;-1:-1:-1;;;;;7918:12:0;-1:-1:-1;;;;;7918:12:0;;;;;;;;;;;;:30;;:51;;;;8021:21;7985:6;:12;7992:4;-1:-1:-1;;;;;7985:12:0;-1:-1:-1;;;;;7985:12:0;;;;;;;;;;;;:33;;:57;;;;8088:12;8058:6;:12;8065:4;-1:-1:-1;;;;;8058:12:0;-1:-1:-1;;;;;8058:12:0;;;;;;;;;;;;:27;;:42;;;;8153:4;8130:8;:20;8139:10;;8130:20;;;;;;;;;;;;:27;;;;;-1:-1:-1;;;;;8130:27:0;;;;;-1:-1:-1;;;;;8130:27:0;;;;;;8215:9;8187:19;:25;8207:4;-1:-1:-1;;;;;8187:25:0;-1:-1:-1;;;;;8187:25:0;;;;;;;;;;;;:37;;;;8291:15;8255:9;:15;8265:4;-1:-1:-1;;;;;8255:15:0;-1:-1:-1;;;;;8255:15:0;;;;;;;;;;;;:18;8271:1;8255:18;;;;;;;;;;;:33;;:51;;;;8353:10;8322:9;:15;8332:4;-1:-1:-1;;;;;8322:15:0;-1:-1:-1;;;;;8322:15:0;;;;;;;;;;;;:18;8338:1;8322:18;;;;;;;;;;;:28;;:41;;;;6950:1441;;;;;;;;;;;;6977:3;;;;;;;6950:1441;;3324:44;;;;;;;;;;;;-1:-1:-1;;;;;3324:44:0;;:::o;2403:29::-;;;;:::o;3004:34::-;;;;;;;;;3141:47;;;;;;;;;;;;;-1:-1:-1;3141:47:0;:::o;2369:27::-;;;;:::o;9579:81::-;5632:5;;-1:-1:-1;;;;;5632:5:0;5618:10;:19;5610:42;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;;;;9627:5;:25;;-1:-1:-1;;;;;;9627:25:0;;;9579:81::o;3195:47::-;;;;;;;;;43340:111;5632:5;;-1:-1:-1;;;;;5632:5:0;5618:10;:19;5610:42;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;-1:-1:-1;;;5610:42:0;;;;;;;;;;;;;;;43415:28;43434:8;43415:18;:28::i;:::-;43340:111;:::o;2794:39::-;;;;:::o;46450:471::-;46508:7;46753:6;46749:47;;-1:-1:-1;46783:1:0;46776:8;;46749:47;46820:5;;;46824:1;46820;:5;:1;46844:5;;;;;:10;46836:56;;;;-1:-1:-1;;;46836:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46912:1;-1:-1:-1;46450:471:0;;;;;:::o;47389:132::-;47447:7;47474:39;47478:1;47481;47474:39;;;;;;;;;;;;;;;;;:3;:39::i;44965:181::-;45023:7;45055:5;;;45079:6;;;;45071:46;;;;;-1:-1:-1;;;45071:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;35111:2507;35181:4;-1:-1:-1;;;;;35207:20:0;;35203:64;;-1:-1:-1;35250:5:0;35243:12;;35203:64;-1:-1:-1;;;;;35294:15:0;;35279:12;35294:15;;;:9;:15;;;;;;;;35310:7;;35294:24;;;;;;;:39;35423:15;:19;:27;-1:-1:-1;35419:71:0;;35473:5;35466:12;;;;;35419:71;35522:20;;:12;35572:19;35623:20;;:15;35674:19;-1:-1:-1;;;;;35522:20:0;;;;35623;;;;35755:26;;;35751:1860;;;35803:20;;-1:-1:-1;;;;;35803:28:0;;;:20;;:28;35799:857;;;35873:4;35851:12;35864:1;35851:15;;;;:26;-1:-1:-1;35903:4:0;;-1:-1:-1;35896:11:0;;-1:-1:-1;;;;35896:11:0;35799:857;36026:20;;-1:-1:-1;;;;;36026:28:0;;;:20;;:28;36022:634;;;36076:20;:27;;-1:-1:-1;;;;;;36076:27:0;-1:-1:-1;;;;;36076:27:0;;;;;36144:4;36076:12;-1:-1:-1;36122:15:0;;;:26;36167:20;:32;;-1:-1:-1;;;;;;36167:32:0;-1:-1:-1;;;;;36167:32:0;;;;;36240:8;36167:12;-1:-1:-1;36218:15:0;;36022:634;36336:20;:27;;-1:-1:-1;;;;;;36336:27:0;-1:-1:-1;;;;;36336:27:0;;;;;36404:4;36336:12;-1:-1:-1;36382:15:0;;;:26;36427:20;:32;;-1:-1:-1;;;;;;36427:32:0;-1:-1:-1;;;;;36427:32:0;;;;;36500:8;36427:12;-1:-1:-1;36478:15:0;;;;:19;;:30;;;;36550:10;36527:12;36540:1;36527:15;;;;;;;;;;:20;;;:33;;;;;-1:-1:-1;;;;;36527:33:0;;;;;-1:-1:-1;;;;;36527:33:0;;;;;;36601:9;36579:12;36592:1;36579:15;;;;;;35751:1860;36750:15;:19;36743:26;;36739:872;;;36792:20;;-1:-1:-1;;;;;36792:28:0;;;:20;;:28;36788:399;;;36862:4;36840:12;36853:1;36840:15;;36788:399;36967:20;:27;;-1:-1:-1;;;;;;36967:27:0;-1:-1:-1;;;;;36967:27:0;;;;;37035:4;36967:12;-1:-1:-1;37013:15:0;;36739:872;37282:15;:19;37275:26;;37271:340;;;37323:20;;-1:-1:-1;;;;;37323:28:0;;;:20;;:28;37319:279;;;37393:4;37371:12;37384:1;37371:15;;37319:279;37480:20;:27;;-1:-1:-1;;;;;;37480:27:0;-1:-1:-1;;;;;37480:27:0;;;;;37548:4;37480:12;37493:1;37526:15;;37319:279;35111:2507;;;;;;;;;:::o;32600:2501::-;32670:4;-1:-1:-1;;;;;32696:20:0;;32692:64;;-1:-1:-1;32739:5:0;32732:12;;32692:64;-1:-1:-1;;;;;32783:15:0;;32768:12;32783:15;;;:9;:15;;;;;;;;32799:7;;32783:24;;;;;;;:34;;;32907:15;:19;:27;-1:-1:-1;32903:71:0;;32957:5;32950:12;;;;;32903:71;33006:20;;:12;33056:19;33107:20;;:15;33158:19;-1:-1:-1;;;;;33006:20:0;;;;33107;;;;33241:26;;;33237:1855;;;33289:20;;-1:-1:-1;;;;;33289:28:0;;;:20;;:28;33285:854;;;33359:4;33337:12;33350:1;33337:15;;33285:854;33512:20;;-1:-1:-1;;;;;33512:28:0;;;:20;;:28;33508:631;;;33562:20;:27;;-1:-1:-1;;;;;;33562:27:0;-1:-1:-1;;;;;33562:27:0;;;;;33630:4;33562:12;-1:-1:-1;33608:15:0;;;:26;33653:20;:32;;-1:-1:-1;;;;;;33653:32:0;-1:-1:-1;;;;;33653:32:0;;;;;33726:8;33653:12;-1:-1:-1;33704:15:0;;33508:631;33819:20;:27;;-1:-1:-1;;;;;;33819:27:0;-1:-1:-1;;;;;33819:27:0;;;;;33887:4;33819:12;-1:-1:-1;33865:15:0;;;:26;33910:20;:32;;-1:-1:-1;;;;;;33910:32:0;-1:-1:-1;;;;;33910:32:0;;;;;33983:8;33910:12;-1:-1:-1;33961:15:0;;;;:19;;:30;;;;34033:10;34010:12;34023:1;34010:15;;;;;;;;;;:20;;;:33;;;;;-1:-1:-1;;;;;34010:33:0;;;;;-1:-1:-1;;;;;34010:33:0;;;;;;34084:9;34062:12;34075:1;34062:15;;;;;;33237:1855;34233:15;:19;34226:26;;34222:870;;;34274:20;;-1:-1:-1;;;;;34274:28:0;;;:20;;:28;34270:383;;;34344:4;34322:12;34335:1;34322:15;;34270:383;34433:20;:27;;-1:-1:-1;;;;;;34433:27:0;-1:-1:-1;;;;;34433:27:0;;;;;34501:4;34433:12;-1:-1:-1;34479:15:0;;34222:870;34748:15;:19;34741:26;;34737:355;;;34790:20;;-1:-1:-1;;;;;34790:28:0;;;:20;;:28;34786:293;;;34860:4;34838:12;34851:1;34838:15;;34786:293;34961:20;:27;;-1:-1:-1;;;;;;34961:27:0;-1:-1:-1;;;;;34961:27:0;;;;;35029:4;34961:12;34974:1;35007:15;;13814:361;-1:-1:-1;;;;;13926:35:0;;;;;;:19;:35;;;;;;;;;13885:6;:22;;;;;;:37;;;:76;13882:286;;-1:-1:-1;;;;;14016:35:0;;;;;;:19;:35;;;;;;:50;;14056:9;14016:50;:39;:50;:::i;:::-;-1:-1:-1;;;;;13978:35:0;;;;;;:19;:35;;;;;;;;:88;;;;14118:6;:22;;;;;:37;;;14086:70;;;;13978:35;14086:70;13814:361;:::o;14185:5142::-;-1:-1:-1;;;;;14315:22:0;;;14291:21;14315:22;;;:6;:22;;;;;:31;;;;;;;14379:23;14398:3;14379:14;:6;14390:2;14379:14;:10;:14;:::i;:23::-;14357:45;-1:-1:-1;14413:6:0;14432:4888;14445:2;14441:1;:6;14432:4888;;;-1:-1:-1;;;;;14487:29:0;;;14483:4765;;14590:6;14587:4500;;14666:13;:6;14677:1;14666:13;:10;:13;:::i;:::-;-1:-1:-1;;;;;14625:21:0;;;;;;:6;:21;;;;;:37;;;:54;14621:1252;;14748:56;14790:13;:6;14801:1;14790:13;:10;:13;:::i;:::-;-1:-1:-1;;;;;14748:21:0;;;;;;:6;:21;;;;;:37;;;;:56;:41;:56;:::i;:::-;-1:-1:-1;;;;;14708:21:0;;;;;;:6;:21;;;;;:37;;:96;14876:61;14923:13;:6;14934:1;14923:13;:10;:13;:::i;:::-;-1:-1:-1;;;;;14876:21:0;;;;;;:6;:21;;;;;:42;;;;:61;:46;:61;:::i;:::-;-1:-1:-1;;;;;14831:21:0;;;;;;:6;:21;;;;;:42;;:106;15152:13;:6;15163:1;15152:13;:10;:13;:::i;:::-;15137;-1:-1:-1;;;;;15097:74:0;15121:14;-1:-1:-1;;;;;15097:74:0;-1:-1:-1;;;;;;;;;;;15167:3:0;15097:74;;;;;;;;;;;;;;;;;;14621:1252;;;-1:-1:-1;;;;;15249:21:0;;;;;;:6;:21;;;;;:37;;;:41;15246:627;;-1:-1:-1;;;;;15411:21:0;;;;;;:6;:21;;;;;:37;;;;15364:42;;;;;:85;;;:46;:85;:::i;:::-;-1:-1:-1;;;;;15319:21:0;;;;;;:6;:21;;;;;:42;;;:130;;;;15506:37;;;15481:64;;15488:56;;:13;:6;15499:1;15488:13;:10;:13;:::i;:::-;:17;:56;:17;:56;:::i;15481:64::-;15476:2;:69;-1:-1:-1;;;;;15632:21:0;;;;;;;:6;:21;;;;;;;;;:37;;;15577:98;;15671:3;15577:98;;;;15632:37;;15577:98;;;-1:-1:-1;;;;;;;;;;;15577:98:0;;;;;;;;-1:-1:-1;;;;;15702:21:0;;15742:1;15702:21;;;:6;:21;;;;;:37;;:41;15246:627;;;15827:21;15834:13;:6;15845:1;15834:13;:10;:13;:::i;15827:21::-;15822:2;:26;15246:627;15909:30;15925:13;:6;15936:1;15925:13;:10;:13;:::i;:::-;15909:11;;:30;:15;:30;:::i;:::-;15895:44;;14587:4500;;;16003:1;16008;16003:6;16000:3087;;;-1:-1:-1;;;;;16038:21:0;;;;;;:6;:21;;;;;:35;;;16077:1;-1:-1:-1;16035:1412:0;;16152:14;:6;16163:2;16152:14;:10;:14;:::i;:::-;-1:-1:-1;;;;;16111:21:0;;;;;;:6;:21;;;;;:37;;;:55;16107:1212;;16239:57;16281:14;:6;16292:2;16281:14;:10;:14;:::i;16239:57::-;-1:-1:-1;;;;;16199:21:0;;;;;;:6;:21;;;;;:37;;:97;16372:62;16419:14;:6;16430:2;16419:14;:10;:14;:::i;16372:62::-;-1:-1:-1;;;;;16327:21:0;;;;;;:6;:21;;;;;:42;;:107;16555:14;:6;16566:2;16555:14;:10;:14;:::i;:::-;16540:13;-1:-1:-1;;;;;16500:75:0;16524:14;-1:-1:-1;;;;;16500:75:0;-1:-1:-1;;;;;;;;;;;16571:3:0;16500:75;;;;;;;;;;;;;;;;;;16107:1212;;;-1:-1:-1;;;;;16661:21:0;;;;;;:6;:21;;;;;:37;;;:41;16658:661;;-1:-1:-1;;;;;16827:21:0;;;;;;:6;:21;;;;;:37;;;;16780:42;;;;;:85;;;:46;:85;:::i;:::-;-1:-1:-1;;;;;16735:21:0;;;;;;:6;:21;;;;;:42;;;:130;;;;16927:37;;;16901:65;;16908:57;;:14;:6;16919:2;16908:14;:10;:14;:::i;16901:65::-;16896:2;:70;-1:-1:-1;;;;;17057:21:0;;;;;;;:6;:21;;;;;;;;;:37;;;17002:98;;17096:3;17002:98;;;;17057:37;;17002:98;;;-1:-1:-1;;;;;;;;;;;17002:98:0;;;;;;;;-1:-1:-1;;;;;17131:21:0;;17171:1;17131:21;;;:6;:21;;;;;:37;;:41;16658:661;;;17268:22;17275:14;:6;17286:2;17275:14;:10;:14;:::i;17268:22::-;17263:2;:27;16658:661;16035:1412;;;17400:22;17407:14;:6;17418:2;17407:14;:10;:14;:::i;17400:22::-;17395:2;:27;16035:1412;17483:31;17499:14;:6;17510:2;17499:14;:10;:14;:::i;16000:3087::-;-1:-1:-1;;;;;17638:21:0;;;;;;:6;:21;;;;;:35;;;17679:1;17677:3;;-1:-1:-1;17635:1433:0;;17754:14;:6;17765:2;17754:14;:10;:14;:::i;:::-;-1:-1:-1;;;;;17713:21:0;;;;;;:6;:21;;;;;:37;;;:55;17709:1230;;17841:57;17883:14;:6;17894:2;17883:14;:10;:14;:::i;17841:57::-;-1:-1:-1;;;;;17801:21:0;;;;;;:6;:21;;;;;:37;;:97;17974:62;18021:14;:6;18032:2;18021:14;:10;:14;:::i;17974:62::-;-1:-1:-1;;;;;17929:21:0;;;;;;:6;:21;;;;;:42;;:107;18157:14;:6;18168:2;18157:14;:10;:14;:::i;:::-;18142:13;-1:-1:-1;;;;;18102:75:0;18126:14;-1:-1:-1;;;;;18102:75:0;-1:-1:-1;;;;;;;;;;;18173:3:0;18102:75;;;;;;;;;;;;;;;;;;17709:1230;;;-1:-1:-1;;;;;18261:21:0;;;;;;:6;:21;;;;;:37;;;:41;18258:681;;-1:-1:-1;;;;;18427:21:0;;;;;;:6;:21;;;;;:37;;;;18380:42;;;;;:85;;;:46;:85;:::i;:::-;-1:-1:-1;;;;;18335:21:0;;;;;;:6;:21;;;;;:42;;;:130;;;;18527:37;;;18501:65;;18508:57;;:14;:6;18519:2;18508:14;:10;:14;:::i;18501:65::-;18496:2;:70;-1:-1:-1;;;;;18657:21:0;;;;;;;:6;:21;;;;;;;;;:37;;;18602:98;;18696:3;18602:98;;;;18657:37;;18602:98;;;-1:-1:-1;;;;;;;;;;;18602:98:0;;;;;;;;-1:-1:-1;;;;;18731:21:0;;18771:1;18731:21;;;:6;:21;;;;;:37;;:41;18258:681;;;18888:22;18895:14;:6;18906:2;18895:14;:10;:14;:::i;18888:22::-;18883:2;:27;18258:681;17635:1433;;;19021:22;19028:14;:6;19039:2;19028:14;:10;:14;:::i;19021:22::-;19016:2;:27;17635:1433;14483:4765;;;19145:62;19152:54;19194:11;19152:37;19174:14;:6;19185:2;19174:14;:10;:14;:::i;:::-;19153:15;19158:2;19166:1;19153:15;:12;:15;:::i;:::-;19152:21;:37;:21;:37;:::i;:::-;:41;:54;:41;:54;:::i;19145:62::-;19140:2;:67;19227:5;;14483:4765;-1:-1:-1;;;;;19278:21:0;;;;;;;:6;:21;;;;;:30;;;;;;;;14449:3;14432:4888;;;14185:5142;;;;;:::o;31574:1010::-;31648:7;;31629:16;31697:14;;;:5;:14;;;;;:19;;;;31737:23;;;;;31731:3;:29;:63;;;;-1:-1:-1;31764:15:0;;;;:5;:15;;;;;:21;;;;;:30;31731:63;31727:850;;;31844:8;31829:11;:23;31825:741;;31873:15;;;;:5;:15;;;;;:21;;:28;;-1:-1:-1;;31873:28:0;31897:4;31873:28;;;31955:24;:22;:24::i;:::-;31920:59;;31998:33;32034:24;:22;:24::i;:::-;32115:7;:9;;32086:10;32115:9;;;;;;32086:10;;;32115:7;32143:15;;;:5;:15;;;;;32171:3;32143:31;;;;32227:8;;32086:10;;31998:60;-1:-1:-1;32219:17:0;;;:7;:17;:::i;:::-;32193:15;;;;:5;:15;;;;;:23;;:43;32278:72;32294:55;:24;32323:25;32294:55;:28;:55;:::i;:::-;32278:11;;:72;:15;:72;:::i;:::-;32255:15;;;;:5;:15;;;;;:20;;:95;-1:-1:-1;31825:741:0;;-1:-1:-1;31825:741:0;;32404:15;;;;:5;:15;;;;;32432:3;32404:31;;;;32488:8;;32480:17;;32432:3;32480:17;:7;:17;:::i;:::-;32454:15;;;;:5;:15;;;;;;:23;;;:43;;;;32516:20;;;;:34;31574:1010::o;27735:2289::-;27971:12;;;-1:-1:-1;;;;;27930:22:0;;27829:30;27930:22;;;:6;:22;;;;;:38;;;;27829:30;;27930:53;27924:3;:59;27921:2086;;;-1:-1:-1;;;;;28114:22:0;;28086:17;28114:22;;;:6;:22;;;;;:38;;;28106:47;;:3;;:47;:7;:47;:::i;:::-;28086:67;;28168:20;28298:61;28346:12;;28299:41;28326:12;;28314:9;:24;;;;;28299:9;;28314:24;;28299:41;:13;:41;:::i;28298:61::-;-1:-1:-1;;;;;28409:22:0;;;;;;:6;:22;;;;;:44;;;28273:86;;-1:-1:-1;28409:44:0;-1:-1:-1;28537:26:0;28409:44;28560:2;28537:26;:22;:26;:::i;:::-;28522:41;-1:-1:-1;28672:40:0;28522:41;28689:22;28672:40;:16;:40;:::i;:::-;-1:-1:-1;;;;;28630:22:0;;;;;;:6;:22;;;;;:38;;;:82;28626:1361;;28774:84;28817:40;:12;28834:22;28817:40;:16;:40;:::i;:::-;-1:-1:-1;;;;;28774:22:0;;;;;;:6;:22;;;;;:38;;;;:84;:42;:84;:::i;:::-;-1:-1:-1;;;;;28733:22:0;;;;;;:6;:22;;;;;:38;;:125;28914:80;28953:40;:12;28970:22;28953:40;:16;:40;:::i;:::-;-1:-1:-1;;;;;28914:22:0;;;;;;:6;:22;;;;;:34;;;;:80;:38;:80;:::i;:::-;-1:-1:-1;;;;;28877:22:0;;;;;;:6;:22;;;;;:34;;:117;29125:12;;29054:87;;29098:41;;29113:9;29125:12;29113:24;;;;29098:9;;29113:24;;29098:41;:13;:41;:::i;:::-;-1:-1:-1;;;;;29054:22:0;;;;;;:6;:22;;;;;:38;;;;:87;:42;:87;:::i;:::-;-1:-1:-1;;;;;29013:22:0;;;;;;:6;:22;;;;;:38;;:128;29241:3;29199:40;:12;29216:22;29199:40;:16;:40;:::i;:::-;29165:80;;-1:-1:-1;;;;;29165:80:0;;;;;;;;29264:87;29294:14;29310:40;:12;29327:22;29310:40;:16;:40;:::i;:::-;29264:29;:87::i;:::-;28626:1361;;;-1:-1:-1;;;;;29453:22:0;;;;;;:6;:22;;;;;:38;;;:42;29450:537;;-1:-1:-1;;;;;29554:22:0;;29516:12;29554:22;;;:6;:22;;;;;:38;;;;;29628:42;;;29726:34;;;:44;;29554:38;29726:44;:38;:44;:::i;:::-;-1:-1:-1;;;;;29689:22:0;;;;;;:6;:22;;;;;;:34;;;:81;;;;29830:3;29789:38;;;;:44;;;29857;29891:4;;29689:22;29857:44;;;29920:51;29950:14;29966:4;29920:29;:51::i;:::-;29450:537;27921:2086;;27735:2289;;;:::o;45421:136::-;45479:7;45506:43;45510:1;45513;45506:43;;;;;;;;;;;;;;;;;:3;:43::i;43558:224::-;-1:-1:-1;;;;;43631:22:0;;43623:71;;;;-1:-1:-1;;;43623:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;43731:5;;;43710:37;;-1:-1:-1;;;;;43710:37:0;;;;43731:5;;;43710:37;;;43758:5;:16;;-1:-1:-1;;;;;;43758:16:0;-1:-1:-1;;;;;43758:16:0;;;;;;;;;;43558:224::o;48156:345::-;48242:7;48344:12;48337:5;48329:28;;;;-1:-1:-1;;;48329:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;48329:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48368:9;48384:1;48380;:5;;;;;;;48156:345;-1:-1:-1;;;;;48156:345:0:o;37626:2217::-;37753:7;;37697;37747:14;;;:5;:14;;;;;:19;;;37697:7;;37747:36;;37779:3;;37747:27;;37771:2;37747:27;:23;:27;:::i;:36::-;37730:53;-1:-1:-1;37798:25:0;;37873:1920;37888:1;37885;:4;37873:1920;;;37951:3;37919:12;37932:1;37919:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;37919:20:0;:36;37915:1863;;38032:39;38067:3;38032:30;38043:15;38059:1;38043:18;;;;;;;;;38032:6;;:30;:10;:30;:::i;:39::-;37984:6;:28;37991:12;38004:1;37991:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;37991:20:0;37984:28;;;;;;;;;;;-1:-1:-1;37984:28:0;:44;;;:87;37980:1333;;38147:89;38196:39;38231:3;38196:30;38207:15;38223:1;38207:18;;;;;;;;;38196:6;;:30;:10;:30;:::i;:39::-;38147:6;:28;38154:12;38167:1;38154:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;38154:20:0;38147:28;;;;;;;;;;;-1:-1:-1;38147:28:0;:44;;;;:48;:89::i;:::-;38100:6;:28;38107:12;38120:1;38107:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;38107:20:0;38100:28;;;;;;;;;;;-1:-1:-1;38100:28:0;:44;;:136;38312:91;38363:39;38398:3;38363:30;38374:15;38390:1;38374:18;;;;;;38363:39;38312:6;:28;38319:12;38332:1;38319:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;38319:20:0;38312:28;;;;;;;;;;;-1:-1:-1;38312:28:0;:46;;;;:50;:91::i;:::-;38263:6;:28;38270:12;38283:1;38270:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;38270:20:0;38263:28;;;;;;;;;;;-1:-1:-1;38263:28:0;:46;;:140;38522:39;38557:3;38522:30;38533:15;38549:1;38533:18;;;;;;38522:39;38500:12;38513:1;38500:15;;;;;;;;;;:20;;;38483:79;;-1:-1:-1;;;;;38500:20:0;;;;-1:-1:-1;;;;;;;;;;;38483:79:0;38500:20;;38483:79;37980:1333;;;38616:6;:28;38623:12;38636:1;38623:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;38623:20:0;38616:28;;;;;;;;;;;-1:-1:-1;38616:28:0;:44;;;:48;38613:700;;38742:96;38793:6;:28;38800:12;38813:1;38800:15;;;;;;;;;;:20;;;;;;;;;;-1:-1:-1;;;;;38800:20:0;-1:-1:-1;;;;;38793:28:0;-1:-1:-1;;;;;38793:28:0;;;;;;;;;;;;:44;;;38742:6;:28;38749:12;38762:1;38749:15;;;;;;38742:96;38693:6;:28;38700:12;38713:1;38700:15;;;;;;;;;;:20;;;;;;;;;;-1:-1:-1;;;;;38700:20:0;-1:-1:-1;;;;;38693:28:0;-1:-1:-1;;;;;38693:28:0;;;;;;;;;;;;:46;;:145;;;;38870:99;38877:91;38923:6;:28;38930:12;38943:1;38930:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;38930:20:0;38923:28;;;;;;;;;;;-1:-1:-1;38923:28:0;:44;;;38878:39;38913:3;38878:30;38889:15;38905:1;38889:18;;;;;;;;;38878:6;;:30;:10;:30;:::i;38877:91::-;38870:2;;;:99;:6;:99;:::i;:::-;38865:2;:104;39039:6;:28;39046:12;39059:1;39046:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;39046:20:0;39039:28;;;;;;;;;;;-1:-1:-1;39039:28:0;:44;;;39018:12;39031:1;39018:15;;;;;;;;;;:20;;;39001:83;;-1:-1:-1;;;;;39018:20:0;;;;-1:-1:-1;;;;;;;;;;;39001:83:0;39018:20;;39001:83;39158:1;39111:6;:28;39118:12;39131:1;39118:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;39118:20:0;39111:28;;;;;;;;;;;-1:-1:-1;39111:28:0;:44;;:48;38613:700;;;39242:47;39249:39;39284:3;39249:30;39260:15;39276:1;39260:18;;;;;;39242:47;39237:2;:52;38613:700;39357:62;39379:39;39414:3;39379:30;39390:15;39406:1;39390:18;;;;;;39379:39;39357:17;;:62;:21;:62;:::i;:::-;39337:82;;39469:12;39482:1;39469:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;39469:20:0;39442:16;39459:1;39442:19;;;;;;;;;;:24;;;:47;;;;;-1:-1:-1;;;;;39442:47:0;;;;;-1:-1:-1;;;;;39442:47:0;;;;;;39538:12;39551:1;39538:15;;;;;;;;;;:19;39512:16;39529:1;39512:19;;;;;;;;;;:45;39615:39;39650:3;39615:30;39626:15;39642:1;39626:18;;;;;;39615:39;39580:29;39610:1;39580:32;;;;;;;;:74;39708:3;39677:12;39690:1;39677:15;;;;;;;;;;:20;;;:35;;;;;-1:-1:-1;;;;;39677:35:0;;;;;-1:-1:-1;;;;;39677:35:0;;;;;;39757:1;39735:12;39748:1;39735:15;;;;;;;;;;:23;37915:1863;37891:3;;37873:1920;;;-1:-1:-1;39814:17:0;-1:-1:-1;;37626:2217:0;:::o;39851:2247::-;39977:7;;39921;39971:14;;;:5;:14;;;;;:19;;;39921:7;;39971:36;;40003:3;;39971:27;;39995:2;39971:27;:23;:27;:::i;:36::-;39954:53;-1:-1:-1;40022:25:0;;40097:1951;40112:1;40109;:4;40097:1951;;;40175:3;40143:12;40156:1;40143:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;40143:20:0;:36;40139:1894;;40256:39;40291:3;40256:30;40267:15;40283:1;40267:18;;;;;;40256:39;40208:6;:28;40215:12;40228:1;40215:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;40215:20:0;40208:28;;;;;;;;;;;-1:-1:-1;40208:28:0;:44;;;:87;40204:1364;;40371:89;40420:39;40455:3;40420:30;40431:15;40447:1;40431:18;;;;;;40420:39;40371:6;:28;40378:12;40391:1;40378:15;;;;;;40371:89;40324:6;:28;40331:12;40344:1;40331:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;40331:20:0;40324:28;;;;;;;;;;;-1:-1:-1;40324:28:0;:44;;:136;40537:92;40589:39;40624:3;40589:30;40600:15;40616:1;40600:18;;;;;;40589:39;40537:6;:28;40544:12;40557:1;40544:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;40544:20:0;40537:28;;;;;;;;;;;-1:-1:-1;40537:28:0;:47;;;;:51;:92::i;:::-;40487:6;:28;40494:12;40507:1;40494:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;40494:20:0;40487:28;;;;;;;;;;;-1:-1:-1;40487:28:0;:47;;:142;40748:39;40783:3;40748:30;40759:15;40775:1;40759:18;;;;;;40748:39;40726:12;40739:1;40726:15;;;;;;;;;;:20;;;40709:79;;-1:-1:-1;;;;;40726:20:0;;;;-1:-1:-1;;;;;;;;;;;40709:79:0;40726:20;;40709:79;40204:1364;;;40868:6;:28;40875:12;40888:1;40875:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;40875:20:0;40868:28;;;;;;;;;;;-1:-1:-1;40868:28:0;:44;;;:48;40865:703;;40995:97;41047:6;:28;41054:12;41067:1;41054:15;;;;;;;;;;:20;;;;;;;;;;-1:-1:-1;;;;;41054:20:0;-1:-1:-1;;;;;41047:28:0;-1:-1:-1;;;;;41047:28:0;;;;;;;;;;;;:44;;;40995:6;:28;41002:12;41015:1;41002:15;;;;;;40995:97;40945:6;:28;40952:12;40965:1;40952:15;;;;;;;;;;:20;;;;;;;;;;-1:-1:-1;;;;;40952:20:0;-1:-1:-1;;;;;40945:28:0;-1:-1:-1;;;;;40945:28:0;;;;;;;;;;;;:47;;:147;;;;41124:99;41131:91;41177:6;:28;41184:12;41197:1;41184:15;;;;;;41124:99;41119:2;:104;41294:6;:28;41301:12;41314:1;41301:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;41301:20:0;41294:28;;;;;;;;;;;-1:-1:-1;41294:28:0;:44;;;41272:12;41285:1;41272:15;;;;;;;;;;:20;;;41255:84;;-1:-1:-1;;;;;41272:20:0;;;;-1:-1:-1;;;;;;;;;;;41255:84:0;41272:20;;41255:84;41413:1;41366:6;:28;41373:12;41386:1;41373:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;41373:20:0;41366:28;;;;;;;;;;;-1:-1:-1;41366:28:0;:44;;:48;40865:703;;;41497:47;41504:39;41539:3;41504:30;41515:15;41531:1;41515:18;;;;;;41497:47;41492:2;:52;40865:703;41612:62;41634:39;41669:3;41634:30;41645:15;41661:1;41645:18;;;;;;41612:62;41592:82;;41724:12;41737:1;41724:15;;;;;;;;;;:20;;;-1:-1:-1;;;;;41724:20:0;41697:16;41714:1;41697:19;;;;;;;;;;:24;;;:47;;;;;-1:-1:-1;;;;;41697:47:0;;;;;-1:-1:-1;;;;;41697:47:0;;;;;;41793:12;41806:1;41793:15;;;;;;;;;;:19;41767:16;41784:1;41767:19;;;;;;;;;;:45;:23;41835:12;41848:1;41835:15;;;;;;;;;;:20;;;:35;;;;;-1:-1:-1;;;;;41835:35:0;;;;;-1:-1:-1;;;;;41835:35:0;;;;;;41928:39;41963:3;41928:30;41939:15;41955:1;41939:18;;;;;;41928:39;41893:29;41923:1;41893:32;;;;;;;;:74;42012:1;41990:12;42003:1;41990:15;;;;;;;;;;:23;40139:1894;40115:3;;40097:1951;;19347:8323;-1:-1:-1;;;;;19479:22:0;;;19455:21;19479:22;;;:6;:22;;;;;:31;;;;;;;19543:24;19563:3;19543:15;:6;19554:3;19543:15;:10;:15;:::i;:24::-;19521:46;-1:-1:-1;19578:6:0;19597:8066;19610:2;19606:1;:6;19597:8066;;;-1:-1:-1;;;;;19652:29:0;;;19648:7943;;19705:6;19702:7763;;19781:23;19800:3;19781:14;:6;19792:2;19781:14;:10;:14;:::i;:23::-;-1:-1:-1;;;;;19740:21:0;;;;;;:6;:21;;;;;:37;;;:64;19736:1204;;19873:66;19915:23;19934:3;19915:14;:6;19926:2;19915:14;:10;:14;:::i;19873:66::-;-1:-1:-1;;;;;19833:21:0;;;;;;:6;:21;;;;;:37;;:106;20008:68;20052:23;20071:3;20052:14;:6;20063:2;20052:14;:10;:14;:::i;:23::-;-1:-1:-1;;;;;20008:21:0;;;;;;:6;:21;;;;;:39;;;;:68;:43;:68;:::i;:::-;-1:-1:-1;;;;;19966:21:0;;;;;;:6;:21;;;;;:39;;:110;20189:23;20208:3;20189:14;:6;20200:2;20189:14;:10;:14;:::i;:23::-;20174:13;-1:-1:-1;;;;;20134:84:0;20158:14;-1:-1:-1;;;;;20134:84:0;-1:-1:-1;;;;;;;;;;;20214:3:0;20134:84;;;;;;;;;;;;;;;;;;19736:1204;;;-1:-1:-1;;;;;20277:21:0;;;;;;:6;:21;;;;;:37;;;:41;20274:666;;-1:-1:-1;;;;;20433:21:0;;;;;;:6;:21;;;;;:37;;;;20389:39;;;;;:82;;;:43;:82;:::i;:::-;-1:-1:-1;;;;;20347:21:0;;;;;;:6;:21;;;;;:39;;;:124;;;;20538:37;;;20503:74;;20510:66;;:23;20529:3;20510:14;:6;20521:2;20510:14;:10;:14;:::i;20503:74::-;20498:2;:79;-1:-1:-1;;;;;20664:21:0;;;;;;;:6;:21;;;;;;;;;:37;;;20609:98;;20703:3;20609:98;;;;20664:37;;20609:98;;;-1:-1:-1;;;;;;;;;;;20609:98:0;;;;;;;;-1:-1:-1;;;;;20734:21:0;;20774:1;20734:21;;;:6;:21;;;;;:37;;:41;20274:666;;;20884:31;20891:23;20910:3;20891:14;:6;20902:2;20891:14;:10;:14;:::i;20884:31::-;20879:2;:36;20274:666;20976:40;20992:23;21011:3;20992:14;:6;21003:2;20992:14;:10;:14;:::i;20976:40::-;20962:54;;19702:7763;;;21078:1;21083;21078:6;:16;;;;21088:1;21093;21088:6;21078:16;21075:6390;;;-1:-1:-1;;;;;21159:21:0;;;;;;:6;:21;;;;;:35;;;21198:1;-1:-1:-1;21156:1401:0;;21273:14;:6;21284:2;21273:14;:10;:14;:::i;:::-;-1:-1:-1;;;;;21232:21:0;;;;;;:6;:21;;;;;:37;;;:55;21228:1199;;21360:57;21402:14;:6;21413:2;21402:14;:10;:14;:::i;21360:57::-;-1:-1:-1;;;;;21320:21:0;;;;;;:6;:21;;;;;:37;;:97;21490:59;21534:14;:6;21545:2;21534:14;:10;:14;:::i;21490:59::-;-1:-1:-1;;;;;21448:21:0;;;;;;:6;:21;;;;;:39;;:101;21670:14;:6;21681:2;21670:14;:10;:14;:::i;:::-;21655:13;-1:-1:-1;;;;;21615:75:0;21639:14;-1:-1:-1;;;;;21615:75:0;-1:-1:-1;;;;;;;;;;;21686:3:0;21615:75;;;;;;;;;;;;;;;;;;21228:1199;;;-1:-1:-1;;;;;21752:21:0;;;;;;:6;:21;;;;;:37;;;:41;21749:678;;-1:-1:-1;;;;;21912:21:0;;;;;;:6;:21;;;;;:37;;;;21868:39;;;;;:82;;;:43;:82;:::i;:::-;-1:-1:-1;;;;;21826:21:0;;;;;;:6;:21;;;;;:39;;;:124;;;;22012:37;;;21986:65;;21993:57;;:14;:6;22004:2;21993:14;:10;:14;:::i;21986:65::-;21981:2;:70;-1:-1:-1;;;;;22142:21:0;;;;;;;:6;:21;;;;;;;;;:37;;;22087:98;;22181:3;22087:98;;;;22142:37;;22087:98;;;-1:-1:-1;;;;;;;;;;;22087:98:0;;;;;;;;-1:-1:-1;;;;;22216:21:0;;22256:1;22216:21;;;:6;:21;;;;;:37;;:41;21749:678;;;22376:22;22383:14;:6;22394:2;22383:14;:10;:14;:::i;22376:22::-;22371:2;:27;21749:678;21156:1401;;;22510:22;22517:14;:6;22528:2;22517:14;:10;:14;:::i;22510:22::-;22505:2;:27;21156:1401;22593:31;22609:14;:6;22620:2;22609:14;:10;:14;:::i;21075:6390::-;22675:1;22671;:5;;:15;;;;;22685:1;22680;:6;;22671:15;22667:4798;;;-1:-1:-1;;;;;22751:21:0;;;;;;:6;:21;;;;;:35;;;22792:1;22790:3;;-1:-1:-1;22748:1458:0;;22867:22;22885:3;22867:13;:6;22878:1;22867:13;:10;:13;:::i;:22::-;-1:-1:-1;;;;;22826:21:0;;;;;;:6;:21;;;;;:37;;;:63;22822:1247;;22962:65;23004:22;23022:3;23004:13;:6;23015:1;23004:13;:10;:13;:::i;22962:65::-;-1:-1:-1;;;;;22922:21:0;;;;;;:6;:21;;;;;:37;;;;:105;;;;23100:67;;23144:22;;23162:3;;23144:13;;:6;;:13;:10;:13;:::i;23100:67::-;-1:-1:-1;;;;;23058:21:0;;;;;;:6;:21;;;;;:39;;:109;23288:22;23306:3;23288:13;:6;23299:1;23288:13;:10;:13;:::i;:22::-;23273:13;-1:-1:-1;;;;;23233:83:0;23257:14;-1:-1:-1;;;;;23233:83:0;-1:-1:-1;;;;;;;;;;;23312:3:0;23233:83;;;;;;;;;;;;;;;;;;22822:1247;;;-1:-1:-1;;;;;23378:21:0;;;;;;:6;:21;;;;;:37;;;:41;23375:694;;-1:-1:-1;;;;;23538:21:0;;;;;;:6;:21;;;;;:37;;;;23494:39;;;;;:82;;;:43;:82;:::i;:::-;-1:-1:-1;;;;;23452:21:0;;;;;;:6;:21;;;;;:39;;;:124;;;;23646:37;;;;;23612:73;;23619:65;;23646:37;23619:22;;23637:3;;23619:13;;:6;;:13;:10;:13;:::i;23612:73::-;23607:2;:78;-1:-1:-1;;;;;23776:21:0;;;;;;;:6;:21;;;;;;;;;:37;;;23721:98;;23815:3;23721:98;;;;23776:37;;23721:98;;;-1:-1:-1;;;;;;;;;;;23721:98:0;;;;;;;;-1:-1:-1;;;;;23850:21:0;;23890:1;23850:21;;;:6;:21;;;;;:37;;:41;23375:694;;;24010:30;24017:22;24035:3;24017:13;:6;24028:1;24017:13;:10;:13;:::i;24010:30::-;24005:2;:35;23375:694;22748:1458;;;24152:30;24159:22;24177:3;24159:13;:6;24170:1;24159:13;:10;:13;:::i;24152:30::-;24147:2;:35;22748:1458;24242:39;24258:22;24276:3;24258:13;:6;24269:1;24258:13;:10;:13;:::i;22667:4798::-;24350:1;24345;:6;;:17;;;;;24360:2;24355:1;:7;;24345:17;24342:3123;;;-1:-1:-1;;;;;24425:21:0;;;;;;:6;:21;;;;;:35;;;24466:1;24464:3;;-1:-1:-1;24422:1402:0;;24541:14;:6;24552:2;24541:14;:10;:14;:::i;:::-;-1:-1:-1;;;;;24500:21:0;;;;;;:6;:21;;;;;:37;;;:55;24496:1199;;24628:57;24670:14;:6;24681:2;24670:14;:10;:14;:::i;24628:57::-;-1:-1:-1;;;;;24588:21:0;;;;;;:6;:21;;;;;:37;;:97;24758:59;24802:14;:6;24813:2;24802:14;:10;:14;:::i;24758:59::-;-1:-1:-1;;;;;24716:21:0;;;;;;:6;:21;;;;;:39;;:101;24938:14;:6;24949:2;24938:14;:10;:14;:::i;:::-;24923:13;-1:-1:-1;;;;;24883:75:0;24907:14;-1:-1:-1;;;;;24883:75:0;-1:-1:-1;;;;;;;;;;;24954:3:0;24883:75;;;;;;;;;;;;;;;;;;24496:1199;;;-1:-1:-1;;;;;25020:21:0;;;;;;:6;:21;;;;;:37;;;:41;25017:678;;-1:-1:-1;;;;;25180:21:0;;;;;;:6;:21;;;;;:37;;;;25136:39;;;;;:82;;;:43;:82;:::i;:::-;-1:-1:-1;;;;;25094:21:0;;;;;;:6;:21;;;;;:39;;;:124;;;;25280:37;;;25254:65;;25261:57;;:14;:6;25272:2;25261:14;:10;:14;:::i;25254:65::-;25249:2;:70;-1:-1:-1;;;;;25410:21:0;;;;;;;:6;:21;;;;;;;;;:37;;;25355:98;;25449:3;25355:98;;;;25410:37;;25355:98;;;-1:-1:-1;;;;;;;;;;;25355:98:0;;;;;;;;-1:-1:-1;;;;;25484:21:0;;25524:1;25484:21;;;:6;:21;;;;;:37;;:41;25017:678;;;25644:22;25651:14;:6;25662:2;25651:14;:10;:14;:::i;25644:22::-;25639:2;:27;25017:678;24422:1402;;;25778:22;25785:14;:6;25796:2;25785:14;:10;:14;:::i;25778:22::-;25773:2;:27;24422:1402;25860:31;25876:14;:6;25887:2;25876:14;:10;:14;:::i;24342:3123::-;-1:-1:-1;;;;;25979:21:0;;;;;;:6;:21;;;;;:35;;;26020:1;26018:3;;-1:-1:-1;25976:1402:0;;26095:14;:6;26106:2;26095:14;:10;:14;:::i;:::-;-1:-1:-1;;;;;26054:21:0;;;;;;:6;:21;;;;;:37;;;:55;26050:1199;;26182:57;26224:14;:6;26235:2;26224:14;:10;:14;:::i;26182:57::-;-1:-1:-1;;;;;26142:21:0;;;;;;:6;:21;;;;;:37;;:97;26312:59;26356:14;:6;26367:2;26356:14;:10;:14;:::i;26312:59::-;-1:-1:-1;;;;;26270:21:0;;;;;;:6;:21;;;;;:39;;:101;26492:14;:6;26503:2;26492:14;:10;:14;:::i;:::-;26477:13;-1:-1:-1;;;;;26437:75:0;26461:14;-1:-1:-1;;;;;26437:75:0;-1:-1:-1;;;;;;;;;;;26508:3:0;26437:75;;;;;;;;;;;;;;;;;;26050:1199;;;-1:-1:-1;;;;;26574:21:0;;;;;;:6;:21;;;;;:37;;;:41;26571:678;;-1:-1:-1;;;;;26734:21:0;;;;;;:6;:21;;;;;:37;;;;26690:39;;;;;:82;;;:43;:82;:::i;:::-;-1:-1:-1;;;;;26648:21:0;;;;;;:6;:21;;;;;:39;;;:124;;;;26834:37;;;26808:65;;26815:57;;:14;:6;26826:2;26815:14;:10;:14;:::i;26808:65::-;26803:2;:70;-1:-1:-1;;;;;26964:21:0;;;;;;;:6;:21;;;;;;;;;:37;;;26909:98;;27003:3;26909:98;;;;26964:37;;26909:98;;;-1:-1:-1;;;;;;;;;;;26909:98:0;;;;;;;;-1:-1:-1;;;;;27038:21:0;;27078:1;27038:21;;;:6;:21;;;;;:37;;:41;26571:678;;;27198:22;27205:14;:6;27216:2;27205:14;:10;:14;:::i;27198:22::-;27193:2;:27;26571:678;25976:1402;;;27332:22;27339:14;:6;27350:2;27339:14;:10;:14;:::i;27332:22::-;27327:2;:27;25976:1402;27414:31;27430:14;:6;27441:2;27430:14;:10;:14;:::i;27414:31::-;27400:45;;24342:3123;19648:7943;;;27527:2;;:19;;27534:11;27527:19;:6;:19;:::i;:::-;27522:2;:24;27570:5;;19648:7943;-1:-1:-1;;;;;27621:21:0;;;;;;;:6;:21;;;;;:30;;;;;;;;19614:3;19597:8066;;46007:192;46093:7;46129:12;46121:6;;;;46113:29;;;;-1:-1:-1;;;46113:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;46113:29:0;-1:-1:-1;;;46165:5:0;;;46007:192::o
Swarm Source
bzzr://79ead7132d9e5bdb0fbdfe850e12f2741b2635d3f75582db6d2cabf32daabb1e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,372.89 | 0.0035875 | $12.1 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.