Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Last Txn Sent
No transactions sent
First Txn Sent
No transactions sent
Latest 25 from a total of 535 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Destroy And Send | 5498920 | 2164 days ago | IN | 0 ETH | 0.0014326 | ||||
Force Withdraw P... | 5465137 | 2170 days ago | IN | 0 ETH | 0.00003537 | ||||
Force Withdraw P... | 5461339 | 2171 days ago | IN | 0 ETH | 0.00004042 | ||||
Withdraw Payment... | 5453127 | 2172 days ago | IN | 0 ETH | 0.00005051 | ||||
Withdraw Payment... | 5452862 | 2172 days ago | IN | 0 ETH | 0.00007576 | ||||
Withdraw Payment... | 5452816 | 2172 days ago | IN | 0 ETH | 0.00002525 | ||||
Withdraw Payment... | 5452803 | 2172 days ago | IN | 0 ETH | 0.00002525 | ||||
Pay Jackpot | 5452793 | 2172 days ago | IN | 0 ETH | 0.00003787 | ||||
Pay Jackpot | 5452793 | 2172 days ago | IN | 0 ETH | 0.00003781 | ||||
Pay Jackpot | 5452793 | 2172 days ago | IN | 0 ETH | 0.00003774 | ||||
Pay Jackpot | 5452793 | 2172 days ago | IN | 0 ETH | 0.00003767 | ||||
Pay Jackpot | 5452785 | 2172 days ago | IN | 0 ETH | 0.00006664 | ||||
Withdraw Payment... | 5452769 | 2172 days ago | IN | 0 ETH | 0.00002525 | ||||
Withdraw Payment... | 5452756 | 2172 days ago | IN | 0 ETH | 0.00002525 | ||||
Purchase Kingdom | 5452748 | 2172 days ago | IN | 0.45 ETH | 0.00112136 | ||||
Purchase Kingdom | 5452744 | 2172 days ago | IN | 0.45 ETH | 0.00603141 | ||||
Purchase Kingdom | 5452738 | 2172 days ago | IN | 0.45 ETH | 0.00077076 | ||||
Purchase Kingdom | 5452735 | 2172 days ago | IN | 0.45 ETH | 0.00111167 | ||||
Purchase Kingdom | 5452729 | 2172 days ago | IN | 0.45 ETH | 0.00109275 | ||||
Withdraw Payment... | 5447329 | 2173 days ago | IN | 0 ETH | 0.00002525 | ||||
Purchase Kingdom | 5446922 | 2173 days ago | IN | 0.45 ETH | 0.00014383 | ||||
Withdraw Payment... | 5446839 | 2173 days ago | IN | 0 ETH | 0.00002525 | ||||
Purchase Kingdom | 5446572 | 2173 days ago | IN | 0.15 ETH | 0.000252 | ||||
Purchase Kingdom | 5446565 | 2173 days ago | IN | 0.15 ETH | 0.000282 | ||||
Withdraw Payment... | 5446326 | 2173 days ago | IN | 0 ETH | 0.00001262 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Txn Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
5498920 | 2164 days ago | 1.047 ETH | ||||
5461339 | 2171 days ago | 0.2 ETH | ||||
5453127 | 2172 days ago | 0.1 ETH | ||||
5452862 | 2172 days ago | 0.1 ETH | ||||
5452816 | 2172 days ago | 2.1825 ETH | ||||
5452803 | 2172 days ago | 5.6805 ETH | ||||
5452769 | 2172 days ago | 0.3 ETH | ||||
5452756 | 2172 days ago | 0.3 ETH | ||||
5447329 | 2173 days ago | 0.3 ETH | ||||
5446839 | 2173 days ago | 0.1 ETH | ||||
5446326 | 2173 days ago | 0.1 ETH | ||||
5446295 | 2173 days ago | 0.3 ETH | ||||
5445813 | 2173 days ago | 1.2 ETH | ||||
5445560 | 2173 days ago | 0.1 ETH | ||||
5445554 | 2173 days ago | 0.3 ETH | ||||
5444636 | 2173 days ago | 0.1 ETH | ||||
5442649 | 2174 days ago | 0.1 ETH | ||||
5441815 | 2174 days ago | 0.6 ETH | ||||
5441352 | 2174 days ago | 0.1 ETH | ||||
5441005 | 2174 days ago | 0.1 ETH | ||||
5441004 | 2174 days ago | 0.3 ETH | ||||
5440986 | 2174 days ago | 0.2 ETH | ||||
5435192 | 2175 days ago | 0.1 ETH | ||||
5435177 | 2175 days ago | 0.1 ETH | ||||
5435149 | 2175 days ago | 0.1 ETH |
Loading...
Loading
Contract Self Destruct called at Txn Hash 0x7e5011b63a6bd151b0eae1e4a2d253556bae15d2467c009b7a3d8d8d6129a2b3
Contract Name:
Map
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-04-10 */ pragma solidity ^0.4.18; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract PullPayment { using SafeMath for uint256; mapping(address => uint256) public payments; uint256 public totalPayments; function withdrawPayments() public { address payee = msg.sender; uint256 payment = payments[payee]; require(payment != 0); require(this.balance >= payment); totalPayments = totalPayments.sub(payment); payments[payee] = 0; assert(payee.send(payment)); } function asyncSend(address dest, uint256 amount) internal { payments[dest] = payments[dest].add(amount); totalPayments = totalPayments.add(amount); } } contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function Ownable() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract Destructible is Ownable { function Destructible() public payable { } function destroy() onlyOwner public { selfdestruct(owner); } function destroyAndSend(address _recipient) onlyOwner public { selfdestruct(_recipient); } } contract ReentrancyGuard { bool private reentrancy_lock = false; modifier nonReentrant() { require(!reentrancy_lock); reentrancy_lock = true; _; reentrancy_lock = false; } } contract Map is PullPayment, Destructible, ReentrancyGuard { using SafeMath for uint256; // STRUCTS struct Transaction { string kingdomKey; address compensationAddress; uint buyingPrice; uint compensation; uint jackpotContribution; } struct Kingdom { string title; string key; uint kingdomTier; uint kingdomType; uint minimumPrice; uint lastTransaction; uint transactionCount; uint returnPrice; address owner; bool locked; } struct Jackpot { address winner; uint balance; } struct Round { Jackpot globalJackpot; Jackpot jackpot1; Jackpot jackpot2; Jackpot jackpot3; Jackpot jackpot4; Jackpot jackpot5; mapping(string => bool) kingdomsCreated; mapping(address => uint) nbKingdoms; mapping(address => uint) nbTransactions; mapping(address => uint) nbKingdomsType1; mapping(address => uint) nbKingdomsType2; mapping(address => uint) nbKingdomsType3; mapping(address => uint) nbKingdomsType4; mapping(address => uint) nbKingdomsType5; uint startTime; uint endTime; mapping(string => uint) kingdomsKeys; } Kingdom[] public kingdoms; Transaction[] public kingdomTransactions; uint public currentRound; address public bookerAddress; mapping(uint => Round) rounds; uint constant public ACTION_TAX = 0.02 ether; uint constant public STARTING_CLAIM_PRICE_WEI = 0.05 ether; uint constant MAXIMUM_CLAIM_PRICE_WEI = 800 ether; uint constant KINGDOM_MULTIPLIER = 20; uint constant TEAM_COMMISSION_RATIO = 10; uint constant JACKPOT_COMMISSION_RATIO = 10; // MODIFIERS modifier onlyForRemainingKingdoms() { uint remainingKingdoms = getRemainingKingdoms(); require(remainingKingdoms > kingdoms.length); _; } modifier checkKingdomExistence(string key) { require(rounds[currentRound].kingdomsCreated[key] == true); _; } modifier checkIsNotLocked(string kingdomKey) { require(kingdoms[rounds[currentRound].kingdomsKeys[kingdomKey]].locked != true); _; } modifier checkIsClosed() { require(now >= rounds[currentRound].endTime); _; } modifier onlyKingdomOwner(string _key, address _sender) { require (kingdoms[rounds[currentRound].kingdomsKeys[_key]].owner == _sender); _; } // EVENTS event LandCreatedEvent(string kingdomKey, address monarchAddress); event LandPurchasedEvent(string kingdomKey, address monarchAddress); // // CONTRACT CONSTRUCTOR // function Map(address _bookerAddress, uint _startTime) { bookerAddress = _bookerAddress; currentRound = 1; rounds[currentRound] = Round(Jackpot(address(0), 0), Jackpot(address(0), 0), Jackpot(address(0), 0), Jackpot(address(0), 0), Jackpot(address(0), 0), Jackpot(address(0), 0), 0, 0); rounds[currentRound].jackpot1 = Jackpot(address(0), 0); rounds[currentRound].jackpot2 = Jackpot(address(0), 0); rounds[currentRound].jackpot3 = Jackpot(address(0), 0); rounds[currentRound].jackpot4 = Jackpot(address(0), 0); rounds[currentRound].jackpot5 = Jackpot(address(0), 0); rounds[currentRound].startTime = _startTime; rounds[currentRound].endTime = _startTime + 7 days; rounds[currentRound].globalJackpot = Jackpot(address(0), 0); } function () { } function getRemainingKingdoms() public view returns (uint nb) { for (uint i = 1; i < 8; i++) { if (now < rounds[currentRound].startTime + (i * 1 days)) { uint result = (10 * i); if (result > 70) { return 70; } else { return result; } } } } function setTypedJackpotWinner(address _user, uint _type) internal { if (_type == 1) { if (rounds[currentRound].jackpot1.winner == address(0)) { rounds[currentRound].jackpot1.winner = _user; } else if (rounds[currentRound].nbKingdomsType1[_user] >= rounds[currentRound].nbKingdomsType1[rounds[currentRound].jackpot1.winner]) { rounds[currentRound].jackpot1.winner = _user; } } else if (_type == 2) { if (rounds[currentRound].jackpot2.winner == address(0)) { rounds[currentRound].jackpot2.winner = _user; } else if (rounds[currentRound].nbKingdomsType2[_user] >= rounds[currentRound].nbKingdomsType2[rounds[currentRound].jackpot2.winner]) { rounds[currentRound].jackpot2.winner = _user; } } else if (_type == 3) { if (rounds[currentRound].jackpot3.winner == address(0)) { rounds[currentRound].jackpot3.winner = _user; } else if (rounds[currentRound].nbKingdomsType3[_user] >= rounds[currentRound].nbKingdomsType3[rounds[currentRound].jackpot3.winner]) { rounds[currentRound].jackpot3.winner = _user; } } else if (_type == 4) { if (rounds[currentRound].jackpot4.winner == address(0)) { rounds[currentRound].jackpot4.winner = _user; } else if (rounds[currentRound].nbKingdomsType4[_user] >= rounds[currentRound].nbKingdomsType4[rounds[currentRound].jackpot4.winner]) { rounds[currentRound].jackpot4.winner = _user; } } else if (_type == 5) { if (rounds[currentRound].jackpot5.winner == address(0)) { rounds[currentRound].jackpot5.winner = _user; } else if (rounds[currentRound].nbKingdomsType5[_user] >= rounds[currentRound].nbKingdomsType5[rounds[currentRound].jackpot5.winner]) { rounds[currentRound].jackpot5.winner = _user; } } } // // This is the main function. It is called to buy a kingdom // function purchaseKingdom(string _key, string _title, bool _locked) public payable nonReentrant() checkKingdomExistence(_key) checkIsNotLocked(_key) { require(now < rounds[currentRound].endTime); Round storage round = rounds[currentRound]; uint kingdomId = round.kingdomsKeys[_key]; Kingdom storage kingdom = kingdoms[kingdomId]; require((kingdom.kingdomTier + 1) < 6); uint requiredPrice = kingdom.minimumPrice; if (_locked == true) { requiredPrice = requiredPrice.add(ACTION_TAX); } require (msg.value >= requiredPrice); uint jackpotCommission = (msg.value).sub(kingdom.returnPrice); if (kingdom.returnPrice > 0) { round.nbKingdoms[kingdom.owner]--; if (kingdom.kingdomType == 1) { round.nbKingdomsType1[kingdom.owner]--; } else if (kingdom.kingdomType == 2) { round.nbKingdomsType2[kingdom.owner]--; } else if (kingdom.kingdomType == 3) { round.nbKingdomsType3[kingdom.owner]--; } else if (kingdom.kingdomType == 4) { round.nbKingdomsType4[kingdom.owner]--; } else if (kingdom.kingdomType == 5) { round.nbKingdomsType5[kingdom.owner]--; } compensateLatestMonarch(kingdom.lastTransaction, kingdom.returnPrice); } uint jackpotSplitted = jackpotCommission.mul(50).div(100); round.globalJackpot.balance = round.globalJackpot.balance.add(jackpotSplitted); kingdom.kingdomTier++; kingdom.title = _title; if (kingdom.kingdomTier == 5) { kingdom.returnPrice = 0; } else { kingdom.returnPrice = kingdom.minimumPrice.mul(2); kingdom.minimumPrice = kingdom.minimumPrice.add(kingdom.minimumPrice.mul(2)); } kingdom.owner = msg.sender; kingdom.locked = _locked; uint transactionId = kingdomTransactions.push(Transaction("", msg.sender, msg.value, 0, jackpotSplitted)) - 1; kingdomTransactions[transactionId].kingdomKey = _key; kingdom.transactionCount++; kingdom.lastTransaction = transactionId; setNewJackpot(kingdom.kingdomType, jackpotSplitted, msg.sender); LandPurchasedEvent(_key, msg.sender); } function setNewJackpot(uint kingdomType, uint jackpotSplitted, address sender) internal { rounds[currentRound].nbTransactions[sender]++; rounds[currentRound].nbKingdoms[sender]++; if (kingdomType == 1) { rounds[currentRound].nbKingdomsType1[sender]++; rounds[currentRound].jackpot1.balance = rounds[currentRound].jackpot1.balance.add(jackpotSplitted); } else if (kingdomType == 2) { rounds[currentRound].nbKingdomsType2[sender]++; rounds[currentRound].jackpot2.balance = rounds[currentRound].jackpot2.balance.add(jackpotSplitted); } else if (kingdomType == 3) { rounds[currentRound].nbKingdomsType3[sender]++; rounds[currentRound].jackpot3.balance = rounds[currentRound].jackpot3.balance.add(jackpotSplitted); } else if (kingdomType == 4) { rounds[currentRound].nbKingdomsType4[sender]++; rounds[currentRound].jackpot4.balance = rounds[currentRound].jackpot4.balance.add(jackpotSplitted); } else if (kingdomType == 5) { rounds[currentRound].nbKingdomsType5[sender]++; rounds[currentRound].jackpot5.balance = rounds[currentRound].jackpot5.balance.add(jackpotSplitted); } setNewWinner(msg.sender, kingdomType); } function setLock(string _key, bool _locked) public payable checkKingdomExistence(_key) onlyKingdomOwner(_key, msg.sender) { if (_locked == true) { require(msg.value >= ACTION_TAX); } kingdoms[rounds[currentRound].kingdomsKeys[_key]].locked = _locked; if (msg.value > 0) { asyncSend(bookerAddress, msg.value); } } // function setNbKingdomsType(uint kingdomType, address sender, bool increment) internal { // if (kingdomType == 1) { // if (increment == true) { // rounds[currentRound].nbKingdomsType1[sender]++; // } else { // rounds[currentRound].nbKingdomsType1[sender]--; // } // } else if (kingdomType == 2) { // if (increment == true) { // rounds[currentRound].nbKingdomsType2[sender]++; // } else { // rounds[currentRound].nbKingdomsType2[sender]--; // } // } else if (kingdomType == 3) { // if (increment == true) { // rounds[currentRound].nbKingdomsType3[sender]++; // } else { // rounds[currentRound].nbKingdomsType3[sender]--; // } // } else if (kingdomType == 4) { // if (increment == true) { // rounds[currentRound].nbKingdomsType4[sender]++; // } else { // rounds[currentRound].nbKingdomsType4[sender]--; // } // } else if (kingdomType == 5) { // if (increment == true) { // rounds[currentRound].nbKingdomsType5[sender]++; // } else { // rounds[currentRound].nbKingdomsType5[sender]--; // } // } // } // function upgradeKingdomType(string _key, uint _type) public payable checkKingdomExistence(_key) onlyKingdomOwner(_key, msg.sender) { // require(msg.value >= ACTION_TAX); // require(_type > 0); // require(_type < 6); // require(kingdoms[rounds[currentRound].kingdomsKeys[_key]].owner == msg.sender); // uint kingdomType = kingdoms[rounds[currentRound].kingdomsKeys[_key]].kingdomType; // setNbKingdomsType(kingdomType, msg.sender, false); // setNbKingdomsType(_type, msg.sender, true); // setTypedJackpotWinner(msg.sender, _type); // kingdoms[rounds[currentRound].kingdomsKeys[_key]].kingdomType = _type; // asyncSend(bookerAddress, msg.value); // } // // User can call this function to generate new kingdoms (within the limits of available land) // function createKingdom(address owner, string _key, string _title, uint _type, bool _locked) onlyForRemainingKingdoms() public payable { require(now < rounds[currentRound].endTime); require(_type > 0); require(_type < 6); uint basePrice = STARTING_CLAIM_PRICE_WEI; uint requiredPrice = basePrice; if (_locked == true) { requiredPrice = requiredPrice.add(ACTION_TAX); } require(msg.value >= requiredPrice); require(rounds[currentRound].kingdomsCreated[_key] == false); uint refundPrice = STARTING_CLAIM_PRICE_WEI.mul(2); uint nextMinimumPrice = STARTING_CLAIM_PRICE_WEI.add(refundPrice); uint kingdomId = kingdoms.push(Kingdom("", "", 1, _type, 0, 0, 1, refundPrice, address(0), false)) - 1; kingdoms[kingdomId].title = _title; kingdoms[kingdomId].owner = owner; kingdoms[kingdomId].key = _key; kingdoms[kingdomId].minimumPrice = nextMinimumPrice; kingdoms[kingdomId].locked = _locked; rounds[currentRound].kingdomsKeys[_key] = kingdomId; rounds[currentRound].kingdomsCreated[_key] = true; uint jackpotSplitted = requiredPrice.mul(50).div(100); rounds[currentRound].globalJackpot.balance = rounds[currentRound].globalJackpot.balance.add(jackpotSplitted); uint transactionId = kingdomTransactions.push(Transaction("", msg.sender, msg.value, 0, jackpotSplitted)) - 1; kingdomTransactions[transactionId].kingdomKey = _key; kingdoms[kingdomId].lastTransaction = transactionId; setNewJackpot(_type, jackpotSplitted, msg.sender); LandCreatedEvent(_key, msg.sender); } // // Send transaction to compensate the previous owner // function compensateLatestMonarch(uint lastTransaction, uint compensationWei) internal { address compensationAddress = kingdomTransactions[lastTransaction].compensationAddress; kingdomTransactions[lastTransaction].compensation = compensationWei; asyncSend(compensationAddress, compensationWei); } // // This function may be useful to force withdraw if user never come back to get his money // function forceWithdrawPayments(address payee) public onlyOwner { uint256 payment = payments[payee]; require(payment != 0); require(this.balance >= payment); totalPayments = totalPayments.sub(payment); payments[payee] = 0; assert(payee.send(payment)); } function getStartTime() public view returns (uint startTime) { return rounds[currentRound].startTime; } function getEndTime() public view returns (uint endTime) { return rounds[currentRound].endTime; } function payJackpot(uint _type) public checkIsClosed() { Round storage finishedRound = rounds[currentRound]; if (_type == 1 && finishedRound.jackpot1.winner != address(0) && finishedRound.jackpot1.balance > 0) { require(this.balance >= finishedRound.jackpot1.balance); uint jackpot1TeamComission = (finishedRound.jackpot1.balance.mul(TEAM_COMMISSION_RATIO)).div(100); asyncSend(bookerAddress, jackpot1TeamComission); asyncSend(finishedRound.jackpot1.winner, finishedRound.jackpot1.balance.sub(jackpot1TeamComission)); finishedRound.jackpot1.balance = 0; } else if (_type == 2 && finishedRound.jackpot2.winner != address(0) && finishedRound.jackpot2.balance > 0) { require(this.balance >= finishedRound.jackpot2.balance); uint jackpot2TeamComission = (finishedRound.jackpot2.balance.mul(TEAM_COMMISSION_RATIO)).div(100); asyncSend(bookerAddress, jackpot2TeamComission); asyncSend(finishedRound.jackpot2.winner, finishedRound.jackpot2.balance.sub(jackpot2TeamComission)); finishedRound.jackpot2.balance = 0; } else if (_type == 3 && finishedRound.jackpot3.winner != address(0) && finishedRound.jackpot3.balance > 0) { require(this.balance >= finishedRound.jackpot3.balance); uint jackpot3TeamComission = (finishedRound.jackpot3.balance.mul(TEAM_COMMISSION_RATIO)).div(100); asyncSend(bookerAddress, jackpot3TeamComission); asyncSend(finishedRound.jackpot3.winner, finishedRound.jackpot3.balance.sub(jackpot3TeamComission)); finishedRound.jackpot3.balance = 0; } else if (_type == 4 && finishedRound.jackpot4.winner != address(0) && finishedRound.jackpot4.balance > 0) { require(this.balance >= finishedRound.jackpot4.balance); uint jackpot4TeamComission = (finishedRound.jackpot4.balance.mul(TEAM_COMMISSION_RATIO)).div(100); asyncSend(bookerAddress, jackpot4TeamComission); asyncSend(finishedRound.jackpot4.winner, finishedRound.jackpot4.balance.sub(jackpot4TeamComission)); finishedRound.jackpot4.balance = 0; } else if (_type == 5 && finishedRound.jackpot5.winner != address(0) && finishedRound.jackpot5.balance > 0) { require(this.balance >= finishedRound.jackpot5.balance); uint jackpot5TeamComission = (finishedRound.jackpot5.balance.mul(TEAM_COMMISSION_RATIO)).div(100); asyncSend(bookerAddress, jackpot5TeamComission); asyncSend(finishedRound.jackpot5.winner, finishedRound.jackpot5.balance.sub(jackpot5TeamComission)); finishedRound.jackpot5.balance = 0; } if (finishedRound.globalJackpot.winner != address(0) && finishedRound.globalJackpot.balance > 0) { require(this.balance >= finishedRound.globalJackpot.balance); uint globalTeamComission = (finishedRound.globalJackpot.balance.mul(TEAM_COMMISSION_RATIO)).div(100); asyncSend(bookerAddress, globalTeamComission); asyncSend(finishedRound.globalJackpot.winner, finishedRound.globalJackpot.balance.sub(globalTeamComission)); finishedRound.globalJackpot.balance = 0; } } // // After time expiration, owner can call this function to activate the next round of the game // function activateNextRound() public checkIsClosed() { Round storage finishedRound = rounds[currentRound]; require(finishedRound.globalJackpot.balance == 0); require(finishedRound.jackpot5.balance == 0); require(finishedRound.jackpot4.balance == 0); require(finishedRound.jackpot3.balance == 0); require(finishedRound.jackpot2.balance == 0); require(finishedRound.jackpot1.balance == 0); currentRound++; rounds[currentRound] = Round(Jackpot(address(0), 0), Jackpot(address(0), 0), Jackpot(address(0), 0), Jackpot(address(0), 0), Jackpot(address(0), 0), Jackpot(address(0), 0), 0, 0); rounds[currentRound].startTime = now; rounds[currentRound].endTime = now + 7 days; delete kingdoms; delete kingdomTransactions; } // GETTER AND SETTER FUNCTIONS function setNewWinner(address _sender, uint _type) internal { if (rounds[currentRound].globalJackpot.winner == address(0)) { rounds[currentRound].globalJackpot.winner = _sender; } else { if (rounds[currentRound].nbKingdoms[_sender] == rounds[currentRound].nbKingdoms[rounds[currentRound].globalJackpot.winner]) { if (rounds[currentRound].nbTransactions[_sender] > rounds[currentRound].nbTransactions[rounds[currentRound].globalJackpot.winner]) { rounds[currentRound].globalJackpot.winner = _sender; } } else if (rounds[currentRound].nbKingdoms[_sender] > rounds[currentRound].nbKingdoms[rounds[currentRound].globalJackpot.winner]) { rounds[currentRound].globalJackpot.winner = _sender; } } setTypedJackpotWinner(_sender, _type); } function getJackpot(uint _nb) public view returns (address winner, uint balance, uint winnerCap) { Round storage round = rounds[currentRound]; if (_nb == 1) { return (round.jackpot1.winner, round.jackpot1.balance, round.nbKingdomsType1[round.jackpot1.winner]); } else if (_nb == 2) { return (round.jackpot2.winner, round.jackpot2.balance, round.nbKingdomsType2[round.jackpot2.winner]); } else if (_nb == 3) { return (round.jackpot3.winner, round.jackpot3.balance, round.nbKingdomsType3[round.jackpot3.winner]); } else if (_nb == 4) { return (round.jackpot4.winner, round.jackpot4.balance, round.nbKingdomsType4[round.jackpot4.winner]); } else if (_nb == 5) { return (round.jackpot5.winner, round.jackpot5.balance, round.nbKingdomsType5[round.jackpot5.winner]); } else { return (round.globalJackpot.winner, round.globalJackpot.balance, round.nbKingdoms[round.globalJackpot.winner]); } } function getKingdomCount() public view returns (uint kingdomCount) { return kingdoms.length; } function getKingdomInformations(string kingdomKey) public view returns (string title, uint minimumPrice, uint lastTransaction, uint transactionCount, address currentOwner, bool locked) { uint kingdomId = rounds[currentRound].kingdomsKeys[kingdomKey]; Kingdom storage kingdom = kingdoms[kingdomId]; return (kingdom.title, kingdom.minimumPrice, kingdom.lastTransaction, kingdom.transactionCount, kingdom.owner, kingdom.locked); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"totalPayments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_key","type":"string"},{"name":"_title","type":"string"},{"name":"_locked","type":"bool"}],"name":"purchaseKingdom","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"bookerAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getEndTime","outputs":[{"name":"endTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_nb","type":"uint256"}],"name":"getJackpot","outputs":[{"name":"winner","type":"address"},{"name":"balance","type":"uint256"},{"name":"winnerCap","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"_key","type":"string"},{"name":"_title","type":"string"},{"name":"_type","type":"uint256"},{"name":"_locked","type":"bool"}],"name":"createKingdom","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"payee","type":"address"}],"name":"forceWithdrawPayments","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawPayments","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_key","type":"string"},{"name":"_locked","type":"bool"}],"name":"setLock","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"STARTING_CLAIM_PRICE_WEI","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentRound","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getKingdomCount","outputs":[{"name":"kingdomCount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"kingdoms","outputs":[{"name":"title","type":"string"},{"name":"key","type":"string"},{"name":"kingdomTier","type":"uint256"},{"name":"kingdomType","type":"uint256"},{"name":"minimumPrice","type":"uint256"},{"name":"lastTransaction","type":"uint256"},{"name":"transactionCount","type":"uint256"},{"name":"returnPrice","type":"uint256"},{"name":"owner","type":"address"},{"name":"locked","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ACTION_TAX","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getStartTime","outputs":[{"name":"startTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"kingdomTransactions","outputs":[{"name":"kingdomKey","type":"string"},{"name":"compensationAddress","type":"address"},{"name":"buyingPrice","type":"uint256"},{"name":"compensation","type":"uint256"},{"name":"jackpotContribution","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_type","type":"uint256"}],"name":"payJackpot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"kingdomKey","type":"string"}],"name":"getKingdomInformations","outputs":[{"name":"title","type":"string"},{"name":"minimumPrice","type":"uint256"},{"name":"lastTransaction","type":"uint256"},{"name":"transactionCount","type":"uint256"},{"name":"currentOwner","type":"address"},{"name":"locked","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getRemainingKingdoms","outputs":[{"name":"nb","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"payments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"activateNextRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"destroyAndSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_bookerAddress","type":"address"},{"name":"_startTime","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"kingdomKey","type":"string"},{"indexed":false,"name":"monarchAddress","type":"address"}],"name":"LandCreatedEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"kingdomKey","type":"string"},{"indexed":false,"name":"monarchAddress","type":"address"}],"name":"LandPurchasedEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60606040526000600260146101000a81548160ff021916908315150217905550341561002a57600080fd5b604051604080615ae78339810160405280805190602001909190805190602001909190505033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600581905550610100604051908101604052806040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815250815260200160008152602001600081525060076000600554815260200190815260200160002060008201518160000160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060208201518160020160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060408201518160040160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060608201518160060160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060808201518160080160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060a082015181600a0160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060c0820151816014015560e082015181601501559050506040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525060076000600554815260200190815260200160002060020160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525060076000600554815260200190815260200160002060040160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525060076000600554815260200190815260200160002060060160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525060076000600554815260200190815260200160002060080160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815250600760006005548152602001908152602001600020600a0160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050806007600060055481526020019081526020016000206014018190555062093a808101600760006005548152602001908152602001600020601501819055506040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525060076000600554815260200190815260200160002060000160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050505061528f806108586000396000f300606060405260043610610148576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b4487146101555780630203596d1461017e57806308cad05c1461021e578063439f5ac2146102735780634ce4f9271461029c57806356247e6d1461030d5780635d760b45146103d55780636103d70b1461040e57806376520713146104235780637720295a1461048057806383197ef0146104a95780638a19c8bc146104be5780638da5cb5b146104e75780638e4060721461053c5780639133210a14610565578063981ae4011461070f578063c828371e14610738578063ca907e7914610761578063d093e04b14610862578063d2bf779f14610885578063d9d84531146109ae578063e2982c21146109d7578063e8bc0d4014610a24578063f2fde38b14610a39578063f5074f4114610a72575b341561015357600080fd5b005b341561016057600080fd5b610168610aab565b6040518082815260200191505060405180910390f35b61021c600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080351515906020019091905050610ab1565b005b341561022957600080fd5b610231611479565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561027e57600080fd5b61028661149f565b6040518082815260200191505060405180910390f35b34156102a757600080fd5b6102bd60048080359060200190919050506114bf565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b6103d3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803515159060200190919050506118e5565b005b34156103e057600080fd5b61040c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612107565b005b341561041957600080fd5b61042161227c565b005b61047e600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080351515906020019091905050612399565b005b341561048b57600080fd5b610493612652565b6040518082815260200191505060405180910390f35b34156104b457600080fd5b6104bc61265d565b005b34156104c957600080fd5b6104d16126f4565b6040518082815260200191505060405180910390f35b34156104f257600080fd5b6104fa6126fa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561054757600080fd5b61054f612720565b6040518082815260200191505060405180910390f35b341561057057600080fd5b610586600480803590602001909190505061272d565b6040518080602001806020018b81526020018a81526020018981526020018881526020018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018415151515815260200183810383528d8181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b505083810382528c8181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156106f65780601f106106cb576101008083540402835291602001916106f6565b820191906000526020600020905b8154815290600101906020018083116106d957829003601f168201915b50509c5050505050505050505050505060405180910390f35b341561071a57600080fd5b6107226127bb565b6040518082815260200191505060405180910390f35b341561074357600080fd5b61074b6127c6565b6040518082815260200191505060405180910390f35b341561076c57600080fd5b61078260048080359060200190919050506127e6565b60405180806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815260200182810382528781815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561084f5780601f106108245761010080835404028352916020019161084f565b820191906000526020600020905b81548152906001019060200180831161083257829003601f168201915b5050965050505050505060405180910390f35b341561086d57600080fd5b610883600480803590602001909190505061284a565b005b341561089057600080fd5b6108e0600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506130d3565b60405180806020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001828103825288818151815260200191508051906020019080838360005b8381101561096e578082015181840152602081019050610953565b50505050905090810190601f16801561099b5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34156109b957600080fd5b6109c1613286565b6040518082815260200191505060405180910390f35b34156109e257600080fd5b610a0e600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506132f3565b6040518082815260200191505060405180910390f35b3415610a2f57600080fd5b610a3761330b565b005b3415610a4457600080fd5b610a70600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506137d8565b005b3415610a7d57600080fd5b610aa9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613930565b005b60015481565b6000806000806000806000600260149054906101000a900460ff16151515610ad857600080fd5b6001600260146101000a81548160ff0219169083151502179055508960011515600760006005548152602001908152602001600020600c01826040518082805190602001908083835b602083101515610b465780518252602082019150602081019050602083039250610b21565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff161515141515610b9557600080fd5b8a600115156003600760006005548152602001908152602001600020601601836040518082805190602001908083835b602083101515610bea5780518252602082019150602081019050602083039250610bc5565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054815481101515610c2a57fe5b906000526020600020906009020160080160149054906101000a900460ff16151514151515610c5857600080fd5b6007600060055481526020019081526020016000206015015442101515610c7e57600080fd5b6007600060055481526020019081526020016000209850886016018c6040518082805190602001908083835b602083101515610ccf5780518252602082019150602081019050602083039250610caa565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549750600388815481101515610d1457fe5b9060005260206000209060090201965060066001886002015401101515610d3a57600080fd5b86600401549550600115158a15151415610d6b57610d6866470de4df820000876139a590919063ffffffff16565b95505b853410151515610d7a57600080fd5b610d918760070154346139c390919063ffffffff16565b94506000876007015411156110d15788600d0160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600187600301541415610e9e5788600f0160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506110be565b600287600301541415610f26578860100160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506110bd565b600387600301541415610fae578860110160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506110bc565b600487600301541415611036578860120160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506110bb565b6005876003015414156110ba578860130160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055505b5b5b5b5b6110d0876005015488600701546139dc565b5b6110f860646110ea603288613a5590919063ffffffff16565b613a9090919063ffffffff16565b9350611114848a600001600101546139a590919063ffffffff16565b896000016001018190555086600201600081548092919060010191905055508a87600001908051906020019061114b929190614f1e565b5060058760020154141561116857600087600701819055506111bf565b61118060028860040154613a5590919063ffffffff16565b87600701819055506111b66111a360028960040154613a5590919063ffffffff16565b88600401546139a590919063ffffffff16565b87600401819055505b338760080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550898760080160146101000a81548160ff0219169083151502179055506001600480548060010182816112349190614f9e565b9160005260206000209060050201600060a060405190810160405280602060405190810160405280600081525081526020013373ffffffffffffffffffffffffffffffffffffffff1681526020013481526020016000815260200189815250909190915060008201518160000190805190602001906112b4929190614fd0565b5060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015550500392508b60048481548110151561132f57fe5b90600052602060002090600502016000019080519060200190611353929190614f1e565b50866006016000815480929190600101919050555082876005018190555061138087600301548533613aab565b7f33ad373ff55ff0131d5dc1caa21daa4a081eb0707eb9efe075d2200bd2eecf438c3360405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156114155780820151818401526020810190506113fa565b50505050905090810190601f1680156114425780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150506000600260146101000a81548160ff02191690831515021790555050505050505050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060076000600554815260200190815260200160002060150154905090565b60008060008060076000600554815260200190815260200160002090506001851415611589578060020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816002016001015482600f0160008460020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093506118dd565b6002851415611636578060040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600401600101548260100160008460040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093506118dd565b60038514156116e3578060060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600601600101548260110160008460060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093506118dd565b6004851415611790578060080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600801600101548260120160008460080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093506118dd565b600585141561183d5780600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600a016001015482601301600084600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093506118dd565b8060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816000016001015482600d0160008460000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093505b509193909250565b6000806000806000806000806118f9613286565b90506003805490508111151561190e57600080fd5b600760006005548152602001908152602001600020601501544210151561193457600080fd5b60008a11151561194357600080fd5b60068a10151561195257600080fd5b66b1a2bc2ec5000097508796506001151589151514156119895761198666470de4df820000886139a590919063ffffffff16565b96505b86341015151561199857600080fd5b60001515600760006005548152602001908152602001600020600c018d6040518082805190602001908083835b6020831015156119ea57805182526020820191506020810190506020830392506119c5565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff161515141515611a3957600080fd5b611a54600266b1a2bc2ec50000613a5590919063ffffffff16565b9550611a708666b1a2bc2ec500006139a590919063ffffffff16565b9450600160038054806001018281611a889190615050565b91600052602060002090600902016000610140604051908101604052806020604051908101604052806000815250815260200160206040519081016040528060008152508152602001600181526020018f81526020016000815260200160008152602001600181526020018b8152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000151581525090919091506000820151816000019080519060200190611b3e929190614fd0565b506020820151816001019080519060200190611b5b929190614fd0565b5060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160080160146101000a81548160ff02191690831515021790555050500393508a600385815481101515611c1657fe5b90600052602060002090600902016000019080519060200190611c3a929190614f1e565b508c600385815481101515611c4b57fe5b906000526020600020906009020160080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508b600385815481101515611caa57fe5b90600052602060002090600902016001019080519060200190611cce929190614f1e565b5084600385815481101515611cdf57fe5b90600052602060002090600902016004018190555088600385815481101515611d0457fe5b906000526020600020906009020160080160146101000a81548160ff021916908315150217905550836007600060055481526020019081526020016000206016018d6040518082805190602001908083835b602083101515611d7b5780518252602082019150602081019050602083039250611d56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055506001600760006005548152602001908152602001600020600c018d6040518082805190602001908083835b602083101515611e025780518252602082019150602081019050602083039250611ddd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550611e736064611e6560328a613a5590919063ffffffff16565b613a9090919063ffffffff16565b9250611ea383600760006005548152602001908152602001600020600001600101546139a590919063ffffffff16565b60076000600554815260200190815260200160002060000160010181905550600160048054806001018281611ed89190614f9e565b9160005260206000209060050201600060a060405190810160405280602060405190810160405280600081525081526020013373ffffffffffffffffffffffffffffffffffffffff168152602001348152602001600081526020018881525090919091506000820151816000019080519060200190611f58929190614fd0565b5060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015550500391508b600483815481101515611fd357fe5b90600052602060002090600502016000019080519060200190611ff7929190614f1e565b508160038581548110151561200857fe5b9060005260206000209060090201600501819055506120288a8433613aab565b7f28852447a61cd7468288ee09e688ab82ac6561117c6abc695290ade7479086a18c3360405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156120bd5780820151818401526020810190506120a2565b50505050905090810190601f1680156120ea5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150505050505050505050505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561216557600080fd5b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081141515156121b657600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156121dc57600080fd5b6121f1816001546139c390919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561227857fe5b5050565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081141515156122d357600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156122f957600080fd5b61230e816001546139c390919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561239557fe5b5050565b8160011515600760006005548152602001908152602001600020600c01826040518082805190602001908083835b6020831015156123ec57805182526020820191506020810190506020830392506123c7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16151514151561243b57600080fd5b82338073ffffffffffffffffffffffffffffffffffffffff166003600760006005548152602001908152602001600020601601846040518082805190602001908083835b6020831015156124a4578051825260208201915060208101905060208303925061247f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020548154811015156124e457fe5b906000526020600020906009020160080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561253857600080fd5b60011515841515141561255c5766470de4df820000341015151561255b57600080fd5b5b836003600760006005548152602001908152602001600020601601876040518082805190602001908083835b6020831015156125ad5780518252602082019150602081019050602083039250612588565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020548154811015156125ed57fe5b906000526020600020906009020160080160146101000a81548160ff021916908315150217905550600034111561264b5761264a600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1634613f44565b5b5050505050565b66b1a2bc2ec5000081565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126b957600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60055481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600380549050905090565b60038181548110151561273c57fe5b9060005260206000209060090201600091509050806000019080600101908060020154908060030154908060040154908060050154908060060154908060070154908060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060080160149054906101000a900460ff1690508a565b66470de4df82000081565b600060076000600554815260200190815260200160002060140154905090565b6004818154811015156127f557fe5b906000526020600020906005020160009150905080600001908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154905085565b600080600080600080600060076000600554815260200190815260200160002060150154421015151561287c57600080fd5b60076000600554815260200190815260200160002096506001881480156128f75750600073ffffffffffffffffffffffffffffffffffffffff168760020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b801561290a575060008760020160010154115b156129f45786600201600101543073ffffffffffffffffffffffffffffffffffffffff16311015151561293c57600080fd5b61296a606461295c600a8a60020160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9550612998600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687613f44565b6129e28760020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166129dd888a600201600101546139c390919063ffffffff16565b613f44565b60008760020160010181905550612f78565b600288148015612a585750600073ffffffffffffffffffffffffffffffffffffffff168760040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015612a6b575060008760040160010154115b15612b555786600401600101543073ffffffffffffffffffffffffffffffffffffffff163110151515612a9d57600080fd5b612acb6064612abd600a8a60040160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9450612af9600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686613f44565b612b438760040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612b3e878a600401600101546139c390919063ffffffff16565b613f44565b60008760040160010181905550612f77565b600388148015612bb95750600073ffffffffffffffffffffffffffffffffffffffff168760060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015612bcc575060008760060160010154115b15612cb65786600601600101543073ffffffffffffffffffffffffffffffffffffffff163110151515612bfe57600080fd5b612c2c6064612c1e600a8a60060160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9350612c5a600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685613f44565b612ca48760060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612c9f868a600601600101546139c390919063ffffffff16565b613f44565b60008760060160010181905550612f76565b600488148015612d1a5750600073ffffffffffffffffffffffffffffffffffffffff168760080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015612d2d575060008760080160010154115b15612e175786600801600101543073ffffffffffffffffffffffffffffffffffffffff163110151515612d5f57600080fd5b612d8d6064612d7f600a8a60080160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9250612dbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684613f44565b612e058760080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e00858a600801600101546139c390919063ffffffff16565b613f44565b60008760080160010181905550612f75565b600588148015612e7b5750600073ffffffffffffffffffffffffffffffffffffffff1687600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015612e8e5750600087600a0160010154115b15612f745786600a01600101543073ffffffffffffffffffffffffffffffffffffffff163110151515612ec057600080fd5b612eee6064612ee0600a8a600a0160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9150612f1c600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613f44565b612f6687600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612f61848a600a01600101546139c390919063ffffffff16565b613f44565b600087600a01600101819055505b5b5b5b5b600073ffffffffffffffffffffffffffffffffffffffff168760000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015612fe3575060008760000160010154115b156130c95786600001600101543073ffffffffffffffffffffffffffffffffffffffff16311015151561301557600080fd5b6130436064613035600a8a60000160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9050613071600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613f44565b6130bb8760000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166130b6838a600001600101546139c390919063ffffffff16565b613f44565b600087600001600101819055505b5050505050505050565b6130db615082565b6000806000806000806000600760006005548152602001908152602001600020601601896040518082805190602001908083835b602083101515613134578051825260208201915060208101905060208303925061310f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054915060038281548110151561317957fe5b90600052602060002090600902019050806000018160040154826005015483600601548460080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560080160149054906101000a900460ff16858054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132685780601f1061323d57610100808354040283529160200191613268565b820191906000526020600020905b81548152906001019060200180831161324b57829003601f168201915b50505050509550975097509750975097509750505091939550919395565b6000806000600191505b60088210156132ed5762015180820260076000600554815260200190815260200160002060140154014210156132e05781600a02905060468111156132d857604692506132ee565b8092506132ee565b8180600101925050613290565b5b505090565b60006020528060005260406000206000915090505481565b600060076000600554815260200190815260200160002060150154421015151561333457600080fd5b60076000600554815260200190815260200160002090506000816000016001015414151561336157600080fd5b600081600a016001015414151561337757600080fd5b6000816008016001015414151561338d57600080fd5b600081600601600101541415156133a357600080fd5b600081600401600101541415156133b957600080fd5b600081600201600101541415156133cf57600080fd5b600560008154809291906001019190505550610100604051908101604052806040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815250815260200160008152602001600081525060076000600554815260200190815260200160002060008201518160000160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060208201518160020160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060408201518160040160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060608201518160060160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060808201518160080160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060a082015181600a0160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060c0820151816014015560e08201518160150155905050426007600060055481526020019081526020016000206014018190555062093a80420160076000600554815260200190815260200160002060150181905550600360006137c79190615096565b600460006137d591906150ba565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561383457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561387057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561398c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16ff5b60008082840190508381101515156139b957fe5b8091505092915050565b60008282111515156139d157fe5b818303905092915050565b60006004838154811015156139ed57fe5b906000526020600020906005020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600484815481101515613a3157fe5b906000526020600020906005020160030181905550613a508183613f44565b505050565b6000806000841415613a6a5760009150613a89565b8284029050828482811515613a7b57fe5b04141515613a8557fe5b8091505b5092915050565b6000808284811515613a9e57fe5b0490508091505092915050565b600760006005548152602001908152602001600020600e0160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550600760006005548152602001908152602001600020600d0160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055506001831415613c3557600760006005548152602001908152602001600020600f0160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550613c1182600760006005548152602001908152602001600020600201600101546139a590919063ffffffff16565b60076000600554815260200190815260200160002060020160010181905550613f35565b6002831415613cf55760076000600554815260200190815260200160002060100160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550613cd182600760006005548152602001908152602001600020600401600101546139a590919063ffffffff16565b60076000600554815260200190815260200160002060040160010181905550613f34565b6003831415613db55760076000600554815260200190815260200160002060110160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550613d9182600760006005548152602001908152602001600020600601600101546139a590919063ffffffff16565b60076000600554815260200190815260200160002060060160010181905550613f33565b6004831415613e755760076000600554815260200190815260200160002060120160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550613e5182600760006005548152602001908152602001600020600801600101546139a590919063ffffffff16565b60076000600554815260200190815260200160002060080160010181905550613f32565b6005831415613f315760076000600554815260200190815260200160002060130160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550613f1182600760006005548152602001908152602001600020600a01600101546139a590919063ffffffff16565b600760006005548152602001908152602001600020600a01600101819055505b5b5b5b5b613f3f3384613ff6565b505050565b613f95816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139a590919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fec816001546139a590919063ffffffff16565b6001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff1660076000600554815260200190815260200160002060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156140c5578160076000600554815260200190815260200160002060000160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614449565b600760006005548152602001908152602001600020600d01600060076000600554815260200190815260200160002060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760006005548152602001908152602001600020600d0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156142ff57600760006005548152602001908152602001600020600e01600060076000600554815260200190815260200160002060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760006005548152602001908152602001600020600e0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156142fa578160076000600554815260200190815260200160002060000160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b614448565b600760006005548152602001908152602001600020600d01600060076000600554815260200190815260200160002060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760006005548152602001908152602001600020600d0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115614447578160076000600554815260200190815260200160002060000160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b6144538282614457565b5050565b600181141561467e57600073ffffffffffffffffffffffffffffffffffffffff1660076000600554815260200190815260200160002060020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561452f578160076000600554815260200190815260200160002060020160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614679565b600760006005548152602001908152602001600020600f01600060076000600554815260200190815260200160002060020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760006005548152602001908152602001600020600f0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515614678578160076000600554815260200190815260200160002060020160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b614f1a565b60028114156148a557600073ffffffffffffffffffffffffffffffffffffffff1660076000600554815260200190815260200160002060040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614756578160076000600554815260200190815260200160002060040160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506148a0565b600760006005548152602001908152602001600020601001600060076000600554815260200190815260200160002060040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460076000600554815260200190815260200160002060100160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151561489f578160076000600554815260200190815260200160002060040160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b614f19565b6003811415614acc57600073ffffffffffffffffffffffffffffffffffffffff1660076000600554815260200190815260200160002060060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561497d578160076000600554815260200190815260200160002060060160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614ac7565b600760006005548152602001908152602001600020601101600060076000600554815260200190815260200160002060060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460076000600554815260200190815260200160002060110160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515614ac6578160076000600554815260200190815260200160002060060160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b614f18565b6004811415614cf357600073ffffffffffffffffffffffffffffffffffffffff1660076000600554815260200190815260200160002060080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614ba4578160076000600554815260200190815260200160002060080160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614cee565b600760006005548152602001908152602001600020601201600060076000600554815260200190815260200160002060080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460076000600554815260200190815260200160002060120160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515614ced578160076000600554815260200190815260200160002060080160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b614f17565b6005811415614f1657600073ffffffffffffffffffffffffffffffffffffffff16600760006005548152602001908152602001600020600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614dcb5781600760006005548152602001908152602001600020600a0160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614f15565b6007600060055481526020019081526020016000206013016000600760006005548152602001908152602001600020600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460076000600554815260200190815260200160002060130160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515614f145781600760006005548152602001908152602001600020600a0160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b5b5b5b5b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614f5f57805160ff1916838001178555614f8d565b82800160010185558215614f8d579182015b82811115614f8c578251825591602001919060010190614f71565b5b509050614f9a91906150de565b5090565b815481835581811511614fcb57600502816005028360005260206000209182019101614fca9190615103565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061501157805160ff191683800117855561503f565b8280016001018555821561503f579182015b8281111561503e578251825591602001919060010190615023565b5b50905061504c91906150de565b5090565b81548183558181151161507d5760090281600902836000526020600020918201910161507c9190615171565b5b505050565b602060405190810160405280600081525090565b50805460008255600902906000526020600020908101906150b79190615171565b50565b50805460008255600502906000526020600020908101906150db9190615103565b50565b61510091905b808211156150fc5760008160009055506001016150e4565b5090565b90565b61516e91905b8082111561516a5760008082016000615122919061521b565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560028201600090556003820160009055600482016000905550600501615109565b5090565b90565b61521891905b808211156152145760008082016000615190919061521b565b6001820160006151a0919061521b565b6002820160009055600382016000905560048201600090556005820160009055600682016000905560078201600090556008820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556008820160146101000a81549060ff021916905550600901615177565b5090565b90565b50805460018160011615610100020316600290046000825580601f106152415750615260565b601f01602090049060005260206000209081019061525f91906150de565b5b505600a165627a7a72305820f0ea0cf9a1e087fbe62ddddd208584a76a41f6c57859149175d2d005c59a7a1a00290000000000000000000000008c7d96da59d23b50b9eeefdacf58a5fce62b35b5000000000000000000000000000000000000000000000000000000005acbc861
Deployed Bytecode
0x606060405260043610610148576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680625b4487146101555780630203596d1461017e57806308cad05c1461021e578063439f5ac2146102735780634ce4f9271461029c57806356247e6d1461030d5780635d760b45146103d55780636103d70b1461040e57806376520713146104235780637720295a1461048057806383197ef0146104a95780638a19c8bc146104be5780638da5cb5b146104e75780638e4060721461053c5780639133210a14610565578063981ae4011461070f578063c828371e14610738578063ca907e7914610761578063d093e04b14610862578063d2bf779f14610885578063d9d84531146109ae578063e2982c21146109d7578063e8bc0d4014610a24578063f2fde38b14610a39578063f5074f4114610a72575b341561015357600080fd5b005b341561016057600080fd5b610168610aab565b6040518082815260200191505060405180910390f35b61021c600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080351515906020019091905050610ab1565b005b341561022957600080fd5b610231611479565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561027e57600080fd5b61028661149f565b6040518082815260200191505060405180910390f35b34156102a757600080fd5b6102bd60048080359060200190919050506114bf565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b6103d3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803515159060200190919050506118e5565b005b34156103e057600080fd5b61040c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612107565b005b341561041957600080fd5b61042161227c565b005b61047e600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080351515906020019091905050612399565b005b341561048b57600080fd5b610493612652565b6040518082815260200191505060405180910390f35b34156104b457600080fd5b6104bc61265d565b005b34156104c957600080fd5b6104d16126f4565b6040518082815260200191505060405180910390f35b34156104f257600080fd5b6104fa6126fa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561054757600080fd5b61054f612720565b6040518082815260200191505060405180910390f35b341561057057600080fd5b610586600480803590602001909190505061272d565b6040518080602001806020018b81526020018a81526020018981526020018881526020018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018415151515815260200183810383528d8181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b505083810382528c8181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156106f65780601f106106cb576101008083540402835291602001916106f6565b820191906000526020600020905b8154815290600101906020018083116106d957829003601f168201915b50509c5050505050505050505050505060405180910390f35b341561071a57600080fd5b6107226127bb565b6040518082815260200191505060405180910390f35b341561074357600080fd5b61074b6127c6565b6040518082815260200191505060405180910390f35b341561076c57600080fd5b61078260048080359060200190919050506127e6565b60405180806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815260200182810382528781815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561084f5780601f106108245761010080835404028352916020019161084f565b820191906000526020600020905b81548152906001019060200180831161083257829003601f168201915b5050965050505050505060405180910390f35b341561086d57600080fd5b610883600480803590602001909190505061284a565b005b341561089057600080fd5b6108e0600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506130d3565b60405180806020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001828103825288818151815260200191508051906020019080838360005b8381101561096e578082015181840152602081019050610953565b50505050905090810190601f16801561099b5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34156109b957600080fd5b6109c1613286565b6040518082815260200191505060405180910390f35b34156109e257600080fd5b610a0e600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506132f3565b6040518082815260200191505060405180910390f35b3415610a2f57600080fd5b610a3761330b565b005b3415610a4457600080fd5b610a70600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506137d8565b005b3415610a7d57600080fd5b610aa9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613930565b005b60015481565b6000806000806000806000600260149054906101000a900460ff16151515610ad857600080fd5b6001600260146101000a81548160ff0219169083151502179055508960011515600760006005548152602001908152602001600020600c01826040518082805190602001908083835b602083101515610b465780518252602082019150602081019050602083039250610b21565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff161515141515610b9557600080fd5b8a600115156003600760006005548152602001908152602001600020601601836040518082805190602001908083835b602083101515610bea5780518252602082019150602081019050602083039250610bc5565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054815481101515610c2a57fe5b906000526020600020906009020160080160149054906101000a900460ff16151514151515610c5857600080fd5b6007600060055481526020019081526020016000206015015442101515610c7e57600080fd5b6007600060055481526020019081526020016000209850886016018c6040518082805190602001908083835b602083101515610ccf5780518252602082019150602081019050602083039250610caa565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549750600388815481101515610d1457fe5b9060005260206000209060090201965060066001886002015401101515610d3a57600080fd5b86600401549550600115158a15151415610d6b57610d6866470de4df820000876139a590919063ffffffff16565b95505b853410151515610d7a57600080fd5b610d918760070154346139c390919063ffffffff16565b94506000876007015411156110d15788600d0160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600187600301541415610e9e5788600f0160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506110be565b600287600301541415610f26578860100160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506110bd565b600387600301541415610fae578860110160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506110bc565b600487600301541415611036578860120160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506110bb565b6005876003015414156110ba578860130160008860080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055505b5b5b5b5b6110d0876005015488600701546139dc565b5b6110f860646110ea603288613a5590919063ffffffff16565b613a9090919063ffffffff16565b9350611114848a600001600101546139a590919063ffffffff16565b896000016001018190555086600201600081548092919060010191905055508a87600001908051906020019061114b929190614f1e565b5060058760020154141561116857600087600701819055506111bf565b61118060028860040154613a5590919063ffffffff16565b87600701819055506111b66111a360028960040154613a5590919063ffffffff16565b88600401546139a590919063ffffffff16565b87600401819055505b338760080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550898760080160146101000a81548160ff0219169083151502179055506001600480548060010182816112349190614f9e565b9160005260206000209060050201600060a060405190810160405280602060405190810160405280600081525081526020013373ffffffffffffffffffffffffffffffffffffffff1681526020013481526020016000815260200189815250909190915060008201518160000190805190602001906112b4929190614fd0565b5060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015550500392508b60048481548110151561132f57fe5b90600052602060002090600502016000019080519060200190611353929190614f1e565b50866006016000815480929190600101919050555082876005018190555061138087600301548533613aab565b7f33ad373ff55ff0131d5dc1caa21daa4a081eb0707eb9efe075d2200bd2eecf438c3360405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156114155780820151818401526020810190506113fa565b50505050905090810190601f1680156114425780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150506000600260146101000a81548160ff02191690831515021790555050505050505050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060076000600554815260200190815260200160002060150154905090565b60008060008060076000600554815260200190815260200160002090506001851415611589578060020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816002016001015482600f0160008460020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093506118dd565b6002851415611636578060040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600401600101548260100160008460040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093506118dd565b60038514156116e3578060060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600601600101548260110160008460060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093506118dd565b6004851415611790578060080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600801600101548260120160008460080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093506118dd565b600585141561183d5780600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600a016001015482601301600084600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093506118dd565b8060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816000016001015482600d0160008460000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350935093505b509193909250565b6000806000806000806000806118f9613286565b90506003805490508111151561190e57600080fd5b600760006005548152602001908152602001600020601501544210151561193457600080fd5b60008a11151561194357600080fd5b60068a10151561195257600080fd5b66b1a2bc2ec5000097508796506001151589151514156119895761198666470de4df820000886139a590919063ffffffff16565b96505b86341015151561199857600080fd5b60001515600760006005548152602001908152602001600020600c018d6040518082805190602001908083835b6020831015156119ea57805182526020820191506020810190506020830392506119c5565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff161515141515611a3957600080fd5b611a54600266b1a2bc2ec50000613a5590919063ffffffff16565b9550611a708666b1a2bc2ec500006139a590919063ffffffff16565b9450600160038054806001018281611a889190615050565b91600052602060002090600902016000610140604051908101604052806020604051908101604052806000815250815260200160206040519081016040528060008152508152602001600181526020018f81526020016000815260200160008152602001600181526020018b8152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000151581525090919091506000820151816000019080519060200190611b3e929190614fd0565b506020820151816001019080519060200190611b5b929190614fd0565b5060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160080160146101000a81548160ff02191690831515021790555050500393508a600385815481101515611c1657fe5b90600052602060002090600902016000019080519060200190611c3a929190614f1e565b508c600385815481101515611c4b57fe5b906000526020600020906009020160080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508b600385815481101515611caa57fe5b90600052602060002090600902016001019080519060200190611cce929190614f1e565b5084600385815481101515611cdf57fe5b90600052602060002090600902016004018190555088600385815481101515611d0457fe5b906000526020600020906009020160080160146101000a81548160ff021916908315150217905550836007600060055481526020019081526020016000206016018d6040518082805190602001908083835b602083101515611d7b5780518252602082019150602081019050602083039250611d56565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055506001600760006005548152602001908152602001600020600c018d6040518082805190602001908083835b602083101515611e025780518252602082019150602081019050602083039250611ddd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550611e736064611e6560328a613a5590919063ffffffff16565b613a9090919063ffffffff16565b9250611ea383600760006005548152602001908152602001600020600001600101546139a590919063ffffffff16565b60076000600554815260200190815260200160002060000160010181905550600160048054806001018281611ed89190614f9e565b9160005260206000209060050201600060a060405190810160405280602060405190810160405280600081525081526020013373ffffffffffffffffffffffffffffffffffffffff168152602001348152602001600081526020018881525090919091506000820151816000019080519060200190611f58929190614fd0565b5060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015550500391508b600483815481101515611fd357fe5b90600052602060002090600502016000019080519060200190611ff7929190614f1e565b508160038581548110151561200857fe5b9060005260206000209060090201600501819055506120288a8433613aab565b7f28852447a61cd7468288ee09e688ab82ac6561117c6abc695290ade7479086a18c3360405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156120bd5780820151818401526020810190506120a2565b50505050905090810190601f1680156120ea5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150505050505050505050505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561216557600080fd5b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081141515156121b657600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156121dc57600080fd5b6121f1816001546139c390919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561227857fe5b5050565b6000803391506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081141515156122d357600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156122f957600080fd5b61230e816001546139c390919063ffffffff16565b60018190555060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561239557fe5b5050565b8160011515600760006005548152602001908152602001600020600c01826040518082805190602001908083835b6020831015156123ec57805182526020820191506020810190506020830392506123c7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16151514151561243b57600080fd5b82338073ffffffffffffffffffffffffffffffffffffffff166003600760006005548152602001908152602001600020601601846040518082805190602001908083835b6020831015156124a4578051825260208201915060208101905060208303925061247f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020548154811015156124e457fe5b906000526020600020906009020160080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561253857600080fd5b60011515841515141561255c5766470de4df820000341015151561255b57600080fd5b5b836003600760006005548152602001908152602001600020601601876040518082805190602001908083835b6020831015156125ad5780518252602082019150602081019050602083039250612588565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020548154811015156125ed57fe5b906000526020600020906009020160080160146101000a81548160ff021916908315150217905550600034111561264b5761264a600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1634613f44565b5b5050505050565b66b1a2bc2ec5000081565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126b957600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60055481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600380549050905090565b60038181548110151561273c57fe5b9060005260206000209060090201600091509050806000019080600101908060020154908060030154908060040154908060050154908060060154908060070154908060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060080160149054906101000a900460ff1690508a565b66470de4df82000081565b600060076000600554815260200190815260200160002060140154905090565b6004818154811015156127f557fe5b906000526020600020906005020160009150905080600001908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154905085565b600080600080600080600060076000600554815260200190815260200160002060150154421015151561287c57600080fd5b60076000600554815260200190815260200160002096506001881480156128f75750600073ffffffffffffffffffffffffffffffffffffffff168760020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b801561290a575060008760020160010154115b156129f45786600201600101543073ffffffffffffffffffffffffffffffffffffffff16311015151561293c57600080fd5b61296a606461295c600a8a60020160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9550612998600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687613f44565b6129e28760020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166129dd888a600201600101546139c390919063ffffffff16565b613f44565b60008760020160010181905550612f78565b600288148015612a585750600073ffffffffffffffffffffffffffffffffffffffff168760040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015612a6b575060008760040160010154115b15612b555786600401600101543073ffffffffffffffffffffffffffffffffffffffff163110151515612a9d57600080fd5b612acb6064612abd600a8a60040160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9450612af9600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686613f44565b612b438760040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612b3e878a600401600101546139c390919063ffffffff16565b613f44565b60008760040160010181905550612f77565b600388148015612bb95750600073ffffffffffffffffffffffffffffffffffffffff168760060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015612bcc575060008760060160010154115b15612cb65786600601600101543073ffffffffffffffffffffffffffffffffffffffff163110151515612bfe57600080fd5b612c2c6064612c1e600a8a60060160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9350612c5a600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685613f44565b612ca48760060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612c9f868a600601600101546139c390919063ffffffff16565b613f44565b60008760060160010181905550612f76565b600488148015612d1a5750600073ffffffffffffffffffffffffffffffffffffffff168760080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015612d2d575060008760080160010154115b15612e175786600801600101543073ffffffffffffffffffffffffffffffffffffffff163110151515612d5f57600080fd5b612d8d6064612d7f600a8a60080160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9250612dbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684613f44565b612e058760080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e00858a600801600101546139c390919063ffffffff16565b613f44565b60008760080160010181905550612f75565b600588148015612e7b5750600073ffffffffffffffffffffffffffffffffffffffff1687600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015612e8e5750600087600a0160010154115b15612f745786600a01600101543073ffffffffffffffffffffffffffffffffffffffff163110151515612ec057600080fd5b612eee6064612ee0600a8a600a0160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9150612f1c600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613f44565b612f6687600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612f61848a600a01600101546139c390919063ffffffff16565b613f44565b600087600a01600101819055505b5b5b5b5b600073ffffffffffffffffffffffffffffffffffffffff168760000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015612fe3575060008760000160010154115b156130c95786600001600101543073ffffffffffffffffffffffffffffffffffffffff16311015151561301557600080fd5b6130436064613035600a8a60000160010154613a5590919063ffffffff16565b613a9090919063ffffffff16565b9050613071600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613f44565b6130bb8760000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166130b6838a600001600101546139c390919063ffffffff16565b613f44565b600087600001600101819055505b5050505050505050565b6130db615082565b6000806000806000806000600760006005548152602001908152602001600020601601896040518082805190602001908083835b602083101515613134578051825260208201915060208101905060208303925061310f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054915060038281548110151561317957fe5b90600052602060002090600902019050806000018160040154826005015483600601548460080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560080160149054906101000a900460ff16858054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132685780601f1061323d57610100808354040283529160200191613268565b820191906000526020600020905b81548152906001019060200180831161324b57829003601f168201915b50505050509550975097509750975097509750505091939550919395565b6000806000600191505b60088210156132ed5762015180820260076000600554815260200190815260200160002060140154014210156132e05781600a02905060468111156132d857604692506132ee565b8092506132ee565b8180600101925050613290565b5b505090565b60006020528060005260406000206000915090505481565b600060076000600554815260200190815260200160002060150154421015151561333457600080fd5b60076000600554815260200190815260200160002090506000816000016001015414151561336157600080fd5b600081600a016001015414151561337757600080fd5b6000816008016001015414151561338d57600080fd5b600081600601600101541415156133a357600080fd5b600081600401600101541415156133b957600080fd5b600081600201600101541415156133cf57600080fd5b600560008154809291906001019190505550610100604051908101604052806040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525081526020016040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815250815260200160008152602001600081525060076000600554815260200190815260200160002060008201518160000160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060208201518160020160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060408201518160040160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060608201518160060160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060808201518160080160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060a082015181600a0160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060c0820151816014015560e08201518160150155905050426007600060055481526020019081526020016000206014018190555062093a80420160076000600554815260200190815260200160002060150181905550600360006137c79190615096565b600460006137d591906150ba565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561383457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561387057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561398c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16ff5b60008082840190508381101515156139b957fe5b8091505092915050565b60008282111515156139d157fe5b818303905092915050565b60006004838154811015156139ed57fe5b906000526020600020906005020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600484815481101515613a3157fe5b906000526020600020906005020160030181905550613a508183613f44565b505050565b6000806000841415613a6a5760009150613a89565b8284029050828482811515613a7b57fe5b04141515613a8557fe5b8091505b5092915050565b6000808284811515613a9e57fe5b0490508091505092915050565b600760006005548152602001908152602001600020600e0160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550600760006005548152602001908152602001600020600d0160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055506001831415613c3557600760006005548152602001908152602001600020600f0160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550613c1182600760006005548152602001908152602001600020600201600101546139a590919063ffffffff16565b60076000600554815260200190815260200160002060020160010181905550613f35565b6002831415613cf55760076000600554815260200190815260200160002060100160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550613cd182600760006005548152602001908152602001600020600401600101546139a590919063ffffffff16565b60076000600554815260200190815260200160002060040160010181905550613f34565b6003831415613db55760076000600554815260200190815260200160002060110160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550613d9182600760006005548152602001908152602001600020600601600101546139a590919063ffffffff16565b60076000600554815260200190815260200160002060060160010181905550613f33565b6004831415613e755760076000600554815260200190815260200160002060120160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550613e5182600760006005548152602001908152602001600020600801600101546139a590919063ffffffff16565b60076000600554815260200190815260200160002060080160010181905550613f32565b6005831415613f315760076000600554815260200190815260200160002060130160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550613f1182600760006005548152602001908152602001600020600a01600101546139a590919063ffffffff16565b600760006005548152602001908152602001600020600a01600101819055505b5b5b5b5b613f3f3384613ff6565b505050565b613f95816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139a590919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fec816001546139a590919063ffffffff16565b6001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff1660076000600554815260200190815260200160002060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156140c5578160076000600554815260200190815260200160002060000160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614449565b600760006005548152602001908152602001600020600d01600060076000600554815260200190815260200160002060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760006005548152602001908152602001600020600d0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156142ff57600760006005548152602001908152602001600020600e01600060076000600554815260200190815260200160002060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760006005548152602001908152602001600020600e0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156142fa578160076000600554815260200190815260200160002060000160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b614448565b600760006005548152602001908152602001600020600d01600060076000600554815260200190815260200160002060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760006005548152602001908152602001600020600d0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115614447578160076000600554815260200190815260200160002060000160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b6144538282614457565b5050565b600181141561467e57600073ffffffffffffffffffffffffffffffffffffffff1660076000600554815260200190815260200160002060020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561452f578160076000600554815260200190815260200160002060020160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614679565b600760006005548152602001908152602001600020600f01600060076000600554815260200190815260200160002060020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760006005548152602001908152602001600020600f0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515614678578160076000600554815260200190815260200160002060020160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b614f1a565b60028114156148a557600073ffffffffffffffffffffffffffffffffffffffff1660076000600554815260200190815260200160002060040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614756578160076000600554815260200190815260200160002060040160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506148a0565b600760006005548152602001908152602001600020601001600060076000600554815260200190815260200160002060040160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460076000600554815260200190815260200160002060100160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151561489f578160076000600554815260200190815260200160002060040160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b614f19565b6003811415614acc57600073ffffffffffffffffffffffffffffffffffffffff1660076000600554815260200190815260200160002060060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561497d578160076000600554815260200190815260200160002060060160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614ac7565b600760006005548152602001908152602001600020601101600060076000600554815260200190815260200160002060060160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460076000600554815260200190815260200160002060110160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515614ac6578160076000600554815260200190815260200160002060060160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b614f18565b6004811415614cf357600073ffffffffffffffffffffffffffffffffffffffff1660076000600554815260200190815260200160002060080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614ba4578160076000600554815260200190815260200160002060080160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614cee565b600760006005548152602001908152602001600020601201600060076000600554815260200190815260200160002060080160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460076000600554815260200190815260200160002060120160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515614ced578160076000600554815260200190815260200160002060080160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b614f17565b6005811415614f1657600073ffffffffffffffffffffffffffffffffffffffff16600760006005548152602001908152602001600020600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614dcb5781600760006005548152602001908152602001600020600a0160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614f15565b6007600060055481526020019081526020016000206013016000600760006005548152602001908152602001600020600a0160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460076000600554815260200190815260200160002060130160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515614f145781600760006005548152602001908152602001600020600a0160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b5b5b5b5b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614f5f57805160ff1916838001178555614f8d565b82800160010185558215614f8d579182015b82811115614f8c578251825591602001919060010190614f71565b5b509050614f9a91906150de565b5090565b815481835581811511614fcb57600502816005028360005260206000209182019101614fca9190615103565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061501157805160ff191683800117855561503f565b8280016001018555821561503f579182015b8281111561503e578251825591602001919060010190615023565b5b50905061504c91906150de565b5090565b81548183558181151161507d5760090281600902836000526020600020918201910161507c9190615171565b5b505050565b602060405190810160405280600081525090565b50805460008255600902906000526020600020908101906150b79190615171565b50565b50805460008255600502906000526020600020908101906150db9190615103565b50565b61510091905b808211156150fc5760008160009055506001016150e4565b5090565b90565b61516e91905b8082111561516a5760008082016000615122919061521b565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560028201600090556003820160009055600482016000905550600501615109565b5090565b90565b61521891905b808211156152145760008082016000615190919061521b565b6001820160006151a0919061521b565b6002820160009055600382016000905560048201600090556005820160009055600682016000905560078201600090556008820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556008820160146101000a81549060ff021916905550600901615177565b5090565b90565b50805460018160011615610100020316600290046000825580601f106152415750615260565b601f01602090049060005260206000209081019061525f91906150de565b5b505600a165627a7a72305820f0ea0cf9a1e087fbe62ddddd208584a76a41f6c57859149175d2d005c59a7a1a0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008c7d96da59d23b50b9eeefdacf58a5fce62b35b5000000000000000000000000000000000000000000000000000000005acbc861
-----Decoded View---------------
Arg [0] : _bookerAddress (address): 0x8C7D96DA59D23B50b9eEefdACf58A5fCe62B35b5
Arg [1] : _startTime (uint256): 1523304545
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000008c7d96da59d23b50b9eeefdacf58a5fce62b35b5
Arg [1] : 000000000000000000000000000000000000000000000000000000005acbc861
Swarm Source
bzzr://f0ea0cf9a1e087fbe62ddddd208584a76a41f6c57859149175d2d005c59a7a1a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 24 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.