ETH Price: $2,809.04 (+1.41%)

Contract

0x37aFEFe9d05fe30D8BC9F942eA05215893cB9517
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer155835452022-09-21 18:31:35886 days ago1663785095IN
0x37aFEFe9...893cB9517
0 ETH0.0014385226.65176415
Transfer134619562021-10-21 15:59:341221 days ago1634831974IN
0x37aFEFe9...893cB9517
0 ETH0.0043124779.89758217
Transfer106764732020-08-17 8:25:091651 days ago1597652709IN
0x37aFEFe9...893cB9517
0 ETH0.00406117101.4
Transfer106764482020-08-17 8:19:211651 days ago1597652361IN
0x37aFEFe9...893cB9517
0 ETH0.0054390398.8
Transfer102292492020-06-09 3:59:351720 days ago1591675175IN
0x37aFEFe9...893cB9517
0 ETH0.0008776235
Transfer102292092020-06-09 3:50:471720 days ago1591674647IN
0x37aFEFe9...893cB9517
0 ETH0.0018166833
Transfer102287562020-06-09 2:03:141720 days ago1591668194IN
0x37aFEFe9...893cB9517
0 ETH0.0008776235
Transfer102287422020-06-09 1:59:471720 days ago1591667987IN
0x37aFEFe9...893cB9517
0 ETH0.001122128
Transfer102287392020-06-09 1:58:551720 days ago1591667935IN
0x37aFEFe9...893cB9517
0 ETH0.001542128
Transfer102225102020-06-08 2:46:311721 days ago1591584391IN
0x37aFEFe9...893cB9517
0 ETH0.000877235
Transfer102224782020-06-08 2:39:501721 days ago1591583990IN
0x37aFEFe9...893cB9517
0 ETH0.0016518930
Transfer102224442020-06-08 2:33:481721 days ago1591583628IN
0x37aFEFe9...893cB9517
0 ETH0.000877235
Transfer102224212020-06-08 2:27:561721 days ago1591583276IN
0x37aFEFe9...893cB9517
0 ETH0.0016518930
Transfer101515192020-05-28 2:20:061732 days ago1590632406IN
0x37aFEFe9...893cB9517
0 ETH0.001402235
Transfer101514822020-05-28 2:11:421732 days ago1590631902IN
0x37aFEFe9...893cB9517
0 ETH0.0016518930

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HAOToken

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-04-17
*/

pragma solidity ^0.4.26;

/**
 * @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) {
    // assert(_b > 0); // Solidity automatically throws when dividing by 0
    // uint256 c = _a / _b;
    // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold
    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;
  }
 
}


contract HAOToken {

    using SafeMath for uint256;   

    mapping (address => uint256) internal balances;
    mapping (address => mapping (address => uint256)) internal allowed;

    //--------------------------------  Basic Info  -------------------------------------//

    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 public totalSupply;

    //--------------------------------  Basic Info  -------------------------------------//


  
    
    //--------------------------------  Admin Info  -------------------------------------//

    address internal admin;  //Admin address
     
    event ChangeAdmin(address indexed admin, address indexed newAdmin);
    // This notifies clients about the amount burnt
    event Burn(address indexed from, uint256 value);
  
    modifier onlyAdmin() {
        require(msg.sender == admin); 
        _;
    }
  
  
    /**
     * @dev Change admin address
     * @param newAdmin New admin address
     */
    function changeAdmin(address newAdmin) public onlyAdmin returns (bool)  {
        require(newAdmin != address(0));
        uint256 balAdmin = balances[admin];
        balances[newAdmin] = balances[newAdmin].add(balAdmin);
        balances[admin] = 0;
        emit Transfer(admin, newAdmin, balAdmin);
        emit ChangeAdmin(admin, newAdmin);
        admin = newAdmin;          
        return true;
    }

    //--------------------------------  Admin Info  -------------------------------------//
    
    //-----------------------------  Transfer switch  ----------------------------------//

    bool public allowedTransfer;     //Whether transfering token is allowed
    bool public allowedMultiTransfer;     //Whether multi transfering token is allowed
    
    /**
     * @dev Change allowedTransfer flag
     * @param newAllowedTransfer whether transfering token is allowed
     */
    function changeAllowedTransfer(bool newAllowedTransfer) public onlyAdmin returns (bool)  {
       // require(msg.sender == admin);        
        allowedTransfer = newAllowedTransfer;
        return true;
    }
    
    /**
     * @dev Change allowedMultiTransfer flag
     * @param newAllowedMultiTransfer whether multi transfering token is allowed
     */
    function changeAllowedMultiTransfer(bool newAllowedMultiTransfer) public onlyAdmin returns (bool)  {
      //  require(msg.sender == admin);        
        allowedMultiTransfer = newAllowedMultiTransfer;
        return true;
    }
    
    //-----------------------------  Transfer switch  ----------------------------------//

    //--------------------------  Events & Constructor  ------------------------------//
    
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);

    // constructor
    constructor() public {
        name = "HAO TOKEN";
        symbol = "HAO";
        decimals = 18;
        totalSupply = 21000000 * 10 ** uint256(decimals);
        admin = msg.sender;
        balances[msg.sender] = totalSupply;
        allowedTransfer = true;
        allowedMultiTransfer = true;
        emit Transfer(address(0x0), msg.sender, totalSupply); 

    }

    //--------------------------  Events & Constructor  ------------------------------//
    
    //------------------------------ Account lock  -----------------------------------//

    // The same account is frozen if it satisfies any freezing conditions
    mapping (address => bool)  public frozenAccount; //Accounts frozen indefinitely
    mapping (address => uint256) public frozenTimestamp; // Accounts frozen for a limited period

   

    /**
     * Lock accounts
     */
    function freeze(address _target, bool _freeze) public onlyAdmin returns (bool) {
      //  require(msg.sender == admin);          
        require(_target != admin);
        frozenAccount[_target] = _freeze;
        return true;
    }

    /**
     * Locking accounts through timestamps
     */
    function freezeWithTimestamp(address _target, uint256 _timestamp) public onlyAdmin returns (bool) {
     //   require(msg.sender == admin);          
        require(_target != admin); 
        frozenTimestamp[_target] = _timestamp;
        return true;
    }

    /**
     * Batch Lock-in Account
     */
    function multiFreeze(address[] _targets, bool[] _freezes) public onlyAdmin returns (bool) {
      //  require(msg.sender == admin);         
        require(_targets.length == _freezes.length);
        uint256 len = _targets.length;
        require(len > 0);
        for (uint256 i = 0; i < len; i = i.add(1)) {
            address _target = _targets[i];
            require(_target != admin);
            bool _freeze = _freezes[i];
            frozenAccount[_target] = _freeze;
        }
        return true;
    }

    /**
     * Lock accounts in batches through timestamps
     */
    function multiFreezeWithTimestamp(address[] _targets, uint256[] _timestamps) public onlyAdmin returns (bool) {
       // require(msg.sender == admin);        
       // require(_targets.length == _timestamps.length);    
        require(_targets.length > 0 && _targets.length == _timestamps.length);
        uint256 len = _targets.length;           
        for (uint256 i = 0; i < len; i = i.add(1)) {
            address _target = _targets[i];
            require(_target != admin);
            uint256 _timestamp = _timestamps[i];
            frozenTimestamp[_target] = _timestamp;
        }
        return true;
    }

    //------------------------------  Account lock  -----------------------------------//


    //-------------------------  Standard ERC20 Interfaces  --------------------------//

    function multiTransfer(address[] _tos, uint256[] _values) public returns (bool) {
        require(allowedMultiTransfer);
        require(!frozenAccount[msg.sender]);
        require(now > frozenTimestamp[msg.sender]);
       // require(_tos.length == _values.length);     
        require(_tos.length > 0 && _tos.length == _values.length);
        uint256 len = _tos.length;
        uint256 amount = 0;
        for (uint256 i = 0; i < len; i = i.add(1)) {
            amount = amount.add(_values[i]);
        }
        require(balances[msg.sender] >= amount);
        for (uint256 j = 0; j < len; j = j.add(1)) {
            address _to = _tos[j];        
            require(_to != address(0));
            balances[_to] = balances[_to].add(_values[j]);
            balances[msg.sender] = balances[msg.sender].sub(_values[j]);
            emit Transfer(msg.sender, _to, _values[j]);
        }
        return true;
    }

    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(allowedTransfer);
        require(!frozenAccount[msg.sender]);
        require(now > frozenTimestamp[msg.sender]);
        require(balances[msg.sender].sub(_value) >= 0);    
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { 
        require(_to != address(0));
        require(allowedTransfer);
        require(!frozenAccount[_from]);
        require(now > frozenTimestamp[_from]);
        require(balances[_from].sub(_value) >= 0);    
        require(allowed[_from][msg.sender] >= _value);   

        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;
    }

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

    function allowance(address _owner, address _spender) public view returns (uint256) {
        return allowed[_owner][_spender];
    }

    /**
     * @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];
    }

    /**
     * Destroy tokens
     *
     * Remove `_value` tokens from the system irreversibly
     *
     * @param _value the amount of money to burn
     */
    function burn(uint256 _value) public returns (bool success) {
        require(balances[msg.sender] >= _value);    // Check if the sender has enough
        balances[msg.sender] = balances[msg.sender].sub(_value);            // Subtract from the sender
        totalSupply = totalSupply.sub(_value);                      // Updates totalSupply
        emit Burn(msg.sender, _value);
        return true;
    }


    //-------------------------  Standard ERC20 Interfaces  --------------------------//
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"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":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tos","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"multiTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"decimals","outputs":[{"name":"","type":"uint8"}],"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":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"changeAdmin","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":false,"inputs":[{"name":"newAllowedMultiTransfer","type":"bool"}],"name":"changeAllowedMultiTransfer","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":"newAllowedTransfer","type":"bool"}],"name":"changeAllowedTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allowedTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allowedMultiTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_freeze","type":"bool"}],"name":"freeze","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_targets","type":"address[]"},{"name":"_freezes","type":"bool[]"}],"name":"multiFreeze","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_timestamp","type":"uint256"}],"name":"freezeWithTimestamp","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_targets","type":"address[]"},{"name":"_timestamps","type":"uint256[]"}],"name":"multiFreezeWithTimestamp","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"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"admin","type":"address"},{"indexed":true,"name":"newAdmin","type":"address"}],"name":"ChangeAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","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"}]

60806040523480156200001157600080fd5b506040805190810160405280600981526020017f48414f20544f4b454e0000000000000000000000000000000000000000000000815250600290805190602001906200005f92919062000216565b506040805190810160405280600381526020017f48414f000000000000000000000000000000000000000000000000000000000081525060039080519060200190620000ad92919062000216565b506012600460006101000a81548160ff021916908360ff160217905550600460009054906101000a900460ff1660ff16600a0a6301406f400260058190555033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600660146101000a81548160ff0219169083151502179055506001600660156101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a3620002c5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025957805160ff19168380011785556200028a565b828001600101855582156200028a579182015b82811115620002895782518255916020019190600101906200026c565b5b5090506200029991906200029d565b5090565b620002c291905b80821115620002be576000816000905550600101620002a4565b5090565b90565b6124e080620002d56000396000f300608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461012d578063095ea7b3146101bd57806318160ddd146102225780631e89d5451461024d57806323b872dd1461030e578063313ce5671461039357806342966c68146103c457806370a08231146104095780638f2839701461046057806395d89b41146104bb57806398c904241461054b578063a9059cbb14610592578063ac1c52b0146105f7578063adf976dc1461063e578063b1053bf91461066d578063b414d4b61461069c578063bf120ae5146106f7578063c878dad91461075e578063c8d90df81461081f578063d70907b014610876578063d950c432146108db578063dd62ed3e1461099c575b600080fd5b34801561013957600080fd5b50610142610a13565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610182578082015181840152602081019050610167565b50505050905090810190601f1680156101af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c957600080fd5b50610208600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ab1565b604051808215151515815260200191505060405180910390f35b34801561022e57600080fd5b50610237610c38565b6040518082815260200191505060405180910390f35b34801561025957600080fd5b506102f46004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610c3e565b604051808215151515815260200191505060405180910390f35b34801561031a57600080fd5b50610379600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061102b565b604051808215151515815260200191505060405180910390f35b34801561039f57600080fd5b506103a86114b9565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103d057600080fd5b506103ef600480360381019080803590602001909291905050506114cc565b604051808215151515815260200191505060405180910390f35b34801561041557600080fd5b5061044a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611620565b6040518082815260200191505060405180910390f35b34801561046c57600080fd5b506104a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611668565b604051808215151515815260200191505060405180910390f35b3480156104c757600080fd5b506104d06119ad565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105105780820151818401526020810190506104f5565b50505050905090810190601f16801561053d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561055757600080fd5b50610578600480360381019080803515159060200190929190505050611a4b565b604051808215151515815260200191505060405180910390f35b34801561059e57600080fd5b506105dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611acc565b604051808215151515815260200191505060405180910390f35b34801561060357600080fd5b50610624600480360381019080803515159060200190929190505050611dbf565b604051808215151515815260200191505060405180910390f35b34801561064a57600080fd5b50610653611e40565b604051808215151515815260200191505060405180910390f35b34801561067957600080fd5b50610682611e53565b604051808215151515815260200191505060405180910390f35b3480156106a857600080fd5b506106dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e66565b604051808215151515815260200191505060405180910390f35b34801561070357600080fd5b50610744600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611e86565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506108056004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611fa2565b604051808215151515815260200191505060405180910390f35b34801561082b57600080fd5b50610860600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612147565b6040518082815260200191505060405180910390f35b34801561088257600080fd5b506108c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061215f565b604051808215151515815260200191505060405180910390f35b3480156108e757600080fd5b506109826004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050612268565b604051808215151515815260200191505060405180910390f35b3480156109a857600080fd5b506109fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123f8565b6040518082815260200191505060405180910390f35b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aa95780601f10610a7e57610100808354040283529160200191610aa9565b820191906000526020600020905b815481529060010190602001808311610a8c57829003601f168201915b505050505081565b600080821480610b3d57506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515610b4857600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60055481565b600080600080600080600660159054906101000a900460ff161515610c6257600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610cbb57600080fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442111515610d0857600080fd5b60008851118015610d1a575086518851145b1515610d2557600080fd5b8751945060009350600092505b84831015610d8157610d648784815181101515610d4b57fe5b906020019060200201518561247f90919063ffffffff16565b9350610d7a60018461247f90919063ffffffff16565b9250610d32565b836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610dce57600080fd5b600091505b8482101561101c578782815181101515610de957fe5b906020019060200201519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e3157600080fd5b610e998783815181101515610e4257fe5b906020019060200201516000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f438783815181101515610eec57fe5b906020019060200201516000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8985815181101515610fe257fe5b906020019060200201516040518082815260200191505060405180910390a361101560018361247f90919063ffffffff16565b9150610dd3565b60019550505050505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561106857600080fd5b600660149054906101000a900460ff16151561108357600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156110dc57600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544211151561112957600080fd5b600061117c836000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b1015151561118957600080fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561121457600080fd5b611265826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112f8826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113c982600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561151b57600080fd5b61156c826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115c38260055461249b90919063ffffffff16565b6005819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116c757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561170357600080fd5b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506117b7816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcf9b665e0639e0b81a8db37b60ac7ddf45aeb1b484e11adeb7dff4bf4a3a625860405160405180910390a382600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001915050919050565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a435780601f10611a1857610100808354040283529160200191611a43565b820191906000526020600020905b815481529060010190602001808311611a2657829003601f168201915b505050505081565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611aa957600080fd5b81600660156101000a81548160ff02191690831515021790555060019050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b0957600080fd5b600660149054906101000a900460ff161515611b2457600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611b7d57600080fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442111515611bca57600080fd5b6000611c1d836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b10151515611c2a57600080fd5b611c7b826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d0e826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e1d57600080fd5b81600660146101000a81548160ff02191690831515021790555060019050919050565b600660149054906101000a900460ff1681565b600660159054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ee457600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611f4157600080fd5b81600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001905092915050565b6000806000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561200657600080fd5b8551875114151561201657600080fd5b8651935060008411151561202957600080fd5b600092505b8383101561213957868381518110151561204457fe5b906020019060200201519150600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156120ad57600080fd5b85838151811015156120bb57fe5b90602001906020020151905080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061213260018461247f90919063ffffffff16565b925061202e565b600194505050505092915050565b60086020528060005260406000206000915090505481565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121bd57600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561221a57600080fd5b81600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000806000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156122cc57600080fd5b600087511180156122de575085518751145b15156122e957600080fd5b86519350600092505b838310156123ea57868381518110151561230857fe5b906020019060200201519150600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561237157600080fd5b858381518110151561237f57fe5b90602001906020020151905080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123e360018461247f90919063ffffffff16565b92506122f2565b600194505050505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000818301905082811015151561249257fe5b80905092915050565b60008282111515156124a957fe5b8183039050929150505600a165627a7a723058206516c8319f39c27aa01fa7c61fb1a07effbea5888cf664ca192b5b6b7cc0d3ca0029

Deployed Bytecode

0x608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461012d578063095ea7b3146101bd57806318160ddd146102225780631e89d5451461024d57806323b872dd1461030e578063313ce5671461039357806342966c68146103c457806370a08231146104095780638f2839701461046057806395d89b41146104bb57806398c904241461054b578063a9059cbb14610592578063ac1c52b0146105f7578063adf976dc1461063e578063b1053bf91461066d578063b414d4b61461069c578063bf120ae5146106f7578063c878dad91461075e578063c8d90df81461081f578063d70907b014610876578063d950c432146108db578063dd62ed3e1461099c575b600080fd5b34801561013957600080fd5b50610142610a13565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610182578082015181840152602081019050610167565b50505050905090810190601f1680156101af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c957600080fd5b50610208600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ab1565b604051808215151515815260200191505060405180910390f35b34801561022e57600080fd5b50610237610c38565b6040518082815260200191505060405180910390f35b34801561025957600080fd5b506102f46004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610c3e565b604051808215151515815260200191505060405180910390f35b34801561031a57600080fd5b50610379600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061102b565b604051808215151515815260200191505060405180910390f35b34801561039f57600080fd5b506103a86114b9565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103d057600080fd5b506103ef600480360381019080803590602001909291905050506114cc565b604051808215151515815260200191505060405180910390f35b34801561041557600080fd5b5061044a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611620565b6040518082815260200191505060405180910390f35b34801561046c57600080fd5b506104a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611668565b604051808215151515815260200191505060405180910390f35b3480156104c757600080fd5b506104d06119ad565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105105780820151818401526020810190506104f5565b50505050905090810190601f16801561053d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561055757600080fd5b50610578600480360381019080803515159060200190929190505050611a4b565b604051808215151515815260200191505060405180910390f35b34801561059e57600080fd5b506105dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611acc565b604051808215151515815260200191505060405180910390f35b34801561060357600080fd5b50610624600480360381019080803515159060200190929190505050611dbf565b604051808215151515815260200191505060405180910390f35b34801561064a57600080fd5b50610653611e40565b604051808215151515815260200191505060405180910390f35b34801561067957600080fd5b50610682611e53565b604051808215151515815260200191505060405180910390f35b3480156106a857600080fd5b506106dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e66565b604051808215151515815260200191505060405180910390f35b34801561070357600080fd5b50610744600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611e86565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506108056004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611fa2565b604051808215151515815260200191505060405180910390f35b34801561082b57600080fd5b50610860600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612147565b6040518082815260200191505060405180910390f35b34801561088257600080fd5b506108c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061215f565b604051808215151515815260200191505060405180910390f35b3480156108e757600080fd5b506109826004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050612268565b604051808215151515815260200191505060405180910390f35b3480156109a857600080fd5b506109fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123f8565b6040518082815260200191505060405180910390f35b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aa95780601f10610a7e57610100808354040283529160200191610aa9565b820191906000526020600020905b815481529060010190602001808311610a8c57829003601f168201915b505050505081565b600080821480610b3d57506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515610b4857600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60055481565b600080600080600080600660159054906101000a900460ff161515610c6257600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610cbb57600080fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442111515610d0857600080fd5b60008851118015610d1a575086518851145b1515610d2557600080fd5b8751945060009350600092505b84831015610d8157610d648784815181101515610d4b57fe5b906020019060200201518561247f90919063ffffffff16565b9350610d7a60018461247f90919063ffffffff16565b9250610d32565b836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610dce57600080fd5b600091505b8482101561101c578782815181101515610de957fe5b906020019060200201519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e3157600080fd5b610e998783815181101515610e4257fe5b906020019060200201516000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f438783815181101515610eec57fe5b906020019060200201516000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8985815181101515610fe257fe5b906020019060200201516040518082815260200191505060405180910390a361101560018361247f90919063ffffffff16565b9150610dd3565b60019550505050505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561106857600080fd5b600660149054906101000a900460ff16151561108357600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156110dc57600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544211151561112957600080fd5b600061117c836000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b1015151561118957600080fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561121457600080fd5b611265826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112f8826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113c982600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561151b57600080fd5b61156c826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115c38260055461249b90919063ffffffff16565b6005819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116c757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561170357600080fd5b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506117b7816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcf9b665e0639e0b81a8db37b60ac7ddf45aeb1b484e11adeb7dff4bf4a3a625860405160405180910390a382600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001915050919050565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a435780601f10611a1857610100808354040283529160200191611a43565b820191906000526020600020905b815481529060010190602001808311611a2657829003601f168201915b505050505081565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611aa957600080fd5b81600660156101000a81548160ff02191690831515021790555060019050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b0957600080fd5b600660149054906101000a900460ff161515611b2457600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611b7d57600080fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442111515611bca57600080fd5b6000611c1d836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b10151515611c2a57600080fd5b611c7b826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249b90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d0e826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247f90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e1d57600080fd5b81600660146101000a81548160ff02191690831515021790555060019050919050565b600660149054906101000a900460ff1681565b600660159054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ee457600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611f4157600080fd5b81600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001905092915050565b6000806000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561200657600080fd5b8551875114151561201657600080fd5b8651935060008411151561202957600080fd5b600092505b8383101561213957868381518110151561204457fe5b906020019060200201519150600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156120ad57600080fd5b85838151811015156120bb57fe5b90602001906020020151905080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061213260018461247f90919063ffffffff16565b925061202e565b600194505050505092915050565b60086020528060005260406000206000915090505481565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121bd57600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561221a57600080fd5b81600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000806000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156122cc57600080fd5b600087511180156122de575085518751145b15156122e957600080fd5b86519350600092505b838310156123ea57868381518110151561230857fe5b906020019060200201519150600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561237157600080fd5b858381518110151561237f57fe5b90602001906020020151905080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123e360018461247f90919063ffffffff16565b92506122f2565b600194505050505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000818301905082811015151561249257fe5b80905092915050565b60008282111515156124a957fe5b8183039050929150505600a165627a7a723058206516c8319f39c27aa01fa7c61fb1a07effbea5888cf664ca192b5b6b7cc0d3ca0029

Deployed Bytecode Sourcemap

1227:9412:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1515:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1515:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1515:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9203:276;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9203:276:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1595:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1595:26:0;;;;;;;;;;;;;;;;;;;;;;;7112:940;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7112:940:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8566:629;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8566:629:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1567:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1567:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10128:414;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10128:414:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9846:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9846:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2258:415;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2258:415:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1540:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1540:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1540:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3548:235;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3548:235:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8060:498;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8060:498:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3175:215;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3175:215:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2874:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2874:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2951:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2951:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4817:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4817:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5049:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5049:239:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5678:528;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5678:528:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4902:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4902:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5358:264;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5358:264:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6284:633;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6284:633:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9487:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9487:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1515:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9203:276::-;9270:4;9306:1;9296:6;:11;:49;;;;9344:1;9311:7;:19;9319:10;9311:19;;;;;;;;;;;;;;;:29;9331:8;9311:29;;;;;;;;;;;;;;;;:34;9296:49;9288:58;;;;;;;;9389:6;9357:7;:19;9365:10;9357:19;;;;;;;;;;;;;;;:29;9377:8;9357:29;;;;;;;;;;;;;;;:38;;;;9432:8;9411:38;;9420:10;9411:38;;;9442:6;9411:38;;;;;;;;;;;;;;;;;;9467:4;9460:11;;9203:276;;;;:::o;1595:26::-;;;;:::o;7112:940::-;7186:4;7466:11;7502:14;7536:9;7697;7750:11;7211:20;;;;;;;;;;;7203:29;;;;;;;;7252:13;:25;7266:10;7252:25;;;;;;;;;;;;;;;;;;;;;;;;;7251:26;7243:35;;;;;;;;7303:15;:27;7319:10;7303:27;;;;;;;;;;;;;;;;7297:3;:33;7289:42;;;;;;;;7420:1;7406:4;:11;:15;:48;;;;;7440:7;:14;7425:4;:11;:29;7406:48;7398:57;;;;;;;;7480:4;:11;7466:25;;7519:1;7502:18;;7548:1;7536:13;;7531:101;7555:3;7551:1;:7;7531:101;;;7598:22;7609:7;7617:1;7609:10;;;;;;;;;;;;;;;;;;7598:6;:10;;:22;;;;:::i;:::-;7589:31;;7564:8;7570:1;7564;:5;;:8;;;;:::i;:::-;7560:12;;7531:101;;;7674:6;7650:8;:20;7659:10;7650:20;;;;;;;;;;;;;;;;:30;;7642:39;;;;;;;;7709:1;7697:13;;7692:331;7716:3;7712:1;:7;7692:331;;;7764:4;7769:1;7764:7;;;;;;;;;;;;;;;;;;7750:21;;7817:1;7802:17;;:3;:17;;;;7794:26;;;;;;;;7851:29;7869:7;7877:1;7869:10;;;;;;;;;;;;;;;;;;7851:8;:13;7860:3;7851:13;;;;;;;;;;;;;;;;:17;;:29;;;;:::i;:::-;7835:8;:13;7844:3;7835:13;;;;;;;;;;;;;;;:45;;;;7918:36;7943:7;7951:1;7943:10;;;;;;;;;;;;;;;;;;7918:8;:20;7927:10;7918:20;;;;;;;;;;;;;;;;:24;;:36;;;;:::i;:::-;7895:8;:20;7904:10;7895:20;;;;;;;;;;;;;;;:59;;;;7995:3;7974:37;;7983:10;7974:37;;;8000:7;8008:1;8000:10;;;;;;;;;;;;;;;;;;7974:37;;;;;;;;;;;;;;;;;;7725:8;7731:1;7725;:5;;:8;;;;:::i;:::-;7721:12;;7692:331;;;8040:4;8033:11;;7112:940;;;;;;;;;:::o;8566:629::-;8648:4;8689:1;8674:17;;:3;:17;;;;8666:26;;;;;;;;8711:15;;;;;;;;;;;8703:24;;;;;;;;8747:13;:20;8761:5;8747:20;;;;;;;;;;;;;;;;;;;;;;;;;8746:21;8738:30;;;;;;;;8793:15;:22;8809:5;8793:22;;;;;;;;;;;;;;;;8787:3;:28;8779:37;;;;;;;;8866:1;8835:27;8855:6;8835:8;:15;8844:5;8835:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;:32;;8827:41;;;;;;;;8921:6;8891:7;:14;8899:5;8891:14;;;;;;;;;;;;;;;:26;8906:10;8891:26;;;;;;;;;;;;;;;;:36;;8883:45;;;;;;;;8962:27;8982:6;8962:8;:15;8971:5;8962:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8944:8;:15;8953:5;8944:15;;;;;;;;;;;;;;;:45;;;;9016:25;9034:6;9016:8;:13;9025:3;9016:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;9000:8;:13;9009:3;9000:13;;;;;;;;;;;;;;;:41;;;;9081:38;9112:6;9081:7;:14;9089:5;9081:14;;;;;;;;;;;;;;;:26;9096:10;9081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;9052:7;:14;9060:5;9052:14;;;;;;;;;;;;;;;:26;9067:10;9052:26;;;;;;;;;;;;;;;:67;;;;9153:3;9137:28;;9146:5;9137:28;;;9158:6;9137:28;;;;;;;;;;;;;;;;;;9183:4;9176:11;;8566:629;;;;;:::o;1567:21::-;;;;;;;;;;;;;:::o;10128:414::-;10174:12;10231:6;10207:8;:20;10216:10;10207:20;;;;;;;;;;;;;;;;:30;;10199:39;;;;;;;;10309:32;10334:6;10309:8;:20;10318:10;10309:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10286:8;:20;10295:10;10286:20;;;;;;;;;;;;;;;:55;;;;10405:23;10421:6;10405:11;;:15;;:23;;;;:::i;:::-;10391:11;:37;;;;10493:10;10488:24;;;10505:6;10488:24;;;;;;;;;;;;;;;;;;10530:4;10523:11;;10128:414;;;:::o;9846:107::-;9902:7;9929:8;:16;9938:6;9929:16;;;;;;;;;;;;;;;;9922:23;;9846:107;;;:::o;2258:415::-;2323:4;2383:16;2123:5;;;;;;;;;;;2109:19;;:10;:19;;;2101:28;;;;;;;;2369:1;2349:22;;:8;:22;;;;2341:31;;;;;;;;2402:8;:15;2411:5;;;;;;;;;;;2402:15;;;;;;;;;;;;;;;;2383:34;;2449:32;2472:8;2449;:18;2458:8;2449:18;;;;;;;;;;;;;;;;:22;;:32;;;;:::i;:::-;2428:8;:18;2437:8;2428:18;;;;;;;;;;;;;;;:53;;;;2510:1;2492:8;:15;2501:5;;;;;;;;;;;2492:15;;;;;;;;;;;;;;;:19;;;;2543:8;2527:35;;2536:5;;;;;;;;;;;2527:35;;;2553:8;2527:35;;;;;;;;;;;;;;;;;;2597:8;2578:28;;2590:5;;;;;;;;;;;2578:28;;;;;;;;;;;;2625:8;2617:5;;:16;;;;;;;;;;;;;;;;;;2661:4;2654:11;;2258:415;;;;:::o;1540:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3548:235::-;3640:4;2123:5;;;;;;;;;;;2109:19;;:10;:19;;;2101:28;;;;;;;;3730:23;3707:20;;:46;;;;;;;;;;;;;;;;;;3771:4;3764:11;;3548:235;;;:::o;8060:498::-;8123:4;8163:1;8148:17;;:3;:17;;;;8140:26;;;;;;;;8185:15;;;;;;;;;;;8177:24;;;;;;;;8221:13;:25;8235:10;8221:25;;;;;;;;;;;;;;;;;;;;;;;;;8220:26;8212:35;;;;;;;;8272:15;:27;8288:10;8272:27;;;;;;;;;;;;;;;;8266:3;:33;8258:42;;;;;;;;8355:1;8319:32;8344:6;8319:8;:20;8328:10;8319:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;:37;;8311:46;;;;;;;;8395:32;8420:6;8395:8;:20;8404:10;8395:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8372:8;:20;8381:10;8372:20;;;;;;;;;;;;;;;:55;;;;8454:25;8472:6;8454:8;:13;8463:3;8454:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;8438:8;:13;8447:3;8438:13;;;;;;;;;;;;;;;:41;;;;8516:3;8495:33;;8504:10;8495:33;;;8521:6;8495:33;;;;;;;;;;;;;;;;;;8546:4;8539:11;;8060:498;;;;:::o;3175:215::-;3257:4;2123:5;;;;;;;;;;;2109:19;;:10;:19;;;2101:28;;;;;;;;3342:18;3324:15;;:36;;;;;;;;;;;;;;;;;;3378:4;3371:11;;3175:215;;;:::o;2874:27::-;;;;;;;;;;;;;:::o;2951:32::-;;;;;;;;;;;;;:::o;4817:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;5049:239::-;5122:4;2123:5;;;;;;;;;;;2109:19;;:10;:19;;;2101:28;;;;;;;;5209:5;;;;;;;;;;;5198:16;;:7;:16;;;;5190:25;;;;;;;;5251:7;5226:13;:22;5240:7;5226:22;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;5276:4;5269:11;;5049:239;;;;:::o;5678:528::-;5762:4;5883:11;5955:9;6008:15;6092:12;2123:5;;;;;;;;;;;2109:19;;:10;:19;;;2101:28;;;;;;;;5856:8;:15;5837:8;:15;:34;5829:43;;;;;;;;5897:8;:15;5883:29;;5937:1;5931:3;:7;5923:16;;;;;;;;5967:1;5955:13;;5950:227;5974:3;5970:1;:7;5950:227;;;6026:8;6035:1;6026:11;;;;;;;;;;;;;;;;;;6008:29;;6071:5;;;;;;;;;;;6060:16;;:7;:16;;;;6052:25;;;;;;;;6107:8;6116:1;6107:11;;;;;;;;;;;;;;;;;;6092:26;;6158:7;6133:13;:22;6147:7;6133:22;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;5983:8;5989:1;5983;:5;;:8;;;;:::i;:::-;5979:12;;5950:227;;;6194:4;6187:11;;5678:528;;;;;;;;:::o;4902:51::-;;;;;;;;;;;;;;;;;:::o;5358:264::-;5450:4;2123:5;;;;;;;;;;;2109:19;;:10;:19;;;2101:28;;;;;;;;5537:5;;;;;;;;;;;5526:16;;:7;:16;;;;5518:25;;;;;;;;5582:10;5555:15;:24;5571:7;5555:24;;;;;;;;;;;;;;;:37;;;;5610:4;5603:11;;5358:264;;;;:::o;6284:633::-;6387:4;6596:11;6652:9;6705:15;6789:18;2123:5;;;;;;;;;;;2109:19;;:10;:19;;;2101:28;;;;;;;;6542:1;6524:8;:15;:19;:60;;;;;6566:11;:18;6547:8;:15;:37;6524:60;6516:69;;;;;;;;6610:8;:15;6596:29;;6664:1;6652:13;;6647:241;6671:3;6667:1;:7;6647:241;;;6723:8;6732:1;6723:11;;;;;;;;;;;;;;;;;;6705:29;;6768:5;;;;;;;;;;;6757:16;;:7;:16;;;;6749:25;;;;;;;;6810:11;6822:1;6810:14;;;;;;;;;;;;;;;;;;6789:35;;6866:10;6839:15;:24;6855:7;6839:24;;;;;;;;;;;;;;;:37;;;;6680:8;6686:1;6680;:5;;:8;;;;:::i;:::-;6676:12;;6647:241;;;6905:4;6898:11;;6284:633;;;;;;;;:::o;9487:134::-;9561:7;9588;:15;9596:6;9588:15;;;;;;;;;;;;;;;:25;9604:8;9588:25;;;;;;;;;;;;;;;;9581:32;;9487:134;;;;:::o;1083:132::-;1143:9;1170:2;1165;:7;1161:11;;1191:2;1186:1;:7;;1179:15;;;;;;1208:1;1201:8;;1083:132;;;;:::o;897:119::-;957:7;986:2;980;:8;;973:16;;;;;;1008:2;1003;:7;996:14;;897:119;;;;:::o

Swarm Source

bzzr://6516c8319f39c27aa01fa7c61fb1a07effbea5888cf664ca192b5b6b7cc0d3ca

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.