xDAI Price: $0.999975 (-0.02%)
Gas: 1.1 GWei

Contract

0x69470B18F8B8B5f92b48f6199DCb147b4BE96571

Overview

xDAI Balance

Gnosis Chain LogoGnosis Chain LogoGnosis Chain Logo0 xDAI

xDAI Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Lock Chunk380300042025-01-14 2:09:5520 hrs ago1736820595IN
0x69470B18...b4BE96571
0 xDAI0.000048161
Publish Chunk380299192025-01-14 2:02:3520 hrs ago1736820155IN
0x69470B18...b4BE96571
0 xDAI0.012501011
Lock Chunk380279532025-01-13 23:11:1023 hrs ago1736809870IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380279472025-01-13 23:10:4023 hrs ago1736809840IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380279412025-01-13 23:10:1023 hrs ago1736809810IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380279362025-01-13 23:09:4523 hrs ago1736809785IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380279302025-01-13 23:09:1523 hrs ago1736809755IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380279252025-01-13 23:08:5023 hrs ago1736809730IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380279182025-01-13 23:08:1523 hrs ago1736809695IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380279132025-01-13 23:07:5023 hrs ago1736809670IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380279072025-01-13 23:07:2023 hrs ago1736809640IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380279012025-01-13 23:06:5023 hrs ago1736809610IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380278952025-01-13 23:06:2023 hrs ago1736809580IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380278902025-01-13 23:05:5523 hrs ago1736809555IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380278852025-01-13 23:05:2523 hrs ago1736809525IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380278792025-01-13 23:04:5523 hrs ago1736809495IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380278732025-01-13 23:04:2523 hrs ago1736809465IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380278672025-01-13 23:03:5523 hrs ago1736809435IN
0x69470B18...b4BE96571
0 xDAI0.000048171
Lock Chunk380278612025-01-13 23:03:2523 hrs ago1736809405IN
0x69470B18...b4BE96571
0 xDAI0.000048161
Publish Chunk380277482025-01-13 22:53:2524 hrs ago1736808805IN
0x69470B18...b4BE96571
0 xDAI0.003691941
Publish Chunk380277412025-01-13 22:52:5024 hrs ago1736808770IN
0x69470B18...b4BE96571
0 xDAI0.015684661
Publish Chunk380277332025-01-13 22:52:1024 hrs ago1736808730IN
0x69470B18...b4BE96571
0 xDAI0.015684661
Publish Chunk380277262025-01-13 22:51:3024 hrs ago1736808690IN
0x69470B18...b4BE96571
0 xDAI0.015684661
Publish Chunk380277192025-01-13 22:50:5524 hrs ago1736808655IN
0x69470B18...b4BE96571
0 xDAI0.015684661
Publish Chunk380277132025-01-13 22:50:2024 hrs ago1736808620IN
0x69470B18...b4BE96571
0 xDAI0.015684661
View all transactions

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

Contract Source Code Verified (Exact Match)

Contract Name:
FileSystem

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at gnosisscan.io on 2024-12-01
*/

// SPDX-License-Identifier: AGPL-3.0

pragma solidity >=0.7.0 <0.9.0;

/**
 * @title FileSystem
 * @dev File system representation.
 */
contract FileSystem {

    address public immutable deployer = 0xea02F564664A477286B93712829180be4764fAe2;
    address public immutable twitter = 0x7525Fe558b4EafA9e6346846E4027ffAB32F80A2;
    string public hijess = "ikirshu";
    string public _name = "File System";
    mapping( address => mapping( string => mapping( uint256 => string ) ) ) public chunks;
    mapping( address => mapping( string => mapping( uint256 => bool) ) ) public lock;
    mapping( address => mapping( string => uint256 ) ) public length;
    constructor() {}

    /**
     * @dev Returns the name of the contract.
     */
    function name(
      ) public view virtual returns (string memory) {
      return _name;
    }
    
    /**
     * @dev Check owner.
     * @param _namespace Address owning the hash.
     */
    function checkOwner(
      address _namespace)
      public
      view {
      require( msg.sender == _namespace );
    }

    /**
     * @dev Returns total chunks for a file.
     * @param _namespace Address owning the hash.
     * @param _hash Hash of the file the chunk belongs.
     */
    function getLength(
      address _namespace,
      string memory _hash) public view virtual returns (uint256) {
      return length[_namespace][_hash];
    }

    /**
     * @dev Check chunk unlock state.
     * @param _namespace Address owning the hash.
     * @param _hash Hash of the file the chunk belongs.
     * @param _index Which chunk are you checking.
     */
    function checkUnlocked(
      address _namespace,
      string memory _hash,
      uint256 _index)
      public
      view {
      require( ! lock[_namespace][_hash][_index] );
    }

    /**
     * @dev Check chunk lock state.
     * @param _namespace Address owning the hash.
     * @param _hash Hash of the file the chunk belongs.
     * @param _index Which chunk are you checking.
     */
    function checkLocked(
      address _namespace,
      string memory _hash,
      uint256 _index)
      public
      view {
      require(
	lock[_namespace][_hash][_index]
      );
    }

    /**
     * @dev Publish chunk.
     * @param _namespace Namespace for the file definition.
     * @param _hash Hash of the file the chunk belongs.
     * @param _index Which chunk are you setting.
     * @param _chunk In which post the chunk is contained.
     */
    function publishChunk(
      address _namespace,
      string memory _hash,
      uint256 _index,
      string memory _chunk) public {
      checkOwner(
        _namespace);
      checkUnlocked(
        _namespace,
        _hash,
        _index);
      chunks[_namespace][_hash][_index] = _chunk;
      if ( _index > length[msg.sender][_hash] ) {
        length[_namespace][_hash] = _index;
      }
    }

    /**
     * @dev Lock the chunk.
     * @param _hash Hash of the file.
     * @param _index Which chunk to lock.
     */
    function lockChunk(
      address _namespace,
      string memory _hash,
      uint256 _index)
    public
    {
      checkOwner(
        _namespace
      );
      checkUnlocked(
        _namespace,
	_hash,
	_index);
      lock[_namespace][_hash][_index] = true;
    }

    /**
     * @dev Read a chunk.
     * @param _namespace Where the filo resides.
     * @param _hash Hash of the file.
     * @param _index Which chunk.
     */
    function readChunk(
      address _namespace,
      string memory _hash,
      uint256 _index)
    public
    view
    returns (string memory)
    {
      checkLocked(
        _namespace,
        _hash,
        _index
      );
      return chunks[_namespace][_hash][_index];
    }

    /**
     * @dev Verify a chunk.
     * @param _namespace Where the filo resides.
     * @param _hash Hash of the file.
     * @param _index Which chunk.
     */
    function verifyChunk(
      address _namespace,
      string memory _hash,
      uint256 _index)
    public
    view
    returns (bytes32)
    {
      return sha256(
        abi.encode(
          chunks[_namespace][_hash][_index]));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"checkLocked","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"}],"name":"checkOwner","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"checkUnlocked","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"chunks","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"}],"name":"getLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hijess","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"}],"name":"length","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"lock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"lockChunk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"string","name":"_chunk","type":"string"}],"name":"publishChunk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"readChunk","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"twitter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"verifyChunk","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]

60c060405273ea02f564664a477286b93712829180be4764fae273ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250737525fe558b4eafa9e6346846e4027ffab32f80a273ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff168152506040518060400160405280600781526020017f696b69727368750000000000000000000000000000000000000000000000000081525060009081620000d89190620003ae565b506040518060400160405280600b81526020017f46696c652053797374656d000000000000000000000000000000000000000000815250600190816200011f9190620003ae565b503480156200012d57600080fd5b5062000495565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620001b657607f821691505b602082108103620001cc57620001cb6200016e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620001f7565b620002428683620001f7565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200028f6200028962000283846200025a565b62000264565b6200025a565b9050919050565b6000819050919050565b620002ab836200026e565b620002c3620002ba8262000296565b84845462000204565b825550505050565b600090565b620002da620002cb565b620002e7818484620002a0565b505050565b5b818110156200030f5762000303600082620002d0565b600181019050620002ed565b5050565b601f8211156200035e576200032881620001d2565b6200033384620001e7565b8101602085101562000343578190505b6200035b6200035285620001e7565b830182620002ec565b50505b505050565b600082821c905092915050565b6000620003836000198460080262000363565b1980831691505092915050565b60006200039e838362000370565b9150826002028217905092915050565b620003b98262000134565b67ffffffffffffffff811115620003d557620003d46200013f565b5b620003e182546200019d565b620003ee82828562000313565b600060209050601f83116001811462000426576000841562000411578287015190505b6200041d858262000390565b8655506200048d565b601f1984166200043686620001d2565b60005b82811015620004605784890151825560018201915060208501945060208101905062000439565b868310156200048057848901516200047c601f89168262000370565b8355505b6001600288020188555050505b505050505050565b60805160a0516115d8620004bb60003960006109c001526000610b3501526115d86000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c8063891a8b9111610097578063d28d885211610066578063d28d8852146102d2578063d5f39488146102f0578063e0e3671c1461030e578063ef1f3b521461032a576100ff565b8063891a8b9114610238578063abfaeee014610268578063b697114914610286578063d1e0f2d3146102b6576100ff565b806325509cfa116100d357806325509cfa146101a05780632ebbadbd146101bc57806338e611b3146101ec57806360a8936d1461021c576100ff565b806226675a1461010457806306fdde03146101345780631110e591146101525780631adbeefb14610182575b600080fd5b61011e60048036038101906101199190610e1e565b610346565b60405161012b9190610ea6565b60405180910390f35b61013c61042a565b6040516101499190610f40565b60405180910390f35b61016c60048036038101906101679190610e1e565b6104bc565b6040516101799190610f40565b60405180910390f35b61018a6105c7565b6040516101979190610f40565b60405180910390f35b6101ba60048036038101906101b59190610e1e565b610655565b005b6101d660048036038101906101d19190610f62565b6106de565b6040516101e39190610fcd565b60405180910390f35b61020660048036038101906102019190610e1e565b610744565b6040516102139190611003565b60405180910390f35b6102366004803603810190610231919061101e565b610796565b005b610252600480360381019061024d9190610e1e565b6108ee565b60405161025f9190610f40565b60405180910390f35b6102706109be565b60405161027d91906110cc565b60405180910390f35b6102a0600480360381019061029b9190610f62565b6109e2565b6040516102ad9190610fcd565b60405180910390f35b6102d060048036038101906102cb9190610e1e565b610a1d565b005b6102da610aa5565b6040516102e79190610f40565b60405180910390f35b6102f8610b33565b60405161030591906110cc565b60405180910390f35b610328600480360381019061032391906110e7565b610b57565b005b610344600480360381019061033f9190610e1e565b610b92565b005b600060028060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516103969190611150565b908152602001604051809103902060008481526020019081526020016000206040516020016103c59190611260565b6040516020818303038152906040526040516103e191906112c9565b602060405180830381855afa1580156103fe573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610421919061130c565b90509392505050565b60606001805461043990611196565b80601f016020809104026020016040519081016040528092919081815260200182805461046590611196565b80156104b25780601f10610487576101008083540402835291602001916104b2565b820191906000526020600020905b81548152906001019060200180831161049557829003601f168201915b5050505050905090565b60606104c9848484610a1d565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516105169190611150565b90815260200160405180910390206000838152602001908152602001600020805461054090611196565b80601f016020809104026020016040519081016040528092919081815260200182805461056c90611196565b80156105b95780601f1061058e576101008083540402835291602001916105b9565b820191906000526020600020905b81548152906001019060200180831161059c57829003601f168201915b505050505090509392505050565b600080546105d490611196565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611196565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040516106a29190611150565b9081526020016040518091039020600082815260200190815260200160002060009054906101000a900460ff16156106d957600080fd5b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208260405161072d9190611150565b908152602001604051809103902054905092915050565b600360205282600052604060002082805160208101820180518482526020830160208501208183528095505050505050602052806000526040600020600092509250509054906101000a900460ff1681565b61079f84610b57565b6107aa848484610655565b80600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516107f89190611150565b90815260200160405180910390206000848152602001908152602001600020908161082391906114d0565b50600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516108719190611150565b9081526020016040518091039020548211156108e85781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516108d59190611150565b9081526020016040518091039020819055505b50505050565b6002602052826000526040600020828051602081018201805184825260208301602085012081835280955050505050506020528060005260406000206000925092505050805461093d90611196565b80601f016020809104026020016040519081016040528092919081815260200182805461096990611196565b80156109b65780601f1061098b576101008083540402835291602001916109b6565b820191906000526020600020905b81548152906001019060200180831161099957829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600460205281600052604060002081805160208101820180518482526020830160208501208183528095505050505050600091509150505481565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082604051610a6a9190611150565b9081526020016040518091039020600082815260200190815260200160002060009054906101000a900460ff16610aa057600080fd5b505050565b60018054610ab290611196565b80601f0160208091040260200160405190810160405280929190818152602001828054610ade90611196565b8015610b2b5780601f10610b0057610100808354040283529160200191610b2b565b820191906000526020600020905b815481529060010190602001808311610b0e57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b8f57600080fd5b50565b610b9b83610b57565b610ba6838383610655565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083604051610bf59190611150565b9081526020016040518091039020600083815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c6f82610c44565b9050919050565b610c7f81610c64565b8114610c8a57600080fd5b50565b600081359050610c9c81610c76565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610cf582610cac565b810181811067ffffffffffffffff82111715610d1457610d13610cbd565b5b80604052505050565b6000610d27610c30565b9050610d338282610cec565b919050565b600067ffffffffffffffff821115610d5357610d52610cbd565b5b610d5c82610cac565b9050602081019050919050565b82818337600083830152505050565b6000610d8b610d8684610d38565b610d1d565b905082815260208101848484011115610da757610da6610ca7565b5b610db2848285610d69565b509392505050565b600082601f830112610dcf57610dce610ca2565b5b8135610ddf848260208601610d78565b91505092915050565b6000819050919050565b610dfb81610de8565b8114610e0657600080fd5b50565b600081359050610e1881610df2565b92915050565b600080600060608486031215610e3757610e36610c3a565b5b6000610e4586828701610c8d565b935050602084013567ffffffffffffffff811115610e6657610e65610c3f565b5b610e7286828701610dba565b9250506040610e8386828701610e09565b9150509250925092565b6000819050919050565b610ea081610e8d565b82525050565b6000602082019050610ebb6000830184610e97565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610efb578082015181840152602081019050610ee0565b60008484015250505050565b6000610f1282610ec1565b610f1c8185610ecc565b9350610f2c818560208601610edd565b610f3581610cac565b840191505092915050565b60006020820190508181036000830152610f5a8184610f07565b905092915050565b60008060408385031215610f7957610f78610c3a565b5b6000610f8785828601610c8d565b925050602083013567ffffffffffffffff811115610fa857610fa7610c3f565b5b610fb485828601610dba565b9150509250929050565b610fc781610de8565b82525050565b6000602082019050610fe26000830184610fbe565b92915050565b60008115159050919050565b610ffd81610fe8565b82525050565b60006020820190506110186000830184610ff4565b92915050565b6000806000806080858703121561103857611037610c3a565b5b600061104687828801610c8d565b945050602085013567ffffffffffffffff81111561106757611066610c3f565b5b61107387828801610dba565b935050604061108487828801610e09565b925050606085013567ffffffffffffffff8111156110a5576110a4610c3f565b5b6110b187828801610dba565b91505092959194509250565b6110c681610c64565b82525050565b60006020820190506110e160008301846110bd565b92915050565b6000602082840312156110fd576110fc610c3a565b5b600061110b84828501610c8d565b91505092915050565b600081905092915050565b600061112a82610ec1565b6111348185611114565b9350611144818560208601610edd565b80840191505092915050565b600061115c828461111f565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806111ae57607f821691505b6020821081036111c1576111c0611167565b5b50919050565b60008190508160005260206000209050919050565b600081546111e981611196565b6111f38186610ecc565b9450600182166000811461120e576001811461122457611257565b60ff198316865281151560200286019350611257565b61122d856111c7565b60005b8381101561124f57815481890152600182019150602081019050611230565b808801955050505b50505092915050565b6000602082019050818103600083015261127a81846111dc565b905092915050565b600081519050919050565b600081905092915050565b60006112a382611282565b6112ad818561128d565b93506112bd818560208601610edd565b80840191505092915050565b60006112d58284611298565b915081905092915050565b6112e981610e8d565b81146112f457600080fd5b50565b600081519050611306816112e0565b92915050565b60006020828403121561132257611321610c3a565b5b6000611330848285016112f7565b91505092915050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026113867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611349565b6113908683611349565b95508019841693508086168417925050509392505050565b6000819050919050565b60006113cd6113c86113c384610de8565b6113a8565b610de8565b9050919050565b6000819050919050565b6113e7836113b2565b6113fb6113f3826113d4565b848454611356565b825550505050565b600090565b611410611403565b61141b8184846113de565b505050565b5b8181101561143f57611434600082611408565b600181019050611421565b5050565b601f82111561148457611455816111c7565b61145e84611339565b8101602085101561146d578190505b61148161147985611339565b830182611420565b50505b505050565b600082821c905092915050565b60006114a760001984600802611489565b1980831691505092915050565b60006114c08383611496565b9150826002028217905092915050565b6114d982610ec1565b67ffffffffffffffff8111156114f2576114f1610cbd565b5b6114fc8254611196565b611507828285611443565b600060209050601f83116001811461153a5760008415611528578287015190505b61153285826114b4565b86555061159a565b601f198416611548866111c7565b60005b828110156115705784890151825560018201915060208501945060208101905061154b565b8683101561158d5784890151611589601f891682611496565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220983744cb7dae0cc401eb99575f3a7643cd091abfca44c22b6027b5ce922a9cdd64736f6c63430008180033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100ff5760003560e01c8063891a8b9111610097578063d28d885211610066578063d28d8852146102d2578063d5f39488146102f0578063e0e3671c1461030e578063ef1f3b521461032a576100ff565b8063891a8b9114610238578063abfaeee014610268578063b697114914610286578063d1e0f2d3146102b6576100ff565b806325509cfa116100d357806325509cfa146101a05780632ebbadbd146101bc57806338e611b3146101ec57806360a8936d1461021c576100ff565b806226675a1461010457806306fdde03146101345780631110e591146101525780631adbeefb14610182575b600080fd5b61011e60048036038101906101199190610e1e565b610346565b60405161012b9190610ea6565b60405180910390f35b61013c61042a565b6040516101499190610f40565b60405180910390f35b61016c60048036038101906101679190610e1e565b6104bc565b6040516101799190610f40565b60405180910390f35b61018a6105c7565b6040516101979190610f40565b60405180910390f35b6101ba60048036038101906101b59190610e1e565b610655565b005b6101d660048036038101906101d19190610f62565b6106de565b6040516101e39190610fcd565b60405180910390f35b61020660048036038101906102019190610e1e565b610744565b6040516102139190611003565b60405180910390f35b6102366004803603810190610231919061101e565b610796565b005b610252600480360381019061024d9190610e1e565b6108ee565b60405161025f9190610f40565b60405180910390f35b6102706109be565b60405161027d91906110cc565b60405180910390f35b6102a0600480360381019061029b9190610f62565b6109e2565b6040516102ad9190610fcd565b60405180910390f35b6102d060048036038101906102cb9190610e1e565b610a1d565b005b6102da610aa5565b6040516102e79190610f40565b60405180910390f35b6102f8610b33565b60405161030591906110cc565b60405180910390f35b610328600480360381019061032391906110e7565b610b57565b005b610344600480360381019061033f9190610e1e565b610b92565b005b600060028060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516103969190611150565b908152602001604051809103902060008481526020019081526020016000206040516020016103c59190611260565b6040516020818303038152906040526040516103e191906112c9565b602060405180830381855afa1580156103fe573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610421919061130c565b90509392505050565b60606001805461043990611196565b80601f016020809104026020016040519081016040528092919081815260200182805461046590611196565b80156104b25780601f10610487576101008083540402835291602001916104b2565b820191906000526020600020905b81548152906001019060200180831161049557829003601f168201915b5050505050905090565b60606104c9848484610a1d565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516105169190611150565b90815260200160405180910390206000838152602001908152602001600020805461054090611196565b80601f016020809104026020016040519081016040528092919081815260200182805461056c90611196565b80156105b95780601f1061058e576101008083540402835291602001916105b9565b820191906000526020600020905b81548152906001019060200180831161059c57829003601f168201915b505050505090509392505050565b600080546105d490611196565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611196565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040516106a29190611150565b9081526020016040518091039020600082815260200190815260200160002060009054906101000a900460ff16156106d957600080fd5b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208260405161072d9190611150565b908152602001604051809103902054905092915050565b600360205282600052604060002082805160208101820180518482526020830160208501208183528095505050505050602052806000526040600020600092509250509054906101000a900460ff1681565b61079f84610b57565b6107aa848484610655565b80600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516107f89190611150565b90815260200160405180910390206000848152602001908152602001600020908161082391906114d0565b50600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516108719190611150565b9081526020016040518091039020548211156108e85781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516108d59190611150565b9081526020016040518091039020819055505b50505050565b6002602052826000526040600020828051602081018201805184825260208301602085012081835280955050505050506020528060005260406000206000925092505050805461093d90611196565b80601f016020809104026020016040519081016040528092919081815260200182805461096990611196565b80156109b65780601f1061098b576101008083540402835291602001916109b6565b820191906000526020600020905b81548152906001019060200180831161099957829003601f168201915b505050505081565b7f0000000000000000000000007525fe558b4eafa9e6346846e4027ffab32f80a281565b600460205281600052604060002081805160208101820180518482526020830160208501208183528095505050505050600091509150505481565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082604051610a6a9190611150565b9081526020016040518091039020600082815260200190815260200160002060009054906101000a900460ff16610aa057600080fd5b505050565b60018054610ab290611196565b80601f0160208091040260200160405190810160405280929190818152602001828054610ade90611196565b8015610b2b5780601f10610b0057610100808354040283529160200191610b2b565b820191906000526020600020905b815481529060010190602001808311610b0e57829003601f168201915b505050505081565b7f000000000000000000000000ea02f564664a477286b93712829180be4764fae281565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b8f57600080fd5b50565b610b9b83610b57565b610ba6838383610655565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083604051610bf59190611150565b9081526020016040518091039020600083815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c6f82610c44565b9050919050565b610c7f81610c64565b8114610c8a57600080fd5b50565b600081359050610c9c81610c76565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610cf582610cac565b810181811067ffffffffffffffff82111715610d1457610d13610cbd565b5b80604052505050565b6000610d27610c30565b9050610d338282610cec565b919050565b600067ffffffffffffffff821115610d5357610d52610cbd565b5b610d5c82610cac565b9050602081019050919050565b82818337600083830152505050565b6000610d8b610d8684610d38565b610d1d565b905082815260208101848484011115610da757610da6610ca7565b5b610db2848285610d69565b509392505050565b600082601f830112610dcf57610dce610ca2565b5b8135610ddf848260208601610d78565b91505092915050565b6000819050919050565b610dfb81610de8565b8114610e0657600080fd5b50565b600081359050610e1881610df2565b92915050565b600080600060608486031215610e3757610e36610c3a565b5b6000610e4586828701610c8d565b935050602084013567ffffffffffffffff811115610e6657610e65610c3f565b5b610e7286828701610dba565b9250506040610e8386828701610e09565b9150509250925092565b6000819050919050565b610ea081610e8d565b82525050565b6000602082019050610ebb6000830184610e97565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610efb578082015181840152602081019050610ee0565b60008484015250505050565b6000610f1282610ec1565b610f1c8185610ecc565b9350610f2c818560208601610edd565b610f3581610cac565b840191505092915050565b60006020820190508181036000830152610f5a8184610f07565b905092915050565b60008060408385031215610f7957610f78610c3a565b5b6000610f8785828601610c8d565b925050602083013567ffffffffffffffff811115610fa857610fa7610c3f565b5b610fb485828601610dba565b9150509250929050565b610fc781610de8565b82525050565b6000602082019050610fe26000830184610fbe565b92915050565b60008115159050919050565b610ffd81610fe8565b82525050565b60006020820190506110186000830184610ff4565b92915050565b6000806000806080858703121561103857611037610c3a565b5b600061104687828801610c8d565b945050602085013567ffffffffffffffff81111561106757611066610c3f565b5b61107387828801610dba565b935050604061108487828801610e09565b925050606085013567ffffffffffffffff8111156110a5576110a4610c3f565b5b6110b187828801610dba565b91505092959194509250565b6110c681610c64565b82525050565b60006020820190506110e160008301846110bd565b92915050565b6000602082840312156110fd576110fc610c3a565b5b600061110b84828501610c8d565b91505092915050565b600081905092915050565b600061112a82610ec1565b6111348185611114565b9350611144818560208601610edd565b80840191505092915050565b600061115c828461111f565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806111ae57607f821691505b6020821081036111c1576111c0611167565b5b50919050565b60008190508160005260206000209050919050565b600081546111e981611196565b6111f38186610ecc565b9450600182166000811461120e576001811461122457611257565b60ff198316865281151560200286019350611257565b61122d856111c7565b60005b8381101561124f57815481890152600182019150602081019050611230565b808801955050505b50505092915050565b6000602082019050818103600083015261127a81846111dc565b905092915050565b600081519050919050565b600081905092915050565b60006112a382611282565b6112ad818561128d565b93506112bd818560208601610edd565b80840191505092915050565b60006112d58284611298565b915081905092915050565b6112e981610e8d565b81146112f457600080fd5b50565b600081519050611306816112e0565b92915050565b60006020828403121561132257611321610c3a565b5b6000611330848285016112f7565b91505092915050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026113867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611349565b6113908683611349565b95508019841693508086168417925050509392505050565b6000819050919050565b60006113cd6113c86113c384610de8565b6113a8565b610de8565b9050919050565b6000819050919050565b6113e7836113b2565b6113fb6113f3826113d4565b848454611356565b825550505050565b600090565b611410611403565b61141b8184846113de565b505050565b5b8181101561143f57611434600082611408565b600181019050611421565b5050565b601f82111561148457611455816111c7565b61145e84611339565b8101602085101561146d578190505b61148161147985611339565b830182611420565b50505b505050565b600082821c905092915050565b60006114a760001984600802611489565b1980831691505092915050565b60006114c08383611496565b9150826002028217905092915050565b6114d982610ec1565b67ffffffffffffffff8111156114f2576114f1610cbd565b5b6114fc8254611196565b611507828285611443565b600060209050601f83116001811461153a5760008415611528578287015190505b61153285826114b4565b86555061159a565b601f198416611548866111c7565b60005b828110156115705784890151825560018201915060208501945060208101905061154b565b8683101561158d5784890151611589601f891682611496565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220983744cb7dae0cc401eb99575f3a7643cd091abfca44c22b6027b5ce922a9cdd64736f6c63430008180033

Deployed Bytecode Sourcemap

144:4144:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4036:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;762:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3563:294;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;342:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1659:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1272:162;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;515:80;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2548:419;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;423:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;258:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;602:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2071:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;381:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;173:78;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;966:126;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3104:282;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4036:249;4172:7;4202:75;4242:6;:18;4249:10;4242:18;;;;;;;;;;;;;;;4261:5;4242:25;;;;;;:::i;:::-;;;;;;;;;;;;;:33;4268:6;4242:33;;;;;;;;;;;4219:57;;;;;;;;:::i;:::-;;;;;;;;;;;;;4202:75;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4195:82;;4036:249;;;;;:::o;762:97::-;815:13;846:5;839:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;762:97;:::o;3563:294::-;3697:13;3726:74;3748:10;3769:5;3785:6;3726:11;:74::i;:::-;3816:6;:18;3823:10;3816:18;;;;;;;;;;;;;;;3835:5;3816:25;;;;;;:::i;:::-;;;;;;;;;;;;;:33;3842:6;3816:33;;;;;;;;;;;3809:40;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3563:294;;;;;:::o;342:32::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1659:189::-;1807:4;:16;1812:10;1807:16;;;;;;;;;;;;;;;1824:5;1807:23;;;;;;:::i;:::-;;;;;;;;;;;;;:31;1831:6;1807:31;;;;;;;;;;;;;;;;;;;;;1805:33;1796:44;;;;;;1659:189;;;:::o;1272:162::-;1376:7;1401:6;:18;1408:10;1401:18;;;;;;;;;;;;;;;1420:5;1401:25;;;;;;:::i;:::-;;;;;;;;;;;;;;1394:32;;1272:162;;;;:::o;515:80::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2548:419::-;2694:32;2715:10;2694;:32::i;:::-;2735:68;2759:10;2780:5;2796:6;2735:13;:68::i;:::-;2848:6;2812;:18;2819:10;2812:18;;;;;;;;;;;;;;;2831:5;2812:25;;;;;;:::i;:::-;;;;;;;;;;;;;:33;2838:6;2812:33;;;;;;;;;;;:42;;;;;;:::i;:::-;;2877:6;:18;2884:10;2877:18;;;;;;;;;;;;;;;2896:5;2877:25;;;;;;:::i;:::-;;;;;;;;;;;;;;2868:6;:34;2863:97;;;2944:6;2916;:18;2923:10;2916:18;;;;;;;;;;;;;;;2935:5;2916:25;;;;;;:::i;:::-;;;;;;;;;;;;;:34;;;;2863:97;2548:419;;;;:::o;423:85::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;258:77::-;;;:::o;602:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2071:194::-;2217:4;:16;2222:10;2217:16;;;;;;;;;;;;;;;2234:5;2217:23;;;;;;:::i;:::-;;;;;;;;;;;;;:31;2241:6;2217:31;;;;;;;;;;;;;;;;;;;;;2206:51;;;;;;2071:194;;;:::o;381:35::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;173:78::-;;;:::o;966:126::-;1072:10;1058:24;;:10;:24;;;1049:35;;;;;;966:126;:::o;3104:282::-;3228:40;3249:10;3228;:40::i;:::-;3277:54;3301:10;3315:5;3324:6;3277:13;:54::i;:::-;3374:4;3340;:16;3345:10;3340:16;;;;;;;;;;;;;;;3357:5;3340:23;;;;;;:::i;:::-;;;;;;;;;;;;;:31;3364:6;3340:31;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;3104:282;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:117::-;950:1;947;940:12;964:117;1073:1;1070;1063:12;1087:102;1128:6;1179:2;1175:7;1170:2;1163:5;1159:14;1155:28;1145:38;;1087:102;;;:::o;1195:180::-;1243:77;1240:1;1233:88;1340:4;1337:1;1330:15;1364:4;1361:1;1354:15;1381:281;1464:27;1486:4;1464:27;:::i;:::-;1456:6;1452:40;1594:6;1582:10;1579:22;1558:18;1546:10;1543:34;1540:62;1537:88;;;1605:18;;:::i;:::-;1537:88;1645:10;1641:2;1634:22;1424:238;1381:281;;:::o;1668:129::-;1702:6;1729:20;;:::i;:::-;1719:30;;1758:33;1786:4;1778:6;1758:33;:::i;:::-;1668:129;;;:::o;1803:308::-;1865:4;1955:18;1947:6;1944:30;1941:56;;;1977:18;;:::i;:::-;1941:56;2015:29;2037:6;2015:29;:::i;:::-;2007:37;;2099:4;2093;2089:15;2081:23;;1803:308;;;:::o;2117:146::-;2214:6;2209:3;2204;2191:30;2255:1;2246:6;2241:3;2237:16;2230:27;2117:146;;;:::o;2269:425::-;2347:5;2372:66;2388:49;2430:6;2388:49;:::i;:::-;2372:66;:::i;:::-;2363:75;;2461:6;2454:5;2447:21;2499:4;2492:5;2488:16;2537:3;2528:6;2523:3;2519:16;2516:25;2513:112;;;2544:79;;:::i;:::-;2513:112;2634:54;2681:6;2676:3;2671;2634:54;:::i;:::-;2353:341;2269:425;;;;;:::o;2714:340::-;2770:5;2819:3;2812:4;2804:6;2800:17;2796:27;2786:122;;2827:79;;:::i;:::-;2786:122;2944:6;2931:20;2969:79;3044:3;3036:6;3029:4;3021:6;3017:17;2969:79;:::i;:::-;2960:88;;2776:278;2714:340;;;;:::o;3060:77::-;3097:7;3126:5;3115:16;;3060:77;;;:::o;3143:122::-;3216:24;3234:5;3216:24;:::i;:::-;3209:5;3206:35;3196:63;;3255:1;3252;3245:12;3196:63;3143:122;:::o;3271:139::-;3317:5;3355:6;3342:20;3333:29;;3371:33;3398:5;3371:33;:::i;:::-;3271:139;;;;:::o;3416:799::-;3503:6;3511;3519;3568:2;3556:9;3547:7;3543:23;3539:32;3536:119;;;3574:79;;:::i;:::-;3536:119;3694:1;3719:53;3764:7;3755:6;3744:9;3740:22;3719:53;:::i;:::-;3709:63;;3665:117;3849:2;3838:9;3834:18;3821:32;3880:18;3872:6;3869:30;3866:117;;;3902:79;;:::i;:::-;3866:117;4007:63;4062:7;4053:6;4042:9;4038:22;4007:63;:::i;:::-;3997:73;;3792:288;4119:2;4145:53;4190:7;4181:6;4170:9;4166:22;4145:53;:::i;:::-;4135:63;;4090:118;3416:799;;;;;:::o;4221:77::-;4258:7;4287:5;4276:16;;4221:77;;;:::o;4304:118::-;4391:24;4409:5;4391:24;:::i;:::-;4386:3;4379:37;4304:118;;:::o;4428:222::-;4521:4;4559:2;4548:9;4544:18;4536:26;;4572:71;4640:1;4629:9;4625:17;4616:6;4572:71;:::i;:::-;4428:222;;;;:::o;4656:99::-;4708:6;4742:5;4736:12;4726:22;;4656:99;;;:::o;4761:169::-;4845:11;4879:6;4874:3;4867:19;4919:4;4914:3;4910:14;4895:29;;4761:169;;;;:::o;4936:246::-;5017:1;5027:113;5041:6;5038:1;5035:13;5027:113;;;5126:1;5121:3;5117:11;5111:18;5107:1;5102:3;5098:11;5091:39;5063:2;5060:1;5056:10;5051:15;;5027:113;;;5174:1;5165:6;5160:3;5156:16;5149:27;4998:184;4936:246;;;:::o;5188:377::-;5276:3;5304:39;5337:5;5304:39;:::i;:::-;5359:71;5423:6;5418:3;5359:71;:::i;:::-;5352:78;;5439:65;5497:6;5492:3;5485:4;5478:5;5474:16;5439:65;:::i;:::-;5529:29;5551:6;5529:29;:::i;:::-;5524:3;5520:39;5513:46;;5280:285;5188:377;;;;:::o;5571:313::-;5684:4;5722:2;5711:9;5707:18;5699:26;;5771:9;5765:4;5761:20;5757:1;5746:9;5742:17;5735:47;5799:78;5872:4;5863:6;5799:78;:::i;:::-;5791:86;;5571:313;;;;:::o;5890:654::-;5968:6;5976;6025:2;6013:9;6004:7;6000:23;5996:32;5993:119;;;6031:79;;:::i;:::-;5993:119;6151:1;6176:53;6221:7;6212:6;6201:9;6197:22;6176:53;:::i;:::-;6166:63;;6122:117;6306:2;6295:9;6291:18;6278:32;6337:18;6329:6;6326:30;6323:117;;;6359:79;;:::i;:::-;6323:117;6464:63;6519:7;6510:6;6499:9;6495:22;6464:63;:::i;:::-;6454:73;;6249:288;5890:654;;;;;:::o;6550:118::-;6637:24;6655:5;6637:24;:::i;:::-;6632:3;6625:37;6550:118;;:::o;6674:222::-;6767:4;6805:2;6794:9;6790:18;6782:26;;6818:71;6886:1;6875:9;6871:17;6862:6;6818:71;:::i;:::-;6674:222;;;;:::o;6902:90::-;6936:7;6979:5;6972:13;6965:21;6954:32;;6902:90;;;:::o;6998:109::-;7079:21;7094:5;7079:21;:::i;:::-;7074:3;7067:34;6998:109;;:::o;7113:210::-;7200:4;7238:2;7227:9;7223:18;7215:26;;7251:65;7313:1;7302:9;7298:17;7289:6;7251:65;:::i;:::-;7113:210;;;;:::o;7329:1125::-;7435:6;7443;7451;7459;7508:3;7496:9;7487:7;7483:23;7479:33;7476:120;;;7515:79;;:::i;:::-;7476:120;7635:1;7660:53;7705:7;7696:6;7685:9;7681:22;7660:53;:::i;:::-;7650:63;;7606:117;7790:2;7779:9;7775:18;7762:32;7821:18;7813:6;7810:30;7807:117;;;7843:79;;:::i;:::-;7807:117;7948:63;8003:7;7994:6;7983:9;7979:22;7948:63;:::i;:::-;7938:73;;7733:288;8060:2;8086:53;8131:7;8122:6;8111:9;8107:22;8086:53;:::i;:::-;8076:63;;8031:118;8216:2;8205:9;8201:18;8188:32;8247:18;8239:6;8236:30;8233:117;;;8269:79;;:::i;:::-;8233:117;8374:63;8429:7;8420:6;8409:9;8405:22;8374:63;:::i;:::-;8364:73;;8159:288;7329:1125;;;;;;;:::o;8460:118::-;8547:24;8565:5;8547:24;:::i;:::-;8542:3;8535:37;8460:118;;:::o;8584:222::-;8677:4;8715:2;8704:9;8700:18;8692:26;;8728:71;8796:1;8785:9;8781:17;8772:6;8728:71;:::i;:::-;8584:222;;;;:::o;8812:329::-;8871:6;8920:2;8908:9;8899:7;8895:23;8891:32;8888:119;;;8926:79;;:::i;:::-;8888:119;9046:1;9071:53;9116:7;9107:6;9096:9;9092:22;9071:53;:::i;:::-;9061:63;;9017:117;8812:329;;;;:::o;9147:148::-;9249:11;9286:3;9271:18;;9147:148;;;;:::o;9301:390::-;9407:3;9435:39;9468:5;9435:39;:::i;:::-;9490:89;9572:6;9567:3;9490:89;:::i;:::-;9483:96;;9588:65;9646:6;9641:3;9634:4;9627:5;9623:16;9588:65;:::i;:::-;9678:6;9673:3;9669:16;9662:23;;9411:280;9301:390;;;;:::o;9697:275::-;9829:3;9851:95;9942:3;9933:6;9851:95;:::i;:::-;9844:102;;9963:3;9956:10;;9697:275;;;;:::o;9978:180::-;10026:77;10023:1;10016:88;10123:4;10120:1;10113:15;10147:4;10144:1;10137:15;10164:320;10208:6;10245:1;10239:4;10235:12;10225:22;;10292:1;10286:4;10282:12;10313:18;10303:81;;10369:4;10361:6;10357:17;10347:27;;10303:81;10431:2;10423:6;10420:14;10400:18;10397:38;10394:84;;10450:18;;:::i;:::-;10394:84;10215:269;10164:320;;;:::o;10490:141::-;10539:4;10562:3;10554:11;;10585:3;10582:1;10575:14;10619:4;10616:1;10606:18;10598:26;;10490:141;;;:::o;10661:831::-;10746:3;10783:5;10777:12;10812:36;10838:9;10812:36;:::i;:::-;10864:71;10928:6;10923:3;10864:71;:::i;:::-;10857:78;;10966:1;10955:9;10951:17;10982:1;10977:164;;;;11155:1;11150:336;;;;10944:542;;10977:164;11061:4;11057:9;11046;11042:25;11037:3;11030:38;11121:6;11114:14;11107:22;11101:4;11097:33;11092:3;11088:43;11081:50;;10977:164;;11150:336;11217:38;11249:5;11217:38;:::i;:::-;11277:1;11291:154;11305:6;11302:1;11299:13;11291:154;;;11379:7;11373:14;11369:1;11364:3;11360:11;11353:35;11429:1;11420:7;11416:15;11405:26;;11327:4;11324:1;11320:12;11315:17;;11291:154;;;11474:1;11469:3;11465:11;11458:18;;11157:329;;10944:542;;10750:742;;10661:831;;;;:::o;11498:307::-;11608:4;11646:2;11635:9;11631:18;11623:26;;11695:9;11689:4;11685:20;11681:1;11670:9;11666:17;11659:47;11723:75;11793:4;11784:6;11723:75;:::i;:::-;11715:83;;11498:307;;;;:::o;11811:98::-;11862:6;11896:5;11890:12;11880:22;;11811:98;;;:::o;11915:147::-;12016:11;12053:3;12038:18;;11915:147;;;;:::o;12068:386::-;12172:3;12200:38;12232:5;12200:38;:::i;:::-;12254:88;12335:6;12330:3;12254:88;:::i;:::-;12247:95;;12351:65;12409:6;12404:3;12397:4;12390:5;12386:16;12351:65;:::i;:::-;12441:6;12436:3;12432:16;12425:23;;12176:278;12068:386;;;;:::o;12460:271::-;12590:3;12612:93;12701:3;12692:6;12612:93;:::i;:::-;12605:100;;12722:3;12715:10;;12460:271;;;;:::o;12737:122::-;12810:24;12828:5;12810:24;:::i;:::-;12803:5;12800:35;12790:63;;12849:1;12846;12839:12;12790:63;12737:122;:::o;12865:143::-;12922:5;12953:6;12947:13;12938:22;;12969:33;12996:5;12969:33;:::i;:::-;12865:143;;;;:::o;13014:351::-;13084:6;13133:2;13121:9;13112:7;13108:23;13104:32;13101:119;;;13139:79;;:::i;:::-;13101:119;13259:1;13284:64;13340:7;13331:6;13320:9;13316:22;13284:64;:::i;:::-;13274:74;;13230:128;13014:351;;;;:::o;13371:93::-;13408:6;13455:2;13450;13443:5;13439:14;13435:23;13425:33;;13371:93;;;:::o;13470:107::-;13514:8;13564:5;13558:4;13554:16;13533:37;;13470:107;;;;:::o;13583:393::-;13652:6;13702:1;13690:10;13686:18;13725:97;13755:66;13744:9;13725:97;:::i;:::-;13843:39;13873:8;13862:9;13843:39;:::i;:::-;13831:51;;13915:4;13911:9;13904:5;13900:21;13891:30;;13964:4;13954:8;13950:19;13943:5;13940:30;13930:40;;13659:317;;13583:393;;;;;:::o;13982:60::-;14010:3;14031:5;14024:12;;13982:60;;;:::o;14048:142::-;14098:9;14131:53;14149:34;14158:24;14176:5;14158:24;:::i;:::-;14149:34;:::i;:::-;14131:53;:::i;:::-;14118:66;;14048:142;;;:::o;14196:75::-;14239:3;14260:5;14253:12;;14196:75;;;:::o;14277:269::-;14387:39;14418:7;14387:39;:::i;:::-;14448:91;14497:41;14521:16;14497:41;:::i;:::-;14489:6;14482:4;14476:11;14448:91;:::i;:::-;14442:4;14435:105;14353:193;14277:269;;;:::o;14552:73::-;14597:3;14552:73;:::o;14631:189::-;14708:32;;:::i;:::-;14749:65;14807:6;14799;14793:4;14749:65;:::i;:::-;14684:136;14631:189;;:::o;14826:186::-;14886:120;14903:3;14896:5;14893:14;14886:120;;;14957:39;14994:1;14987:5;14957:39;:::i;:::-;14930:1;14923:5;14919:13;14910:22;;14886:120;;;14826:186;;:::o;15018:543::-;15119:2;15114:3;15111:11;15108:446;;;15153:38;15185:5;15153:38;:::i;:::-;15237:29;15255:10;15237:29;:::i;:::-;15227:8;15223:44;15420:2;15408:10;15405:18;15402:49;;;15441:8;15426:23;;15402:49;15464:80;15520:22;15538:3;15520:22;:::i;:::-;15510:8;15506:37;15493:11;15464:80;:::i;:::-;15123:431;;15108:446;15018:543;;;:::o;15567:117::-;15621:8;15671:5;15665:4;15661:16;15640:37;;15567:117;;;;:::o;15690:169::-;15734:6;15767:51;15815:1;15811:6;15803:5;15800:1;15796:13;15767:51;:::i;:::-;15763:56;15848:4;15842;15838:15;15828:25;;15741:118;15690:169;;;;:::o;15864:295::-;15940:4;16086:29;16111:3;16105:4;16086:29;:::i;:::-;16078:37;;16148:3;16145:1;16141:11;16135:4;16132:21;16124:29;;15864:295;;;;:::o;16164:1395::-;16281:37;16314:3;16281:37;:::i;:::-;16383:18;16375:6;16372:30;16369:56;;;16405:18;;:::i;:::-;16369:56;16449:38;16481:4;16475:11;16449:38;:::i;:::-;16534:67;16594:6;16586;16580:4;16534:67;:::i;:::-;16628:1;16652:4;16639:17;;16684:2;16676:6;16673:14;16701:1;16696:618;;;;17358:1;17375:6;17372:77;;;17424:9;17419:3;17415:19;17409:26;17400:35;;17372:77;17475:67;17535:6;17528:5;17475:67;:::i;:::-;17469:4;17462:81;17331:222;16666:887;;16696:618;16748:4;16744:9;16736:6;16732:22;16782:37;16814:4;16782:37;:::i;:::-;16841:1;16855:208;16869:7;16866:1;16863:14;16855:208;;;16948:9;16943:3;16939:19;16933:26;16925:6;16918:42;16999:1;16991:6;16987:14;16977:24;;17046:2;17035:9;17031:18;17018:31;;16892:4;16889:1;16885:12;16880:17;;16855:208;;;17091:6;17082:7;17079:19;17076:179;;;17149:9;17144:3;17140:19;17134:26;17192:48;17234:4;17226:6;17222:17;17211:9;17192:48;:::i;:::-;17184:6;17177:64;17099:156;17076:179;17301:1;17297;17289:6;17285:14;17281:22;17275:4;17268:36;16703:611;;;16666:887;;16256:1303;;;16164:1395;;:::o

Swarm Source

ipfs://983744cb7dae0cc401eb99575f3a7643cd091abfca44c22b6027b5ce922a9cdd

Block Transaction Gas Used Reward
view all blocks validated

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.