ETH Price: $2,640.89 (+1.51%)
Gas: 3 Gwei

Contract

0xB5C26476200d5665Ee6F2eE155d72327043495A4
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer197247692024-04-24 10:53:47109 days ago1713956027IN
0xB5C26476...7043495A4
0 ETH0.0019825932
Transfer171242792023-04-25 15:50:59474 days ago1682437859IN
0xB5C26476...7043495A4
0 ETH0.0024917840.21083019
Transfer139129762021-12-31 11:55:24954 days ago1640951724IN
0xB5C26476...7043495A4
0 ETH0.0030738968.85962273
Transfer139129092021-12-31 11:38:41954 days ago1640950721IN
0xB5C26476...7043495A4
0 ETH0.0038551262.45336439
Transfer138353622021-12-19 11:44:14966 days ago1639914254IN
0xB5C26476...7043495A4
0 ETH0.0029119347
Transfer121194972021-03-27 6:23:301233 days ago1616826210IN
0xB5C26476...7043495A4
0 ETH0.00561155128.79999999
Transfer117760492021-02-02 9:32:401286 days ago1612258360IN
0xB5C26476...7043495A4
0 ETH0.00559697196
Transfer116466942021-01-13 12:48:031306 days ago1610542083IN
0xB5C26476...7043495A4
0 ETH0.0018734243
Transfer112859442020-11-19 3:21:551361 days ago1605756115IN
0xB5C26476...7043495A4
0 ETH0.0022844880
Transfer112859132020-11-19 3:15:361361 days ago1605755736IN
0xB5C26476...7043495A4
0 ETH0.004681680
Transfer111063632020-10-22 13:46:541389 days ago1603374414IN
0xB5C26476...7043495A4
0 ETH0.0017417640
Transfer111055412020-10-22 10:49:221389 days ago1603363762IN
0xB5C26476...7043495A4
0 ETH0.0037196885.39999999
Transfer110288052020-10-10 16:36:311401 days ago1602347791IN
0xB5C26476...7043495A4
0 ETH0.0015244635
Transfer109611562020-09-30 2:29:361411 days ago1601432976IN
0xB5C26476...7043495A4
0 ETH0.0022642852
Transfer109611452020-09-30 2:26:341411 days ago1601432794IN
0xB5C26476...7043495A4
0 ETH0.0030442852
Transfer109611412020-09-30 2:25:361411 days ago1601432736IN
0xB5C26476...7043495A4
0 ETH0.0022642852
Transfer109162322020-09-23 2:59:371418 days ago1600829977IN
0xB5C26476...7043495A4
0 ETH0.0043556100
Transfer108996802020-09-20 14:09:071421 days ago1600610947IN
0xB5C26476...7043495A4
0 ETH0.01286797219.79999999
Transfer108708382020-09-16 3:52:561425 days ago1600228376IN
0xB5C26476...7043495A4
0 ETH0.0052689690
Transfer108708382020-09-16 3:52:561425 days ago1600228376IN
0xB5C26476...7043495A4
0 ETH0.0039189690
Transfer108667222020-09-15 12:50:241426 days ago1600174224IN
0xB5C26476...7043495A4
0 ETH0.01420405326.2
Transfer108646162020-09-15 5:06:241426 days ago1600146384IN
0xB5C26476...7043495A4
0 ETH0.00761072130
Transfer108646162020-09-15 5:06:241426 days ago1600146384IN
0xB5C26476...7043495A4
0 ETH0.00761072130
Transfer108646162020-09-15 5:06:241426 days ago1600146384IN
0xB5C26476...7043495A4
0 ETH0.00587844135
Transfer108646162020-09-15 5:06:241426 days ago1600146384IN
0xB5C26476...7043495A4
0 ETH0.00518173119
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TORUE

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-04-23
*/

pragma solidity ^0.4.18;

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a / b;
    return c;
  }
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

contract UpgradeAgent {
  function upgradeFrom(address _from, uint256 _value) external;
}

contract ERC223Interface {
    uint public totalSupply;
    function name() public view returns (string _name);
    function symbol() public view returns (string _symbol);
    function decimals() public view returns (uint8 _decimals);
    function totalSupply() public view returns (uint256 _supply);

    function balanceOf(address who) public view returns (uint256);

    function transfer(address to, uint value) public returns (bool ok);
    function transfer(address to, uint value, bytes data) public returns (bool ok);
    function transfer(address to, uint value, bytes data, string custom_fallback) public returns (bool ok);

    event Transfer(address indexed from, address indexed to, uint value, bytes indexed data);
}

contract ERC20Interface {
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function transferFrom(address from, address to, uint256 value, bytes data) public returns (bool);
    
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ReceivingContract { 

    struct TKN {
        address sender;
        uint value;
        bytes data;
        bytes4 sig;
    }

    function tokenFallback(address _from, uint _value, bytes _data) public pure {
        TKN memory tkn;
        tkn.sender = _from;
        tkn.value = _value;
        tkn.data = _data;
        uint32 u = uint32(_data[3]) + (uint32(_data[2]) << 8) + (uint32(_data[1]) << 16) + (uint32(_data[0]) << 24);
        
        tkn.sig = bytes4(u);
    }
}

contract Owned {
    address public owner;
    
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }
    
    function Owned() public {
        owner = msg.sender;
    }
    
    function changeOwner(address _newOwner) public onlyOwner {
        require(_newOwner != address(0));
        OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }
}

contract TORUE is ERC223Interface,ERC20Interface,Owned {
    using SafeMath for uint;
    
    string public name = "torue";
    string public symbol = "TRE";
    uint8 public decimals = 6;
    uint256 public totalSupply = 100e8 * 1e6;

    mapping (address => uint256) balances;
    mapping (address => uint256) public lockedAccounts;
    mapping (address => bool) public frozenAccounts;
    mapping (address => mapping (address => uint256)) internal allowed;
    mapping (address => bool) public salvageableAddresses;
    
    event Mint(address indexed to, uint256 amount);
    event MintFinished();
    event Burn(address indexed burner, uint256 value);
    event DistributeTokens(uint count,uint256 totalAmount);
    event Upgrade(address indexed from, address indexed to, uint256 value);
    event AccountLocked(address indexed addr, uint256 releaseTime);
    event AccountFrozen(address indexed addr, bool frozen);

    address ownerAddress = 0xA0Bf23D5Ef64B6DdEbF5343a3C897c53005ee665;
    address lockupAddress1 = 0xB3c289934692ECE018d137fFcaB54631e6e2b405;
    address lockupAddress2 = 0x533c43AF0DDb5ee5215c0139d917F1A871ff9CB5;

    bool public compatible20 = true;
    bool public compatible223 = true;
    bool public compatible223ex = true;
    
    bool public mintingFinished = false;
    bool public salvageFinished = false;
    bool public paused = false;
    bool public upgradable = false;
    bool public upgradeAgentLocked = false;
    
    address public upgradeMaster;
    address public upgradeAgent;
    uint256 public totalUpgraded;

    modifier canMint() {
        require(!mintingFinished);
        _;
    }
    
    modifier isRunning(){
        require(!paused);
        _;
    }
    
    function TORUE() public {
        require(msg.sender==ownerAddress);
        owner = ownerAddress;
        upgradeMaster = ownerAddress;
        balances[owner] = totalSupply.mul(70).div(100);
        balances[lockupAddress1] = totalSupply.mul(15).div(100);
        balances[lockupAddress2] = totalSupply.mul(15).div(100);
        paused = false;
    }
    
    function switchCompatible20(bool _value) onlyOwner public {
        compatible20 = _value;
    }
    function switchCompatible223(bool _value) onlyOwner public {
        compatible223 = _value;
    }
    function switchCompatible223ex(bool _value) onlyOwner public {
        compatible223ex = _value;
    }

    function switchPaused(bool _paused) onlyOwner public {
        paused = _paused;
    }
    
    function switchUpgradable(bool _value) onlyOwner public {
        upgradable = _value;
    }
    
    function switchUpgradeAgentLocked(bool _value) onlyOwner public {
        upgradeAgentLocked = _value;
    }

    function isUnlocked(address _addr) private view returns (bool){
        return(now > lockedAccounts[_addr] && frozenAccounts[_addr] == false);
    }
    
    function isUnlockedBoth(address _addr) private view returns (bool){
        return(now > lockedAccounts[msg.sender] && now > lockedAccounts[_addr] && frozenAccounts[msg.sender] == false && frozenAccounts[_addr] == false);
    }
    
    function lockAccounts(address[] _addresses, uint256 _releaseTime) onlyOwner public {
        require(_addresses.length > 0);
                
        for(uint j = 0; j < _addresses.length; j++){
            require(lockedAccounts[_addresses[j]] < _releaseTime);
            lockedAccounts[_addresses[j]] = _releaseTime;
            AccountLocked(_addresses[j], _releaseTime);
        }
    }

    function freezeAccounts(address[] _addresses, bool _value) onlyOwner public {
        require(_addresses.length > 0);

        for (uint j = 0; j < _addresses.length; j++) {
            require(_addresses[j] != 0x0);
            frozenAccounts[_addresses[j]] = _value;
            AccountFrozen(_addresses[j], _value);
        }
    }

    function setSalvageable(address _addr, bool _value) onlyOwner public {
        salvageableAddresses[_addr] = _value;
    }
    
    function finishSalvage(address _addr) onlyOwner public returns (bool) {
        require(_addr==owner);
        salvageFinished = true;
        return true;
    }
    
    function salvageTokens(address _addr,uint256 _amount) onlyOwner public isRunning returns(bool) {
        require(_amount > 0 && balances[_addr] >= _amount);
        require(now > lockedAccounts[msg.sender] && now > lockedAccounts[_addr]);
        require(salvageableAddresses[_addr] == true && salvageFinished == false);
        balances[_addr] = balances[_addr].sub(_amount);
        balances[msg.sender] = balances[msg.sender].add(_amount);
        Transfer(_addr, msg.sender, _amount);
        return true;
    }

    function approve(address _spender, uint256 _value) public isRunning returns (bool) {
        require(compatible20);
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }
    
    function transferFrom(address _from, address _to, uint256 _value) public isRunning returns (bool) {
        require(compatible20);
        require(isUnlocked(_from));
        require(isUnlocked(_to));
        
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        
        if(isContract(_to)) {
            bytes memory empty;
            ReceivingContract rc = ReceivingContract(_to);
            rc.tokenFallback(msg.sender, _value, empty);
        }
        Transfer(_from, _to, _value);
        return true;
    }
    
    function transferFrom(address _from, address _to, uint256 _value, bytes _data) public isRunning returns (bool) {
        require(compatible223);
        require(isUnlocked(_from));
        require(isUnlocked(_to));
        
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        
        if(isContract(_to)) {
            ReceivingContract rc = ReceivingContract(_to);
            rc.tokenFallback(msg.sender, _value, _data);
        }
        Transfer(msg.sender, _to, _value, _data);
        Transfer(_from, _to, _value);
        return true;
    }

    function increaseApproval(address _spender, uint _addedValue) public isRunning returns (bool) {
        require(compatible20);
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
    
    function decreaseApproval(address _spender, uint _subtractedValue) public isRunning returns (bool) {
        require(compatible20);
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
    
    function mint(address _to, uint256 _amount) onlyOwner canMint public isRunning returns (bool) {
        totalSupply = totalSupply.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        Mint(_to, _amount);
        Transfer(address(0), _to, _amount);
        return true;
    }
    
    function finishMinting(address _addr) onlyOwner public returns (bool) {
        require(_addr==owner);
        mintingFinished = true;
        MintFinished();
        return true;
    }
    
    function burn(uint256 _value) public isRunning {
        require(_value > 0);
        require(_value <= balances[msg.sender]);

        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(msg.sender, _value);
    }

    function isContract(address _addr) private view returns (bool is_contract) {
        uint ln;
        assembly {
            ln := extcodesize(_addr)
        }
        return (ln > 0);
    }

    function transfer(address _to, uint _value, bytes _data, string _custom_fallback) public isRunning returns (bool ok) {
        require(compatible223ex);
        require(isUnlockedBoth(_to));
        require(balances[msg.sender] >= _value);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        if (isContract(_to)) {
            assert(_to.call.value(0)(bytes4(keccak256(_custom_fallback)), msg.sender, _value, _data));
        }
        Transfer(msg.sender, _to, _value, _data);
        Transfer(msg.sender, _to, _value);

        return true;
    }

    function transfer(address _to, uint _value, bytes _data) public isRunning returns (bool ok) {
        require(compatible223);
        require(isUnlockedBoth(_to));
        require(balances[msg.sender] >= _value);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        if(isContract(_to)) {
            ReceivingContract rc = ReceivingContract(_to);
            rc.tokenFallback(msg.sender, _value, _data);
        }
        Transfer(msg.sender, _to, _value, _data);
        Transfer(msg.sender, _to, _value);
        return true;
    }
    
    function transfer(address _to, uint _value) public isRunning returns (bool ok) {
        require(isUnlockedBoth(_to));
        require(balances[msg.sender] >= _value);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        if(isContract(_to)) {
            bytes memory empty;
            ReceivingContract rc = ReceivingContract(_to);
            rc.tokenFallback(msg.sender, _value, empty);
        }
        Transfer(msg.sender, _to, _value);
        return true;
    }
    
    function name() public view returns (string _name) {
        return name;
    }
    
    function symbol() public view returns (string _symbol) {
        return symbol;
    }
    
    function decimals() public view returns (uint8 _decimals) {
        return decimals;
    }
    
    function totalSupply() public view returns (uint256 _totalSupply) {
        return totalSupply;
    }

    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }
    
    function distributeTokens(address[] _addresses, uint256 _amount) onlyOwner public isRunning returns(bool) {
        require(_addresses.length > 0 && isUnlocked(msg.sender));

        uint256 totalAmount = _amount.mul(_addresses.length);
        require(balances[msg.sender] >= totalAmount);

        for (uint j = 0; j < _addresses.length; j++) {
            require(isUnlocked(_addresses[j]));
            balances[_addresses[j]] = balances[_addresses[j]].add(_amount);
            Transfer(msg.sender, _addresses[j], _amount);
        }
        balances[msg.sender] = balances[msg.sender].sub(totalAmount);
        DistributeTokens(_addresses.length, totalAmount);
        
        return true;
    }
    
    function distributeTokens(address[] _addresses, uint256[] _amounts) onlyOwner public isRunning returns (bool) {
        require(_addresses.length > 0 && _addresses.length == _amounts.length && isUnlocked(msg.sender));
        uint256 totalAmount = 0;
        for(uint j = 0; j < _addresses.length; j++){
            require(_amounts[j] > 0 && _addresses[j] != 0x0 && isUnlocked(_addresses[j]));
            totalAmount = totalAmount.add(_amounts[j]);
        }
        require(balances[msg.sender] >= totalAmount);
        
        for (j = 0; j < _addresses.length; j++) {
            balances[_addresses[j]] = balances[_addresses[j]].add(_amounts[j]);
            Transfer(msg.sender, _addresses[j], _amounts[j]);
        }
        balances[msg.sender] = balances[msg.sender].sub(totalAmount);
        DistributeTokens(_addresses.length, totalAmount);

        return true;
    }

    function upgrade(uint256 _value) external isRunning {
        require(upgradable);
        require(upgradeAgent != 0);
        require(_value != 0);
        require(_value <= balances[msg.sender]);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        totalSupply = totalSupply.sub(_value);
        totalUpgraded = totalUpgraded.add(_value);
        UpgradeAgent(upgradeAgent).upgradeFrom(msg.sender, _value);
        Upgrade(msg.sender, upgradeAgent, _value);
    }
    
    function setUpgradeAgent(address _agent) external {
        require(_agent != 0);
        require(!upgradeAgentLocked);
        require(msg.sender == upgradeMaster);
        
        upgradeAgent = _agent;
        upgradeAgentLocked = true;
    }
    
    function setUpgradeMaster(address _master) external {
        require(_master != 0);
        require(msg.sender == upgradeMaster);
        
        upgradeMaster = _master;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","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":"upgradeAgentLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"compatible223","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"bool"}],"name":"switchCompatible223","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","type":"uint256"}],"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":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_amount","type":"uint256"}],"name":"distributeTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"salvageFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"bool"}],"name":"switchCompatible20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"distributeTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"compatible20","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upgradeAgent","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upgradeMaster","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"salvageableAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"bool"}],"name":"switchUpgradable","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"bool"}],"name":"switchCompatible223ex","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_paused","type":"bool"}],"name":"switchPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"compatible223ex","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccounts","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_amount","type":"uint256"}],"name":"salvageTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_value","type":"bool"}],"name":"freezeAccounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalUpgraded","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_value","type":"bool"}],"name":"setSalvageable","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_agent","type":"address"}],"name":"setUpgradeAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_releaseTime","type":"uint256"}],"name":"lockAccounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"finishSalvage","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockedAccounts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"bool"}],"name":"switchUpgradeAgentLocked","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"upgradable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"},{"name":"_custom_fallback","type":"string"}],"name":"transfer","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_master","type":"address"}],"name":"setUpgradeMaster","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"count","type":"uint256"},{"indexed":false,"name":"totalAmount","type":"uint256"}],"name":"DistributeTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Upgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"AccountLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"AccountFrozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"data","type":"bytes"}],"name":"Transfer","type":"event"}]

606060405260408051908101604052600581527f746f727565000000000000000000000000000000000000000000000000000000602082015260029080516200004d9291602001906200033e565b506040805190810160405260038082527f54524500000000000000000000000000000000000000000000000000000000006020830152908051620000969291602001906200033e565b506004805460ff19166006179055662386f26fc10000600555600b8054600160a060020a031990811673a0bf23d5ef64b6ddebf5343a3c897c53005ee66517909155600c8054821673b3c289934692ece018d137ffcab54631e6e2b405179055600d805460b860020a60e060020a031960b060020a60ff021960a860020a60ff021960a060020a60ff02199390951673533c43af0ddb5ee5215c0139d917f1a871ff9cb51792909216740100000000000000000000000000000000000000001793909316750100000000000000000000000000000000000000000017167601000000000000000000000000000000000000000000001791909116905534156200019e57600080fd5b60018054600160a060020a03338116600160a060020a03199092168217909255600b5490911614620001cf57600080fd5b600b5460018054600160a060020a03909216600160a060020a03199283168117909155600e8054909216179055600554620002379060649062000222906046640100000000620002ec810262002d7c1704565b9064010000000062002e436200032682021704565b600154600160a060020a031660009081526006602052604090205560055462000278906064906200022290600f64010000000062002d7c620002ec82021704565b600c54600160a060020a0316600090815260066020526040902055600554620002b9906064906200022290600f64010000000062002d7c620002ec82021704565b600d8054600160a060020a0316600090815260066020526040902091909155805460c860020a60ff0219169055620003e3565b6000808315156200030157600091506200031f565b508282028284828115156200031257fe5b04146200031b57fe5b8091505b5092915050565b60008082848115156200033557fe5b04949350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200038157805160ff1916838001178555620003b1565b82800160010185558215620003b1579182015b82811115620003b157825182559160200191906001019062000394565b50620003bf929150620003c3565b5090565b620003e091905b80821115620003bf5760008155600101620003ca565b90565b612ea680620003f36000396000f3006060604052600436106102375763ffffffff60e060020a60003504166305d2035b811461023c57806306fdde0314610263578063095ea7b3146102ed57806309f8cc581461030f5780630f86f7021461032257806310717a2e1461033557806318160ddd1461034f57806323b872dd14610374578063256fa2411461039c5780632cad9404146103ed578063313ce5671461040057806340c10f191461042957806342966c681461044b57806345977d03146104615780634b4a5088146104775780634bd09c2a1461048f5780635713fcb71461051e5780635c975abb146105315780635de4ccb014610544578063600440cb146105735780636268854d1461058657806366188463146105a5578063683de015146105c75780636ca562d6146105df57806370a08231146105f75780637132ebcd1461061657806372054df41461062e5780637619220014610641578063860838a5146106605780638da5cb5b1461067f57806395d89b4114610692578063a6f9dae1146106a5578063a9059cbb146106c4578063ab67aa58146106e6578063af303a1114610752578063be45fd6214610774578063c341b9f6146107d9578063c752ff621461082c578063c9206ddf1461083f578063d73dd62314610863578063d7e7088a14610885578063dd62ed3e146108a4578063e5ac7291146108c9578063e63b029d1461091a578063ebd0d82014610939578063ee94bdaf14610958578063f4d26fec14610970578063f6368f8a14610983578063ffeb7d7514610a2a575b600080fd5b341561024757600080fd5b61024f610a49565b604051901515815260200160405180910390f35b341561026e57600080fd5b610276610a6d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102b257808201518382015260200161029a565b50505050905090810190601f1680156102df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102f857600080fd5b61024f600160a060020a0360043516602435610b15565b341561031a57600080fd5b61024f610bb0565b341561032d57600080fd5b61024f610bc0565b341561034057600080fd5b61034d6004351515610bd0565b005b341561035a57600080fd5b610362610c1b565b60405190815260200160405180910390f35b341561037f57600080fd5b61024f600160a060020a0360043581169060243516604435610c21565b34156103a757600080fd5b61024f60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350610ef192505050565b34156103f857600080fd5b61024f61110d565b341561040b57600080fd5b610413611132565b60405160ff909116815260200160405180910390f35b341561043457600080fd5b61024f600160a060020a036004351660243561113b565b341561045657600080fd5b61034d600435611262565b341561046c57600080fd5b61034d600435611343565b341561048257600080fd5b61034d60043515156114d9565b341561049a57600080fd5b61024f60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061152395505050505050565b341561052957600080fd5b61024f611723565b341561053c57600080fd5b61024f611733565b341561054f57600080fd5b610557611743565b604051600160a060020a03909116815260200160405180910390f35b341561057e57600080fd5b610557611752565b341561059157600080fd5b61024f600160a060020a0360043516611761565b34156105b057600080fd5b61024f600160a060020a0360043516602435611776565b34156105d257600080fd5b61034d60043515156118a5565b34156105ea57600080fd5b61034d60043515156118f5565b341561060257600080fd5b610362600160a060020a0360043516611954565b341561062157600080fd5b61034d600435151561196f565b341561063957600080fd5b61024f6119be565b341561064c57600080fd5b61024f600160a060020a03600435166119e1565b341561066b57600080fd5b61024f600160a060020a0360043516611a88565b341561068a57600080fd5b610557611a9d565b341561069d57600080fd5b610276611aac565b34156106b057600080fd5b61034d600160a060020a0360043516611b1f565b34156106cf57600080fd5b61024f600160a060020a0360043516602435611bba565b34156106f157600080fd5b61024f600160a060020a036004803582169160248035909116916044359160849060643590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650611dc095505050505050565b341561075d57600080fd5b61024f600160a060020a036004351660243561212b565b341561077f57600080fd5b61024f60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506122e195505050505050565b34156107e457600080fd5b61034d600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050505091351515915061259a9050565b341561083757600080fd5b6103626126a1565b341561084a57600080fd5b61034d600160a060020a036004351660243515156126a7565b341561086e57600080fd5b61024f600160a060020a03600435166024356126ed565b341561089057600080fd5b61034d600160a060020a03600435166127c1565b34156108af57600080fd5b610362600160a060020a0360043581169060243516612863565b34156108d457600080fd5b61034d6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650509335935061288e92505050565b341561092557600080fd5b61024f600160a060020a0360043516612995565b341561094457600080fd5b610362600160a060020a0360043516612a12565b341561096357600080fd5b61034d6004351515612a24565b341561097b57600080fd5b61024f612a75565b341561098e57600080fd5b61024f60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650612a8595505050505050565b3415610a3557600080fd5b61034d600160a060020a0360043516612ca7565b600d5477010000000000000000000000000000000000000000000000900460ff1681565b610a75612e31565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b0b5780601f10610ae057610100808354040283529160200191610b0b565b820191906000526020600020905b815481529060010190602001808311610aee57829003601f168201915b5050505050905090565b600d5460009060c860020a900460ff1615610b2f57600080fd5b600d5460a060020a900460ff161515610b4757600080fd5b600160a060020a03338116600081815260096020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b600d5460d860020a900460ff1681565b600d5460a860020a900460ff1681565b60015433600160a060020a03908116911614610beb57600080fd5b600d805491151560a860020a0275ff00000000000000000000000000000000000000000019909216919091179055565b60055490565b6000610c2b612e31565b600d5460009060c860020a900460ff1615610c4557600080fd5b600d5460a060020a900460ff161515610c5d57600080fd5b610c6686612d06565b1515610c7157600080fd5b610c7a85612d06565b1515610c8557600080fd5b600160a060020a0385161515610c9a57600080fd5b600160a060020a038616600090815260066020526040902054841115610cbf57600080fd5b600160a060020a0380871660009081526009602090815260408083203390941683529290522054841115610cf257600080fd5b600160a060020a038616600090815260066020526040902054610d1b908563ffffffff612d4c16565b600160a060020a038088166000908152600660205260408082209390935590871681522054610d50908563ffffffff612d5e16565b600160a060020a03808716600090815260066020908152604080832094909455898316825260098152838220339093168252919091522054610d98908563ffffffff612d4c16565b600160a060020a0380881660009081526009602090815260408083203390941683529290522055610dc885612d74565b15610eb0575083600160a060020a03811663c0ee0b8a3386856040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e4e578082015183820152602001610e36565b50505050905090810190601f168015610e7b5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610e9b57600080fd5b6102c65a03f11515610eac57600080fd5b5050505b84600160a060020a031686600160a060020a0316600080516020612e5b8339815191528660405190815260200160405180910390a350600195945050505050565b6001546000908190819033600160a060020a03908116911614610f1357600080fd5b600d5460c860020a900460ff1615610f2a57600080fd5b60008551118015610f3f5750610f3f33612d06565b1515610f4a57600080fd5b610f5c8551859063ffffffff612d7c16565b600160a060020a03331660009081526006602052604090205490925082901015610f8557600080fd5b5060005b845181101561108557610fb0858281518110610fa157fe5b90602001906020020151612d06565b1515610fbb57600080fd5b610fff8460066000888581518110610fcf57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020549063ffffffff612d5e16565b6006600087848151811061100f57fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205584818151811061103f57fe5b90602001906020020151600160a060020a031633600160a060020a0316600080516020612e5b8339815191528660405190815260200160405180910390a3600101610f89565b600160a060020a0333166000908152600660205260409020546110ae908363ffffffff612d4c16565b600160a060020a0333166000908152600660205260409020557f814d1c01dd9d41d8814a098865d02ec577732a960a0c116bc8181cade7c4004585518360405191825260208201526040908101905180910390a1506001949350505050565b600d547801000000000000000000000000000000000000000000000000900460ff1681565b60045460ff1690565b60015460009033600160a060020a0390811691161461115957600080fd5b600d5477010000000000000000000000000000000000000000000000900460ff161561118457600080fd5b600d5460c860020a900460ff161561119b57600080fd5b6005546111ae908363ffffffff612d5e16565b600555600160a060020a0383166000908152600660205260409020546111da908363ffffffff612d5e16565b600160a060020a0384166000818152600660205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a0383166000600080516020612e5b8339815191528460405190815260200160405180910390a350600192915050565b600d5460009060c860020a900460ff161561127c57600080fd5b6000821161128957600080fd5b600160a060020a0333166000908152600660205260409020548211156112ae57600080fd5b5033600160a060020a0381166000908152600660205260409020546112d39083612d4c565b600160a060020a0382166000908152600660205260409020556005546112ff908363ffffffff612d4c16565b600555600160a060020a0333167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600d5460c860020a900460ff161561135a57600080fd5b600d5460d060020a900460ff16151561137257600080fd5b600f54600160a060020a0316151561138957600080fd5b80151561139557600080fd5b600160a060020a0333166000908152600660205260409020548111156113ba57600080fd5b600160a060020a0333166000908152600660205260409020546113e3908263ffffffff612d4c16565b600160a060020a03331660009081526006602052604090205560055461140f908263ffffffff612d4c16565b600555601054611425908263ffffffff612d5e16565b601055600f54600160a060020a031663753e88e5338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561147e57600080fd5b6102c65a03f1151561148f57600080fd5b5050600f54600160a060020a03908116915033167f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac8360405190815260200160405180910390a350565b60015433600160a060020a039081169116146114f457600080fd5b600d805491151560a060020a0274ff000000000000000000000000000000000000000019909216919091179055565b6001546000908190819033600160a060020a0390811691161461154557600080fd5b600d5460c860020a900460ff161561155c57600080fd5b6000855111801561156e575083518551145b801561157e575061157e33612d06565b151561158957600080fd5b5060009050805b845181101561162c5760008482815181106115a757fe5b906020019060200201511180156115db57508481815181106115c557fe5b90602001906020020151600160a060020a031615155b80156115f157506115f1858281518110610fa157fe5b15156115fc57600080fd5b61162284828151811061160b57fe5b90602001906020020151839063ffffffff612d5e16565b9150600101611590565b600160a060020a0333166000908152600660205260409020548290101561165257600080fd5b5060005b84518110156110855761168884828151811061166e57fe5b9060200190602002015160066000888581518110610fcf57fe5b6006600087848151811061169857fe5b90602001906020020151600160a060020a031681526020810191909152604001600020558481815181106116c857fe5b90602001906020020151600160a060020a031633600160a060020a0316600080516020612e5b83398151915286848151811061170057fe5b9060200190602002015160405190815260200160405180910390a3600101611656565b600d5460a060020a900460ff1681565b600d5460c860020a900460ff1681565b600f54600160a060020a031681565b600e54600160a060020a031681565b600a6020526000908152604090205460ff1681565b600d54600090819060c860020a900460ff161561179257600080fd5b600d5460a060020a900460ff1615156117aa57600080fd5b50600160a060020a033381166000908152600960209081526040808320938716835292905220548083111561180657600160a060020a03338116600090815260096020908152604080832093881683529290529081205561183d565b611816818463ffffffff612d4c16565b600160a060020a033381166000908152600960209081526040808320938916835292905220555b600160a060020a0333811660008181526009602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b60015433600160a060020a039081169116146118c057600080fd5b600d805491151560d060020a027aff000000000000000000000000000000000000000000000000000019909216919091179055565b60015433600160a060020a0390811691161461191057600080fd5b600d80549115157601000000000000000000000000000000000000000000000276ff0000000000000000000000000000000000000000000019909216919091179055565b600160a060020a031660009081526006602052604090205490565b60015433600160a060020a0390811691161461198a57600080fd5b600d805491151560c860020a0279ff0000000000000000000000000000000000000000000000000019909216919091179055565b600d54760100000000000000000000000000000000000000000000900460ff1681565b60015460009033600160a060020a039081169116146119ff57600080fd5b600154600160a060020a03838116911614611a1957600080fd5b600d805477ff00000000000000000000000000000000000000000000001916770100000000000000000000000000000000000000000000001790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a1506001919050565b60086020526000908152604090205460ff1681565b600154600160a060020a031681565b611ab4612e31565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b0b5780601f10610ae057610100808354040283529160200191610b0b565b60015433600160a060020a03908116911614611b3a57600080fd5b600160a060020a0381161515611b4f57600080fd5b600154600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000611bc4612e31565b600d5460009060c860020a900460ff1615611bde57600080fd5b611be785612da7565b1515611bf257600080fd5b600160a060020a03331660009081526006602052604090205484901015611c1857600080fd5b600160a060020a033316600090815260066020526040902054611c41908563ffffffff612d4c16565b600160a060020a033381166000908152600660205260408082209390935590871681522054611c76908563ffffffff612d5e16565b600160a060020a038616600090815260066020526040902055611c9885612d74565b15611d80575083600160a060020a03811663c0ee0b8a3386856040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611d1e578082015183820152602001611d06565b50505050905090810190601f168015611d4b5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515611d6b57600080fd5b6102c65a03f11515611d7c57600080fd5b5050505b84600160a060020a031633600160a060020a0316600080516020612e5b8339815191528660405190815260200160405180910390a3506001949350505050565b600d54600090819060c860020a900460ff1615611ddc57600080fd5b600d5460a860020a900460ff161515611df457600080fd5b611dfd86612d06565b1515611e0857600080fd5b611e1185612d06565b1515611e1c57600080fd5b600160a060020a0385161515611e3157600080fd5b600160a060020a038616600090815260066020526040902054841115611e5657600080fd5b600160a060020a0380871660009081526009602090815260408083203390941683529290522054841115611e8957600080fd5b600160a060020a038616600090815260066020526040902054611eb2908563ffffffff612d4c16565b600160a060020a038088166000908152600660205260408082209390935590871681522054611ee7908563ffffffff612d5e16565b600160a060020a03808716600090815260066020908152604080832094909455898316825260098152838220339093168252919091522054611f2f908563ffffffff612d4c16565b600160a060020a0380881660009081526009602090815260408083203390941683529290522055611f5f85612d74565b15612047575083600160a060020a03811663c0ee0b8a3386866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611fe5578082015183820152602001611fcd565b50505050905090810190601f1680156120125780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b151561203257600080fd5b6102c65a03f1151561204357600080fd5b5050505b826040518082805190602001908083835b602083106120775780518252601f199092019160209182019101612058565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168760405190815260200160405180910390a484600160a060020a031686600160a060020a0316600080516020612e5b8339815191528660405190815260200160405180910390a350600195945050505050565b60015460009033600160a060020a0390811691161461214957600080fd5b600d5460c860020a900460ff161561216057600080fd5b6000821180156121895750600160a060020a038316600090815260066020526040902054829010155b151561219457600080fd5b600160a060020a033316600090815260076020526040902054421180156121d25750600160a060020a03831660009081526007602052604090205442115b15156121dd57600080fd5b600160a060020a0383166000908152600a602052604090205460ff16151560011480156122295750600d547801000000000000000000000000000000000000000000000000900460ff16155b151561223457600080fd5b600160a060020a03831660009081526006602052604090205461225d908363ffffffff612d4c16565b600160a060020a03808516600090815260066020526040808220939093553390911681522054612293908363ffffffff612d5e16565b600160a060020a0333811660008181526006602052604090819020939093559190851690600080516020612e5b8339815191529085905190815260200160405180910390a350600192915050565b600d54600090819060c860020a900460ff16156122fd57600080fd5b600d5460a860020a900460ff16151561231557600080fd5b61231e85612da7565b151561232957600080fd5b600160a060020a0333166000908152600660205260409020548490101561234f57600080fd5b600160a060020a033316600090815260066020526040902054612378908563ffffffff612d4c16565b600160a060020a0333811660009081526006602052604080822093909355908716815220546123ad908563ffffffff612d5e16565b600160a060020a0386166000908152600660205260409020556123cf85612d74565b156124b7575083600160a060020a03811663c0ee0b8a3386866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561245557808201518382015260200161243d565b50505050905090810190601f1680156124825780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15156124a257600080fd5b6102c65a03f115156124b357600080fd5b5050505b826040518082805190602001908083835b602083106124e75780518252601f1990920191602091820191016124c8565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168760405190815260200160405180910390a484600160a060020a031633600160a060020a0316600080516020612e5b8339815191528660405190815260200160405180910390a3506001949350505050565b60015460009033600160a060020a039081169116146125b857600080fd5b60008351116125c657600080fd5b5060005b825181101561269c578281815181106125df57fe5b90602001906020020151600160a060020a031615156125fd57600080fd5b816008600085848151811061260e57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff191691151591909117905582818151811061264c57fe5b90602001906020020151600160a060020a03167fa33e6b076d391e96626483b30e365719f79f1d6594aff6587649ffd6c82ed7fa83604051901515815260200160405180910390a26001016125ca565b505050565b60105481565b60015433600160a060020a039081169116146126c257600080fd5b600160a060020a03919091166000908152600a60205260409020805460ff1916911515919091179055565b600d5460009060c860020a900460ff161561270757600080fd5b600d5460a060020a900460ff16151561271f57600080fd5b600160a060020a03338116600090815260096020908152604080832093871683529290522054612755908363ffffffff612d5e16565b600160a060020a0333811660008181526009602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03811615156127d657600080fd5b600d5460d860020a900460ff16156127ed57600080fd5b600e5433600160a060020a0390811691161461280857600080fd5b600f8054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff19909216919091179055600d80547bff000000000000000000000000000000000000000000000000000000191660d860020a179055565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60015460009033600160a060020a039081169116146128ac57600080fd5b60008351116128ba57600080fd5b5060005b825181101561269c5781600760008584815181106128d857fe5b90602001906020020151600160a060020a031681526020810191909152604001600020541061290657600080fd5b816007600085848151811061291757fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205582818151811061294757fe5b90602001906020020151600160a060020a03167ff7c3865a2047e2fc614fff3af48eef519dfd5243847cbefd615b3a150a9db5b08360405190815260200160405180910390a26001016128be565b60015460009033600160a060020a039081169116146129b357600080fd5b600154600160a060020a038381169116146129cd57600080fd5b50600d805478ff000000000000000000000000000000000000000000000000191678010000000000000000000000000000000000000000000000001790556001919050565b60076020526000908152604090205481565b60015433600160a060020a03908116911614612a3f57600080fd5b600d805491151560d860020a027bff00000000000000000000000000000000000000000000000000000019909216919091179055565b600d5460d060020a900460ff1681565b600d5460009060c860020a900460ff1615612a9f57600080fd5b600d54760100000000000000000000000000000000000000000000900460ff161515612aca57600080fd5b612ad385612da7565b1515612ade57600080fd5b600160a060020a03331660009081526006602052604090205484901015612b0457600080fd5b600160a060020a033316600090815260066020526040902054612b2d908563ffffffff612d4c16565b600160a060020a033381166000908152600660205260408082209390935590871681522054612b62908563ffffffff612d5e16565b600160a060020a038616600090815260066020526040902055612b8485612d74565b156124b75784600160a060020a03166000836040518082805190602001908083835b60208310612bc55780518252601f199092019160209182019101612ba6565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015612c56578082015183820152602001612c3e565b50505050905090810190601f168015612c835780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f1935050505015156124b757fe5b600160a060020a0381161515612cbc57600080fd5b600e5433600160a060020a03908116911614612cd757600080fd5b600e805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03811660009081526007602052604081205442118015612d465750600160a060020a03821660009081526008602052604090205460ff16155b92915050565b600082821115612d5857fe5b50900390565b600082820183811015612d6d57fe5b9392505050565b6000903b1190565b600080831515612d8f576000915061189e565b50828202828482811515612d9f57fe5b0414612d6d57fe5b600160a060020a03331660009081526007602052604081205442118015612de55750600160a060020a03821660009081526007602052604090205442115b8015612e0a5750600160a060020a03331660009081526008602052604090205460ff16155b8015612d46575050600160a060020a031660009081526008602052604090205460ff161590565b60206040519081016040526000815290565b6000808284811515612e5157fe5b049493505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058206225c99c0817e637457b3ccd59b7e77b3a92cb9ae28dab86bec58c6679360b880029

Deployed Bytecode

0x6060604052600436106102375763ffffffff60e060020a60003504166305d2035b811461023c57806306fdde0314610263578063095ea7b3146102ed57806309f8cc581461030f5780630f86f7021461032257806310717a2e1461033557806318160ddd1461034f57806323b872dd14610374578063256fa2411461039c5780632cad9404146103ed578063313ce5671461040057806340c10f191461042957806342966c681461044b57806345977d03146104615780634b4a5088146104775780634bd09c2a1461048f5780635713fcb71461051e5780635c975abb146105315780635de4ccb014610544578063600440cb146105735780636268854d1461058657806366188463146105a5578063683de015146105c75780636ca562d6146105df57806370a08231146105f75780637132ebcd1461061657806372054df41461062e5780637619220014610641578063860838a5146106605780638da5cb5b1461067f57806395d89b4114610692578063a6f9dae1146106a5578063a9059cbb146106c4578063ab67aa58146106e6578063af303a1114610752578063be45fd6214610774578063c341b9f6146107d9578063c752ff621461082c578063c9206ddf1461083f578063d73dd62314610863578063d7e7088a14610885578063dd62ed3e146108a4578063e5ac7291146108c9578063e63b029d1461091a578063ebd0d82014610939578063ee94bdaf14610958578063f4d26fec14610970578063f6368f8a14610983578063ffeb7d7514610a2a575b600080fd5b341561024757600080fd5b61024f610a49565b604051901515815260200160405180910390f35b341561026e57600080fd5b610276610a6d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102b257808201518382015260200161029a565b50505050905090810190601f1680156102df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102f857600080fd5b61024f600160a060020a0360043516602435610b15565b341561031a57600080fd5b61024f610bb0565b341561032d57600080fd5b61024f610bc0565b341561034057600080fd5b61034d6004351515610bd0565b005b341561035a57600080fd5b610362610c1b565b60405190815260200160405180910390f35b341561037f57600080fd5b61024f600160a060020a0360043581169060243516604435610c21565b34156103a757600080fd5b61024f60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350610ef192505050565b34156103f857600080fd5b61024f61110d565b341561040b57600080fd5b610413611132565b60405160ff909116815260200160405180910390f35b341561043457600080fd5b61024f600160a060020a036004351660243561113b565b341561045657600080fd5b61034d600435611262565b341561046c57600080fd5b61034d600435611343565b341561048257600080fd5b61034d60043515156114d9565b341561049a57600080fd5b61024f60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061152395505050505050565b341561052957600080fd5b61024f611723565b341561053c57600080fd5b61024f611733565b341561054f57600080fd5b610557611743565b604051600160a060020a03909116815260200160405180910390f35b341561057e57600080fd5b610557611752565b341561059157600080fd5b61024f600160a060020a0360043516611761565b34156105b057600080fd5b61024f600160a060020a0360043516602435611776565b34156105d257600080fd5b61034d60043515156118a5565b34156105ea57600080fd5b61034d60043515156118f5565b341561060257600080fd5b610362600160a060020a0360043516611954565b341561062157600080fd5b61034d600435151561196f565b341561063957600080fd5b61024f6119be565b341561064c57600080fd5b61024f600160a060020a03600435166119e1565b341561066b57600080fd5b61024f600160a060020a0360043516611a88565b341561068a57600080fd5b610557611a9d565b341561069d57600080fd5b610276611aac565b34156106b057600080fd5b61034d600160a060020a0360043516611b1f565b34156106cf57600080fd5b61024f600160a060020a0360043516602435611bba565b34156106f157600080fd5b61024f600160a060020a036004803582169160248035909116916044359160849060643590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650611dc095505050505050565b341561075d57600080fd5b61024f600160a060020a036004351660243561212b565b341561077f57600080fd5b61024f60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506122e195505050505050565b34156107e457600080fd5b61034d600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050505091351515915061259a9050565b341561083757600080fd5b6103626126a1565b341561084a57600080fd5b61034d600160a060020a036004351660243515156126a7565b341561086e57600080fd5b61024f600160a060020a03600435166024356126ed565b341561089057600080fd5b61034d600160a060020a03600435166127c1565b34156108af57600080fd5b610362600160a060020a0360043581169060243516612863565b34156108d457600080fd5b61034d6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650509335935061288e92505050565b341561092557600080fd5b61024f600160a060020a0360043516612995565b341561094457600080fd5b610362600160a060020a0360043516612a12565b341561096357600080fd5b61034d6004351515612a24565b341561097b57600080fd5b61024f612a75565b341561098e57600080fd5b61024f60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650612a8595505050505050565b3415610a3557600080fd5b61034d600160a060020a0360043516612ca7565b600d5477010000000000000000000000000000000000000000000000900460ff1681565b610a75612e31565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b0b5780601f10610ae057610100808354040283529160200191610b0b565b820191906000526020600020905b815481529060010190602001808311610aee57829003601f168201915b5050505050905090565b600d5460009060c860020a900460ff1615610b2f57600080fd5b600d5460a060020a900460ff161515610b4757600080fd5b600160a060020a03338116600081815260096020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b600d5460d860020a900460ff1681565b600d5460a860020a900460ff1681565b60015433600160a060020a03908116911614610beb57600080fd5b600d805491151560a860020a0275ff00000000000000000000000000000000000000000019909216919091179055565b60055490565b6000610c2b612e31565b600d5460009060c860020a900460ff1615610c4557600080fd5b600d5460a060020a900460ff161515610c5d57600080fd5b610c6686612d06565b1515610c7157600080fd5b610c7a85612d06565b1515610c8557600080fd5b600160a060020a0385161515610c9a57600080fd5b600160a060020a038616600090815260066020526040902054841115610cbf57600080fd5b600160a060020a0380871660009081526009602090815260408083203390941683529290522054841115610cf257600080fd5b600160a060020a038616600090815260066020526040902054610d1b908563ffffffff612d4c16565b600160a060020a038088166000908152600660205260408082209390935590871681522054610d50908563ffffffff612d5e16565b600160a060020a03808716600090815260066020908152604080832094909455898316825260098152838220339093168252919091522054610d98908563ffffffff612d4c16565b600160a060020a0380881660009081526009602090815260408083203390941683529290522055610dc885612d74565b15610eb0575083600160a060020a03811663c0ee0b8a3386856040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e4e578082015183820152602001610e36565b50505050905090810190601f168015610e7b5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610e9b57600080fd5b6102c65a03f11515610eac57600080fd5b5050505b84600160a060020a031686600160a060020a0316600080516020612e5b8339815191528660405190815260200160405180910390a350600195945050505050565b6001546000908190819033600160a060020a03908116911614610f1357600080fd5b600d5460c860020a900460ff1615610f2a57600080fd5b60008551118015610f3f5750610f3f33612d06565b1515610f4a57600080fd5b610f5c8551859063ffffffff612d7c16565b600160a060020a03331660009081526006602052604090205490925082901015610f8557600080fd5b5060005b845181101561108557610fb0858281518110610fa157fe5b90602001906020020151612d06565b1515610fbb57600080fd5b610fff8460066000888581518110610fcf57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020549063ffffffff612d5e16565b6006600087848151811061100f57fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205584818151811061103f57fe5b90602001906020020151600160a060020a031633600160a060020a0316600080516020612e5b8339815191528660405190815260200160405180910390a3600101610f89565b600160a060020a0333166000908152600660205260409020546110ae908363ffffffff612d4c16565b600160a060020a0333166000908152600660205260409020557f814d1c01dd9d41d8814a098865d02ec577732a960a0c116bc8181cade7c4004585518360405191825260208201526040908101905180910390a1506001949350505050565b600d547801000000000000000000000000000000000000000000000000900460ff1681565b60045460ff1690565b60015460009033600160a060020a0390811691161461115957600080fd5b600d5477010000000000000000000000000000000000000000000000900460ff161561118457600080fd5b600d5460c860020a900460ff161561119b57600080fd5b6005546111ae908363ffffffff612d5e16565b600555600160a060020a0383166000908152600660205260409020546111da908363ffffffff612d5e16565b600160a060020a0384166000818152600660205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a0383166000600080516020612e5b8339815191528460405190815260200160405180910390a350600192915050565b600d5460009060c860020a900460ff161561127c57600080fd5b6000821161128957600080fd5b600160a060020a0333166000908152600660205260409020548211156112ae57600080fd5b5033600160a060020a0381166000908152600660205260409020546112d39083612d4c565b600160a060020a0382166000908152600660205260409020556005546112ff908363ffffffff612d4c16565b600555600160a060020a0333167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600d5460c860020a900460ff161561135a57600080fd5b600d5460d060020a900460ff16151561137257600080fd5b600f54600160a060020a0316151561138957600080fd5b80151561139557600080fd5b600160a060020a0333166000908152600660205260409020548111156113ba57600080fd5b600160a060020a0333166000908152600660205260409020546113e3908263ffffffff612d4c16565b600160a060020a03331660009081526006602052604090205560055461140f908263ffffffff612d4c16565b600555601054611425908263ffffffff612d5e16565b601055600f54600160a060020a031663753e88e5338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561147e57600080fd5b6102c65a03f1151561148f57600080fd5b5050600f54600160a060020a03908116915033167f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac8360405190815260200160405180910390a350565b60015433600160a060020a039081169116146114f457600080fd5b600d805491151560a060020a0274ff000000000000000000000000000000000000000019909216919091179055565b6001546000908190819033600160a060020a0390811691161461154557600080fd5b600d5460c860020a900460ff161561155c57600080fd5b6000855111801561156e575083518551145b801561157e575061157e33612d06565b151561158957600080fd5b5060009050805b845181101561162c5760008482815181106115a757fe5b906020019060200201511180156115db57508481815181106115c557fe5b90602001906020020151600160a060020a031615155b80156115f157506115f1858281518110610fa157fe5b15156115fc57600080fd5b61162284828151811061160b57fe5b90602001906020020151839063ffffffff612d5e16565b9150600101611590565b600160a060020a0333166000908152600660205260409020548290101561165257600080fd5b5060005b84518110156110855761168884828151811061166e57fe5b9060200190602002015160066000888581518110610fcf57fe5b6006600087848151811061169857fe5b90602001906020020151600160a060020a031681526020810191909152604001600020558481815181106116c857fe5b90602001906020020151600160a060020a031633600160a060020a0316600080516020612e5b83398151915286848151811061170057fe5b9060200190602002015160405190815260200160405180910390a3600101611656565b600d5460a060020a900460ff1681565b600d5460c860020a900460ff1681565b600f54600160a060020a031681565b600e54600160a060020a031681565b600a6020526000908152604090205460ff1681565b600d54600090819060c860020a900460ff161561179257600080fd5b600d5460a060020a900460ff1615156117aa57600080fd5b50600160a060020a033381166000908152600960209081526040808320938716835292905220548083111561180657600160a060020a03338116600090815260096020908152604080832093881683529290529081205561183d565b611816818463ffffffff612d4c16565b600160a060020a033381166000908152600960209081526040808320938916835292905220555b600160a060020a0333811660008181526009602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b60015433600160a060020a039081169116146118c057600080fd5b600d805491151560d060020a027aff000000000000000000000000000000000000000000000000000019909216919091179055565b60015433600160a060020a0390811691161461191057600080fd5b600d80549115157601000000000000000000000000000000000000000000000276ff0000000000000000000000000000000000000000000019909216919091179055565b600160a060020a031660009081526006602052604090205490565b60015433600160a060020a0390811691161461198a57600080fd5b600d805491151560c860020a0279ff0000000000000000000000000000000000000000000000000019909216919091179055565b600d54760100000000000000000000000000000000000000000000900460ff1681565b60015460009033600160a060020a039081169116146119ff57600080fd5b600154600160a060020a03838116911614611a1957600080fd5b600d805477ff00000000000000000000000000000000000000000000001916770100000000000000000000000000000000000000000000001790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a1506001919050565b60086020526000908152604090205460ff1681565b600154600160a060020a031681565b611ab4612e31565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b0b5780601f10610ae057610100808354040283529160200191610b0b565b60015433600160a060020a03908116911614611b3a57600080fd5b600160a060020a0381161515611b4f57600080fd5b600154600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000611bc4612e31565b600d5460009060c860020a900460ff1615611bde57600080fd5b611be785612da7565b1515611bf257600080fd5b600160a060020a03331660009081526006602052604090205484901015611c1857600080fd5b600160a060020a033316600090815260066020526040902054611c41908563ffffffff612d4c16565b600160a060020a033381166000908152600660205260408082209390935590871681522054611c76908563ffffffff612d5e16565b600160a060020a038616600090815260066020526040902055611c9885612d74565b15611d80575083600160a060020a03811663c0ee0b8a3386856040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611d1e578082015183820152602001611d06565b50505050905090810190601f168015611d4b5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515611d6b57600080fd5b6102c65a03f11515611d7c57600080fd5b5050505b84600160a060020a031633600160a060020a0316600080516020612e5b8339815191528660405190815260200160405180910390a3506001949350505050565b600d54600090819060c860020a900460ff1615611ddc57600080fd5b600d5460a860020a900460ff161515611df457600080fd5b611dfd86612d06565b1515611e0857600080fd5b611e1185612d06565b1515611e1c57600080fd5b600160a060020a0385161515611e3157600080fd5b600160a060020a038616600090815260066020526040902054841115611e5657600080fd5b600160a060020a0380871660009081526009602090815260408083203390941683529290522054841115611e8957600080fd5b600160a060020a038616600090815260066020526040902054611eb2908563ffffffff612d4c16565b600160a060020a038088166000908152600660205260408082209390935590871681522054611ee7908563ffffffff612d5e16565b600160a060020a03808716600090815260066020908152604080832094909455898316825260098152838220339093168252919091522054611f2f908563ffffffff612d4c16565b600160a060020a0380881660009081526009602090815260408083203390941683529290522055611f5f85612d74565b15612047575083600160a060020a03811663c0ee0b8a3386866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611fe5578082015183820152602001611fcd565b50505050905090810190601f1680156120125780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b151561203257600080fd5b6102c65a03f1151561204357600080fd5b5050505b826040518082805190602001908083835b602083106120775780518252601f199092019160209182019101612058565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168760405190815260200160405180910390a484600160a060020a031686600160a060020a0316600080516020612e5b8339815191528660405190815260200160405180910390a350600195945050505050565b60015460009033600160a060020a0390811691161461214957600080fd5b600d5460c860020a900460ff161561216057600080fd5b6000821180156121895750600160a060020a038316600090815260066020526040902054829010155b151561219457600080fd5b600160a060020a033316600090815260076020526040902054421180156121d25750600160a060020a03831660009081526007602052604090205442115b15156121dd57600080fd5b600160a060020a0383166000908152600a602052604090205460ff16151560011480156122295750600d547801000000000000000000000000000000000000000000000000900460ff16155b151561223457600080fd5b600160a060020a03831660009081526006602052604090205461225d908363ffffffff612d4c16565b600160a060020a03808516600090815260066020526040808220939093553390911681522054612293908363ffffffff612d5e16565b600160a060020a0333811660008181526006602052604090819020939093559190851690600080516020612e5b8339815191529085905190815260200160405180910390a350600192915050565b600d54600090819060c860020a900460ff16156122fd57600080fd5b600d5460a860020a900460ff16151561231557600080fd5b61231e85612da7565b151561232957600080fd5b600160a060020a0333166000908152600660205260409020548490101561234f57600080fd5b600160a060020a033316600090815260066020526040902054612378908563ffffffff612d4c16565b600160a060020a0333811660009081526006602052604080822093909355908716815220546123ad908563ffffffff612d5e16565b600160a060020a0386166000908152600660205260409020556123cf85612d74565b156124b7575083600160a060020a03811663c0ee0b8a3386866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561245557808201518382015260200161243d565b50505050905090810190601f1680156124825780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15156124a257600080fd5b6102c65a03f115156124b357600080fd5b5050505b826040518082805190602001908083835b602083106124e75780518252601f1990920191602091820191016124c8565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168760405190815260200160405180910390a484600160a060020a031633600160a060020a0316600080516020612e5b8339815191528660405190815260200160405180910390a3506001949350505050565b60015460009033600160a060020a039081169116146125b857600080fd5b60008351116125c657600080fd5b5060005b825181101561269c578281815181106125df57fe5b90602001906020020151600160a060020a031615156125fd57600080fd5b816008600085848151811061260e57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff191691151591909117905582818151811061264c57fe5b90602001906020020151600160a060020a03167fa33e6b076d391e96626483b30e365719f79f1d6594aff6587649ffd6c82ed7fa83604051901515815260200160405180910390a26001016125ca565b505050565b60105481565b60015433600160a060020a039081169116146126c257600080fd5b600160a060020a03919091166000908152600a60205260409020805460ff1916911515919091179055565b600d5460009060c860020a900460ff161561270757600080fd5b600d5460a060020a900460ff16151561271f57600080fd5b600160a060020a03338116600090815260096020908152604080832093871683529290522054612755908363ffffffff612d5e16565b600160a060020a0333811660008181526009602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03811615156127d657600080fd5b600d5460d860020a900460ff16156127ed57600080fd5b600e5433600160a060020a0390811691161461280857600080fd5b600f8054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff19909216919091179055600d80547bff000000000000000000000000000000000000000000000000000000191660d860020a179055565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60015460009033600160a060020a039081169116146128ac57600080fd5b60008351116128ba57600080fd5b5060005b825181101561269c5781600760008584815181106128d857fe5b90602001906020020151600160a060020a031681526020810191909152604001600020541061290657600080fd5b816007600085848151811061291757fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205582818151811061294757fe5b90602001906020020151600160a060020a03167ff7c3865a2047e2fc614fff3af48eef519dfd5243847cbefd615b3a150a9db5b08360405190815260200160405180910390a26001016128be565b60015460009033600160a060020a039081169116146129b357600080fd5b600154600160a060020a038381169116146129cd57600080fd5b50600d805478ff000000000000000000000000000000000000000000000000191678010000000000000000000000000000000000000000000000001790556001919050565b60076020526000908152604090205481565b60015433600160a060020a03908116911614612a3f57600080fd5b600d805491151560d860020a027bff00000000000000000000000000000000000000000000000000000019909216919091179055565b600d5460d060020a900460ff1681565b600d5460009060c860020a900460ff1615612a9f57600080fd5b600d54760100000000000000000000000000000000000000000000900460ff161515612aca57600080fd5b612ad385612da7565b1515612ade57600080fd5b600160a060020a03331660009081526006602052604090205484901015612b0457600080fd5b600160a060020a033316600090815260066020526040902054612b2d908563ffffffff612d4c16565b600160a060020a033381166000908152600660205260408082209390935590871681522054612b62908563ffffffff612d5e16565b600160a060020a038616600090815260066020526040902055612b8485612d74565b156124b75784600160a060020a03166000836040518082805190602001908083835b60208310612bc55780518252601f199092019160209182019101612ba6565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015612c56578082015183820152602001612c3e565b50505050905090810190601f168015612c835780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f1935050505015156124b757fe5b600160a060020a0381161515612cbc57600080fd5b600e5433600160a060020a03908116911614612cd757600080fd5b600e805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03811660009081526007602052604081205442118015612d465750600160a060020a03821660009081526008602052604090205460ff16155b92915050565b600082821115612d5857fe5b50900390565b600082820183811015612d6d57fe5b9392505050565b6000903b1190565b600080831515612d8f576000915061189e565b50828202828482811515612d9f57fe5b0414612d6d57fe5b600160a060020a03331660009081526007602052604081205442118015612de55750600160a060020a03821660009081526007602052604090205442115b8015612e0a5750600160a060020a03331660009081526008602052604090205460ff16155b8015612d46575050600160a060020a031660009081526008602052604090205460ff161590565b60206040519081016040526000815290565b6000808284811515612e5157fe5b049493505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058206225c99c0817e637457b3ccd59b7e77b3a92cb9ae28dab86bec58c6679360b880029

Swarm Source

bzzr://6225c99c0817e637457b3ccd59b7e77b3a92cb9ae28dab86bec58c6679360b88

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.