Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 122 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Monster Clas... | 9847162 | 1694 days ago | IN | 0 ETH | 0.00007977 | ||||
Set Monster Clas... | 9847162 | 1694 days ago | IN | 0 ETH | 0.00003571 | ||||
Set Monster Clas... | 9847162 | 1694 days ago | IN | 0 ETH | 0.00003519 | ||||
Set Monster Clas... | 9847162 | 1694 days ago | IN | 0 ETH | 0.00003468 | ||||
Set Monster Clas... | 9847162 | 1694 days ago | IN | 0 ETH | 0.00006899 | ||||
Set Monster Clas... | 9847162 | 1694 days ago | IN | 0 ETH | 0.00004162 | ||||
Set Monster Clas... | 9847162 | 1694 days ago | IN | 0 ETH | 0.00003467 | ||||
Set Monster Clas... | 9844332 | 1694 days ago | IN | 0 ETH | 0.00004162 | ||||
Set Monster Clas... | 9844332 | 1694 days ago | IN | 0 ETH | 0.00005202 | ||||
Set Monster Clas... | 9844332 | 1694 days ago | IN | 0 ETH | 0.00004162 | ||||
Set Monster Clas... | 9844332 | 1694 days ago | IN | 0 ETH | 0.00003813 | ||||
Set Monster Clas... | 9842165 | 1695 days ago | IN | 0 ETH | 0.00005202 | ||||
Set Monster Clas... | 9841893 | 1695 days ago | IN | 0 ETH | 0.00003468 | ||||
Set Monster Clas... | 9841275 | 1695 days ago | IN | 0 ETH | 0.00005315 | ||||
Change Owner | 9562975 | 1738 days ago | IN | 0 ETH | 0.00029156 | ||||
Add Moderator | 8924086 | 1844 days ago | IN | 0 ETH | 0.0012265 | ||||
Add Moderator | 7960058 | 1995 days ago | IN | 0 ETH | 0.00248041 | ||||
Add Moderator | 7101937 | 2140 days ago | IN | 0 ETH | 0.00047736 | ||||
Add Moderator | 6580515 | 2227 days ago | IN | 0 ETH | 0.00076497 | ||||
Add Moderator | 6268688 | 2278 days ago | IN | 0 ETH | 0.00023206 | ||||
Remove Moderator | 6268054 | 2279 days ago | IN | 0 ETH | 0.00015994 | ||||
Add Moderator | 6264941 | 2279 days ago | IN | 0 ETH | 0.00023206 | ||||
Update Index Of ... | 6263223 | 2279 days ago | IN | 0 ETH | 0.00020328 | ||||
Update Index Of ... | 6263219 | 2279 days ago | IN | 0 ETH | 0.00020328 | ||||
Update Index Of ... | 6263017 | 2279 days ago | IN | 0 ETH | 0.00020328 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
EtheremonData
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-12-17 */ pragma solidity ^0.4.16; // copyright [email protected] contract SafeMath { /* function assert(bool assertion) internal { */ /* if (!assertion) { */ /* throw; */ /* } */ /* } // assert no longer needed once solidity is on 0.4.10 */ function safeAdd(uint256 x, uint256 y) pure internal returns(uint256) { uint256 z = x + y; assert((z >= x) && (z >= y)); return z; } function safeSubtract(uint256 x, uint256 y) pure internal returns(uint256) { assert(x >= y); uint256 z = x - y; return z; } function safeMult(uint256 x, uint256 y) pure internal returns(uint256) { uint256 z = x * y; assert((x == 0)||(z/x == y)); return z; } } contract BasicAccessControl { address public owner; address[] public moderators; function BasicAccessControl() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } modifier onlyModerators() { if (msg.sender != owner) { bool found = false; for (uint index = 0; index < moderators.length; index++) { if (moderators[index] == msg.sender) { found = true; break; } } require(found); } _; } function ChangeOwner(address _newOwner) onlyOwner public { if (_newOwner != address(0)) { owner = _newOwner; } } function Kill() onlyOwner public { selfdestruct(owner); } function AddModerator(address _newModerator) onlyOwner public { if (_newModerator != address(0)) { for (uint index = 0; index < moderators.length; index++) { if (moderators[index] == _newModerator) { return; } } moderators.push(_newModerator); } } function RemoveModerator(address _oldModerator) onlyOwner public { uint foundIndex = 0; for (; foundIndex < moderators.length; foundIndex++) { if (moderators[foundIndex] == _oldModerator) { break; } } if (foundIndex < moderators.length) { moderators[foundIndex] = moderators[moderators.length-1]; delete moderators[moderators.length-1]; moderators.length--; } } } contract EtheremonEnum { enum ResultCode { SUCCESS, ERROR_CLASS_NOT_FOUND, ERROR_LOW_BALANCE, ERROR_SEND_FAIL, ERROR_NOT_TRAINER, ERROR_NOT_ENOUGH_MONEY, ERROR_INVALID_AMOUNT } enum ArrayType { CLASS_TYPE, STAT_STEP, STAT_START, STAT_BASE, OBJ_SKILL } } contract EtheremonDataBase is EtheremonEnum, BasicAccessControl, SafeMath { uint64 public totalMonster; uint32 public totalClass; // write function addElementToArrayType(ArrayType _type, uint64 _id, uint8 _value) onlyModerators public returns(uint); function updateIndexOfArrayType(ArrayType _type, uint64 _id, uint _index, uint8 _value) onlyModerators public returns(uint); function setMonsterClass(uint32 _classId, uint256 _price, uint256 _returnPrice, bool _catchable) onlyModerators public returns(uint32); function addMonsterObj(uint32 _classId, address _trainer, string _name) onlyModerators public returns(uint64); function setMonsterObj(uint64 _objId, string _name, uint32 _exp, uint32 _createIndex, uint32 _lastClaimIndex) onlyModerators public; function increaseMonsterExp(uint64 _objId, uint32 amount) onlyModerators public; function decreaseMonsterExp(uint64 _objId, uint32 amount) onlyModerators public; function removeMonsterIdMapping(address _trainer, uint64 _monsterId) onlyModerators public; function addMonsterIdMapping(address _trainer, uint64 _monsterId) onlyModerators public; function clearMonsterReturnBalance(uint64 _monsterId) onlyModerators public returns(uint256 amount); function collectAllReturnBalance(address _trainer) onlyModerators public returns(uint256 amount); function transferMonster(address _from, address _to, uint64 _monsterId) onlyModerators public returns(ResultCode); function addExtraBalance(address _trainer, uint256 _amount) onlyModerators public returns(uint256); function deductExtraBalance(address _trainer, uint256 _amount) onlyModerators public returns(uint256); function setExtraBalance(address _trainer, uint256 _amount) onlyModerators public; // read function getSizeArrayType(ArrayType _type, uint64 _id) constant public returns(uint); function getElementInArrayType(ArrayType _type, uint64 _id, uint _index) constant public returns(uint8); function getMonsterClass(uint32 _classId) constant public returns(uint32 classId, uint256 price, uint256 returnPrice, uint32 total, bool catchable); function getMonsterObj(uint64 _objId) constant public returns(uint64 objId, uint32 classId, address trainer, uint32 exp, uint32 createIndex, uint32 lastClaimIndex, uint createTime); function getMonsterName(uint64 _objId) constant public returns(string name); function getExtraBalance(address _trainer) constant public returns(uint256); function getMonsterDexSize(address _trainer) constant public returns(uint); function getMonsterObjId(address _trainer, uint index) constant public returns(uint64); function getExpectedBalance(address _trainer) constant public returns(uint256); function getMonsterReturn(uint64 _objId) constant public returns(uint256 current, uint256 total); } contract EtheremonData is EtheremonDataBase { struct MonsterClass { uint32 classId; uint8[] types; uint8[] statSteps; uint8[] statStarts; uint256 price; uint256 returnPrice; uint32 total; bool catchable; } struct MonsterObj { uint64 monsterId; uint32 classId; address trainer; string name; uint32 exp; uint8[] statBases; uint8[] skills; uint32 createIndex; uint32 lastClaimIndex; uint createTime; } mapping(uint32 => MonsterClass) public monsterClass; mapping(uint64 => MonsterObj) public monsterWorld; mapping(address => uint64[]) public trainerDex; mapping(address => uint256) public trainerExtraBalance; // write access function withdrawEther(address _sendTo, uint _amount) onlyOwner public returns(ResultCode) { if (_amount > this.balance) { return ResultCode.ERROR_INVALID_AMOUNT; } _sendTo.transfer(_amount); return ResultCode.SUCCESS; } function addElementToArrayType(ArrayType _type, uint64 _id, uint8 _value) onlyModerators public returns(uint) { uint8[] storage array = monsterWorld[_id].statBases; if (_type == ArrayType.CLASS_TYPE) { array = monsterClass[uint32(_id)].types; } else if (_type == ArrayType.STAT_STEP) { array = monsterClass[uint32(_id)].statSteps; } else if (_type == ArrayType.STAT_START) { array = monsterClass[uint32(_id)].statStarts; } else if (_type == ArrayType.OBJ_SKILL) { array = monsterWorld[_id].skills; } array.push(_value); return array.length; } function updateIndexOfArrayType(ArrayType _type, uint64 _id, uint _index, uint8 _value) onlyModerators public returns(uint) { uint8[] storage array = monsterWorld[_id].statBases; if (_type == ArrayType.CLASS_TYPE) { array = monsterClass[uint32(_id)].types; } else if (_type == ArrayType.STAT_STEP) { array = monsterClass[uint32(_id)].statSteps; } else if (_type == ArrayType.STAT_START) { array = monsterClass[uint32(_id)].statStarts; } else if (_type == ArrayType.OBJ_SKILL) { array = monsterWorld[_id].skills; } if (_index < array.length) { if (_value == 255) { // consider as delete for(uint i = _index; i < array.length - 1; i++) { array[i] = array[i+1]; } delete array[array.length-1]; array.length--; } else { array[_index] = _value; } } } function setMonsterClass(uint32 _classId, uint256 _price, uint256 _returnPrice, bool _catchable) onlyModerators public returns(uint32) { MonsterClass storage class = monsterClass[_classId]; if (class.classId == 0) { totalClass += 1; } class.classId = _classId; class.price = _price; class.returnPrice = _returnPrice; class.catchable = _catchable; return totalClass; } function addMonsterObj(uint32 _classId, address _trainer, string _name) onlyModerators public returns(uint64) { MonsterClass storage class = monsterClass[_classId]; if (class.classId == 0) return 0; // construct new monster totalMonster += 1; class.total += 1; MonsterObj storage obj = monsterWorld[totalMonster]; obj.monsterId = totalMonster; obj.classId = _classId; obj.trainer = _trainer; obj.name = _name; obj.exp = 1; obj.createIndex = class.total; obj.lastClaimIndex = class.total; obj.createTime = now; // add to monsterdex addMonsterIdMapping(_trainer, obj.monsterId); return obj.monsterId; } function setMonsterObj(uint64 _objId, string _name, uint32 _exp, uint32 _createIndex, uint32 _lastClaimIndex) onlyModerators public { MonsterObj storage obj = monsterWorld[_objId]; if (obj.monsterId == _objId) { obj.name = _name; obj.exp = _exp; obj.createIndex = _createIndex; obj.lastClaimIndex = _lastClaimIndex; } } function increaseMonsterExp(uint64 _objId, uint32 amount) onlyModerators public { MonsterObj storage obj = monsterWorld[_objId]; if (obj.monsterId == _objId) { obj.exp = uint32(safeAdd(obj.exp, amount)); } } function decreaseMonsterExp(uint64 _objId, uint32 amount) onlyModerators public { MonsterObj storage obj = monsterWorld[_objId]; if (obj.monsterId == _objId) { obj.exp = uint32(safeSubtract(obj.exp, amount)); } } function removeMonsterIdMapping(address _trainer, uint64 _monsterId) onlyModerators public { uint foundIndex = 0; uint64[] storage objIdList = trainerDex[_trainer]; for (; foundIndex < objIdList.length; foundIndex++) { if (objIdList[foundIndex] == _monsterId) { break; } } if (foundIndex < objIdList.length) { objIdList[foundIndex] = objIdList[objIdList.length-1]; delete objIdList[objIdList.length-1]; objIdList.length--; MonsterObj storage monster = monsterWorld[_monsterId]; monster.trainer = 0; } } function addMonsterIdMapping(address _trainer, uint64 _monsterId) onlyModerators public { if (_trainer != address(0) && _monsterId > 0) { uint64[] storage objIdList = trainerDex[_trainer]; for (uint i = 0; i < objIdList.length; i++) { if (objIdList[i] == _monsterId) { return; } } objIdList.push(_monsterId); MonsterObj storage monster = monsterWorld[_monsterId]; monster.trainer = _trainer; } } function clearMonsterReturnBalance(uint64 _monsterId) onlyModerators public returns(uint256) { MonsterObj storage monster = monsterWorld[_monsterId]; MonsterClass storage class = monsterClass[monster.classId]; if (monster.monsterId == 0 || class.classId == 0) return 0; uint256 amount = 0; uint32 gap = uint32(safeSubtract(class.total, monster.lastClaimIndex)); if (gap > 0) { monster.lastClaimIndex = class.total; amount = safeMult(gap, class.returnPrice); trainerExtraBalance[monster.trainer] = safeAdd(trainerExtraBalance[monster.trainer], amount); } return amount; } function collectAllReturnBalance(address _trainer) onlyModerators public returns(uint256 amount) { uint64[] storage objIdList = trainerDex[_trainer]; for (uint i = 0; i < objIdList.length; i++) { clearMonsterReturnBalance(objIdList[i]); } return trainerExtraBalance[_trainer]; } function transferMonster(address _from, address _to, uint64 _monsterId) onlyModerators public returns(ResultCode) { MonsterObj storage monster = monsterWorld[_monsterId]; if (monster.trainer != _from) { return ResultCode.ERROR_NOT_TRAINER; } clearMonsterReturnBalance(_monsterId); removeMonsterIdMapping(_from, _monsterId); addMonsterIdMapping(_to, _monsterId); return ResultCode.SUCCESS; } function addExtraBalance(address _trainer, uint256 _amount) onlyModerators public returns(uint256) { trainerExtraBalance[_trainer] = safeAdd(trainerExtraBalance[_trainer], _amount); return trainerExtraBalance[_trainer]; } function deductExtraBalance(address _trainer, uint256 _amount) onlyModerators public returns(uint256) { trainerExtraBalance[_trainer] = safeSubtract(trainerExtraBalance[_trainer], _amount); return trainerExtraBalance[_trainer]; } function setExtraBalance(address _trainer, uint256 _amount) onlyModerators public { trainerExtraBalance[_trainer] = _amount; } // public function () payable public { addExtraBalance(msg.sender, msg.value); } // read access function getSizeArrayType(ArrayType _type, uint64 _id) constant public returns(uint) { uint8[] storage array = monsterWorld[_id].statBases; if (_type == ArrayType.CLASS_TYPE) { array = monsterClass[uint32(_id)].types; } else if (_type == ArrayType.STAT_STEP) { array = monsterClass[uint32(_id)].statSteps; } else if (_type == ArrayType.STAT_START) { array = monsterClass[uint32(_id)].statStarts; } else if (_type == ArrayType.OBJ_SKILL) { array = monsterWorld[_id].skills; } return array.length; } function getElementInArrayType(ArrayType _type, uint64 _id, uint _index) constant public returns(uint8) { uint8[] storage array = monsterWorld[_id].statBases; if (_type == ArrayType.CLASS_TYPE) { array = monsterClass[uint32(_id)].types; } else if (_type == ArrayType.STAT_STEP) { array = monsterClass[uint32(_id)].statSteps; } else if (_type == ArrayType.STAT_START) { array = monsterClass[uint32(_id)].statStarts; } else if (_type == ArrayType.OBJ_SKILL) { array = monsterWorld[_id].skills; } if (_index >= array.length) return 0; return array[_index]; } function getMonsterClass(uint32 _classId) constant public returns(uint32 classId, uint256 price, uint256 returnPrice, uint32 total, bool catchable) { MonsterClass storage class = monsterClass[_classId]; classId = class.classId; price = class.price; returnPrice = class.returnPrice; total = class.total; catchable = class.catchable; } function getMonsterObj(uint64 _objId) constant public returns(uint64 objId, uint32 classId, address trainer, uint32 exp, uint32 createIndex, uint32 lastClaimIndex, uint createTime) { MonsterObj storage monster = monsterWorld[_objId]; objId = monster.monsterId; classId = monster.classId; trainer = monster.trainer; exp = monster.exp; createIndex = monster.createIndex; lastClaimIndex = monster.lastClaimIndex; createTime = monster.createTime; } function getMonsterName(uint64 _objId) constant public returns(string name) { return monsterWorld[_objId].name; } function getExtraBalance(address _trainer) constant public returns(uint256) { return trainerExtraBalance[_trainer]; } function getMonsterDexSize(address _trainer) constant public returns(uint) { return trainerDex[_trainer].length; } function getMonsterObjId(address _trainer, uint index) constant public returns(uint64) { if (index >= trainerDex[_trainer].length) return 0; return trainerDex[_trainer][index]; } function getExpectedBalance(address _trainer) constant public returns(uint256) { uint64[] storage objIdList = trainerDex[_trainer]; uint256 monsterBalance = 0; for (uint i = 0; i < objIdList.length; i++) { MonsterObj memory monster = monsterWorld[objIdList[i]]; MonsterClass storage class = monsterClass[monster.classId]; uint32 gap = uint32(safeSubtract(class.total, monster.lastClaimIndex)); monsterBalance += safeMult(gap, class.returnPrice); } return monsterBalance; } function getMonsterReturn(uint64 _objId) constant public returns(uint256 current, uint256 total) { MonsterObj memory monster = monsterWorld[_objId]; MonsterClass storage class = monsterClass[monster.classId]; uint32 totalGap = uint32(safeSubtract(class.total, monster.createIndex)); uint32 currentGap = uint32(safeSubtract(class.total, monster.lastClaimIndex)); return (safeMult(currentGap, class.returnPrice), safeMult(totalGap, class.returnPrice)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"monsterClass","outputs":[{"name":"classId","type":"uint32"},{"name":"price","type":"uint256"},{"name":"returnPrice","type":"uint256"},{"name":"total","type":"uint32"},{"name":"catchable","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint64"}],"name":"getMonsterObj","outputs":[{"name":"objId","type":"uint64"},{"name":"classId","type":"uint32"},{"name":"trainer","type":"address"},{"name":"exp","type":"uint32"},{"name":"createIndex","type":"uint32"},{"name":"lastClaimIndex","type":"uint32"},{"name":"createTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint64"}],"name":"getMonsterName","outputs":[{"name":"name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_type","type":"uint8"},{"name":"_id","type":"uint64"},{"name":"_value","type":"uint8"}],"name":"addElementToArrayType","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"},{"name":"amount","type":"uint32"}],"name":"decreaseMonsterExp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_type","type":"uint8"},{"name":"_id","type":"uint64"},{"name":"_index","type":"uint256"},{"name":"_value","type":"uint8"}],"name":"updateIndexOfArrayType","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"},{"name":"_name","type":"string"},{"name":"_exp","type":"uint32"},{"name":"_createIndex","type":"uint32"},{"name":"_lastClaimIndex","type":"uint32"}],"name":"setMonsterObj","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"trainerDex","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_type","type":"uint8"},{"name":"_id","type":"uint64"}],"name":"getSizeArrayType","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"}],"name":"getMonsterDexSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trainer","type":"address"},{"name":"_amount","type":"uint256"}],"name":"deductExtraBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_sendTo","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawEther","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"},{"name":"amount","type":"uint32"}],"name":"increaseMonsterExp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_trainer","type":"address"},{"name":"_monsterId","type":"uint64"}],"name":"removeMonsterIdMapping","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_type","type":"uint8"},{"name":"_id","type":"uint64"},{"name":"_index","type":"uint256"}],"name":"getElementInArrayType","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trainer","type":"address"}],"name":"collectAllReturnBalance","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newModerator","type":"address"}],"name":"AddModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"},{"name":"index","type":"uint256"}],"name":"getMonsterObjId","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalMonster","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint64"}],"name":"monsterWorld","outputs":[{"name":"monsterId","type":"uint64"},{"name":"classId","type":"uint32"},{"name":"trainer","type":"address"},{"name":"name","type":"string"},{"name":"exp","type":"uint32"},{"name":"createIndex","type":"uint32"},{"name":"lastClaimIndex","type":"uint32"},{"name":"createTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_monsterId","type":"uint64"}],"name":"transferMonster","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalClass","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trainer","type":"address"},{"name":"_amount","type":"uint256"}],"name":"addExtraBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trainer","type":"address"},{"name":"_monsterId","type":"uint64"}],"name":"addMonsterIdMapping","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_classId","type":"uint32"}],"name":"getMonsterClass","outputs":[{"name":"classId","type":"uint32"},{"name":"price","type":"uint256"},{"name":"returnPrice","type":"uint256"},{"name":"total","type":"uint32"},{"name":"catchable","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_monsterId","type":"uint64"}],"name":"clearMonsterReturnBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_trainer","type":"address"},{"name":"_amount","type":"uint256"}],"name":"setExtraBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_oldModerator","type":"address"}],"name":"RemoveModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"moderators","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"Kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"}],"name":"getExtraBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_classId","type":"uint32"},{"name":"_price","type":"uint256"},{"name":"_returnPrice","type":"uint256"},{"name":"_catchable","type":"bool"}],"name":"setMonsterClass","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"}],"name":"getExpectedBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"trainerExtraBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"ChangeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint64"}],"name":"getMonsterReturn","outputs":[{"name":"current","type":"uint256"},{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_classId","type":"uint32"},{"name":"_trainer","type":"address"},{"name":"_name","type":"string"}],"name":"addMonsterObj","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"}]
Contract Creation Code
6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614ce7806100536000396000f3006060604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303966a32146101e5578063072024601461025a5780630d25b6f21461033557806326bda739146103db57806331afa55f14610434578063321d2a4f1461047057806332666a31146104d257806340423f601461056f57806341b0eb53146105d957806347c17bac146106265780634ca92e0814610673578063522f6815146106c95780635643a7111461072d57806360c6ccb21461076957806362b21ad7146107b557806369666811146108115780636c81fd6d1461085e57806375fe2e33146108975780637a09defe146109015780637fc670291461093e578063809d9a9414610aa257806384ba745e14610b2f57806389b2050b14610b645780638da5cb5b14610bba5780639248019e14610c0f5780639d29cac414610c5b578063b0c6d7df14610cd0578063b55cdbf914610d11578063b85d627514610d53578063bd842a1114610d8c578063be26733c14610def578063c782fc6014610e04578063c8ff80a114610e51578063c953783814610eb7578063d2e0cbd114610f04578063f285329214610f51578063f4029e9214610f8a578063fc4d20f514610fd2575b6101e23334611085565b50005b34156101f057600080fd5b61020c600480803563ffffffff1690602001909190505061125d565b604051808663ffffffff1663ffffffff1681526020018581526020018481526020018363ffffffff1663ffffffff168152602001821515151581526020019550505050505060405180910390f35b341561026557600080fd5b610285600480803567ffffffffffffffff169060200190919050506112c0565b604051808867ffffffffffffffff1667ffffffffffffffff1681526020018763ffffffff1663ffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff1681526020018363ffffffff1663ffffffff16815260200182815260200197505050505050505060405180910390f35b341561034057600080fd5b610360600480803567ffffffffffffffff169060200190919050506113a6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103a0578082015181840152602081019050610385565b50505050905090810190601f1680156103cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e657600080fd5b61041e600480803560ff1690602001909190803567ffffffffffffffff1690602001909190803560ff16906020019091905050611478565b6040518082815260200191505060405180910390f35b341561043f57600080fd5b61046e600480803567ffffffffffffffff1690602001909190803563ffffffff16906020019091905050611721565b005b341561047b57600080fd5b6104bc600480803560ff1690602001909190803567ffffffffffffffff1690602001909190803590602001909190803560ff169060200190919050506118d4565b6040518082815260200191505060405180910390f35b34156104dd57600080fd5b61056d600480803567ffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803563ffffffff1690602001909190803563ffffffff1690602001909190803563ffffffff16906020019091905050611c64565b005b341561057a57600080fd5b6105af600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611e50565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b34156105e457600080fd5b610610600480803560ff1690602001909190803567ffffffffffffffff16906020019091905050611e9c565b6040518082815260200191505060405180910390f35b341561063157600080fd5b61065d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611fff565b6040518082815260200191505060405180910390f35b341561067e57600080fd5b6106b3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061204b565b6040518082815260200191505060405180910390f35b34156106d457600080fd5b610709600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612223565b6040518082600681111561071957fe5b60ff16815260200191505060405180910390f35b341561073857600080fd5b610767600480803567ffffffffffffffff1690602001909190803563ffffffff169060200190919050506122f3565b005b341561077457600080fd5b6107b3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803567ffffffffffffffff169060200190919050506124a6565b005b34156107c057600080fd5b6107f5600480803560ff1690602001909190803567ffffffffffffffff169060200190919080359060200190919050506127c3565b604051808260ff1660ff16815260200191505060405180910390f35b341561081c57600080fd5b610848600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612967565b6040518082815260200191505060405180910390f35b341561086957600080fd5b610895600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612b57565b005b34156108a257600080fd5b6108d7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612ce5565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b341561090c57600080fd5b610914612dba565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b341561094957600080fd5b610969600480803567ffffffffffffffff16906020019091905050612dd4565b604051808967ffffffffffffffff1667ffffffffffffffff1681526020018863ffffffff1663ffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018663ffffffff1663ffffffff1681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff168152602001838152602001828103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610a8c5780601f10610a6157610100808354040283529160200191610a8c565b820191906000526020600020905b815481529060010190602001808311610a6f57829003601f168201915b5050995050505050505050505060405180910390f35b3415610aad57600080fd5b610b0b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803567ffffffffffffffff16906020019091905050612e8f565b60405180826006811115610b1b57fe5b60ff16815260200191505060405180910390f35b3415610b3a57600080fd5b610b4261304a565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3415610b6f57600080fd5b610ba4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611085565b6040518082815260200191505060405180910390f35b3415610bc557600080fd5b610bcd613060565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610c1a57600080fd5b610c59600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803567ffffffffffffffff16906020019091905050613085565b005b3415610c6657600080fd5b610c82600480803563ffffffff16906020019091905050613358565b604051808663ffffffff1663ffffffff1681526020018581526020018481526020018363ffffffff1663ffffffff168152602001821515151581526020019550505050505060405180910390f35b3415610cdb57600080fd5b610cfb600480803567ffffffffffffffff169060200190919050506133dc565b6040518082815260200191505060405180910390f35b3415610d1c57600080fd5b610d51600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061371f565b005b3415610d5e57600080fd5b610d8a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613869565b005b3415610d9757600080fd5b610dad6004808035906020019091905050613a5c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610dfa57600080fd5b610e02613a9b565b005b3415610e0f57600080fd5b610e3b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613b30565b6040518082815260200191505060405180910390f35b3415610e5c57600080fd5b610e95600480803563ffffffff169060200190919080359060200190919080359060200190919080351515906020019091905050613b79565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3415610ec257600080fd5b610eee600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613d69565b6040518082815260200191505060405180910390f35b3415610f0f57600080fd5b610f3b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061418e565b6040518082815260200191505060405180910390f35b3415610f5c57600080fd5b610f88600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506141a6565b005b3415610f9557600080fd5b610fb5600480803567ffffffffffffffff1690602001909190505061427b565b604051808381526020018281526020019250505060405180910390f35b3415610fdd57600080fd5b61105b600480803563ffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050614644565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111875760009150600090505b60018054905081101561117a573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561111c57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561116d576001915061117a565b80806001019150506110e9565b81151561118657600080fd5b5b6111d0600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054856149f5565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250505092915050565b60036020528060005260406000206000915090508060000160009054906101000a900463ffffffff16908060040154908060050154908060060160009054906101000a900463ffffffff16908060060160049054906101000a900460ff16905085565b600080600080600080600080600460008a67ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002090508060000160009054906101000a900467ffffffffffffffff1697508060000160089054906101000a900463ffffffff16965080600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508060020160009054906101000a900463ffffffff1694508060050160009054906101000a900463ffffffff1693508060050160049054906101000a900463ffffffff1692508060060154915050919395979092949650565b6113ae614a70565b600460008367ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561146c5780601f106114415761010080835404028352916020019161146c565b820191906000526020600020905b81548152906001019060200180831161144f57829003601f168201915b50505050509050919050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561157b5760009150600090505b60018054905081101561156e573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561151057fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611561576001915061156e565b80806001019150506114dd565b81151561157a57600080fd5b5b600460008767ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206003019250600060048111156115b457fe5b8760048111156115c057fe5b14156115ef57600360008763ffffffff1663ffffffff16815260200190815260200160002060010192506116cd565b600160048111156115fc57fe5b87600481111561160857fe5b141561163757600360008763ffffffff1663ffffffff16815260200190815260200160002060020192506116cc565b6002600481111561164457fe5b87600481111561165057fe5b141561167f57600360008763ffffffff1663ffffffff16815260200190815260200160002060030192506116cb565b60048081111561168b57fe5b87600481111561169757fe5b14156116ca57600460008767ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060040192505b5b5b5b8280548060010182816116e09190614a84565b916000526020600020906020918282040191900687909190916101000a81548160ff021916908360ff16021790555050828054905093505050509392505050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118235760009150600090505b600180549050811015611816573373ffffffffffffffffffffffffffffffffffffffff166001828154811015156117b857fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156118095760019150611816565b8080600101915050611785565b81151561182257600080fd5b5b600460008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002092508467ffffffffffffffff168360000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614156118cd576118aa8360020160009054906101000a900463ffffffff1663ffffffff168563ffffffff16614a1f565b8360020160006101000a81548163ffffffff021916908363ffffffff1602179055505b5050505050565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d95760009150600090505b6001805490508110156119cc573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561196e57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156119bf57600191506119cc565b808060010191505061193b565b8115156119d857600080fd5b5b600460008967ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020600301935060006004811115611a1257fe5b896004811115611a1e57fe5b1415611a4d57600360008963ffffffff1663ffffffff1681526020019081526020016000206001019350611b2b565b60016004811115611a5a57fe5b896004811115611a6657fe5b1415611a9557600360008963ffffffff1663ffffffff1681526020019081526020016000206002019350611b2a565b60026004811115611aa257fe5b896004811115611aae57fe5b1415611add57600360008963ffffffff1663ffffffff1681526020019081526020016000206003019350611b29565b600480811115611ae957fe5b896004811115611af557fe5b1415611b2857600460008967ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060040193505b5b5b5b8380549050871015611c585760ff8660ff161415611c1d578692505b6001848054905003831015611bcc578360018401815481101515611b6757fe5b90600052602060002090602091828204019190069054906101000a900460ff168484815481101515611b9557fe5b90600052602060002090602091828204019190066101000a81548160ff021916908360ff1602179055508280600101935050611b47565b836001858054905003815481101515611be157fe5b90600052602060002090602091828204019190066101000a81549060ff021916905583805480919060019003611c179190614a84565b50611c57565b858488815481101515611c2c57fe5b90600052602060002090602091828204019190066101000a81548160ff021916908360ff1602179055505b5b50505050949350505050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d665760009150600090505b600180549050811015611d59573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515611cfb57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611d4c5760019150611d59565b8080600101915050611cc8565b811515611d6557600080fd5b5b600460008967ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002092508767ffffffffffffffff168360000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611e465786836001019080519060200190611ddb929190614abe565b50858360020160006101000a81548163ffffffff021916908363ffffffff160217905550848360050160006101000a81548163ffffffff021916908363ffffffff160217905550838360050160046101000a81548163ffffffff021916908363ffffffff1602179055505b5050505050505050565b600560205281600052604060002081815481101515611e6b57fe5b9060005260206000209060049182820401919006600802915091509054906101000a900467ffffffffffffffff1681565b600080600460008467ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020600301905060006004811115611ed857fe5b846004811115611ee457fe5b1415611f1357600360008463ffffffff1663ffffffff1681526020019081526020016000206001019050611ff1565b60016004811115611f2057fe5b846004811115611f2c57fe5b1415611f5b57600360008463ffffffff1663ffffffff1681526020019081526020016000206002019050611ff0565b60026004811115611f6857fe5b846004811115611f7457fe5b1415611fa357600360008463ffffffff1663ffffffff1681526020019081526020016000206003019050611fef565b600480811115611faf57fe5b846004811115611fbb57fe5b1415611fee57600460008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060040190505b5b5b5b808054905091505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561214d5760009150600090505b600180549050811015612140573373ffffffffffffffffffffffffffffffffffffffff166001828154811015156120e257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156121335760019150612140565b80806001019150506120af565b81151561214c57600080fd5b5b612196600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485614a1f565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561228057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318211156122a857600690506122ed565b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156122e857600080fd5b600090505b92915050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123f55760009150600090505b6001805490508110156123e8573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561238a57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156123db57600191506123e8565b8080600101915050612357565b8115156123f457600080fd5b5b600460008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002092508467ffffffffffffffff168360000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16141561249f5761247c8360020160009054906101000a900463ffffffff1663ffffffff168563ffffffff166149f5565b8360020160006101000a81548163ffffffff021916908363ffffffff1602179055505b5050505050565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125ab5760009150600090505b60018054905081101561259e573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561254057fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612591576001915061259e565b808060010191505061250d565b8115156125aa57600080fd5b5b60009450600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002093505b8380549050851015612662578567ffffffffffffffff16848681548110151561261657fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1667ffffffffffffffff16141561265557612662565b84806001019550506125f1565b83805490508510156127ba5783600185805490500381548110151561268357fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1684868154811015156126bb57fe5b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600185805490500381548110151561270b57fe5b90600052602060002090600491828204019190066008026101000a81549067ffffffffffffffff02191690558380548091906001900361274b9190614b3e565b50600460008767ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000209250600083600001600c6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50505050505050565b600080600460008567ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206003019050600060048111156127ff57fe5b85600481111561280b57fe5b141561283a57600360008563ffffffff1663ffffffff1681526020019081526020016000206001019050612918565b6001600481111561284757fe5b85600481111561285357fe5b141561288257600360008563ffffffff1663ffffffff1681526020019081526020016000206002019050612917565b6002600481111561288f57fe5b85600481111561289b57fe5b14156128ca57600360008563ffffffff1663ffffffff1681526020019081526020016000206003019050612916565b6004808111156128d657fe5b8560048111156128e257fe5b141561291557600460008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060040190505b5b5b5b80805490508310151561292e576000915061295f565b808381548110151561293c57fe5b90600052602060002090602091828204019190069054906101000a900460ff1691505b509392505050565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a6c5760009150600090505b600180549050811015612a5f573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515612a0157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612a525760019150612a5f565b80806001019150506129ce565b811515612a6b57600080fd5b5b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600092505b8380549050831015612b0c57612afe8484815481101515612acf57fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff166133dc565b508280600101935050612ab2565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054945050505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612bb457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515612ce057600090505b600180549050811015612c7c578173ffffffffffffffffffffffffffffffffffffffff16600182815481101515612c2257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612c6f57612ce1565b8080600101915050612bef565b60018054806001018281612c909190614b78565b9160005260206000209001600084909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b5b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905082101515612d3b5760009050612db4565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515612d8757fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1690505b92915050565b600260009054906101000a900467ffffffffffffffff1681565b60046020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900463ffffffff169080600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101908060020160009054906101000a900463ffffffff16908060050160009054906101000a900463ffffffff16908060050160049054906101000a900463ffffffff16908060060154905088565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612f925760009150600090505b600180549050811015612f85573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515612f2757fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612f785760019150612f85565b8080600101915050612ef4565b811515612f9157600080fd5b5b600460008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002092508673ffffffffffffffffffffffffffffffffffffffff1683600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561301d5760049350613040565b613026856133dc565b5061303187866124a6565b61303b8686613085565b600093505b5050509392505050565b600260089054906101000a900463ffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561318a5760009150600090505b60018054905081101561317d573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561311f57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613170576001915061317d565b80806001019150506130ec565b81151561318957600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141580156131d1575060008667ffffffffffffffff16115b1561334e57600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209450600093505b848054905084101561328d578567ffffffffffffffff16858581548110151561324157fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1667ffffffffffffffff1614156132805761334f565b838060010194505061321c565b8480548060010182816132a09190614b3e565b916000526020600020906004918282040191900660080288909190916101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050600460008767ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002092508683600001600c6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50505050505050565b600080600080600080600360008863ffffffff1663ffffffff16815260200190815260200160002090508060000160009054906101000a900463ffffffff16955080600401549450806005015493508060060160009054906101000a900463ffffffff1692508060060160049054906101000a900460ff1691505091939590929450565b60008060008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156134e45760009150600090505b6001805490508110156134d7573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561347957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156134ca57600191506134d7565b8080600101915050613446565b8115156134e357600080fd5b5b600460008967ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000209550600360008760000160089054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020945060008660000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16148061358d575060008560000160009054906101000a900463ffffffff1663ffffffff16145b1561359b5760009650613714565b600093506135dd8560060160009054906101000a900463ffffffff1663ffffffff168760050160049054906101000a900463ffffffff1663ffffffff16614a1f565b925060008363ffffffff161115613710578460060160009054906101000a900463ffffffff168660050160046101000a81548163ffffffff021916908363ffffffff1602179055506136398363ffffffff168660050154614a3d565b93506136a86006600088600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054856149f5565b6006600088600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8396505b505050505050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561381f5760009150600090505b600180549050811015613812573373ffffffffffffffffffffffffffffffffffffffff166001828154811015156137b457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156138055760019150613812565b8080600101915050613781565b81151561381e57600080fd5b5b82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156138c657600080fd5b600090505b600180549050811015613958578173ffffffffffffffffffffffffffffffffffffffff166001828154811015156138fe57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561394b57613958565b80806001019150506138cb565b600180549050811015613a585760018080805490500381548110151561397a57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001828154811015156139b557fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600180808054905003815481101515613a1357fe5b906000526020600020900160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001805480919060019003613a569190614ba4565b505b5050565b600181815481101515613a6b57fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613af657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613c7c5760009150600090505b600180549050811015613c6f573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515613c1157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613c625760019150613c6f565b8080600101915050613bde565b811515613c7b57600080fd5b5b600360008963ffffffff1663ffffffff168152602001908152602001600020925060008360000160009054906101000a900463ffffffff1663ffffffff161415613cf8576001600260088282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff1602179055505b878360000160006101000a81548163ffffffff021916908363ffffffff160217905550868360040181905550858360050181905550848360060160046101000a81548160ff021916908315150217905550600260089054906101000a900463ffffffff169350505050949350505050565b600080600080613d77614bd0565b600080600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020955060009450600093505b858054905084101561418057600460008786815481101515613de257fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002061014060405190810160405290816000820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160089054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200160008201600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613f825780601f10613f5757610100808354040283529160200191613f82565b820191906000526020600020905b815481529060010190602001808311613f6557829003601f168201915b505050505081526020016002820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016003820180548060200260200160405190810160405280929190818152602001828054801561402657602002820191906000526020600020906000905b82829054906101000a900460ff1660ff1681526020019060010190602082600001049283019260010382029150808411613fef5790505b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156140a457602002820191906000526020600020906000905b82829054906101000a900460ff1660ff168152602001906001019060208260000104928301926001038202915080841161406d5790505b505050505081526020016005820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016005820160049054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001600682015481525050925060036000846020015163ffffffff1663ffffffff16815260200190815260200160002091506141598260060160009054906101000a900463ffffffff1663ffffffff1684610100015163ffffffff16614a1f565b905061416f8163ffffffff168360050154614a3d565b850194508380600101945050613dc4565b849650505050505050919050565b60066020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561420157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561427857806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600080614286614bd0565b6000806000600460008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002061014060405190810160405290816000820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160089054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200160008201600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156144065780601f106143db57610100808354040283529160200191614406565b820191906000526020600020905b8154815290600101906020018083116143e957829003601f168201915b505050505081526020016002820160009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001600382018054806020026020016040519081016040528092919081815260200182805480156144aa57602002820191906000526020600020906000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116144735790505b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561452857602002820191906000526020600020906000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116144f15790505b505050505081526020016005820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016005820160049054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001600682015481525050935060036000856020015163ffffffff1663ffffffff16815260200190815260200160002092506145dc8360060160009054906101000a900463ffffffff1663ffffffff168560e0015163ffffffff16614a1f565b915061460d8360060160009054906101000a900463ffffffff1663ffffffff1685610100015163ffffffff16614a1f565b90506146238163ffffffff168460050154614a3d565b6146378363ffffffff168560050154614a3d565b9550955050505050915091565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156147495760009150600090505b60018054905081101561473c573373ffffffffffffffffffffffffffffffffffffffff166001828154811015156146de57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561472f576001915061473c565b80806001019150506146ab565b81151561474857600080fd5b5b600360008963ffffffff1663ffffffff168152602001908152602001600020935060008460000160009054906101000a900463ffffffff1663ffffffff16141561479657600094506149ea565b6001600260008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060018460060160008282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff16021790555060046000600260009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000209250600260009054906101000a900467ffffffffffffffff168360000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550878360000160086101000a81548163ffffffff021916908363ffffffff1602179055508683600001600c6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085836001019080519060200190614910929190614abe565b5060018360020160006101000a81548163ffffffff021916908363ffffffff1602179055508360060160009054906101000a900463ffffffff168360050160006101000a81548163ffffffff021916908363ffffffff1602179055508360060160009054906101000a900463ffffffff168360050160046101000a81548163ffffffff021916908363ffffffff1602179055504283600601819055506149ce878460000160009054906101000a900467ffffffffffffffff16613085565b8260000160009054906101000a900467ffffffffffffffff1694505b505050509392505050565b6000808284019050838110158015614a0d5750828110155b1515614a1557fe5b8091505092915050565b600080828410151515614a2e57fe5b82840390508091505092915050565b60008082840290506000841480614a5e5750828482811515614a5b57fe5b04145b1515614a6657fe5b8091505092915050565b602060405190810160405280600081525090565b815481835581811511614ab957601f016020900481601f01602090048360005260206000209182019101614ab89190614c6e565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614aff57805160ff1916838001178555614b2d565b82800160010185558215614b2d579182015b82811115614b2c578251825591602001919060010190614b11565b5b509050614b3a9190614c6e565b5090565b815481835581811511614b73576003016004900481600301600490048360005260206000209182019101614b729190614c6e565b5b505050565b815481835581811511614b9f57818360005260206000209182019101614b9e9190614c6e565b5b505050565b815481835581811511614bcb57818360005260206000209182019101614bca9190614c6e565b5b505050565b61014060405190810160405280600067ffffffffffffffff168152602001600063ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001614c20614c93565b8152602001600063ffffffff168152602001614c3a614ca7565b8152602001614c47614ca7565b8152602001600063ffffffff168152602001600063ffffffff168152602001600081525090565b614c9091905b80821115614c8c576000816000905550600101614c74565b5090565b90565b602060405190810160405280600081525090565b6020604051908101604052806000815250905600a165627a7a723058201f8e0895bca8f86f9bb1ac4822f4233fe140ed10d17eddb398c6d1bbf8235dac0029
Deployed Bytecode
0x6060604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303966a32146101e5578063072024601461025a5780630d25b6f21461033557806326bda739146103db57806331afa55f14610434578063321d2a4f1461047057806332666a31146104d257806340423f601461056f57806341b0eb53146105d957806347c17bac146106265780634ca92e0814610673578063522f6815146106c95780635643a7111461072d57806360c6ccb21461076957806362b21ad7146107b557806369666811146108115780636c81fd6d1461085e57806375fe2e33146108975780637a09defe146109015780637fc670291461093e578063809d9a9414610aa257806384ba745e14610b2f57806389b2050b14610b645780638da5cb5b14610bba5780639248019e14610c0f5780639d29cac414610c5b578063b0c6d7df14610cd0578063b55cdbf914610d11578063b85d627514610d53578063bd842a1114610d8c578063be26733c14610def578063c782fc6014610e04578063c8ff80a114610e51578063c953783814610eb7578063d2e0cbd114610f04578063f285329214610f51578063f4029e9214610f8a578063fc4d20f514610fd2575b6101e23334611085565b50005b34156101f057600080fd5b61020c600480803563ffffffff1690602001909190505061125d565b604051808663ffffffff1663ffffffff1681526020018581526020018481526020018363ffffffff1663ffffffff168152602001821515151581526020019550505050505060405180910390f35b341561026557600080fd5b610285600480803567ffffffffffffffff169060200190919050506112c0565b604051808867ffffffffffffffff1667ffffffffffffffff1681526020018763ffffffff1663ffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff1681526020018363ffffffff1663ffffffff16815260200182815260200197505050505050505060405180910390f35b341561034057600080fd5b610360600480803567ffffffffffffffff169060200190919050506113a6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103a0578082015181840152602081019050610385565b50505050905090810190601f1680156103cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e657600080fd5b61041e600480803560ff1690602001909190803567ffffffffffffffff1690602001909190803560ff16906020019091905050611478565b6040518082815260200191505060405180910390f35b341561043f57600080fd5b61046e600480803567ffffffffffffffff1690602001909190803563ffffffff16906020019091905050611721565b005b341561047b57600080fd5b6104bc600480803560ff1690602001909190803567ffffffffffffffff1690602001909190803590602001909190803560ff169060200190919050506118d4565b6040518082815260200191505060405180910390f35b34156104dd57600080fd5b61056d600480803567ffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803563ffffffff1690602001909190803563ffffffff1690602001909190803563ffffffff16906020019091905050611c64565b005b341561057a57600080fd5b6105af600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611e50565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b34156105e457600080fd5b610610600480803560ff1690602001909190803567ffffffffffffffff16906020019091905050611e9c565b6040518082815260200191505060405180910390f35b341561063157600080fd5b61065d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611fff565b6040518082815260200191505060405180910390f35b341561067e57600080fd5b6106b3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061204b565b6040518082815260200191505060405180910390f35b34156106d457600080fd5b610709600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612223565b6040518082600681111561071957fe5b60ff16815260200191505060405180910390f35b341561073857600080fd5b610767600480803567ffffffffffffffff1690602001909190803563ffffffff169060200190919050506122f3565b005b341561077457600080fd5b6107b3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803567ffffffffffffffff169060200190919050506124a6565b005b34156107c057600080fd5b6107f5600480803560ff1690602001909190803567ffffffffffffffff169060200190919080359060200190919050506127c3565b604051808260ff1660ff16815260200191505060405180910390f35b341561081c57600080fd5b610848600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612967565b6040518082815260200191505060405180910390f35b341561086957600080fd5b610895600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612b57565b005b34156108a257600080fd5b6108d7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612ce5565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b341561090c57600080fd5b610914612dba565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b341561094957600080fd5b610969600480803567ffffffffffffffff16906020019091905050612dd4565b604051808967ffffffffffffffff1667ffffffffffffffff1681526020018863ffffffff1663ffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018663ffffffff1663ffffffff1681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff168152602001838152602001828103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610a8c5780601f10610a6157610100808354040283529160200191610a8c565b820191906000526020600020905b815481529060010190602001808311610a6f57829003601f168201915b5050995050505050505050505060405180910390f35b3415610aad57600080fd5b610b0b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803567ffffffffffffffff16906020019091905050612e8f565b60405180826006811115610b1b57fe5b60ff16815260200191505060405180910390f35b3415610b3a57600080fd5b610b4261304a565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3415610b6f57600080fd5b610ba4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611085565b6040518082815260200191505060405180910390f35b3415610bc557600080fd5b610bcd613060565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610c1a57600080fd5b610c59600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803567ffffffffffffffff16906020019091905050613085565b005b3415610c6657600080fd5b610c82600480803563ffffffff16906020019091905050613358565b604051808663ffffffff1663ffffffff1681526020018581526020018481526020018363ffffffff1663ffffffff168152602001821515151581526020019550505050505060405180910390f35b3415610cdb57600080fd5b610cfb600480803567ffffffffffffffff169060200190919050506133dc565b6040518082815260200191505060405180910390f35b3415610d1c57600080fd5b610d51600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061371f565b005b3415610d5e57600080fd5b610d8a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613869565b005b3415610d9757600080fd5b610dad6004808035906020019091905050613a5c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610dfa57600080fd5b610e02613a9b565b005b3415610e0f57600080fd5b610e3b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613b30565b6040518082815260200191505060405180910390f35b3415610e5c57600080fd5b610e95600480803563ffffffff169060200190919080359060200190919080359060200190919080351515906020019091905050613b79565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3415610ec257600080fd5b610eee600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613d69565b6040518082815260200191505060405180910390f35b3415610f0f57600080fd5b610f3b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061418e565b6040518082815260200191505060405180910390f35b3415610f5c57600080fd5b610f88600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506141a6565b005b3415610f9557600080fd5b610fb5600480803567ffffffffffffffff1690602001909190505061427b565b604051808381526020018281526020019250505060405180910390f35b3415610fdd57600080fd5b61105b600480803563ffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050614644565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111875760009150600090505b60018054905081101561117a573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561111c57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561116d576001915061117a565b80806001019150506110e9565b81151561118657600080fd5b5b6111d0600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054856149f5565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250505092915050565b60036020528060005260406000206000915090508060000160009054906101000a900463ffffffff16908060040154908060050154908060060160009054906101000a900463ffffffff16908060060160049054906101000a900460ff16905085565b600080600080600080600080600460008a67ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002090508060000160009054906101000a900467ffffffffffffffff1697508060000160089054906101000a900463ffffffff16965080600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508060020160009054906101000a900463ffffffff1694508060050160009054906101000a900463ffffffff1693508060050160049054906101000a900463ffffffff1692508060060154915050919395979092949650565b6113ae614a70565b600460008367ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561146c5780601f106114415761010080835404028352916020019161146c565b820191906000526020600020905b81548152906001019060200180831161144f57829003601f168201915b50505050509050919050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561157b5760009150600090505b60018054905081101561156e573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561151057fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611561576001915061156e565b80806001019150506114dd565b81151561157a57600080fd5b5b600460008767ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206003019250600060048111156115b457fe5b8760048111156115c057fe5b14156115ef57600360008763ffffffff1663ffffffff16815260200190815260200160002060010192506116cd565b600160048111156115fc57fe5b87600481111561160857fe5b141561163757600360008763ffffffff1663ffffffff16815260200190815260200160002060020192506116cc565b6002600481111561164457fe5b87600481111561165057fe5b141561167f57600360008763ffffffff1663ffffffff16815260200190815260200160002060030192506116cb565b60048081111561168b57fe5b87600481111561169757fe5b14156116ca57600460008767ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060040192505b5b5b5b8280548060010182816116e09190614a84565b916000526020600020906020918282040191900687909190916101000a81548160ff021916908360ff16021790555050828054905093505050509392505050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118235760009150600090505b600180549050811015611816573373ffffffffffffffffffffffffffffffffffffffff166001828154811015156117b857fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156118095760019150611816565b8080600101915050611785565b81151561182257600080fd5b5b600460008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002092508467ffffffffffffffff168360000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614156118cd576118aa8360020160009054906101000a900463ffffffff1663ffffffff168563ffffffff16614a1f565b8360020160006101000a81548163ffffffff021916908363ffffffff1602179055505b5050505050565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d95760009150600090505b6001805490508110156119cc573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561196e57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156119bf57600191506119cc565b808060010191505061193b565b8115156119d857600080fd5b5b600460008967ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020600301935060006004811115611a1257fe5b896004811115611a1e57fe5b1415611a4d57600360008963ffffffff1663ffffffff1681526020019081526020016000206001019350611b2b565b60016004811115611a5a57fe5b896004811115611a6657fe5b1415611a9557600360008963ffffffff1663ffffffff1681526020019081526020016000206002019350611b2a565b60026004811115611aa257fe5b896004811115611aae57fe5b1415611add57600360008963ffffffff1663ffffffff1681526020019081526020016000206003019350611b29565b600480811115611ae957fe5b896004811115611af557fe5b1415611b2857600460008967ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060040193505b5b5b5b8380549050871015611c585760ff8660ff161415611c1d578692505b6001848054905003831015611bcc578360018401815481101515611b6757fe5b90600052602060002090602091828204019190069054906101000a900460ff168484815481101515611b9557fe5b90600052602060002090602091828204019190066101000a81548160ff021916908360ff1602179055508280600101935050611b47565b836001858054905003815481101515611be157fe5b90600052602060002090602091828204019190066101000a81549060ff021916905583805480919060019003611c179190614a84565b50611c57565b858488815481101515611c2c57fe5b90600052602060002090602091828204019190066101000a81548160ff021916908360ff1602179055505b5b50505050949350505050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d665760009150600090505b600180549050811015611d59573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515611cfb57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611d4c5760019150611d59565b8080600101915050611cc8565b811515611d6557600080fd5b5b600460008967ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002092508767ffffffffffffffff168360000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611e465786836001019080519060200190611ddb929190614abe565b50858360020160006101000a81548163ffffffff021916908363ffffffff160217905550848360050160006101000a81548163ffffffff021916908363ffffffff160217905550838360050160046101000a81548163ffffffff021916908363ffffffff1602179055505b5050505050505050565b600560205281600052604060002081815481101515611e6b57fe5b9060005260206000209060049182820401919006600802915091509054906101000a900467ffffffffffffffff1681565b600080600460008467ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020600301905060006004811115611ed857fe5b846004811115611ee457fe5b1415611f1357600360008463ffffffff1663ffffffff1681526020019081526020016000206001019050611ff1565b60016004811115611f2057fe5b846004811115611f2c57fe5b1415611f5b57600360008463ffffffff1663ffffffff1681526020019081526020016000206002019050611ff0565b60026004811115611f6857fe5b846004811115611f7457fe5b1415611fa357600360008463ffffffff1663ffffffff1681526020019081526020016000206003019050611fef565b600480811115611faf57fe5b846004811115611fbb57fe5b1415611fee57600460008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060040190505b5b5b5b808054905091505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561214d5760009150600090505b600180549050811015612140573373ffffffffffffffffffffffffffffffffffffffff166001828154811015156120e257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156121335760019150612140565b80806001019150506120af565b81151561214c57600080fd5b5b612196600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485614a1f565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561228057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318211156122a857600690506122ed565b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156122e857600080fd5b600090505b92915050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123f55760009150600090505b6001805490508110156123e8573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561238a57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156123db57600191506123e8565b8080600101915050612357565b8115156123f457600080fd5b5b600460008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002092508467ffffffffffffffff168360000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16141561249f5761247c8360020160009054906101000a900463ffffffff1663ffffffff168563ffffffff166149f5565b8360020160006101000a81548163ffffffff021916908363ffffffff1602179055505b5050505050565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125ab5760009150600090505b60018054905081101561259e573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561254057fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612591576001915061259e565b808060010191505061250d565b8115156125aa57600080fd5b5b60009450600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002093505b8380549050851015612662578567ffffffffffffffff16848681548110151561261657fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1667ffffffffffffffff16141561265557612662565b84806001019550506125f1565b83805490508510156127ba5783600185805490500381548110151561268357fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1684868154811015156126bb57fe5b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600185805490500381548110151561270b57fe5b90600052602060002090600491828204019190066008026101000a81549067ffffffffffffffff02191690558380548091906001900361274b9190614b3e565b50600460008767ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000209250600083600001600c6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50505050505050565b600080600460008567ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206003019050600060048111156127ff57fe5b85600481111561280b57fe5b141561283a57600360008563ffffffff1663ffffffff1681526020019081526020016000206001019050612918565b6001600481111561284757fe5b85600481111561285357fe5b141561288257600360008563ffffffff1663ffffffff1681526020019081526020016000206002019050612917565b6002600481111561288f57fe5b85600481111561289b57fe5b14156128ca57600360008563ffffffff1663ffffffff1681526020019081526020016000206003019050612916565b6004808111156128d657fe5b8560048111156128e257fe5b141561291557600460008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060040190505b5b5b5b80805490508310151561292e576000915061295f565b808381548110151561293c57fe5b90600052602060002090602091828204019190069054906101000a900460ff1691505b509392505050565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a6c5760009150600090505b600180549050811015612a5f573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515612a0157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612a525760019150612a5f565b80806001019150506129ce565b811515612a6b57600080fd5b5b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600092505b8380549050831015612b0c57612afe8484815481101515612acf57fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff166133dc565b508280600101935050612ab2565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054945050505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612bb457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515612ce057600090505b600180549050811015612c7c578173ffffffffffffffffffffffffffffffffffffffff16600182815481101515612c2257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612c6f57612ce1565b8080600101915050612bef565b60018054806001018281612c909190614b78565b9160005260206000209001600084909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b5b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905082101515612d3b5760009050612db4565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515612d8757fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1690505b92915050565b600260009054906101000a900467ffffffffffffffff1681565b60046020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900463ffffffff169080600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101908060020160009054906101000a900463ffffffff16908060050160009054906101000a900463ffffffff16908060050160049054906101000a900463ffffffff16908060060154905088565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612f925760009150600090505b600180549050811015612f85573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515612f2757fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612f785760019150612f85565b8080600101915050612ef4565b811515612f9157600080fd5b5b600460008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002092508673ffffffffffffffffffffffffffffffffffffffff1683600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561301d5760049350613040565b613026856133dc565b5061303187866124a6565b61303b8686613085565b600093505b5050509392505050565b600260089054906101000a900463ffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561318a5760009150600090505b60018054905081101561317d573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561311f57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613170576001915061317d565b80806001019150506130ec565b81151561318957600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141580156131d1575060008667ffffffffffffffff16115b1561334e57600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209450600093505b848054905084101561328d578567ffffffffffffffff16858581548110151561324157fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1667ffffffffffffffff1614156132805761334f565b838060010194505061321c565b8480548060010182816132a09190614b3e565b916000526020600020906004918282040191900660080288909190916101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050600460008767ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002092508683600001600c6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50505050505050565b600080600080600080600360008863ffffffff1663ffffffff16815260200190815260200160002090508060000160009054906101000a900463ffffffff16955080600401549450806005015493508060060160009054906101000a900463ffffffff1692508060060160049054906101000a900460ff1691505091939590929450565b60008060008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156134e45760009150600090505b6001805490508110156134d7573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561347957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156134ca57600191506134d7565b8080600101915050613446565b8115156134e357600080fd5b5b600460008967ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000209550600360008760000160089054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020945060008660000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16148061358d575060008560000160009054906101000a900463ffffffff1663ffffffff16145b1561359b5760009650613714565b600093506135dd8560060160009054906101000a900463ffffffff1663ffffffff168760050160049054906101000a900463ffffffff1663ffffffff16614a1f565b925060008363ffffffff161115613710578460060160009054906101000a900463ffffffff168660050160046101000a81548163ffffffff021916908363ffffffff1602179055506136398363ffffffff168660050154614a3d565b93506136a86006600088600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054856149f5565b6006600088600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8396505b505050505050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561381f5760009150600090505b600180549050811015613812573373ffffffffffffffffffffffffffffffffffffffff166001828154811015156137b457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156138055760019150613812565b8080600101915050613781565b81151561381e57600080fd5b5b82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156138c657600080fd5b600090505b600180549050811015613958578173ffffffffffffffffffffffffffffffffffffffff166001828154811015156138fe57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561394b57613958565b80806001019150506138cb565b600180549050811015613a585760018080805490500381548110151561397a57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001828154811015156139b557fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600180808054905003815481101515613a1357fe5b906000526020600020900160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001805480919060019003613a569190614ba4565b505b5050565b600181815481101515613a6b57fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613af657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613c7c5760009150600090505b600180549050811015613c6f573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515613c1157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613c625760019150613c6f565b8080600101915050613bde565b811515613c7b57600080fd5b5b600360008963ffffffff1663ffffffff168152602001908152602001600020925060008360000160009054906101000a900463ffffffff1663ffffffff161415613cf8576001600260088282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff1602179055505b878360000160006101000a81548163ffffffff021916908363ffffffff160217905550868360040181905550858360050181905550848360060160046101000a81548160ff021916908315150217905550600260089054906101000a900463ffffffff169350505050949350505050565b600080600080613d77614bd0565b600080600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020955060009450600093505b858054905084101561418057600460008786815481101515613de257fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002061014060405190810160405290816000820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160089054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200160008201600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613f825780601f10613f5757610100808354040283529160200191613f82565b820191906000526020600020905b815481529060010190602001808311613f6557829003601f168201915b505050505081526020016002820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016003820180548060200260200160405190810160405280929190818152602001828054801561402657602002820191906000526020600020906000905b82829054906101000a900460ff1660ff1681526020019060010190602082600001049283019260010382029150808411613fef5790505b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156140a457602002820191906000526020600020906000905b82829054906101000a900460ff1660ff168152602001906001019060208260000104928301926001038202915080841161406d5790505b505050505081526020016005820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016005820160049054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001600682015481525050925060036000846020015163ffffffff1663ffffffff16815260200190815260200160002091506141598260060160009054906101000a900463ffffffff1663ffffffff1684610100015163ffffffff16614a1f565b905061416f8163ffffffff168360050154614a3d565b850194508380600101945050613dc4565b849650505050505050919050565b60066020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561420157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561427857806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600080614286614bd0565b6000806000600460008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002061014060405190810160405290816000820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160089054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200160008201600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156144065780601f106143db57610100808354040283529160200191614406565b820191906000526020600020905b8154815290600101906020018083116143e957829003601f168201915b505050505081526020016002820160009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001600382018054806020026020016040519081016040528092919081815260200182805480156144aa57602002820191906000526020600020906000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116144735790505b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561452857602002820191906000526020600020906000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116144f15790505b505050505081526020016005820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016005820160049054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001600682015481525050935060036000856020015163ffffffff1663ffffffff16815260200190815260200160002092506145dc8360060160009054906101000a900463ffffffff1663ffffffff168560e0015163ffffffff16614a1f565b915061460d8360060160009054906101000a900463ffffffff1663ffffffff1685610100015163ffffffff16614a1f565b90506146238163ffffffff168460050154614a3d565b6146378363ffffffff168560050154614a3d565b9550955050505050915091565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156147495760009150600090505b60018054905081101561473c573373ffffffffffffffffffffffffffffffffffffffff166001828154811015156146de57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561472f576001915061473c565b80806001019150506146ab565b81151561474857600080fd5b5b600360008963ffffffff1663ffffffff168152602001908152602001600020935060008460000160009054906101000a900463ffffffff1663ffffffff16141561479657600094506149ea565b6001600260008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060018460060160008282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff16021790555060046000600260009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000209250600260009054906101000a900467ffffffffffffffff168360000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550878360000160086101000a81548163ffffffff021916908363ffffffff1602179055508683600001600c6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085836001019080519060200190614910929190614abe565b5060018360020160006101000a81548163ffffffff021916908363ffffffff1602179055508360060160009054906101000a900463ffffffff168360050160006101000a81548163ffffffff021916908363ffffffff1602179055508360060160009054906101000a900463ffffffff168360050160046101000a81548163ffffffff021916908363ffffffff1602179055504283600601819055506149ce878460000160009054906101000a900467ffffffffffffffff16613085565b8260000160009054906101000a900467ffffffffffffffff1694505b505050509392505050565b6000808284019050838110158015614a0d5750828110155b1515614a1557fe5b8091505092915050565b600080828410151515614a2e57fe5b82840390508091505092915050565b60008082840290506000841480614a5e5750828482811515614a5b57fe5b04145b1515614a6657fe5b8091505092915050565b602060405190810160405280600081525090565b815481835581811511614ab957601f016020900481601f01602090048360005260206000209182019101614ab89190614c6e565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614aff57805160ff1916838001178555614b2d565b82800160010185558215614b2d579182015b82811115614b2c578251825591602001919060010190614b11565b5b509050614b3a9190614c6e565b5090565b815481835581811511614b73576003016004900481600301600490048360005260206000209182019101614b729190614c6e565b5b505050565b815481835581811511614b9f57818360005260206000209182019101614b9e9190614c6e565b5b505050565b815481835581811511614bcb57818360005260206000209182019101614bca9190614c6e565b5b505050565b61014060405190810160405280600067ffffffffffffffff168152602001600063ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001614c20614c93565b8152602001600063ffffffff168152602001614c3a614ca7565b8152602001614c47614ca7565b8152602001600063ffffffff168152602001600063ffffffff168152602001600081525090565b614c9091905b80821115614c8c576000816000905550600101614c74565b5090565b90565b602060405190810160405280600081525090565b6020604051908101604052806000815250905600a165627a7a723058201f8e0895bca8f86f9bb1ac4822f4233fe140ed10d17eddb398c6d1bbf8235dac0029
Swarm Source
bzzr://1f8e0895bca8f86f9bb1ac4822f4233fe140ed10d17eddb398c6d1bbf8235dac
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.