ERC-20
Overview
Max Total Supply
402,691,346.999999999999774067 TKGN
Holders
1,050
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
TKG
Compiler Version
v0.4.22+commit.4cb486ee
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-06-23 */ pragma solidity ^0.4.22; /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } pragma solidity ^0.4.22; /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } contract Owner { address internal owner; modifier onlyOwner { require(msg.sender == owner); _; } function changeOwner(address newOwner) public onlyOwner returns(bool) { owner = newOwner; return true; } } pragma solidity ^0.4.22; contract TkgPlus is Owner { mapping(address => uint256) internal balances; function parse2wei(uint _value) internal pure returns(uint) { uint decimals = 18; return _value * (10 ** uint256(decimals)); } address public ADDR_TKG_ORG; address public ADDR_TKG_TECH_FUND; address public ADDR_TKG_ASSOCIATION; address public ADDR_TKG_VC; address public ADDR_TKG_NODE; address public ADDR_TKG_CHARITY; address public ADDR_TKG_TEAM; struct IcoRule { uint startTime; uint endTime; uint rate; uint shareRuleGroupId; address[] addrList; bool canceled; } IcoRule[] icoRuleList; mapping (address => uint[] ) addr2icoRuleIdList; event GetIcoRule(uint startTime, uint endTime, uint rate, uint shareRuleGroupId, bool canceled); function icoRuleAdd(uint startTime, uint endTime, uint rate, uint shareRuleGroupId) public onlyOwner returns (bool) { address[] memory addr; bool canceled = false; IcoRule memory item = IcoRule(startTime, endTime, rate, shareRuleGroupId, addr, canceled); icoRuleList.push(item); return true; } function icoRuleUpdate(uint index, uint startTime, uint endTime, uint rate, uint shareRuleGroupId) public onlyOwner returns (bool) { require(icoRuleList.length > index); if (startTime > 0) { icoRuleList[index].startTime = startTime; } if (endTime > 0) { icoRuleList[index].endTime = endTime; } if (rate > 0) { icoRuleList[index].rate = rate; } icoRuleList[index].shareRuleGroupId = shareRuleGroupId; return true; } function icoPushAddr(uint index, address addr) internal returns (bool) { icoRuleList[index].addrList.push(addr); return true; } function icoRuleCancel(uint index) public onlyOwner returns (bool) { require(icoRuleList.length > index); icoRuleList[index].canceled = true; return true; } function getIcoRuleList() public returns (uint count) { count = icoRuleList.length; for (uint i = 0; i < count ; i++) { emit GetIcoRule(icoRuleList[i].startTime, icoRuleList[i].endTime, icoRuleList[i].rate, icoRuleList[i].shareRuleGroupId, icoRuleList[i].canceled); } } function getIcoAddrCount(uint icoRuleId) public view onlyOwner returns (uint count) { count = icoRuleList[icoRuleId - 1].addrList.length; } function getIcoAddrListByIcoRuleId(uint icoRuleId, uint index) public view onlyOwner returns (address addr) { addr = icoRuleList[icoRuleId - 1].addrList[index]; } function initIcoRule() internal returns(bool) { icoRuleAdd(1529251201, 1530374399, 6000, 1); icoRuleAdd(1530547201, 1531238399, 3800, 0); } struct ShareRule { uint startTime; uint endTime; uint rateDenominator; } event GetShareRule(address addr, uint startTime, uint endTime, uint rateDenominator); mapping (uint => ShareRule[]) shareRuleGroup; mapping (address => uint) addr2shareRuleGroupId; mapping (address => uint ) sharedAmount; mapping (address => uint ) icoAmount; ShareRule[] shareRule6; function initShareRule6() internal returns( bool ) { ShareRule memory sr = ShareRule(1533398401, 1536076799, 6); shareRule6.push( sr ); sr = ShareRule(1536076801, 1538668799, 6); shareRule6.push( sr ); sr = ShareRule(1538668801, 1541347199, 6); shareRule6.push( sr ); sr = ShareRule(1541347201, 1543939199, 6); shareRule6.push( sr ); sr = ShareRule(1543939201, 1546617599, 6); shareRule6.push( sr ); sr = ShareRule(1546617601, 1549295999, 6); shareRule6.push( sr ); shareRuleGroup[1] = shareRule6; } ShareRule[] srlist2; ShareRule[] srlist3; ShareRule[] srlist4; function initShareRule4Publicity() internal returns( bool ) { ShareRule memory sr; sr = ShareRule(1529251201, 1560787199, 3); srlist2.push( sr ); sr = ShareRule(1560787201, 1592409599, 3); srlist2.push( sr ); sr = ShareRule(1592409601, 1623945599, 3); srlist2.push( sr ); shareRuleGroup[2] = srlist2; addr2shareRuleGroupId[ADDR_TKG_NODE] = 2; sr = ShareRule(1529251201, 1560787199, 5); srlist3.push( sr ); sr = ShareRule(1560787201, 1592409599, 5); srlist3.push( sr ); sr = ShareRule(1592409601, 1623945599, 5); srlist3.push( sr ); sr = ShareRule(1623945601, 1655481599, 5); srlist3.push( sr ); sr = ShareRule(1655481601, 1687017599, 5); srlist3.push( sr ); shareRuleGroup[3] = srlist3; addr2shareRuleGroupId[ADDR_TKG_CHARITY] = 3; sr = ShareRule(1529251201, 1560787199, 3); srlist4.push( sr ); sr = ShareRule(1560787201, 1592409599, 3); srlist4.push( sr ); sr = ShareRule(1592409601, 1623945599, 3); srlist4.push( sr ); shareRuleGroup[4] = srlist4; addr2shareRuleGroupId[ADDR_TKG_TEAM] = 4; return true; } function initPublicityAddr() internal { ADDR_TKG_TECH_FUND = address(0x6317D006021Fd26581deD71e547fC0B8e12876Eb); balances[ADDR_TKG_TECH_FUND] = parse2wei(59000000); ADDR_TKG_ASSOCIATION = address(0xB1A89E3ac5f90bE297853c76D8cb88259357C416); balances[ADDR_TKG_ASSOCIATION] = parse2wei(88500000); ADDR_TKG_VC = address(0xA053358bd6AC2E6eD5B13E59c20e42b66dFE6EC4); balances[ADDR_TKG_VC] = parse2wei(45500000); ADDR_TKG_NODE = address(0x21776fAcab4300437ECC0a132bEC361bA3Db7Fe7); balances[ADDR_TKG_NODE] = parse2wei(59000000); ADDR_TKG_CHARITY = address(0x4cB70266Ebc2def3B7219ef86E787b7be6139470); balances[ADDR_TKG_CHARITY] = parse2wei(29500000); ADDR_TKG_TEAM = address(0xd4076Cf846c8Dbf28e26E4863d94ddc948B9A155); balances[ADDR_TKG_TEAM] = parse2wei(88500000); initShareRule4Publicity(); } function updatePublicityBalance( address addr, uint amount ) public onlyOwner returns(bool) { balances[addr] = amount; return true; } function updateShareRuleGroup(uint id, uint index, uint startTime, uint endTime, uint rateDenominator) public onlyOwner returns(bool) { if (startTime > 0) { shareRuleGroup[id][index].startTime = startTime; } if (endTime > 0) { shareRuleGroup[id][index].endTime = endTime; } if (rateDenominator > 0) { shareRuleGroup[id][index].rateDenominator = rateDenominator; } return true; } function tokenShareShow(address addr) public returns(uint shareRuleGroupId) { shareRuleGroupId = addr2shareRuleGroupId[addr]; if (shareRuleGroupId == 0) { return 0; } ShareRule[] memory shareRuleList = shareRuleGroup[shareRuleGroupId]; uint count = shareRuleList.length; for (uint i = 0; i < count ; i++) { emit GetShareRule(addr, shareRuleList[i].startTime, shareRuleList[i].endTime, shareRuleList[i].rateDenominator); } return shareRuleGroupId; } function setAccountShareRuleGroupId(address addr, uint shareRuleGroupId) public onlyOwner returns(bool) { addr2shareRuleGroupId[addr] = shareRuleGroupId; return true; } } pragma solidity ^0.4.22; /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic, TkgPlus { using SafeMath for uint256; uint256 internal totalSupply_; mapping (address => bool) internal locked; /** * alan: lock or unlock account */ function lockAccount(address _addr) public onlyOwner returns (bool) { require(_addr != address(0)); locked[_addr] = true; return true; } function unlockAccount(address _addr) public onlyOwner returns (bool) { require(_addr != address(0)); locked[_addr] = false; return true; } /** * alan: get lock status */ function isLocked(address addr) public view returns(bool) { return locked[addr]; } bool internal stopped = false; modifier running { assert (!stopped); _; } function stop() public onlyOwner { stopped = true; } function start() public onlyOwner { stopped = false; } function isStopped() public view returns(bool) { return stopped; } /** * @dev total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } function getRemainShareAmount() public view returns(uint) { return getRemainShareAmountInternal(msg.sender); } function getRemainShareAmountInternal(address addr) internal view returns(uint) { uint canTransferAmount = 0; uint srgId = addr2shareRuleGroupId[addr]; bool allowTransfer = false; if (srgId == 0) { canTransferAmount = balances[addr]; return canTransferAmount; } else { ShareRule[] memory shareRuleList = shareRuleGroup[srgId]; uint count = shareRuleList.length; for (uint i = 0; i < count ; i++) { if ( shareRuleList[i].startTime < now && now < shareRuleList[i].endTime) { canTransferAmount = (i + 1).mul(icoAmount[addr]).div(shareRuleList[i].rateDenominator).sub( sharedAmount[addr]); return canTransferAmount; } } if (allowTransfer == false) { bool isOverTime = true; for (i = 0; i < count ; i++) { if ( now < shareRuleList[i].endTime) { isOverTime = false; } } if (isOverTime == true) { allowTransfer = true; canTransferAmount = balances[addr]; return canTransferAmount; } } } } /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public running returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); require( locked[msg.sender] != true); require( locked[_to] != true); require( getRemainShareAmount() >= _value ); address addrA = address(0xce3c0a2012339490D2850B4Fd4cDA0B95Ac03076); if (msg.sender == addrA && now < 1532966399) { addr2shareRuleGroupId[_to] = 1; } balances[msg.sender] = balances[msg.sender].sub(_value); sharedAmount[msg.sender] = sharedAmount[msg.sender].add( _value ); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } } pragma solidity ^0.4.22; /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * @dev https://github.com/ethereum/EIPs/issues/20 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public running returns (bool) { require(_to != address(0)); require( locked[_from] != true && locked[_to] != true); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); require(_value <= getRemainShareAmountInternal(_from)); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public running returns (bool) { require(getRemainShareAmountInternal(msg.sender) >= _value); allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } } contract AlanPlusToken is StandardToken { function additional(uint amount) public onlyOwner running returns(bool) { totalSupply_ = totalSupply_.add(amount); balances[owner] = balances[owner].add(amount); return true; } event Burn(address indexed from, uint256 value); /** * Destroy tokens * Remove `_value` tokens from the system irreversibly * @param _value the amount of money to burn */ function burn(uint256 _value) public onlyOwner running returns (bool success) { require(balances[msg.sender] >= _value); balances[msg.sender] = balances[msg.sender].sub(_value); totalSupply_ = totalSupply_.sub(_value); emit Burn(msg.sender, _value); return true; } /** * Destroy tokens from other account * * Remove `_value` tokens from the system irreversibly on behalf of `_from`. * * @param _from the address of the senderT * @param _value the amount of money to burn */ function burnFrom(address _from, uint256 _value) public onlyOwner returns (bool success) { require(balances[_from] >= _value); if (_value <= allowed[_from][msg.sender]) { allowed[_from][msg.sender] -= _value; } else { allowed[_from][msg.sender] = 0; } balances[_from] -= _value; totalSupply_ -= _value; emit Burn(_from, _value); return true; } } pragma solidity ^0.4.22; contract TKG is AlanPlusToken { string public constant name = "Token Guardian"; string public constant symbol = "TKGN"; uint8 public constant decimals = 18; uint256 private constant INITIAL_SUPPLY = 590000000 * (10 ** uint256(decimals)); function () public payable { uint curIcoRate = 0; uint icoRuleIndex = 500; for (uint i = 0; i < icoRuleList.length ; i++) { if ((icoRuleList[i].canceled != true) && (icoRuleList[i].startTime < now && now < icoRuleList[i].endTime)) { curIcoRate = icoRuleList[i].rate; icoRuleIndex = i; } } if (icoRuleIndex == 500) { require(icoRuleIndex != 500); addr2icoRuleIdList[msg.sender].push( 0 ); addr2shareRuleGroupId[msg.sender] = addr2shareRuleGroupId[msg.sender] > 0 ? addr2shareRuleGroupId[msg.sender] : 0; } else { addr2shareRuleGroupId[msg.sender] = addr2shareRuleGroupId[msg.sender] > 0 ? addr2shareRuleGroupId[msg.sender] : icoRuleList[icoRuleIndex].shareRuleGroupId; addr2icoRuleIdList[msg.sender].push( icoRuleIndex + 1 ); icoPushAddr(icoRuleIndex, msg.sender); } uint amountTKG = 0; amountTKG = msg.value.mul( curIcoRate ); balances[msg.sender] = balances[msg.sender].add(amountTKG); icoAmount[msg.sender] = icoAmount[msg.sender].add(amountTKG); balances[owner] = balances[owner].sub(amountTKG); ADDR_TKG_ORG.transfer(msg.value); } constructor(uint totalSupply) public { owner = msg.sender; ADDR_TKG_ORG = owner; totalSupply_ = totalSupply > 0 ? totalSupply : INITIAL_SUPPLY; uint assignedAmount = 59000000 + 88500000 + 45500000 + 59000000 + 29500000 + 88500000; balances[owner] = totalSupply_.sub( parse2wei(assignedAmount) ); initIcoRule(); initShareRule6(); initPublicityAddr(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"ADDR_TKG_VC","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"icoRuleId","type":"uint256"},{"name":"index","type":"uint256"}],"name":"getIcoAddrListByIcoRuleId","outputs":[{"name":"addr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"shareRuleGroupId","type":"uint256"}],"name":"setAccountShareRuleGroupId","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRemainShareAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"amount","type":"uint256"}],"name":"updatePublicityBalance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_TKG_NODE","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_TKG_ASSOCIATION","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isStopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"lockAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"isLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getIcoRuleList","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_TKG_CHARITY","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"index","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"rateDenominator","type":"uint256"}],"name":"updateShareRuleGroup","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_TKG_TEAM","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"tokenShareShow","outputs":[{"name":"shareRuleGroupId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"unlockAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"icoRuleId","type":"uint256"}],"name":"getIcoAddrCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"}],"name":"icoRuleCancel","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"rate","type":"uint256"},{"name":"shareRuleGroupId","type":"uint256"}],"name":"icoRuleUpdate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"rate","type":"uint256"},{"name":"shareRuleGroupId","type":"uint256"}],"name":"icoRuleAdd","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_TKG_ORG","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_TKG_TECH_FUND","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"additional","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"startTime","type":"uint256"},{"indexed":false,"name":"endTime","type":"uint256"},{"indexed":false,"name":"rate","type":"uint256"},{"indexed":false,"name":"shareRuleGroupId","type":"uint256"},{"indexed":false,"name":"canceled","type":"bool"}],"name":"GetIcoRule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"startTime","type":"uint256"},{"indexed":false,"name":"endTime","type":"uint256"},{"indexed":false,"name":"rateDenominator","type":"uint256"}],"name":"GetShareRule","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
60806040526000601560006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b5060405160208062004f59833981018060405281019080805190602001909291905050506000336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600082116200011157601260ff16600a0a63232aaf800262000113565b815b60138190555063160dc08090506200015e6200013e8262000217640100000000026401000000009004565b6013546200022c6401000000000262001548179091906401000000009004565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001db62000246640100000000026401000000009004565b50620001f56200029d640100000000026401000000009004565b506200020f62000598640100000000026401000000009004565b5050620014c2565b6000806012905080600a0a8302915050919050565b60008282111515156200023b57fe5b818303905092915050565b600062000270635b268581635b37a8ff611770600162000ac4640100000000026401000000009004565b5062000299635b3a4c01635b44d7ff610ed8600062000ac4640100000000026401000000009004565b5090565b6000620002a9620012dd565b606060405190810160405280635b65cd818152602001635b8eabff815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635b8eac018152602001635bb638ff815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635bb639018152602001635bdf177f815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635bdf17818152602001635c06a47f815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635c06a4818152602001635c2f82ff815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635c2f83018152602001635c58617f815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050600f600b60006001815260200190815260200160002090805462000593929190620012ff565b505090565b736317d006021fd26581ded71e547fc0b8e12876eb600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200060b63038444c062000217640100000000026401000000009004565b60016000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073b1a89e3ac5f90be297853c76d8cb88259357c416600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620006e3630546672062000217640100000000026401000000009004565b60016000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073a053358bd6ac2e6ed5b13e59c20e42b66dfe6ec4600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620007bb6302b6466062000217640100000000026401000000009004565b60016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507321776facab4300437ecc0a132bec361ba3db7fe7600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200089363038444c062000217640100000000026401000000009004565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550734cb70266ebc2def3b7219ef86e787b7be6139470600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200096b6301c2226062000217640100000000026401000000009004565b60016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073d4076cf846c8dbf28e26e4863d94ddc948b9a155600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000a43630546672062000217640100000000026401000000009004565b60016000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000ac162000c0d640100000000026401000000009004565b50565b60006060600062000ad46200137a565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151562000b3057600080fd5b6000915060c06040519081016040528089815260200188815260200187815260200186815260200184815260200183151581525090506009819080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401908051906020019062000bda929190620013b3565b5060a08201518160050160006101000a81548160ff02191690831515021790555050505060019350505050949350505050565b600062000c19620012dd565b606060405190810160405280635b2685818152602001635d07b8ff81526020016003815250905060108190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635d07b9018152602001635eea3dff81526020016003815250905060108190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635eea3e0181526020016360cb717f815260200160038152509050601081908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506010600b60006002815260200190815260200160002090805462000da1929190620012ff565b506002600c6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550606060405190810160405280635b2685818152602001635d07b8ff81526020016005815250905060118190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635d07b9018152602001635eea3dff81526020016005815250905060118190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635eea3e0181526020016360cb717f815260200160058152509050601181908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506060604051908101604052806360cb718181526020016362aca4ff815260200160058152509050601181908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506060604051908101604052806362aca501815260200163648dd87f815260200160058152509050601181908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506011600b6000600381526020019081526020016000209080546200107d929190620012ff565b506003600c6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550606060405190810160405280635b2685818152602001635d07b8ff81526020016003815250905060128190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635d07b9018152602001635eea3dff81526020016003815250905060128190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635eea3e0181526020016360cb717f815260200160038152509050601281908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506012600b6000600481526020019081526020016000209080546200126d929190620012ff565b506004600c6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600191505090565b6060604051908101604052806000815260200160008152602001600081525090565b828054828255906000526020600020906003028101928215620013675760005260206000209160030282015b82811115620013665782826000820154816000015560018201548160010155600282015481600201555050916003019190600301906200132b565b5b50905062001376919062001442565b5090565b60c06040519081016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b8280548282559060005260206000209081019282156200142f579160200282015b828111156200142e5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190620013d4565b5b5090506200143e91906200147c565b5090565b6200147991905b808211156200147557600080820160009055600182016000905560028201600090555060030162001449565b5090565b90565b620014bf91905b80821115620014bb57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010162001483565b5090565b90565b613a8780620014d26000396000f3006080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303c401e31461080157806303e6c1171461085857806306fdde03146108cf57806307da68f51461095f57806307e1967a14610976578063095ea7b3146109db5780630e0e26da14610a4057806318160ddd14610a6b5780631f221d4c14610a965780631fee37c814610afb57806323b872dd14610b52578063243feeb014610bd7578063313ce56714610c2e5780633f683b6a14610c5f57806342966c6814610c8e57806347a64f4414610cd35780634a4fbeec14610d2e57806357d70c0b14610d89578063592c518f14610db457806366f928d314610e0b57806370a0823114610e78578063770d8e7914610ecf57806379cc679014610f2657806386fa067114610f8b578063905295e314610fe257806395d89b411461103d57806397172664146110cd578063a6f9dae11461110e578063a9059cbb14611169578063be9a6555146111ce578063c08e05aa146111e5578063c0c8821a1461122a578063db23c5d714611297578063dd62ed3e146112fa578063e71b49ad14611371578063f390cae4146113c8578063fea7bcfb1461141f575b600080600080600093506101f49250600091505b6009805490508210156102b3576001151560098381548110151561020157fe5b906000526020600020906006020160050160009054906101000a900460ff1615151415801561027a57504260098381548110151561023b57fe5b906000526020600020906006020160000154108015610279575060098281548110151561026457fe5b90600052602060002090600602016001015442105b5b156102a65760098281548110151561028e57fe5b90600052602060002090600602016002015493508192505b81806001019250506101e1565b6101f483141561040f576101f483141515156102ce57600080fd5b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090806001815401808255809150509060018203906000526020600020016000909192909190915055506000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116103865760006103c7565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610578565b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161047c5760098381548110151561046557fe5b9060005260206000209060060201600301546104bd565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001840190806001815401808255809150509060018203906000526020600020016000909192909190915055506105768333611464565b505b6000905061058f84346114f490919063ffffffff16565b90506105e381600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061067881600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072e81600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156107fa573d6000803e3d6000fd5b5050505050005b34801561080d57600080fd5b50610816611561565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561086457600080fd5b5061088d6004803603810190808035906020019092919080359060200190929190505050611587565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108db57600080fd5b506108e4611647565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610924578082015181840152602081019050610909565b50505050905090810190601f1680156109515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561096b57600080fd5b50610974611680565b005b34801561098257600080fd5b506109c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116f8565b604051808215151515815260200191505060405180910390f35b3480156109e757600080fd5b50610a26600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117a3565b604051808215151515815260200191505060405180910390f35b348015610a4c57600080fd5b50610a556118c5565b6040518082815260200191505060405180910390f35b348015610a7757600080fd5b50610a806118d5565b6040518082815260200191505060405180910390f35b348015610aa257600080fd5b50610ae1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118df565b604051808215151515815260200191505060405180910390f35b348015610b0757600080fd5b50610b1061198a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b5e57600080fd5b50610bbd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119b0565b604051808215151515815260200191505060405180910390f35b348015610be357600080fd5b50610bec611e5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c3a57600080fd5b50610c43611e83565b604051808260ff1660ff16815260200191505060405180910390f35b348015610c6b57600080fd5b50610c74611e88565b604051808215151515815260200191505060405180910390f35b348015610c9a57600080fd5b50610cb960048036038101908080359060200190929190505050611e9f565b604051808215151515815260200191505060405180910390f35b348015610cdf57600080fd5b50610d14600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061206a565b604051808215151515815260200191505060405180910390f35b348015610d3a57600080fd5b50610d6f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612164565b604051808215151515815260200191505060405180910390f35b348015610d9557600080fd5b50610d9e6121ba565b6040518082815260200191505060405180910390f35b348015610dc057600080fd5b50610dc96122eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e1757600080fd5b50610e5e6004803603810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050612311565b604051808215151515815260200191505060405180910390f35b348015610e8457600080fd5b50610eb9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061243b565b6040518082815260200191505060405180910390f35b348015610edb57600080fd5b50610ee4612484565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f3257600080fd5b50610f71600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506124aa565b604051808215151515815260200191505060405180910390f35b348015610f9757600080fd5b50610fcc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127a1565b6040518082815260200191505060405180910390f35b348015610fee57600080fd5b50611023600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061297c565b604051808215151515815260200191505060405180910390f35b34801561104957600080fd5b50611052612a76565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611092578082015181840152602081019050611077565b50505050905090810190601f1680156110bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156110d957600080fd5b506110f860048036038101908080359060200190929190505050612aaf565b6040518082815260200191505060405180910390f35b34801561111a57600080fd5b5061114f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b3a565b604051808215151515815260200191505060405180910390f35b34801561117557600080fd5b506111b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612be0565b604051808215151515815260200191505060405180910390f35b3480156111da57600080fd5b506111e361302b565b005b3480156111f157600080fd5b50611210600480360381019080803590602001909291905050506130a3565b604051808215151515815260200191505060405180910390f35b34801561123657600080fd5b5061127d6004803603810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050613155565b604051808215151515815260200191505060405180910390f35b3480156112a357600080fd5b506112e060048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050613284565b604051808215151515815260200191505060405180910390f35b34801561130657600080fd5b5061135b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133c8565b6040518082815260200191505060405180910390f35b34801561137d57600080fd5b5061138661344f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156113d457600080fd5b506113dd613475565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561142b57600080fd5b5061144a6004803603810190808035906020019092919050505061349b565b604051808215151515815260200191505060405180910390f35b600060098381548110151561147557fe5b90600052602060002090600602016004018290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001905092915050565b6000808314156115075760009050611526565b818302905081838281151561151857fe5b0414151561152257fe5b8090505b92915050565b6000818301905082811015151561153f57fe5b80905092915050565b600082821115151561155657fe5b818303905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e457600080fd5b6009600184038154811015156115f657fe5b90600052602060002090600602016004018281548110151561161457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b6040805190810160405280600e81526020017f546f6b656e20477561726469616e00000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116db57600080fd5b6001601560006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561175557600080fd5b81600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000601560009054906101000a900460ff161515156117be57fe5b816117c83361360c565b101515156117d557600080fd5b81601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006118d03361360c565b905090565b6000601354905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561193c57600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601560009054906101000a900460ff161515156119cb57fe5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a0757600080fd5b60011515601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514158015611ab9575060011515601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b1515611ac457600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611b1257600080fd5b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611b9d57600080fd5b611ba68461360c565b8211151515611bb457600080fd5b611c0682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c9b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d6d82601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601281565b6000601560009054906101000a900460ff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611efc57600080fd5b601560009054906101000a900460ff16151515611f1557fe5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611f6357600080fd5b611fb582600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061200d8260135461154890919063ffffffff16565b6013819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120c757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561210357600080fd5b6001601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000806009805490509150600090505b818110156122e7577f3fd09c11ab25d63cb931934aa596b6bde99b04e53cfc0ed5f0ef068c5ebcf21a60098281548110151561220257fe5b90600052602060002090600602016000015460098381548110151561222357fe5b90600052602060002090600602016001015460098481548110151561224457fe5b90600052602060002090600602016002015460098581548110151561226557fe5b90600052602060002090600602016003015460098681548110151561228657fe5b906000526020600020906006020160050160009054906101000a900460ff1660405180868152602001858152602001848152602001838152602001821515151581526020019550505050505060405180910390a180806001019150506121ca565b5090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561236e57600080fd5b60008411156123ae5783600b60008881526020019081526020016000208681548110151561239857fe5b9060005260206000209060030201600001819055505b60008311156123ee5782600b6000888152602001908152602001600020868154811015156123d857fe5b9060005260206000209060030201600101819055505b600082111561242e5781600b60008881526020019081526020016000208681548110151561241857fe5b9060005260206000209060030201600201819055505b6001905095945050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561250757600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561255557600080fd5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115156126695781601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506126ec565b6000601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816013600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b60006060600080600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935060008414156127fc5760009350612974565b600b6000858152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561288057838290600052602060002090600302016060604051908101604052908160008201548152602001600182015481526020016002820154815250508152602001906001019061282f565b50505050925082519150600090505b81811015612970577f576be245b78b54839022ee7339b7d29d342aacd35cacde79eba5e4a84206d2208584838151811015156128c757fe5b906020019060200201516000015185848151811015156128e357fe5b906020019060200201516020015186858151811015156128ff57fe5b9060200190602002015160400151604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a1808060010191505061288f565b8393505b505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129d957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612a1557600080fd5b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6040805190810160405280600481526020017f544b474e0000000000000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b0c57600080fd5b600960018303815481101515612b1e57fe5b9060005260206000209060060201600401805490509050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b9757600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600080601560009054906101000a900460ff16151515612bfc57fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515612c3857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515612c8657600080fd5b60011515601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515612ce657600080fd5b60011515601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515612d4657600080fd5b82612d4f6118c5565b10151515612d5c57600080fd5b73ce3c0a2012339490d2850b4fd4cda0b95ac0307690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015612db15750635b5f35ff42105b15612dfc576001600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b612e4e83600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ee383600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f7883600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561308657600080fd5b6000601560006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561310057600080fd5b8160098054905011151561311357600080fd5b600160098381548110151561312457fe5b906000526020600020906006020160050160006101000a81548160ff02191690831515021790555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156131b257600080fd5b856009805490501115156131c557600080fd5b60008511156131f457846009878154811015156131de57fe5b9060005260206000209060060201600001819055505b6000841115613223578360098781548110151561320d57fe5b9060005260206000209060060201600101819055505b6000831115613252578260098781548110151561323c57fe5b9060005260206000209060060201600201819055505b8160098781548110151561326257fe5b9060005260206000209060060201600301819055506001905095945050505050565b600060606000613292613955565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156132ed57600080fd5b6000915060c06040519081016040528089815260200188815260200187815260200186815260200184815260200183151581525090506009819080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401908051906020019061339592919061398e565b5060a08201518160050160006101000a81548160ff02191690831515021790555050505060019350505050949350505050565b6000601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156134f857600080fd5b601560009054906101000a900460ff1615151561351157fe5b6135268260135461152c90919063ffffffff16565b60138190555061359f82600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b60008060008060606000806000809650600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205495506000945060008614156136b557600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613933565b600b6000878152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156137395783829060005260206000209060030201606060405190810160405290816000820154815260200160018201548152602001600282015481525050815260200190600101906136e8565b50505050935083519250600091505b828210156138835742848381518110151561375f57fe5b90602001906020020151600001511080156137945750838281518110151561378357fe5b906020019060200201516020015142105b156138765761386c600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385e86858151811015156137ed57fe5b9060200190602002015160400151613850600e60008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600188016114f490919063ffffffff16565b61393f90919063ffffffff16565b61154890919063ffffffff16565b9650869750613933565b8180600101925050613748565b6000151585151514156139325760019050600091505b828210156138d65783828151811015156138af57fe5b90602001906020020151602001514210156138c957600090505b8180600101925050613899565b6001151581151514156139315760019450600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613933565b5b5b50505050505050919050565b6000818381151561394c57fe5b04905092915050565b60c06040519081016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b828054828255906000526020600020908101928215613a07579160200282015b82811115613a065782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906139ae565b5b509050613a149190613a18565b5090565b613a5891905b80821115613a5457600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101613a1e565b5090565b905600a165627a7a72305820fe0ab74c8caa01f78cd7e0c93b46f1af6458bb9e822f05cf7b60f233bd36e5f80029
Deployed Bytecode
0x6080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303c401e31461080157806303e6c1171461085857806306fdde03146108cf57806307da68f51461095f57806307e1967a14610976578063095ea7b3146109db5780630e0e26da14610a4057806318160ddd14610a6b5780631f221d4c14610a965780631fee37c814610afb57806323b872dd14610b52578063243feeb014610bd7578063313ce56714610c2e5780633f683b6a14610c5f57806342966c6814610c8e57806347a64f4414610cd35780634a4fbeec14610d2e57806357d70c0b14610d89578063592c518f14610db457806366f928d314610e0b57806370a0823114610e78578063770d8e7914610ecf57806379cc679014610f2657806386fa067114610f8b578063905295e314610fe257806395d89b411461103d57806397172664146110cd578063a6f9dae11461110e578063a9059cbb14611169578063be9a6555146111ce578063c08e05aa146111e5578063c0c8821a1461122a578063db23c5d714611297578063dd62ed3e146112fa578063e71b49ad14611371578063f390cae4146113c8578063fea7bcfb1461141f575b600080600080600093506101f49250600091505b6009805490508210156102b3576001151560098381548110151561020157fe5b906000526020600020906006020160050160009054906101000a900460ff1615151415801561027a57504260098381548110151561023b57fe5b906000526020600020906006020160000154108015610279575060098281548110151561026457fe5b90600052602060002090600602016001015442105b5b156102a65760098281548110151561028e57fe5b90600052602060002090600602016002015493508192505b81806001019250506101e1565b6101f483141561040f576101f483141515156102ce57600080fd5b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090806001815401808255809150509060018203906000526020600020016000909192909190915055506000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116103865760006103c7565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610578565b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161047c5760098381548110151561046557fe5b9060005260206000209060060201600301546104bd565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001840190806001815401808255809150509060018203906000526020600020016000909192909190915055506105768333611464565b505b6000905061058f84346114f490919063ffffffff16565b90506105e381600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061067881600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072e81600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156107fa573d6000803e3d6000fd5b5050505050005b34801561080d57600080fd5b50610816611561565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561086457600080fd5b5061088d6004803603810190808035906020019092919080359060200190929190505050611587565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108db57600080fd5b506108e4611647565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610924578082015181840152602081019050610909565b50505050905090810190601f1680156109515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561096b57600080fd5b50610974611680565b005b34801561098257600080fd5b506109c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116f8565b604051808215151515815260200191505060405180910390f35b3480156109e757600080fd5b50610a26600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117a3565b604051808215151515815260200191505060405180910390f35b348015610a4c57600080fd5b50610a556118c5565b6040518082815260200191505060405180910390f35b348015610a7757600080fd5b50610a806118d5565b6040518082815260200191505060405180910390f35b348015610aa257600080fd5b50610ae1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118df565b604051808215151515815260200191505060405180910390f35b348015610b0757600080fd5b50610b1061198a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b5e57600080fd5b50610bbd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119b0565b604051808215151515815260200191505060405180910390f35b348015610be357600080fd5b50610bec611e5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c3a57600080fd5b50610c43611e83565b604051808260ff1660ff16815260200191505060405180910390f35b348015610c6b57600080fd5b50610c74611e88565b604051808215151515815260200191505060405180910390f35b348015610c9a57600080fd5b50610cb960048036038101908080359060200190929190505050611e9f565b604051808215151515815260200191505060405180910390f35b348015610cdf57600080fd5b50610d14600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061206a565b604051808215151515815260200191505060405180910390f35b348015610d3a57600080fd5b50610d6f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612164565b604051808215151515815260200191505060405180910390f35b348015610d9557600080fd5b50610d9e6121ba565b6040518082815260200191505060405180910390f35b348015610dc057600080fd5b50610dc96122eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e1757600080fd5b50610e5e6004803603810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050612311565b604051808215151515815260200191505060405180910390f35b348015610e8457600080fd5b50610eb9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061243b565b6040518082815260200191505060405180910390f35b348015610edb57600080fd5b50610ee4612484565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f3257600080fd5b50610f71600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506124aa565b604051808215151515815260200191505060405180910390f35b348015610f9757600080fd5b50610fcc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127a1565b6040518082815260200191505060405180910390f35b348015610fee57600080fd5b50611023600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061297c565b604051808215151515815260200191505060405180910390f35b34801561104957600080fd5b50611052612a76565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611092578082015181840152602081019050611077565b50505050905090810190601f1680156110bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156110d957600080fd5b506110f860048036038101908080359060200190929190505050612aaf565b6040518082815260200191505060405180910390f35b34801561111a57600080fd5b5061114f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b3a565b604051808215151515815260200191505060405180910390f35b34801561117557600080fd5b506111b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612be0565b604051808215151515815260200191505060405180910390f35b3480156111da57600080fd5b506111e361302b565b005b3480156111f157600080fd5b50611210600480360381019080803590602001909291905050506130a3565b604051808215151515815260200191505060405180910390f35b34801561123657600080fd5b5061127d6004803603810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050613155565b604051808215151515815260200191505060405180910390f35b3480156112a357600080fd5b506112e060048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050613284565b604051808215151515815260200191505060405180910390f35b34801561130657600080fd5b5061135b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133c8565b6040518082815260200191505060405180910390f35b34801561137d57600080fd5b5061138661344f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156113d457600080fd5b506113dd613475565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561142b57600080fd5b5061144a6004803603810190808035906020019092919050505061349b565b604051808215151515815260200191505060405180910390f35b600060098381548110151561147557fe5b90600052602060002090600602016004018290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001905092915050565b6000808314156115075760009050611526565b818302905081838281151561151857fe5b0414151561152257fe5b8090505b92915050565b6000818301905082811015151561153f57fe5b80905092915050565b600082821115151561155657fe5b818303905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e457600080fd5b6009600184038154811015156115f657fe5b90600052602060002090600602016004018281548110151561161457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b6040805190810160405280600e81526020017f546f6b656e20477561726469616e00000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116db57600080fd5b6001601560006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561175557600080fd5b81600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000601560009054906101000a900460ff161515156117be57fe5b816117c83361360c565b101515156117d557600080fd5b81601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006118d03361360c565b905090565b6000601354905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561193c57600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601560009054906101000a900460ff161515156119cb57fe5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a0757600080fd5b60011515601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514158015611ab9575060011515601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b1515611ac457600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611b1257600080fd5b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611b9d57600080fd5b611ba68461360c565b8211151515611bb457600080fd5b611c0682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c9b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d6d82601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601281565b6000601560009054906101000a900460ff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611efc57600080fd5b601560009054906101000a900460ff16151515611f1557fe5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611f6357600080fd5b611fb582600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061200d8260135461154890919063ffffffff16565b6013819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120c757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561210357600080fd5b6001601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000806009805490509150600090505b818110156122e7577f3fd09c11ab25d63cb931934aa596b6bde99b04e53cfc0ed5f0ef068c5ebcf21a60098281548110151561220257fe5b90600052602060002090600602016000015460098381548110151561222357fe5b90600052602060002090600602016001015460098481548110151561224457fe5b90600052602060002090600602016002015460098581548110151561226557fe5b90600052602060002090600602016003015460098681548110151561228657fe5b906000526020600020906006020160050160009054906101000a900460ff1660405180868152602001858152602001848152602001838152602001821515151581526020019550505050505060405180910390a180806001019150506121ca565b5090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561236e57600080fd5b60008411156123ae5783600b60008881526020019081526020016000208681548110151561239857fe5b9060005260206000209060030201600001819055505b60008311156123ee5782600b6000888152602001908152602001600020868154811015156123d857fe5b9060005260206000209060030201600101819055505b600082111561242e5781600b60008881526020019081526020016000208681548110151561241857fe5b9060005260206000209060030201600201819055505b6001905095945050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561250757600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561255557600080fd5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115156126695781601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506126ec565b6000601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816013600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b60006060600080600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935060008414156127fc5760009350612974565b600b6000858152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561288057838290600052602060002090600302016060604051908101604052908160008201548152602001600182015481526020016002820154815250508152602001906001019061282f565b50505050925082519150600090505b81811015612970577f576be245b78b54839022ee7339b7d29d342aacd35cacde79eba5e4a84206d2208584838151811015156128c757fe5b906020019060200201516000015185848151811015156128e357fe5b906020019060200201516020015186858151811015156128ff57fe5b9060200190602002015160400151604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a1808060010191505061288f565b8393505b505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129d957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612a1557600080fd5b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6040805190810160405280600481526020017f544b474e0000000000000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b0c57600080fd5b600960018303815481101515612b1e57fe5b9060005260206000209060060201600401805490509050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b9757600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600080601560009054906101000a900460ff16151515612bfc57fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515612c3857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515612c8657600080fd5b60011515601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515612ce657600080fd5b60011515601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515612d4657600080fd5b82612d4f6118c5565b10151515612d5c57600080fd5b73ce3c0a2012339490d2850b4fd4cda0b95ac0307690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015612db15750635b5f35ff42105b15612dfc576001600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b612e4e83600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ee383600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f7883600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561308657600080fd5b6000601560006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561310057600080fd5b8160098054905011151561311357600080fd5b600160098381548110151561312457fe5b906000526020600020906006020160050160006101000a81548160ff02191690831515021790555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156131b257600080fd5b856009805490501115156131c557600080fd5b60008511156131f457846009878154811015156131de57fe5b9060005260206000209060060201600001819055505b6000841115613223578360098781548110151561320d57fe5b9060005260206000209060060201600101819055505b6000831115613252578260098781548110151561323c57fe5b9060005260206000209060060201600201819055505b8160098781548110151561326257fe5b9060005260206000209060060201600301819055506001905095945050505050565b600060606000613292613955565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156132ed57600080fd5b6000915060c06040519081016040528089815260200188815260200187815260200186815260200184815260200183151581525090506009819080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401908051906020019061339592919061398e565b5060a08201518160050160006101000a81548160ff02191690831515021790555050505060019350505050949350505050565b6000601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156134f857600080fd5b601560009054906101000a900460ff1615151561351157fe5b6135268260135461152c90919063ffffffff16565b60138190555061359f82600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b60008060008060606000806000809650600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205495506000945060008614156136b557600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613933565b600b6000878152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156137395783829060005260206000209060030201606060405190810160405290816000820154815260200160018201548152602001600282015481525050815260200190600101906136e8565b50505050935083519250600091505b828210156138835742848381518110151561375f57fe5b90602001906020020151600001511080156137945750838281518110151561378357fe5b906020019060200201516020015142105b156138765761386c600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385e86858151811015156137ed57fe5b9060200190602002015160400151613850600e60008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600188016114f490919063ffffffff16565b61393f90919063ffffffff16565b61154890919063ffffffff16565b9650869750613933565b8180600101925050613748565b6000151585151514156139325760019050600091505b828210156138d65783828151811015156138af57fe5b90602001906020020151602001514210156138c957600090505b8180600101925050613899565b6001151581151514156139315760019450600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613933565b5b5b50505050505050919050565b6000818381151561394c57fe5b04905092915050565b60c06040519081016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b828054828255906000526020600020908101928215613a07579160200282015b82811115613a065782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906139ae565b5b509050613a149190613a18565b5090565b613a5891905b80821115613a5457600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101613a1e565b5090565b905600a165627a7a72305820fe0ab74c8caa01f78cd7e0c93b46f1af6458bb9e822f05cf7b60f233bd36e5f80029
Swarm Source
bzzr://fe0ab74c8caa01f78cd7e0c93b46f1af6458bb9e822f05cf7b60f233bd36e5f8
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.