Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 237 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Attack | 4144353 | 3048 days ago | IN | 0 ETH | 0.00612164 | ||||
| Attack | 4075630 | 3064 days ago | IN | 0 ETH | 0.0071064 | ||||
| Attack | 4066819 | 3066 days ago | IN | 0 ETH | 0.0038417 | ||||
| Attack | 3333141 | 3201 days ago | IN | 0 ETH | 0.00801572 | ||||
| Attack | 3168549 | 3228 days ago | IN | 0 ETH | 0.00511174 | ||||
| Attack | 3160741 | 3230 days ago | IN | 0 ETH | 0.007068 | ||||
| Attack | 3159676 | 3230 days ago | IN | 0 ETH | 0.00603522 | ||||
| Attack | 3149461 | 3232 days ago | IN | 0 ETH | 0.00996608 | ||||
| Attack | 3147999 | 3232 days ago | IN | 0 ETH | 0.00522308 | ||||
| Attack | 3057610 | 3247 days ago | IN | 0 ETH | 0.00541174 | ||||
| Attack | 3051452 | 3248 days ago | IN | 0 ETH | 0.01067048 | ||||
| Attack | 3047226 | 3249 days ago | IN | 0 ETH | 0.0087342 | ||||
| Attack | 3046082 | 3249 days ago | IN | 0 ETH | 0.0085854 | ||||
| Attack | 3045015 | 3249 days ago | IN | 0 ETH | 0.0085854 | ||||
| Attack | 3043516 | 3249 days ago | IN | 0 ETH | 0.00631617 | ||||
| Build City | 3023505 | 3252 days ago | IN | 0 ETH | 0.01645018 | ||||
| Attack | 3005772 | 3255 days ago | IN | 0 ETH | 0.00621944 | ||||
| Attack | 3001646 | 3256 days ago | IN | 0 ETH | 0.00621944 | ||||
| Attack | 2988762 | 3258 days ago | IN | 0 ETH | 0.00685554 | ||||
| Attack | 2984782 | 3259 days ago | IN | 0 ETH | 0.00631659 | ||||
| Attack | 2975648 | 3260 days ago | IN | 0 ETH | 0.00759784 | ||||
| Attack | 2974460 | 3261 days ago | IN | 0 ETH | 0.00583312 | ||||
| Attack | 2972316 | 3261 days ago | IN | 0 ETH | 0.00397016 | ||||
| Build City | 2972190 | 3261 days ago | IN | 0 ETH | 0.02025236 | ||||
| Build City | 2972186 | 3261 days ago | IN | 0 ETH | 0.019 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 2440530 | 3349 days ago | 0 ETH | ||||
| Transfer | 2440527 | 3349 days ago | 0 ETH | ||||
| Transfer | 2439600 | 3349 days ago | 0 ETH | ||||
| Transfer | 2439594 | 3349 days ago | 0 ETH | ||||
| Transfer | 2439592 | 3349 days ago | 0 ETH | ||||
| Transfer | 2439149 | 3349 days ago | 0 ETH | ||||
| Transfer | 2439074 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438948 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438936 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438863 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438724 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438517 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438507 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438465 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438459 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438438 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438435 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438433 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438388 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438383 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438332 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438321 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438287 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438276 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438264 | 3349 days ago | 0 ETH |
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
EtherizationUtils2
Compiler Version
v0.3.5-nightly.2016.8.8+commit.c3ed550
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2016-09-16
*/
contract Etherization {
// 1 eth starting price
uint public START_PRICE = 1000000000000000000;
// 0.8 eth city build price
uint public CITY_PRICE = 800000000000000000;
// 0.5 eth building build price
uint public BUILDING_PRICE = 500000000000000000;
// 0.2 eth unit build price
uint public UNIT_PRICE = 200000000000000000;
// 0.02 eth unit maintenance price
uint public MAINT_PRICE = 20000000000000000;
// 0.1 eth min withdraw amount to prevent spam
uint public MIN_WTH = 100000000000000000;
// minimum time to wait between moves in seconds
uint public WAIT_TIME = 14400;
uint MAP_ROWS = 34;
uint MAP_COLS = 34;
struct City {
uint owner;
string name;
// 0 - quarry, 1 - farm, 2 - woodworks, 3 - metalworks, 4 -stables
bool[5] buildings;
// 1 - pikemen, 2 - swordsmen, 3 - horsemen
uint[10] units; //maximum num of units per city 10
uint[2] rowcol;
int previousID;
int nextID;
}
struct Player {
// Player address
address etherAddress;
// Their name
string name;
// Their treasury balance
uint treasury;
// Their capitol
uint capitol;
// Number of cities the player has under control
uint numCities;
uint numUnits;
// When was their last move (based on block.timestamp)
uint lastTimestamp;
}
Player player;
Player[] public players;
uint public numPlayers = 0;
mapping(address => uint) playerIDs;
mapping(uint => uint) public playerMsgs;
City city;
City[] public cities;
uint public numCities = 0;
uint[] public quarryCities;
uint[] public farmCities;
uint[] public woodworksCities;
uint[] public metalworksCities;
uint[] public stablesCities;
uint[34][34] public map;
address wizardAddress;
address utilsAddress;
address utilsAddress2;
// Sum of all players' balances
uint public totalBalances = 0;
// Used to ensure only the owner can do some things.
modifier onlywizard { if (msg.sender == wizardAddress) _ }
// Used to ensure only the utils contract can do some things.
modifier onlyutils { if (msg.sender == utilsAddress || msg.sender == utilsAddress2) _ }
// Sets up defaults.
function Etherization() {
wizardAddress = msg.sender;
}
function start(string playerName, string cityName, uint row, uint col, uint rowref, uint colref) {
// If they paid too little, reject and refund their money.
if (msg.value < START_PRICE) {
//msg.sender.send(msg.value);
//playerMsgs[msg.sender] = "Not enough ether sent to found a city and start playing. Sending back any eth sent...";
return;
}
// If the player already exists
if (playerIDs[msg.sender] > 0) {
//msg.sender.send(msg.value);
//playerMsgs[msg.sender] = "You already founded an etherization. Lookup your player ID by calling getMyPlayerID(). Sending back any eth sent...";
return;
}
player.etherAddress = msg.sender;
player.name = playerName;
player.treasury = msg.value;
totalBalances += msg.value;
player.capitol = numCities;
player.numCities = 1;
player.numUnits = 1;
players.push(player);
city.owner = numPlayers;
city.name = cityName;
// the first city in the game has a quarry and a farm by default
if(numCities <= 0) {
city.buildings[0] = true;
quarryCities.push(0);
city.buildings[1] = true;
farmCities.push(0);
city.rowcol[0] = 10;
city.rowcol[1] = 10;
map[10][10] = numPlayers+1;
} else {
city.buildings[0] = false;
city.buildings[1] = false;
if(row>33 || col>33 || rowref>33 || colref>33 || int(row)-int(rowref) > int(1) || int(row)-int(rowref) < int(-1) || int(col)-int(colref) > int(1) || int(col)-int(colref) < int(-1) || map[row][col]>0 || map[rowref][colref]<=0) {
throw;
}
city.rowcol[0] = row;
city.rowcol[1] = col;
map[row][col] = numPlayers+1;
players[numPlayers].treasury -= START_PRICE;
// distribute build funds to production type building owners
uint productionCut;
uint i;
productionCut = START_PRICE / quarryCities.length;
for(i=0; i < quarryCities.length; i++) {
players[cities[quarryCities[i]].owner].treasury += productionCut;
}
}
city.units[0] = 1; //pikemen guards a city by default
city.previousID = -1;
city.nextID = -1;
cities.push(city);
playerIDs[msg.sender] = numPlayers+1; //to distinguish it from the default 0
numPlayers++;
numCities++;
playerMsgs[playerIDs[msg.sender]-1] = 1 + row*100 + col*10000;
players[numPlayers-1].lastTimestamp = now;
}
function deposit() {
players[playerIDs[msg.sender]-1].treasury += msg.value;
totalBalances += msg.value;
}
function withdraw(uint amount) {
if(int(playerIDs[msg.sender])-1 < 0) {
throw;
}
uint playerID = playerIDs[msg.sender]-1;
if(timePassed(playerID) < WAIT_TIME) {
playerMsgs[playerIDs[msg.sender]-1] = 2;
return;
}
if(amount < players[playerID].treasury && amount > MIN_WTH) {
players[playerID].treasury -= amount;
totalBalances -= amount;
players[playerID].etherAddress.send((amount*99)/100); //keep 1% as commission
}
}
function getMyPlayerID() constant returns (int ID) {
return int(playerIDs[msg.sender])-1;
}
function getMyMsg() constant returns (uint s) {
return playerMsgs[playerIDs[msg.sender]-1];
}
function getCity(uint cityID) constant returns (uint owner, string cityName, bool[5] buildings, uint[10] units, uint[2] rowcol, int previousID, int nextID) {
return (cities[cityID].owner, cities[cityID].name, cities[cityID].buildings, cities[cityID].units, cities[cityID].rowcol, cities[cityID].previousID, cities[cityID].nextID);
}
function timePassed(uint playerID) constant returns (uint tp) {
return (now - players[playerID].lastTimestamp);
}
// Used only by the wizard to check his commission.
function getCommission() onlywizard constant returns (uint com) {
return this.balance-totalBalances;
}
// Used only by the wizard to collect his commission.
function sweepCommission(uint amount) onlywizard {
if(amount < this.balance-totalBalances) {
wizardAddress.send(amount);
}
}
function setUtils(address a) onlywizard {
utilsAddress = a;
}
function setUtils2(address a) onlywizard {
utilsAddress2 = a;
}
function getPlayerID(address sender) onlyutils constant returns (uint playerID) {
if(int(playerIDs[sender])-1 < 0) {
throw;
}
return playerIDs[sender]-1;
}
function getWwLength() constant returns (uint length) {
return woodworksCities.length;
}
function getMwLength() constant returns (uint length) {
return metalworksCities.length;
}
function getStLength() constant returns (uint length) {
return stablesCities.length;
}
function getFmLength() constant returns (uint length) {
return farmCities.length;
}
function getQrLength() constant returns (uint length) {
return quarryCities.length;
}
function setMsg(address sender, uint s) onlyutils {
playerMsgs[playerIDs[sender]-1] = s;
}
function setNumCities(uint nc) onlyutils {
numCities = nc;
}
function setUnit(uint cityID, uint i, uint unitType) onlyutils {
cities[cityID].units[i] = unitType;
}
function setOwner(uint cityID, uint owner) onlyutils {
cities[cityID].owner = owner;
}
function setName(uint cityID, string name) onlyutils {
cities[cityID].name = name;
}
function setPreviousID(uint cityID, int previousID) onlyutils {
cities[cityID].previousID = previousID;
}
function setNextID(uint cityID, int nextID) onlyutils {
cities[cityID].nextID = nextID;
}
function setRowcol(uint cityID, uint[2] rowcol) onlyutils {
cities[cityID].rowcol = rowcol;
}
function setMap(uint row, uint col, uint ind) onlyutils {
map[row][col] = ind;
}
function setCapitol(uint playerID, uint capitol) onlyutils {
players[playerID].capitol = capitol;
}
function setNumUnits(uint playerID, uint numUnits) onlyutils {
players[playerID].numUnits = numUnits;
}
function setNumCities(uint playerID, uint numCities) onlyutils {
players[playerID].numCities = numCities;
}
function setTreasury(uint playerID, uint treasury) onlyutils {
players[playerID].treasury = treasury;
}
function setLastTimestamp(uint playerID, uint timestamp) onlyutils {
players[playerID].lastTimestamp = timestamp;
}
function setBuilding(uint cityID, uint buildingType) onlyutils {
cities[cityID].buildings[buildingType] = true;
if(buildingType == 0) {
quarryCities.push(cityID);
} else if(buildingType == 1) {
farmCities.push(cityID);
} else if(buildingType == 2) {
woodworksCities.push(cityID);
} else if(buildingType == 3) {
metalworksCities.push(cityID);
} else if(buildingType == 4) {
stablesCities.push(cityID);
}
}
function pushCity() onlyutils {
city.buildings[0] = false;
city.buildings[1] = false;
cities.push(city);
}
}
contract EtherizationUtils2 {
uint playerID;
uint ownerS;
uint ownerT;
uint numUnitsS;
uint numCitiesS;
uint treasuryS;
uint numUnitsT;
uint numCitiesT;
uint treasuryT;
uint j;
uint bestType;
uint bestTypeInd;
uint ran;
bool win;
bool cityCaptured = false;
Etherization public e;
address wizardAddress;
// Used to ensure only the owner can do some things.
modifier onlywizard { if (msg.sender == wizardAddress) _ }
function EtherizationUtils2() {
wizardAddress = msg.sender;
}
function sete(address a) onlywizard {
e = Etherization(a);
}
function attack(uint source, uint target, uint[] unitIndxs) {
uint[2] memory sRowcol;
uint[2] memory tRowcol;
uint[10] memory unitsS;
uint[10] memory unitsT;
playerID = e.getPlayerID(msg.sender);
if(e.timePassed(playerID) < e.WAIT_TIME()) {
e.setMsg(msg.sender, 2);
return;
}
(ownerS,,,unitsS,sRowcol,,) = e.getCity(source);
(ownerT,,,unitsT,tRowcol,,) = e.getCity(target);
(,,treasuryS,,numCitiesS,numUnitsS,) = e.players(ownerS);
(,,treasuryT,,numCitiesT,numUnitsT,) = e.players(ownerT);
if(playerID != ownerS || playerID == ownerT || int(sRowcol[0])-int(tRowcol[0]) > int(1) || int(sRowcol[0])-int(tRowcol[0]) < int(-1) || int(sRowcol[1])-int(tRowcol[1]) > int(1) || int(sRowcol[1])-int(tRowcol[1]) < int(-1)) {
e.setMsg(msg.sender, 17);
return;
}
cityCaptured = false;
for(uint i=0; i<unitIndxs.length; i++) {
bestType = 0;
win = false;
ran = uint32(block.blockhash(block.number-1-i))/42949673; //random number between 0 and 100 (divide by MAX_UINT32/100)
// if attacked by pikemen - try to find swordsmen or next best unit
if(unitsS[unitIndxs[i]]==1) {
bestType = 0;
bestTypeInd = 0;
for(j=0; j<unitsT.length; j++) {
if(unitsT[j] == 1 && bestType!=2) {
bestType = 1;
bestTypeInd = j;
} else if(unitsT[j] == 2) {
bestType = 2;
bestTypeInd = j;
break;
} else if(unitsT[j] == 3 && bestType!=2 && bestType!=1) {
bestType = 3;
bestTypeInd = j;
}
}
if(bestType==1) {
if(ran > 50) {
win = true;
}
} else if(bestType==2) {
if(ran > 75) {
win = true;
}
} else if(bestType==3) {
if(ran > 25) {
win = true;
}
} else {
cityCaptured = true;
break;
}
}
// if attacked by swordsmen - try to find horsemen or next best unit
else if(unitsS[unitIndxs[i]]==2) {
bestType = 0;
bestTypeInd = 0;
for(j=0; j<unitsT.length; j++) {
if(unitsT[j] == 2 && bestType!=3) {
bestType = 2;
bestTypeInd = j;
} else if(unitsT[j] == 3) {
bestType = 3;
bestTypeInd = j;
break;
} else if(unitsT[j] == 1 && bestType!=3 && bestType!=2) {
bestType = 1;
bestTypeInd = j;
}
}
if(bestType==1) {
if(ran > 25) {
win = true;
}
} else if(bestType==2) {
if(ran > 50) {
win = true;
}
} else if(bestType==3) {
if(ran > 75) {
win = true;
}
} else {
cityCaptured = true;
break;
}
}
// if attacked by horsemen - try to find pikemen or next best unit
else if(unitsS[unitIndxs[i]]==3) {
bestType = 0;
bestTypeInd = 0;
for(j=0; j<unitsT.length; j++) {
if(unitsT[j] == 3 && bestType!=1) {
bestType = 3;
bestTypeInd = j;
} else if(unitsT[j] == 1) {
bestType = 1;
bestTypeInd = j;
break;
} else if(unitsT[j] == 2 && bestType!=1 && bestType!=3) {
bestType = 2;
bestTypeInd = j;
}
}
if(bestType==1) {
if(ran > 75) {
win = true;
}
} else if(bestType==2) {
if(ran > 25) {
win = true;
}
} else if(bestType==3) {
if(ran > 50) {
win = true;
}
} else {
cityCaptured = true;
break;
}
}
// if attacked by no-unit do nothing
else {
continue;
}
if(cityCaptured) {
break;
}
if(win) {
unitsT[bestTypeInd] = 0; //kill defending unit
e.setUnit(target, bestTypeInd, 0); //kill defending unit
numUnitsT--;
e.setNumUnits(ownerT, numUnitsT);
} else {
unitsS[unitIndxs[i]] = 0; //kill attacking unit
e.setUnit(source, unitIndxs[i], 0); //kill attacking unit
numUnitsS--;
e.setNumUnits(playerID, numUnitsS);
}
}
if(cityCaptured) {
//march into the city
j = 0;
for(; i < unitIndxs.length; i++) {
e.setUnit(target, j, unitsS[unitIndxs[i]]);
e.setUnit(source, unitIndxs[i], 0);
j++;
}
//plunder treasury fraction
uint treasuryFraction = treasuryT/numCitiesT;
e.setNumCities(ownerT, numCitiesT-1);
e.setTreasury(ownerT, treasuryT-treasuryFraction);
e.setTreasury(playerID, treasuryS+treasuryFraction);
e.setNumCities(playerID, numCitiesS+1);
int previousID;
int nextID;
uint capitol;
//remove the link to the city in losing player's city chai
(,,,,,,previousID,nextID) = e.getCity(target);
if(previousID >= 0) {
e.setNextID(uint(previousID), nextID);
(,,,capitol,,,) = e.players(ownerT);
if(capitol == target) {
e.setCapitol(capitol, uint(previousID));
}
}
if(nextID >= 0) {
e.setPreviousID(uint(nextID), previousID);
if(capitol == target) {
e.setCapitol(capitol, uint(nextID));
}
}
e.setOwner(target, ownerS);
e.setMap(tRowcol[0], tRowcol[1], ownerS+1);
(,,,,,,previousID,nextID) = e.getCity(source);
//add the city to winning player's city chain
e.setPreviousID(target, int(source));
e.setNextID(target, nextID);
if(nextID >= 0) {
e.setPreviousID(uint(nextID), int(target));
}
e.setNextID(source, int(target));
e.setMsg(msg.sender, 18 + tRowcol[0]*100 + tRowcol[1]*10000);
} else {
e.setMsg(msg.sender, 19 + tRowcol[0]*100 + tRowcol[1]*10000);
}
e.setLastTimestamp(playerID, now);
}
function buildCity(string cityName, uint[2] rowcol, uint[2] rowcolref) {
playerID = e.getPlayerID(msg.sender);
if(e.timePassed(playerID) < e.WAIT_TIME()) {
e.setMsg(msg.sender, 2);
return;
}
uint treasury;
uint numCities;
uint numUnits;
uint capitol;
(,,treasury,capitol,numCities,numUnits,) = e.players(playerID);
if(treasury < e.CITY_PRICE()) {
e.setMsg(msg.sender, 6);
return;
}
e.setTreasury(playerID, treasury-e.CITY_PRICE());
if(rowcol[0]>33 || rowcol[1]>33 || rowcolref[0]>33 || rowcolref[1]>33 || int(rowcol[0])-int(rowcolref[0]) > int(1) || int(rowcol[0])-int(rowcolref[0]) < int(-1) || int(rowcol[1])-int(rowcolref[1]) > int(1) || int(rowcol[1])-int(rowcolref[1]) < int(-1) || e.map(rowcol[0],rowcol[1])>0 || e.map(rowcolref[0],rowcolref[1])<=0) {
throw;
}
// distribute build funds to production type building owners
uint productionCut;
uint owner;
int i;
productionCut = e.CITY_PRICE() / e.getQrLength();
for(i=0; uint(i) < e.getQrLength(); i++) {
(owner,) = e.cities(e.quarryCities(uint(i)));
(,,treasury,,,,) = e.players(owner);
e.setTreasury(owner, treasury+productionCut);
}
e.setNumCities(playerID, numCities+1);
e.setNumUnits(playerID, numUnits+1);
e.pushCity();
e.setOwner(e.numCities(), playerID);
e.setName(e.numCities(), cityName);
e.setUnit(e.numCities(), 0, 1); //pikemen guards a city by default
e.setRowcol(e.numCities(), rowcol);
e.setMap(rowcol[0], rowcol[1], playerID+1);
// if player has no cities currently
if(numCities<1) {
e.setCapitol(playerID, e.numCities());
e.setPreviousID(e.numCities(), -1);
} else {
int nextID;
i = int(capitol);
(,nextID) = e.getCity(uint(i));
for(; nextID >= 0 ;) {
i = nextID;
(,nextID) = e.getCity(uint(i));
}
e.setNextID(uint(i), int(e.numCities()));
e.setPreviousID(e.numCities(), i);
}
e.setNextID(e.numCities(), -1);
e.setNumCities(e.numCities()+1);
e.setMsg(msg.sender, 20 + rowcol[0]*100 + rowcol[1]*10000);
e.setLastTimestamp(playerID, now);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"a","type":"address"}],"name":"sete","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"source","type":"uint256"},{"name":"target","type":"uint256"},{"name":"unitIndxs","type":"uint256[]"}],"name":"attack","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"cityName","type":"string"},{"name":"rowcol","type":"uint256[2]"},{"name":"rowcolref","type":"uint256[2]"}],"name":"buildCity","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"e","outputs":[{"name":"","type":"address"}],"type":"function"},{"inputs":[],"type":"constructor"}]Contract Creation Code
60606040526000600d60016101000a81548160ff021916908302179055505b33600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b614422806100586000396000f360606040526000357c01000000000000000000000000000000000000000000000000000000009004806374331be71461005a578063a843c97f14610072578063b0ad38c4146100d7578063ffae15ba1461018957610058565b005b61007060048080359060200190919050506101c2565b005b6100d560048080359060200190919080359060200190919080359060200190820180359060200191919080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050909091905050610248565b005b6101876004808035906020019082018035906020019191908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505090909190806040019060028060200260405190810160405280929190826002602002808284378201915050505050909091908060400190600280602002604051908101604052809291908260026020028082843782019150505050509090919050506124c4565b005b61019660048050506143fc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102445780600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b5b50565b6040604051908101604052806002905b6000815260200190600190039081610258579050506040604051908101604052806002905b600081526020019060019003908161027d5790505061014060405190810160405280600a905b60008152602001906001900390816102a35790505061014060405190810160405280600a905b60008152602001906001900390816102c95790505060006000600060006000600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56556a933604051827c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060005081905550600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663388aef5c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfed9199600060005054604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150101561057857600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336002604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050506124b6565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518d604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939450909192935090505060016000829d50839b508491905055505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518c604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939450909192935090505060026000829c50839a508491905055505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb600160005054604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925050600560006004600060036000869190505585919050558491905055505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb600260005054604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f11561000257505050604051805190602001805190602001805190602001805190602001805190602001805190602001805190602001509091929394955090919293945090919250506008600060076000600660008691905055859190505584919050555050506001600050546000600050541415806109245750600260005054600060005054145b8061095557506001886000600281101561000257909060200201518a60006002811015610002579090602002015103135b806109a557507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886000600281101561000257909060200201518a60006002811015610002579090602002015103125b806109d657506001886001600281101561000257909060200201518a60016002811015610002579090602002015103135b80610a2657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886001600281101561000257909060200201518a60016002811015610002579090602002015103125b15610ada57600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336011604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050506124b6565b6000600d60016101000a81548160ff02191690830217905550600094505b8951851015611563576000600a600050819055506000600d60006101000a81548160ff0219169083021790555063028f5c29856001430303406001900463ffffffff160463ffffffff16600c600050819055506001878b8781518110156100025790602001906020020151600a81101561000257909060200201511415610d8d576000600a600050819055506000600b6000508190555060006009600050819055505b8550600a6009600050541015610cb757600186600960005054600a8110156100025790906020020151148015610bd757506002600a6000505414155b15610bfb576001600a60005081905550600960005054600b60005081905550610c9d565b600286600960005054600a81101561000257909060200201511415610c3d576002600a60005081905550600960005054600b60005081905550610cb756610c9c565b600386600960005054600a8110156100025790906020020151148015610c6957506002600a6000505414155b8015610c7b57506001600a6000505414155b15610c9b576003600a60005081905550600960005054600b600050819055505b5b5b5b6009600081815054809291906001019190505550610b9b565b6001600a600050541415610cf2576032600c600050541115610ced576001600d60006101000a81548160ff021916908302179055505b610d88565b6002600a600050541415610d2d57604b600c600050541115610d28576001600d60006101000a81548160ff021916908302179055505b610d87565b6003600a600050541415610d68576019600c600050541115610d63576001600d60006101000a81548160ff021916908302179055505b610d86565b6001600d60016101000a81548160ff02191690830217905550611563565b5b5b611218565b6002878b8781518110156100025790602001906020020151600a81101561000257909060200201511415610fcf576000600a600050819055506000600b6000508190555060006009600050819055505b8550600a6009600050541015610ef957600286600960005054600a8110156100025790906020020151148015610e1957506003600a6000505414155b15610e3d576002600a60005081905550600960005054600b60005081905550610edf565b600386600960005054600a81101561000257909060200201511415610e7f576003600a60005081905550600960005054600b60005081905550610ef956610ede565b600186600960005054600a8110156100025790906020020151148015610eab57506003600a6000505414155b8015610ebd57506002600a6000505414155b15610edd576001600a60005081905550600960005054600b600050819055505b5b5b5b6009600081815054809291906001019190505550610ddd565b6001600a600050541415610f34576019600c600050541115610f2f576001600d60006101000a81548160ff021916908302179055505b610fca565b6002600a600050541415610f6f576032600c600050541115610f6a576001600d60006101000a81548160ff021916908302179055505b610fc9565b6003600a600050541415610faa57604b600c600050541115610fa5576001600d60006101000a81548160ff021916908302179055505b610fc8565b6001600d60016101000a81548160ff02191690830217905550611563565b5b5b611217565b6003878b8781518110156100025790602001906020020151600a81101561000257909060200201511415611211576000600a600050819055506000600b6000508190555060006009600050819055505b8550600a600960005054101561113b57600386600960005054600a811015610002579090602002015114801561105b57506001600a6000505414155b1561107f576003600a60005081905550600960005054600b60005081905550611121565b600186600960005054600a811015610002579090602002015114156110c1576001600a60005081905550600960005054600b6000508190555061113b56611120565b600286600960005054600a81101561000257909060200201511480156110ed57506001600a6000505414155b80156110ff57506003600a6000505414155b1561111f576002600a60005081905550600960005054600b600050819055505b5b5b5b600960008181505480929190600101919050555061101f565b6001600a60005054141561117657604b600c600050541115611171576001600d60006101000a81548160ff021916908302179055505b61120c565b6002600a6000505414156111b1576019600c6000505411156111ac576001600d60006101000a81548160ff021916908302179055505b61120b565b6003600a6000505414156111ec576032600c6000505411156111e7576001600d60006101000a81548160ff021916908302179055505b61120a565b6001600d60016101000a81548160ff02191690830217905550611563565b5b5b611216565b611556565b5b5b600d60019054906101000a900460ff161561123257611563565b600d60009054906101000a900460ff16156113c157600086600b60005054600a8110156100025790906020020190908181526020015050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58c600b600050546000604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600660008181505480929190600190039190505550600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663755b5b75600260005054600660005054604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050611555565b6000878b8781518110156100025790602001906020020151600a8110156100025790906020020190908181526020015050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58d8c88815181101561000257906020019060200201516000604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600360008181505480929190600190039190505550600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663755b5b75600060005054600360005054604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b5b8480600101955050610af8565b600d60019054906101000a900460ff16156123435760006009600050819055505b895185101561172457600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58c6009600050548a8e8a81518110156100025790602001906020020151600a8110156100025790906020020151604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58d8c88815181101561000257906020019060200201516000604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f1156100025750505060096000818150548092919060010191905055505b8480600101955050611584565b600760005054600860005054049350600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638173b813600260005054600160076000505403604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf6002600050548660086000505403604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf6000600050548660056000505401604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638173b813600060005054600160046000505401604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518c604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939495509091929394509091929350909192509091508093508194505050600083121515611c9d57600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d9102f8484604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb600260005054604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091929350909150905050809150508a811415611c9c57600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638702735c8285604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b5b600082121515611dd757600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f9f5b688385604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050508a811415611dd657600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638702735c8284604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b5b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637acbfb658c600160005054604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373ffd969896000600281101561000257909060200201518a600160028110156100025790906020020151600160016000505401604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518d604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939495509091929394509091929350909192509091508093508194505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f9f5b688c8e604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d9102f8c84604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050506000821215156121d257600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f9f5b68838d604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d9102f8d8d604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336127108b6001600281101561000257909060200201510260648c6000600281101561000257909060200201510260120101604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f1156100025750505061241d565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336127108b6001600281101561000257909060200201510260648c6000600281101561000257909060200201510260130101604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db60006000505442604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b505050505050505050505050565b60006000600060006000600060006000600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56556a933604051827c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060005081905550600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663388aef5c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfed9199600060005054604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150101561276457600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336002604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050506143ef565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb600060005054604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f11561000257505050604051805190602001805190602001805190602001805190602001805190602001805190602001805190602001509091929394955090919293945050809950819a50829850839b5050505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5cc916c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015088101561298357600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336006604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050506143ef565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf600060005054600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5cc916c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508b03604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f1156100025750505060218a6000600281101561000257909060200201511180612adc575060218a600160028110156100025790906020020151115b80612af95750602189600060028110156100025790906020020151115b80612b165750602189600160028110156100025790906020020151115b80612b4757506001896000600281101561000257909060200201518b60006002811015610002579090602002015103135b80612b9757507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff896000600281101561000257909060200201518b60006002811015610002579090602002015103125b80612bc857506001896001600281101561000257909060200201518b60016002811015610002579090602002015103135b80612c1857507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff896001600281101561000257909060200201518b60016002811015610002579090602002015103125b80612ce357506000600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a90b91288c6000600281101561000257909060200201518d600160028110156100025790906020020151604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506020604051808303816000876161da5a03f1156100025750505060405180519060200150115b80612daf57506000600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a90b91288b6000600281101561000257909060200201518c600160028110156100025790906020020151604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506020604051808303816000876161da5a03f115610002575050506040518051906020015011155b15612db957610002565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a28db13604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5cc916c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015004935083506000915081505b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a28db13604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015082101561322f57600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe8e6a6385604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f115610002575050506040518051906020018051906020018051906020018051906020015090915090505080935050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb84604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080985050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf84868b01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b8180600101925050612edf565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638173b81360006000505460018a01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663755b5b7560006000505460018901604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eb495c2604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637acbfb65600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060005054604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe55932a600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508d604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156136635780820380516001836020036101000a031916815260200191505b5093505050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a5600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015060006001604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630381cb3b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508c604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826002602002808383829060006004602084601f0104600f02600301f150905001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373ffd9698b6000600281101561000257909060200201518c600160028110156100025790906020020151600160006000505401604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f115610002575050506001871015613c1e57600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638702735c600060005054600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f9f5b68600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614024565b8491508150600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d713065183604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939495509091929394509091929350909192509091509050809150505b600081121515613de5578091508150600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d713065183604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939495509091929394509091929350909192509091509050809150505b613cfa565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d9102f83600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f9f5b68600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015084604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d9102f600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638389f3536001600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015001604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336127108d6001600281101561000257909060200201510260648e6000600281101561000257909060200201510260140101604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db60006000505442604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b5050505050505050505050565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156
Deployed Bytecode
0x60606040526000357c01000000000000000000000000000000000000000000000000000000009004806374331be71461005a578063a843c97f14610072578063b0ad38c4146100d7578063ffae15ba1461018957610058565b005b61007060048080359060200190919050506101c2565b005b6100d560048080359060200190919080359060200190919080359060200190820180359060200191919080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050909091905050610248565b005b6101876004808035906020019082018035906020019191908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505090909190806040019060028060200260405190810160405280929190826002602002808284378201915050505050909091908060400190600280602002604051908101604052809291908260026020028082843782019150505050509090919050506124c4565b005b61019660048050506143fc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102445780600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b5b50565b6040604051908101604052806002905b6000815260200190600190039081610258579050506040604051908101604052806002905b600081526020019060019003908161027d5790505061014060405190810160405280600a905b60008152602001906001900390816102a35790505061014060405190810160405280600a905b60008152602001906001900390816102c95790505060006000600060006000600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56556a933604051827c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060005081905550600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663388aef5c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfed9199600060005054604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150101561057857600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336002604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050506124b6565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518d604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939450909192935090505060016000829d50839b508491905055505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518c604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939450909192935090505060026000829c50839a508491905055505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb600160005054604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925050600560006004600060036000869190505585919050558491905055505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb600260005054604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f11561000257505050604051805190602001805190602001805190602001805190602001805190602001805190602001805190602001509091929394955090919293945090919250506008600060076000600660008691905055859190505584919050555050506001600050546000600050541415806109245750600260005054600060005054145b8061095557506001886000600281101561000257909060200201518a60006002811015610002579090602002015103135b806109a557507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886000600281101561000257909060200201518a60006002811015610002579090602002015103125b806109d657506001886001600281101561000257909060200201518a60016002811015610002579090602002015103135b80610a2657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886001600281101561000257909060200201518a60016002811015610002579090602002015103125b15610ada57600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336011604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050506124b6565b6000600d60016101000a81548160ff02191690830217905550600094505b8951851015611563576000600a600050819055506000600d60006101000a81548160ff0219169083021790555063028f5c29856001430303406001900463ffffffff160463ffffffff16600c600050819055506001878b8781518110156100025790602001906020020151600a81101561000257909060200201511415610d8d576000600a600050819055506000600b6000508190555060006009600050819055505b8550600a6009600050541015610cb757600186600960005054600a8110156100025790906020020151148015610bd757506002600a6000505414155b15610bfb576001600a60005081905550600960005054600b60005081905550610c9d565b600286600960005054600a81101561000257909060200201511415610c3d576002600a60005081905550600960005054600b60005081905550610cb756610c9c565b600386600960005054600a8110156100025790906020020151148015610c6957506002600a6000505414155b8015610c7b57506001600a6000505414155b15610c9b576003600a60005081905550600960005054600b600050819055505b5b5b5b6009600081815054809291906001019190505550610b9b565b6001600a600050541415610cf2576032600c600050541115610ced576001600d60006101000a81548160ff021916908302179055505b610d88565b6002600a600050541415610d2d57604b600c600050541115610d28576001600d60006101000a81548160ff021916908302179055505b610d87565b6003600a600050541415610d68576019600c600050541115610d63576001600d60006101000a81548160ff021916908302179055505b610d86565b6001600d60016101000a81548160ff02191690830217905550611563565b5b5b611218565b6002878b8781518110156100025790602001906020020151600a81101561000257909060200201511415610fcf576000600a600050819055506000600b6000508190555060006009600050819055505b8550600a6009600050541015610ef957600286600960005054600a8110156100025790906020020151148015610e1957506003600a6000505414155b15610e3d576002600a60005081905550600960005054600b60005081905550610edf565b600386600960005054600a81101561000257909060200201511415610e7f576003600a60005081905550600960005054600b60005081905550610ef956610ede565b600186600960005054600a8110156100025790906020020151148015610eab57506003600a6000505414155b8015610ebd57506002600a6000505414155b15610edd576001600a60005081905550600960005054600b600050819055505b5b5b5b6009600081815054809291906001019190505550610ddd565b6001600a600050541415610f34576019600c600050541115610f2f576001600d60006101000a81548160ff021916908302179055505b610fca565b6002600a600050541415610f6f576032600c600050541115610f6a576001600d60006101000a81548160ff021916908302179055505b610fc9565b6003600a600050541415610faa57604b600c600050541115610fa5576001600d60006101000a81548160ff021916908302179055505b610fc8565b6001600d60016101000a81548160ff02191690830217905550611563565b5b5b611217565b6003878b8781518110156100025790602001906020020151600a81101561000257909060200201511415611211576000600a600050819055506000600b6000508190555060006009600050819055505b8550600a600960005054101561113b57600386600960005054600a811015610002579090602002015114801561105b57506001600a6000505414155b1561107f576003600a60005081905550600960005054600b60005081905550611121565b600186600960005054600a811015610002579090602002015114156110c1576001600a60005081905550600960005054600b6000508190555061113b56611120565b600286600960005054600a81101561000257909060200201511480156110ed57506001600a6000505414155b80156110ff57506003600a6000505414155b1561111f576002600a60005081905550600960005054600b600050819055505b5b5b5b600960008181505480929190600101919050555061101f565b6001600a60005054141561117657604b600c600050541115611171576001600d60006101000a81548160ff021916908302179055505b61120c565b6002600a6000505414156111b1576019600c6000505411156111ac576001600d60006101000a81548160ff021916908302179055505b61120b565b6003600a6000505414156111ec576032600c6000505411156111e7576001600d60006101000a81548160ff021916908302179055505b61120a565b6001600d60016101000a81548160ff02191690830217905550611563565b5b5b611216565b611556565b5b5b600d60019054906101000a900460ff161561123257611563565b600d60009054906101000a900460ff16156113c157600086600b60005054600a8110156100025790906020020190908181526020015050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58c600b600050546000604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600660008181505480929190600190039190505550600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663755b5b75600260005054600660005054604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050611555565b6000878b8781518110156100025790602001906020020151600a8110156100025790906020020190908181526020015050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58d8c88815181101561000257906020019060200201516000604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600360008181505480929190600190039190505550600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663755b5b75600060005054600360005054604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b5b8480600101955050610af8565b600d60019054906101000a900460ff16156123435760006009600050819055505b895185101561172457600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58c6009600050548a8e8a81518110156100025790602001906020020151600a8110156100025790906020020151604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58d8c88815181101561000257906020019060200201516000604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f1156100025750505060096000818150548092919060010191905055505b8480600101955050611584565b600760005054600860005054049350600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638173b813600260005054600160076000505403604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf6002600050548660086000505403604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf6000600050548660056000505401604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638173b813600060005054600160046000505401604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518c604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939495509091929394509091929350909192509091508093508194505050600083121515611c9d57600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d9102f8484604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb600260005054604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091929350909150905050809150508a811415611c9c57600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638702735c8285604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b5b600082121515611dd757600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f9f5b688385604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050508a811415611dd657600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638702735c8284604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b5b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637acbfb658c600160005054604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373ffd969896000600281101561000257909060200201518a600160028110156100025790906020020151600160016000505401604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518d604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939495509091929394509091929350909192509091508093508194505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f9f5b688c8e604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d9102f8c84604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050506000821215156121d257600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f9f5b68838d604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d9102f8d8d604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336127108b6001600281101561000257909060200201510260648c6000600281101561000257909060200201510260120101604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f1156100025750505061241d565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336127108b6001600281101561000257909060200201510260648c6000600281101561000257909060200201510260130101604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db60006000505442604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b505050505050505050505050565b60006000600060006000600060006000600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56556a933604051827c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060005081905550600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663388aef5c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfed9199600060005054604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150101561276457600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336002604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050506143ef565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb600060005054604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f11561000257505050604051805190602001805190602001805190602001805190602001805190602001805190602001805190602001509091929394955090919293945050809950819a50829850839b5050505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5cc916c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015088101561298357600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336006604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050506143ef565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf600060005054600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5cc916c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508b03604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f1156100025750505060218a6000600281101561000257909060200201511180612adc575060218a600160028110156100025790906020020151115b80612af95750602189600060028110156100025790906020020151115b80612b165750602189600160028110156100025790906020020151115b80612b4757506001896000600281101561000257909060200201518b60006002811015610002579090602002015103135b80612b9757507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff896000600281101561000257909060200201518b60006002811015610002579090602002015103125b80612bc857506001896001600281101561000257909060200201518b60016002811015610002579090602002015103135b80612c1857507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff896001600281101561000257909060200201518b60016002811015610002579090602002015103125b80612ce357506000600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a90b91288c6000600281101561000257909060200201518d600160028110156100025790906020020151604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506020604051808303816000876161da5a03f1156100025750505060405180519060200150115b80612daf57506000600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a90b91288b6000600281101561000257909060200201518c600160028110156100025790906020020151604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506020604051808303816000876161da5a03f115610002575050506040518051906020015011155b15612db957610002565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a28db13604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5cc916c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015004935083506000915081505b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a28db13604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015082101561322f57600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe8e6a6385604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f115610002575050506040518051906020018051906020018051906020018051906020015090915090505080935050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb84604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080985050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf84868b01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b8180600101925050612edf565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638173b81360006000505460018a01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663755b5b7560006000505460018901604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eb495c2604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637acbfb65600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060005054604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe55932a600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508d604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156136635780820380516001836020036101000a031916815260200191505b5093505050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a5600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015060006001604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630381cb3b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508c604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826002602002808383829060006004602084601f0104600f02600301f150905001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373ffd9698b6000600281101561000257909060200201518c600160028110156100025790906020020151600160006000505401604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f115610002575050506001871015613c1e57600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638702735c600060005054600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f9f5b68600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614024565b8491508150600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d713065183604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939495509091929394509091929350909192509091509050809150505b600081121515613de5578091508150600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d713065183604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939495509091929394509091929350909192509091509050809150505b613cfa565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d9102f83600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f9f5b68600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015084604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d9102f600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638389f3536001600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015001604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336127108d6001600281101561000257909060200201510260648e6000600281101561000257909060200201510260140101604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db60006000505442604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b5050505050505050505050565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.