Contract 0x1dc825f0772ab99e083b6dcff2d4d294deed2509 2

Contract Overview

Balance:
0 BNB
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xe610158c444961a86374e85c3da20b024ceedc041a939c8d00f827bb121f3160Register125405082021-09-20 21:30:083 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218974
0xfbc6039bde630fd0ac424fb699d63f81ca1a326e0a93dd943cb4992a2d3020d4Register125399082021-09-20 21:00:0833 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0xbd6af1736d2c59f6aa1e4325c7786c020eb25de64a8e69f526a6ff01c1726393Register125387092021-09-20 20:00:111 hr 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218974
0xb320a1c1c75878e8b41397daccbb1edceddb6dcd215bcf34f5e8a9bb223be596Register125381402021-09-20 19:30:102 hrs 3 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218974
0x46d4e8f5ea911c2e72186d1d472bc19c642fee7bcb80753d8dc324a3703fcc0aRegister125375392021-09-20 19:00:072 hrs 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218974
0xf972abf3baebbc6025044b74b9bc78b3523708eda71ccccba40f5257c0a608cfRegister125369402021-09-20 18:30:103 hrs 3 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218974
0x7c1c1c583e81cacb6ed42735a2af30f9659e8b1acf7a71e0568e895a355f55caRegister125363402021-09-20 18:00:103 hrs 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218974
0x6c2db6adc2954dd6cadc7df78eff9069542546455cf13b69073b036a09db78d9Register125357402021-09-20 17:30:104 hrs 3 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218974
0x6afde60ca3e044f744ad1cfff67f66aa67044f9898fb4aa1be14029ca2230fd2Register125351392021-09-20 17:00:074 hrs 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218974
0xe87307abfc332771683883f18c4824119695ec38135e117cfc5772aecf81c28fRegister125345402021-09-20 16:30:105 hrs 3 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218974
0x9a54cd0a9bb916e3058010160243eb0953971120d64056991e99c916d6c59313Register125339402021-09-20 16:00:105 hrs 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218974
0x7ad51165ceb2d4ba51ca02fdb609d83c66ef85d87c5e65af73d57ba6c13fbcf9Register125333402021-09-20 15:30:106 hrs 3 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0x31630f18ad3f825ab71d7815358b86e79ff114cd6cd0f8534edb6c944fc9792fRegister125327392021-09-20 15:00:076 hrs 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218974
0x452e63a7e2006a7f02a7fb1086521d3552a2e0a84c66798346131b184552e51fRegister125321392021-09-20 14:30:077 hrs 3 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0x6f1253f5156c4589ef50d1037a55ec4e94fda1363ed2442ca8b45ac1d48c6ad9Register125315392021-09-20 14:00:077 hrs 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0x5e2251d3afacca4c1c86cc0c947b42ac0b2b42abcde860f1ea2f16deede3e398Register125309402021-09-20 13:30:108 hrs 3 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0x565b2b5956efbec65f85a0deafcfc517ba1327ed9645dc8046a95c4d84b329f4Register125303402021-09-20 13:00:108 hrs 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0x23de992fa2aa249914bd64990ff2234b49ac5f694999694b8e5863628ed0bb01Register125297412021-09-20 12:30:139 hrs 3 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0xff58ef7f6433e28d1f2eb0a46540b67432f95fbabdf1c2c2819e8b34741cfc88Register125291402021-09-20 12:00:109 hrs 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.0021895
0x25cfbf59c38e5be736f3db6524203a7ea1cc7841638e8063606ada56d5c6c9a0Register125285392021-09-20 11:30:0710 hrs 3 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0x000f53ff4cf86ee29d8cccd290480471d3886bf88e3643041459646e95500315Register125279392021-09-20 11:00:0710 hrs 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0x9d28b94b853fa1774ca297343e59bb1a688bd2645ea22df1ba3b8dcf9e5e6b64Register125273392021-09-20 10:30:0711 hrs 3 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0x672cccffbddef363a22848e26cd24175327d1efeb712badeb811ecb46ca02877Register125267392021-09-20 10:00:0711 hrs 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0x560a7bac5241d82062bbb2fe3c59b9090a25a2145eb63b5e4abf16a73ab654a4Register125261402021-09-20 9:30:1012 hrs 3 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
0x904a0138603cf59aa7402602049a02a338efb04f5fc974706b6c950f84901578Register125255402021-09-20 9:00:1012 hrs 33 mins ago0x0ca82c887265a45f81ea19ba0b77479f1e81b919 IN  0x1dc825f0772ab99e083b6dcff2d4d294deed25090 BNB0.00218962
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VCRegistry

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at BscScan.com on 2021-05-20
*/

pragma solidity >=0.7.0 <0.8.0;
//pragma experimental ABIEncoderV2;
//import "./AccessControl.sol";
contract Context {

  function _msgSender() internal view returns (address payable) {
    return msg.sender;
  }

  function _msgData() internal view returns (bytes memory) {
    this; 
    return msg.data;
  }
}
contract Ownable is Context {
 string public ownerName="STAMPING";
 address private _owner; //Public key of owner by smart contract
 address[] private masters; //Master Role for create, remove, revoke and active news DID
 event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 constructor ()  {
    address msgSender = _msgSender();
    _owner = msgSender;
    emit OwnershipTransferred(address(0), msgSender);
  }
 function owner() external view returns (address) {
    return _owner;
  }
 modifier onlyOwner() {
    require(_owner == _msgSender(), "Ownable: caller is not the owner");
    _;
  }
 function _existMasters(address _senderTx) internal  view returns (bool) {
      bool _isMaster=false;
      for(uint8 i=0;i<masters.length; i++) {
             if(masters[i]==_senderTx) {
                _isMaster=true;
                 break;
             }
        }
      return _isMaster;
  }  
 function isMaster(address DID) external  view returns (bool) {
    return (_existMasters(DID));
  }
 modifier onlyMaster() {
    address  _senderTx = _msgSender();
    require(_owner == _senderTx || _existMasters(_senderTx), "Masterable: caller is not the owner or master");
    
    _;
  }
 function addMaster(address DID)  external  onlyMaster returns (bool) {
      require(!_existMasters(DID),"DID already exists with master role");
      masters.push(DID);
      return true;
  }  
 function removeMaster(address DID) external  onlyMaster returns (bool) {
      bool _isMaster=false;
      uint _index;
      for(uint i=0;i<masters.length; i++) {
             if(masters[i]==DID) {
                 _isMaster=true;
                 _index=i;
                 break;
             }
        }
      if (_isMaster==true) {    
        delete masters[_index];
        return true;
      } else {
        return false;  
      }
  } 
 function getMasterList() external view returns (address[] memory){
		return masters;
}
 function renounceOwnership() external onlyOwner {
    emit OwnershipTransferred(_owner, address(0));
    _owner = address(0);
  }
 function transferOwnership(address newOwner) external onlyOwner {
    _transferOwnership(newOwner);
  }
 function _transferOwnership(address newOwner) internal {
    require(newOwner != address(0), "Ownable: new owner is the zero address");

    emit OwnershipTransferred(_owner, newOwner);
    _owner = newOwner;
  }
}

contract VCRegistry is  Context, Ownable {
    
    struct CredentialMetadata {
        address subjectDID;
        uint iat;
        bool status;
        int8 statuscode;
        address creator;
        uint count;
    }
     struct CredentialDataMetadata {
         string data;
         string url;
     }
    event CredentialRegistered(bytes32 indexed credentialHash, address by, address id, uint iat);
    event CredentialRevoked(bytes32 indexed credentialHash, address by, uint date);

  mapping (bytes32 => CredentialMetadata) public  credentialhashs;
  mapping (bytes32 => mapping (address => CredentialMetadata)) public credentials;
  mapping (bytes32 => CredentialDataMetadata) public  credentialdata;
  uint private _count;
  constructor() {
    _count=0;
  }

  function _register(bytes32 credentialHash,  address subjectDID, uint count)  internal returns(bool) {
    CredentialMetadata storage credential = credentialhashs[credentialHash];
    require(credential.subjectDID==address(0),"Credential already exists");

    //credential.issuerDID = issuerDID;
    credential.count = count;
    credential.subjectDID = subjectDID;
    credential.iat = block.timestamp;
    //credential.exp = exp;
    //credential.purpose = purpose;
    credential.status = true;
    credential.statuscode = 0; //"CREATED";
    //credential.url = url;
    //credential.data = data;
    credentials[credentialHash][_msgSender()] = credential;
    credentialhashs[credentialHash] = credential;
    _count++;
    emit CredentialRegistered(credentialHash, _msgSender(), subjectDID, credential.iat);
    return true;

   }

  function register(bytes32 credentialHash,  address subjectDID, uint count)  onlyMaster external returns(bool) {
    return _register(credentialHash, subjectDID, count);
  }
  function registerData(bytes32 credentialHash, address subjectDID, string calldata data, string calldata url, uint count)  onlyMaster external returns(bool) {
    _register(credentialHash,  subjectDID, count);
    CredentialDataMetadata  storage credentialData = credentialdata[credentialHash];
    credentialData.data= data;
    credentialData.url= url;
    credentialdata[credentialHash] = credentialData;
    return  true;
  }
  
  function registerMySelf(bytes32 credentialHash, address subjectDID, string calldata data, string calldata url, uint count)   external returns(bool) {
    _register(credentialHash,  subjectDID,  count);
    CredentialDataMetadata  storage credentialData = credentialdata[credentialHash];
    credentialData.data= data;
    credentialData.url= url;
    credentialdata[credentialHash] = credentialData;
    return true;
  }
  
  function revoke(bytes32 credentialHash)  onlyOwner external returns(bool) {
    CredentialMetadata storage credential = credentialhashs[credentialHash];

    require(credential.subjectDID!=address(0), "credential hash doesn't exist");
    require(credential.status, "Credential is already revoked");  
    credential.status = false;  
    credential.statuscode = 1;// "REVOKED";
    credentials[credentialHash][credential.creator] = credential;
    credentialhashs[credentialHash] = credential;
    _count--;
    emit CredentialRevoked(credentialHash, _msgSender(), block.timestamp);
    return true;
  }
  function active(bytes32 credentialHash)  onlyOwner external returns(bool) {
    CredentialMetadata storage credential = credentialhashs[credentialHash];

    require(credential.subjectDID!=address(0), "credential hash doesn't exist");
    require(!credential.status, "Credential not is revoked");  
     
    credential.status = true;   
    credential.statuscode = 2;// "ACTIVATED";
    credentials[credentialHash][credential.creator] = credential;
    credentialhashs[credentialHash] = credential;
    _count++;
    emit CredentialRegistered(credentialHash, _msgSender(),credential.subjectDID, block.timestamp);
    return true;
  }
  function verify(bytes32 credentialHash, address issuer)  external view returns(bool isValidm, int8 statuscode){
    CredentialMetadata memory credential = credentials[credentialHash][issuer];
    require(credential.subjectDID!=address(0),"Credential hash doesn't exist");
    return (credential.status, credential.statuscode);
  }
  function count() public view returns (uint){
		return _count;
	}
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"credentialHash","type":"bytes32"},{"indexed":false,"internalType":"address","name":"by","type":"address"},{"indexed":false,"internalType":"address","name":"id","type":"address"},{"indexed":false,"internalType":"uint256","name":"iat","type":"uint256"}],"name":"CredentialRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"credentialHash","type":"bytes32"},{"indexed":false,"internalType":"address","name":"by","type":"address"},{"indexed":false,"internalType":"uint256","name":"date","type":"uint256"}],"name":"CredentialRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"bytes32","name":"credentialHash","type":"bytes32"}],"name":"active","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"DID","type":"address"}],"name":"addMaster","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"credentialdata","outputs":[{"internalType":"string","name":"data","type":"string"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"credentialhashs","outputs":[{"internalType":"address","name":"subjectDID","type":"address"},{"internalType":"uint256","name":"iat","type":"uint256"},{"internalType":"bool","name":"status","type":"bool"},{"internalType":"int8","name":"statuscode","type":"int8"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"uint256","name":"count","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"credentials","outputs":[{"internalType":"address","name":"subjectDID","type":"address"},{"internalType":"uint256","name":"iat","type":"uint256"},{"internalType":"bool","name":"status","type":"bool"},{"internalType":"int8","name":"statuscode","type":"int8"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"uint256","name":"count","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMasterList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"DID","type":"address"}],"name":"isMaster","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"credentialHash","type":"bytes32"},{"internalType":"address","name":"subjectDID","type":"address"},{"internalType":"uint256","name":"count","type":"uint256"}],"name":"register","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"credentialHash","type":"bytes32"},{"internalType":"address","name":"subjectDID","type":"address"},{"internalType":"string","name":"data","type":"string"},{"internalType":"string","name":"url","type":"string"},{"internalType":"uint256","name":"count","type":"uint256"}],"name":"registerData","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"credentialHash","type":"bytes32"},{"internalType":"address","name":"subjectDID","type":"address"},{"internalType":"string","name":"data","type":"string"},{"internalType":"string","name":"url","type":"string"},{"internalType":"uint256","name":"count","type":"uint256"}],"name":"registerMySelf","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"DID","type":"address"}],"name":"removeMaster","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"credentialHash","type":"bytes32"}],"name":"revoke","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"credentialHash","type":"bytes32"},{"internalType":"address","name":"issuer","type":"address"}],"name":"verify","outputs":[{"internalType":"bool","name":"isValidm","type":"bool"},{"internalType":"int8","name":"statuscode","type":"int8"}],"stateMutability":"view","type":"function"}]

60c060405260086080819052675354414d50494e4760c01b60a09081526200002b9160009190620000a3565b503480156200003957600080fd5b506000620000466200009f565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060006006556200014f565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620000db576000855562000126565b82601f10620000f657805160ff191683800117855562000126565b8280016001018555821562000126579182015b828111156200012657825182559160200191906001019062000109565b506200013492915062000138565b5090565b5b8082111562000134576000815560010162000139565b611e50806200015f6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063a5b0d68c116100a2578063e26e4cf911610071578063e26e4cf914610619578063e2a2f0a314610636578063f078e5db1461065c578063f2fde38b14610688578063f720f80b146106ae57610116565b8063a5b0d68c14610528578063b75c7dc61461055a578063b88fbd2d14610577578063c1401b03146105c157610116565b8063715018a6116100e9578063715018a6146102bf578063850ee4d8146102c95780638da5cb5b14610336578063958553431461035a5780639fd063051461045557610116565b806306661abd1461011b5780631097d54a146101355780635f5d408c1461016f57806365ac232014610242575b600080fd5b6101236106d4565b60408051918252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b03166106da565b604080519115158252519081900360200190f35b61015b600480360360a081101561018557600080fd5b8135916001600160a01b0360208201351691810190606081016040820135600160201b8111156101b457600080fd5b8201836020820111156101c657600080fd5b803590602001918460018302840111600160201b831117156101e757600080fd5b919390929091602081019035600160201b81111561020457600080fd5b82018360208201111561021657600080fd5b803590602001918460018302840111600160201b8311171561023757600080fd5b9193509150356107dd565b61024a610881565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028457818101518382015260200161026c565b50505050905090810190601f1680156102b15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c761090f565b005b6102e6600480360360208110156102df57600080fd5b50356109b1565b60405180876001600160a01b0316815260200186815260200185151581526020018460000b8152602001836001600160a01b03168152602001828152602001965050505050505060405180910390f35b61033e6109f8565b604080516001600160a01b039092168252519081900360200190f35b6103776004803603602081101561037057600080fd5b5035610a07565b604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156103b85781810151838201526020016103a0565b50505050905090810190601f1680156103e55780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610418578181015183820152602001610400565b50505050905090810190601f1680156104455780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b61015b600480360360a081101561046b57600080fd5b8135916001600160a01b0360208201351691810190606081016040820135600160201b81111561049a57600080fd5b8201836020820111156104ac57600080fd5b803590602001918460018302840111600160201b831117156104cd57600080fd5b919390929091602081019035600160201b8111156104ea57600080fd5b8201836020820111156104fc57600080fd5b803590602001918460018302840111600160201b8311171561051d57600080fd5b919350915035610b46565b61015b6004803603606081101561053e57600080fd5b508035906001600160a01b036020820135169060400135610c52565b61015b6004803603602081101561057057600080fd5b5035610ccf565b6105a36004803603604081101561058d57600080fd5b50803590602001356001600160a01b03166110dc565b60408051921515835260009190910b60208301528051918290030190f35b6105c96111be565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156106055781810151838201526020016105ed565b505050509050019250505060405180910390f35b61015b6004803603602081101561062f57600080fd5b5035611220565b61015b6004803603602081101561064c57600080fd5b50356001600160a01b0316611638565b6102e66004803603604081101561067257600080fd5b50803590602001356001600160a01b031661173f565b6102c76004803603602081101561069e57600080fd5b50356001600160a01b0316611792565b61015b600480360360208110156106c457600080fd5b50356001600160a01b03166117f6565b60065490565b6000806106e5611807565b6001549091506001600160a01b038083169116148061070857506107088161180b565b6107435760405162461bcd60e51b815260040180806020018281038252602d815260200180611d85602d913960400191505060405180910390fd5b61074c8361180b565b156107885760405162461bcd60e51b8152600401808060200182810382526023815260200180611dd86023913960400191505060405180910390fd5b60028054600180820183556000929092527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b03861617905591505b50919050565b60006107ea88888461186a565b506000888152600560205260409020610804818888611c60565b50610813600182018686611c60565b5060008981526005602052604090208154829190610847908290849060026000196101006001841615020190911604611cec565b506001820181600101908054600181600116156101000203166002900461086f929190611cec565b5060019b9a5050505050505050505050565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109075780601f106108dc57610100808354040283529160200191610907565b820191906000526020600020905b8154815290600101906020018083116108ea57829003601f168201915b505050505081565b610917611807565b6001546001600160a01b03908116911614610967576040805162461bcd60e51b81526020600482018190526024820152600080516020611dfb833981519152604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b6003602081905260009182526040822080546001820154600283015492909301546001600160a01b039182169460ff841693610100810490910b9262010000909104169086565b6001546001600160a01b031690565b60056020908152600091825260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452909291839190830182828015610a9e5780601f10610a7357610100808354040283529160200191610a9e565b820191906000526020600020905b815481529060010190602001808311610a8157829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b3c5780601f10610b1157610100808354040283529160200191610b3c565b820191906000526020600020905b815481529060010190602001808311610b1f57829003601f168201915b5050505050905082565b600080610b51611807565b6001549091506001600160a01b0380831691161480610b745750610b748161180b565b610baf5760405162461bcd60e51b815260040180806020018281038252602d815260200180611d85602d913960400191505060405180910390fd5b610bba89898561186a565b506000898152600560205260409020610bd4818989611c60565b50610be3600182018787611c60565b5060008a81526005602052604090208154829190610c17908290849060026000196101006001841615020190911604611cec565b5060018201816001019080546001816001161561010002031660029004610c3f929190611cec565b5060019c9b505050505050505050505050565b600080610c5d611807565b6001549091506001600160a01b0380831691161480610c805750610c808161180b565b610cbb5760405162461bcd60e51b815260040180806020018281038252602d815260200180611d85602d913960400191505060405180910390fd5b610cc685858561186a565b95945050505050565b6000610cd9611807565b6001546001600160a01b03908116911614610d29576040805162461bcd60e51b81526020600482018190526024820152600080516020611dfb833981519152604482015290519081900360640190fd5b600082815260036020526040902080546001600160a01b0316610d93576040805162461bcd60e51b815260206004820152601d60248201527f63726564656e7469616c206861736820646f65736e2774206578697374000000604482015290519081900360640190fd5b600281015460ff16610dec576040805162461bcd60e51b815260206004820152601d60248201527f43726564656e7469616c20697320616c7265616479207265766f6b6564000000604482015290519081900360640190fd5b60008160020160006101000a81548160ff02191690831515021790555060018160020160016101000a81548160ff021916908360000b60ff160217905550806004600085815260200190815260200160002060008360020160029054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000206000820160009054906101000a90046001600160a01b03168160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600182015481600101556002820160009054906101000a900460ff168160020160006101000a81548160ff0219169083151502179055506002820160019054906101000a900460000b8160020160016101000a81548160ff021916908360000b60ff1602179055506002820160029054906101000a90046001600160a01b03168160020160026101000a8154816001600160a01b0302191690836001600160a01b031602179055506003820154816003015590505080600360008581526020019081526020016000206000820160009054906101000a90046001600160a01b03168160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600182015481600101556002820160009054906101000a900460ff168160020160006101000a81548160ff0219169083151502179055506002820160019054906101000a900460000b8160020160016101000a81548160ff021916908360000b60ff1602179055506002820160029054906101000a90046001600160a01b03168160020160026101000a8154816001600160a01b0302191690836001600160a01b031602179055506003820154816003015590505060066000815480929190600190039190505550827f80d4746828447d65eceb938c7f9d85fbeb232fe7819d5209ed452b3940f8904b6110b3611807565b604080516001600160a01b0390921682524260208301528051918290030190a250600192915050565b60008281526004602090815260408083206001600160a01b038086168552908352818420825160c08101845281548316808252600183015495820195909552600282015460ff81161515948201949094526101008404860b860b860b60608201526201000090930490911660808301526003015460a082015282916111a8576040805162461bcd60e51b815260206004820152601d60248201527f43726564656e7469616c206861736820646f65736e2774206578697374000000604482015290519081900360640190fd5b8060400151816060015192509250509250929050565b6060600280548060200260200160405190810160405280929190818152602001828054801561121657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116111f8575b5050505050905090565b600061122a611807565b6001546001600160a01b0390811691161461127a576040805162461bcd60e51b81526020600482018190526024820152600080516020611dfb833981519152604482015290519081900360640190fd5b600082815260036020526040902080546001600160a01b03166112e4576040805162461bcd60e51b815260206004820152601d60248201527f63726564656e7469616c206861736820646f65736e2774206578697374000000604482015290519081900360640190fd5b600281015460ff161561133e576040805162461bcd60e51b815260206004820152601960248201527f43726564656e7469616c206e6f74206973207265766f6b656400000000000000604482015290519081900360640190fd5b60018160020160006101000a81548160ff02191690831515021790555060028160020160016101000a81548160ff021916908360000b60ff160217905550806004600085815260200190815260200160002060008360020160029054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000206000820160009054906101000a90046001600160a01b03168160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600182015481600101556002820160009054906101000a900460ff168160020160006101000a81548160ff0219169083151502179055506002820160019054906101000a900460000b8160020160016101000a81548160ff021916908360000b60ff1602179055506002820160029054906101000a90046001600160a01b03168160020160026101000a8154816001600160a01b0302191690836001600160a01b031602179055506003820154816003015590505080600360008581526020019081526020016000206000820160009054906101000a90046001600160a01b03168160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600182015481600101556002820160009054906101000a900460ff168160020160006101000a81548160ff0219169083151502179055506002820160019054906101000a900460000b8160020160016101000a81548160ff021916908360000b60ff1602179055506002820160029054906101000a90046001600160a01b03168160020160026101000a8154816001600160a01b0302191690836001600160a01b0316021790555060038201548160030155905050600660008154809291906001019190505550827f889569e4303664728fba29a472b24d3032707e6ebbee9a46e070c5c8f2ae4c25611604611807565b8354604080516001600160a01b0393841681529290911660208301524282820152519081900360600190a250600192915050565b600080611643611807565b6001549091506001600160a01b038083169116148061166657506116668161180b565b6116a15760405162461bcd60e51b815260040180806020018281038252602d815260200180611d85602d913960400191505060405180910390fd5b600080805b6002548110156116f657856001600160a01b0316600282815481106116c757fe5b6000918252602090912001546001600160a01b031614156116ee57600192508091506116f6565b6001016116a6565b5060018215151415611734576002818154811061170f57fe5b600091825260209091200180546001600160a01b031916905550600192506107d79050565b6000935050506107d7565b600460209081526000928352604080842090915290825281208054600182015460028301546003909301546001600160a01b0392831694919360ff811693610100820490930b9262010000909104169086565b61179a611807565b6001546001600160a01b039081169116146117ea576040805162461bcd60e51b81526020600482018190526024820152600080516020611dfb833981519152604482015290519081900360640190fd5b6117f381611bbf565b50565b60006118018261180b565b92915050565b3390565b600080805b60025460ff8216101561186357836001600160a01b031660028260ff168154811061183757fe5b6000918252602090912001546001600160a01b0316141561185b5760019150611863565b600101611810565b5092915050565b600083815260036020526040812080546001600160a01b0316156118d5576040805162461bcd60e51b815260206004820152601960248201527f43726564656e7469616c20616c72656164792065786973747300000000000000604482015290519081900360640190fd5b6003810183905580546001600160a01b0319166001600160a01b0385161781554260018083019190915560028201805460ff191690911761ff00191690556000858152600460205260408120829161192b611807565b6001600160a01b03166001600160a01b031681526020019081526020016000206000820160009054906101000a90046001600160a01b03168160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600182015481600101556002820160009054906101000a900460ff168160020160006101000a81548160ff0219169083151502179055506002820160019054906101000a900460000b8160020160016101000a81548160ff021916908360000b60ff1602179055506002820160029054906101000a90046001600160a01b03168160020160026101000a8154816001600160a01b0302191690836001600160a01b031602179055506003820154816003015590505080600360008781526020019081526020016000206000820160009054906101000a90046001600160a01b03168160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600182015481600101556002820160009054906101000a900460ff168160020160006101000a81548160ff0219169083151502179055506002820160019054906101000a900460000b8160020160016101000a81548160ff021916908360000b60ff1602179055506002820160029054906101000a90046001600160a01b03168160020160026101000a8154816001600160a01b0302191690836001600160a01b0316021790555060038201548160030155905050600660008154809291906001019190505550847f889569e4303664728fba29a472b24d3032707e6ebbee9a46e070c5c8f2ae4c25611b85611807565b6001840154604080516001600160a01b039384168152928916602084015282810191909152519081900360600190a2506001949350505050565b6001600160a01b038116611c045760405162461bcd60e51b8152600401808060200182810382526026815260200180611db26026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611c965760008555611cdc565b82601f10611caf5782800160ff19823516178555611cdc565b82800160010185558215611cdc579182015b82811115611cdc578235825591602001919060010190611cc1565b50611ce8929150611d6f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611d225760008555611cdc565b82601f10611d335780548555611cdc565b82800160010185558215611cdc57600052602060002091601f016020900482015b82811115611cdc578254825591600101919060010190611d54565b5b80821115611ce85760008155600101611d7056fe4d617374657261626c653a2063616c6c6572206973206e6f7420746865206f776e6572206f72206d61737465724f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737344494420616c7265616479206578697374732077697468206d617374657220726f6c654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a264697066735822122042c5f1e4c10df0e0ee131a68838fd7606d0c0ff57cbfc6eb6133cfcdd6ccf3f564736f6c63430007060033

Deployed ByteCode Sourcemap

2808:4395:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7134:66;;;:::i;:::-;;;;;;;;;;;;;;;;1585:196;;;;;;;;;;;;;;;;-1:-1:-1;1585:196:0;-1:-1:-1;;;;;1585:196:0;;:::i;:::-;;;;;;;;;;;;;;;;;;5090:427;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5090:427:0;;;;;;;;;;;;;;;;-1:-1:-1;;;5090:427:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5090:427:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5090:427:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5090:427:0;;;;;;;;;;;;-1:-1:-1;5090:427:0;-1:-1:-1;5090:427:0;;:::i;359:34::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2341:132;;;:::i;:::-;;3320:63;;;;;;;;;;;;;;;;-1:-1:-1;3320:63:0;;:::i;:::-;;;;;-1:-1:-1;;;;;3320:63:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3320:63:0;;;;;;;;;;;;;;;;;;;;;;;;;784:75;;;:::i;:::-;;;;-1:-1:-1;;;;;784:75:0;;;;;;;;;;;;;;3472:66;;;;;;;;;;;;;;;;-1:-1:-1;3472:66:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3472:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4647:435;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4647:435:0;;;;;;;;;;;;;;;;-1:-1:-1;;;4647:435:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4647:435:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4647:435:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4647:435:0;;;;;;;;;;;;-1:-1:-1;4647:435:0;-1:-1:-1;4647:435:0;;:::i;4469:174::-;;;;;;;;;;;;;;;;-1:-1:-1;4469:174:0;;;-1:-1:-1;;;;;4469:174:0;;;;;;;;;;:::i;5525:616::-;;;;;;;;;;;;;;;;-1:-1:-1;5525:616:0;;:::i;6796:334::-;;;;;;;;;;;;;;;;-1:-1:-1;6796:334:0;;;;;;-1:-1:-1;;;;;6796:334:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;2250:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6145:647;;;;;;;;;;;;;;;;-1:-1:-1;6145:647:0;;:::i;1786:460::-;;;;;;;;;;;;;;;;-1:-1:-1;1786:460:0;-1:-1:-1;;;;;1786:460:0;;:::i;3388:79::-;;;;;;;;;;;;;;;;-1:-1:-1;3388:79:0;;;;;;-1:-1:-1;;;;;3388:79:0;;:::i;2476:105::-;;;;;;;;;;;;;;;;-1:-1:-1;2476:105:0;-1:-1:-1;;;;;2476:105:0;;:::i;1284:101::-;;;;;;;;;;;;;;;;-1:-1:-1;1284:101:0;-1:-1:-1;;;;;1284:101:0;;:::i;7134:66::-;7189:6;;7134:66;:::o;1585:196::-;1648:4;1417:18;1438:12;:10;:12::i;:::-;1465:6;;1417:33;;-1:-1:-1;;;;;;1465:19:0;;;:6;;:19;;:47;;;1488:24;1502:9;1488:13;:24::i;:::-;1457:105;;;;-1:-1:-1;;;1457:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1672:18:::1;1686:3;1672:13;:18::i;:::-;1671:19;1663:66;;;;-1:-1:-1::0;;;1663:66:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1738:7;:17:::0;;::::1;::::0;;::::1;::::0;;-1:-1:-1;1738:17:0;;;;;::::1;::::0;;-1:-1:-1;;;;;;1738:17:0::1;-1:-1:-1::0;;;;;1738:17:0;::::1;;::::0;;;-1:-1:-1;1575:1:0::1;1585:196:::0;;;;:::o;5090:427::-;5232:4;5245:46;5255:14;5272:10;5285:5;5245:9;:46::i;:::-;-1:-1:-1;5298:46:0;5347:30;;;:14;:30;;;;;5384:25;5347:30;5405:4;;5384:25;:::i;:::-;-1:-1:-1;5416:23:0;:18;;;5436:3;;5416:23;:::i;:::-;-1:-1:-1;5446:30:0;;;;:14;:30;;;;;:47;;5479:14;;5446:30;:47;;:30;;5479:14;;5446:47;-1:-1:-1;;5446:47:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5507:4:0;;5090:427;-1:-1:-1;;;;;;;;;;;5090:427:0:o;359:34::-;;;;;;;;;;;;;;;-1:-1:-1;;359:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2341:132::-;908:12;:10;:12::i;:::-;898:6;;-1:-1:-1;;;;;898:6:0;;;:22;;;890:67;;;;;-1:-1:-1;;;890:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;890:67:0;;;;;;;;;;;;;;;2422:6:::1;::::0;2401:40:::1;::::0;2438:1:::1;::::0;-1:-1:-1;;;;;2422:6:0::1;::::0;2401:40:::1;::::0;2438:1;;2401:40:::1;2448:6;:19:::0;;-1:-1:-1;;;;;;2448:19:0::1;::::0;;2341:132::o;3320:63::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3320:63:0;;;;;;;;;;;;;;;;;;;;;;:::o;784:75::-;847:6;;-1:-1:-1;;;;;847:6:0;784:75;:::o;3472:66::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3472:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4647:435::-;4797:4;1417:18;1438:12;:10;:12::i;:::-;1465:6;;1417:33;;-1:-1:-1;;;;;;1465:19:0;;;:6;;:19;;:47;;;1488:24;1502:9;1488:13;:24::i;:::-;1457:105;;;;-1:-1:-1;;;1457:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4810:45:::1;4820:14;4837:10;4849:5;4810:9;:45::i;:::-;-1:-1:-1::0;4862:46:0::1;4911:30:::0;;;:14:::1;:30;::::0;;;;4948:25:::1;4911:30:::0;4969:4;;4948:25:::1;:::i;:::-;-1:-1:-1::0;4980:23:0::1;:18;::::0;::::1;5000:3:::0;;4980:23:::1;:::i;:::-;-1:-1:-1::0;5010:30:0::1;::::0;;;:14:::1;:30;::::0;;;;:47;;5043:14;;5010:30;:47:::1;::::0;:30;;5043:14;;5010:47:::1;-1:-1:-1::0;;5010:47:0::1;;::::0;::::1;;;::::0;;;::::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;5072:4:0::1;::::0;4647:435;-1:-1:-1;;;;;;;;;;;;4647:435:0:o;4469:174::-;4573:4;1417:18;1438:12;:10;:12::i;:::-;1465:6;;1417:33;;-1:-1:-1;;;;;;1465:19:0;;;:6;;:19;;:47;;;1488:24;1502:9;1488:13;:24::i;:::-;1457:105;;;;-1:-1:-1;;;1457:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4593:44:::1;4603:14;4619:10;4631:5;4593:9;:44::i;:::-;4586:51:::0;4469:174;-1:-1:-1;;;;;4469:174:0:o;5525:616::-;5593:4;908:12;:10;:12::i;:::-;898:6;;-1:-1:-1;;;;;898:6:0;;;:22;;;890:67;;;;;-1:-1:-1;;;890:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;890:67:0;;;;;;;;;;;;;;;5606:37:::1;5646:31:::0;;;:15:::1;:31;::::0;;;;5694:21;;-1:-1:-1;;;;;5694:21:0::1;5686:75;;;::::0;;-1:-1:-1;;;5686:75:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;5776:17;::::0;::::1;::::0;::::1;;5768:59;;;::::0;;-1:-1:-1;;;5768:59:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;5856:5;5836:10;:17;;;:25;;;;;;;;;;;;;;;;;;5894:1;5870:10;:21;;;:25;;;;;;;;;;;;;;;;;;;;5965:10;5915:11;:27;5927:14;5915:27;;;;;;;;;;;:47;5943:10;:18;;;;;;;;;;-1:-1:-1::0;;;;;5943:18:0::1;-1:-1:-1::0;;;;;5915:47:0::1;-1:-1:-1::0;;;;;5915:47:0::1;;;;;;;;;;;;:60;;;;;;;;;;;-1:-1:-1::0;;;;;5915:60:0::1;;;;;;;;;;-1:-1:-1::0;;;;;5915:60:0::1;;;;;-1:-1:-1::0;;;;;5915:60:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;5915:60:0::1;;;;;;;;;;-1:-1:-1::0;;;;;5915:60:0::1;;;;;-1:-1:-1::0;;;;;5915:60:0::1;;;;;;;;;;;;;;;;;6016:10;5982:15;:31;5998:14;5982:31;;;;;;;;;;;:44;;;;;;;;;;;-1:-1:-1::0;;;;;5982:44:0::1;;;;;;;;;;-1:-1:-1::0;;;;;5982:44:0::1;;;;;-1:-1:-1::0;;;;;5982:44:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;5982:44:0::1;;;;;;;;;;-1:-1:-1::0;;;;;5982:44:0::1;;;;;-1:-1:-1::0;;;;;5982:44:0::1;;;;;;;;;;;;;;;;;6033:6;;:8;;;;;;;;;;;;;;6071:14;6053:64;6087:12;:10;:12::i;:::-;6053:64;::::0;;-1:-1:-1;;;;;6053:64:0;;::::1;::::0;;6101:15:::1;6053:64;::::0;::::1;::::0;;;;;;;;;::::1;-1:-1:-1::0;6131:4:0::1;::::0;5525:616;-1:-1:-1;;5525:616:0:o;6796:334::-;6875:13;6952:27;;;:11;:27;;;;;;;;-1:-1:-1;;;;;6952:35:0;;;;;;;;;;;6913:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:13;;6994:74;;;;;-1:-1:-1;;;6994:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7083:10;:17;;;7102:10;:21;;;7075:49;;;;;6796:334;;;;;:::o;2250:88::-;2298:16;2327:7;2320:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2320:14:0;;;;;;;;;;;;;;;;;;;;;;;2250:88;:::o;6145:647::-;6213:4;908:12;:10;:12::i;:::-;898:6;;-1:-1:-1;;;;;898:6:0;;;:22;;;890:67;;;;;-1:-1:-1;;;890:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;890:67:0;;;;;;;;;;;;;;;6226:37:::1;6266:31:::0;;;:15:::1;:31;::::0;;;;6314:21;;-1:-1:-1;;;;;6314:21:0::1;6306:75;;;::::0;;-1:-1:-1;;;6306:75:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;6397:17;::::0;::::1;::::0;::::1;;6396:18;6388:56;;;::::0;;-1:-1:-1;;;6388:56:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;6480:4;6460:10;:17;;;:24;;;;;;;;;;;;;;;;;;6518:1;6494:10;:21;;;:25;;;;;;;;;;;;;;;;;;;;6591:10;6541:11;:27;6553:14;6541:27;;;;;;;;;;;:47;6569:10;:18;;;;;;;;;;-1:-1:-1::0;;;;;6569:18:0::1;-1:-1:-1::0;;;;;6541:47:0::1;-1:-1:-1::0;;;;;6541:47:0::1;;;;;;;;;;;;:60;;;;;;;;;;;-1:-1:-1::0;;;;;6541:60:0::1;;;;;;;;;;-1:-1:-1::0;;;;;6541:60:0::1;;;;;-1:-1:-1::0;;;;;6541:60:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6541:60:0::1;;;;;;;;;;-1:-1:-1::0;;;;;6541:60:0::1;;;;;-1:-1:-1::0;;;;;6541:60:0::1;;;;;;;;;;;;;;;;;6642:10;6608:15;:31;6624:14;6608:31;;;;;;;;;;;:44;;;;;;;;;;;-1:-1:-1::0;;;;;6608:44:0::1;;;;;;;;;;-1:-1:-1::0;;;;;6608:44:0::1;;;;;-1:-1:-1::0;;;;;6608:44:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6608:44:0::1;;;;;;;;;;-1:-1:-1::0;;;;;6608:44:0::1;;;;;-1:-1:-1::0;;;;;6608:44:0::1;;;;;;;;;;;;;;;;;6659:6;;:8;;;;;;;;;;;;;6700:14;6679:89;6716:12;:10;:12::i;:::-;6729:21:::0;;6679:89:::1;::::0;;-1:-1:-1;;;;;6679:89:0;;::::1;::::0;;6729:21;;;::::1;6679:89;::::0;::::1;::::0;6752:15:::1;6679:89:::0;;;;;;;;;;;;::::1;-1:-1:-1::0;6782:4:0::1;::::0;6145:647;-1:-1:-1;;6145:647:0:o;1786:460::-;1851:4;1417:18;1438:12;:10;:12::i;:::-;1465:6;;1417:33;;-1:-1:-1;;;;;;1465:19:0;;;:6;;:19;;:47;;;1488:24;1502:9;1488:13;:24::i;:::-;1457:105;;;;-1:-1:-1;;;1457:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:14:::1;::::0;;1915:187:::1;1930:7;:14:::0;1928:16;::::1;1915:187;;;1982:3;-1:-1:-1::0;;;;;1970:15:0::1;:7;1978:1;1970:10;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;1970:10:0::1;:15;1967:124;;;2017:4;2007:14;;2048:1;2041:8;;2069:5;;1967:124;1946:3;;1915:187;;;-1:-1:-1::0;2125:4:0::1;2114:15:::0;::::1;;;2110:131;;;2153:7;2161:6;2153:15;;;;;;;;;::::0;;;::::1;::::0;;;::::1;2146:22:::0;;-1:-1:-1;;;;;;2146:22:0::1;::::0;;-1:-1:-1;2146:22:0;;-1:-1:-1;2179:11:0::1;::::0;-1:-1:-1;2179:11:0::1;2110:131;2224:5;2217:12;;;;;;3388:79:::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3388:79:0;;;;;;;;;;;;;;;;;;;;;;;;:::o;2476:105::-;908:12;:10;:12::i;:::-;898:6;;-1:-1:-1;;;;;898:6:0;;;:22;;;890:67;;;;;-1:-1:-1;;;890:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;890:67:0;;;;;;;;;;;;;;;2547:28:::1;2566:8;2547:18;:28::i;:::-;2476:105:::0;:::o;1284:101::-;1339:4;1360:18;1374:3;1360:13;:18::i;:::-;1352:27;1284:101;-1:-1:-1;;1284:101:0:o;127:92::-;203:10;127:92;:::o;974:305::-;1040:4;;;1084:165;1100:7;:14;1098:16;;;;1084:165;;;1152:9;-1:-1:-1;;;;;1140:21:0;:7;1148:1;1140:10;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1140:10:0;:21;1137:101;;;1192:4;1182:14;;1216:5;;1137:101;1116:3;;1084:165;;;-1:-1:-1;1264:9:0;974:305;-1:-1:-1;;974:305:0:o;3608:855::-;3702:4;3755:31;;;:15;:31;;;;;3801:21;;-1:-1:-1;;;;;3801:21:0;:33;3793:70;;;;;-1:-1:-1;;;3793:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3913:16;;;:24;;;3944:34;;-1:-1:-1;;;;;;3944:34:0;-1:-1:-1;;;;;3944:34:0;;;;;4002:15;-1:-1:-1;3985:14:0;;;:32;;;;-1:-1:-1;4090:17:0;;:24;;-1:-1:-1;;4090:24:0;;;;-1:-1:-1;;4121:25:0;;;-1:-1:-1;4226:27:0;;;:11;:27;;;;;3913:16;;4254:12;:10;:12::i;:::-;-1:-1:-1;;;;;4226:41:0;-1:-1:-1;;;;;4226:41:0;;;;;;;;;;;;:54;;;;;;;;;;;-1:-1:-1;;;;;4226:54:0;;;;;;;;;;-1:-1:-1;;;;;4226:54:0;;;;;-1:-1:-1;;;;;4226:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4226:54:0;;;;;;;;;;-1:-1:-1;;;;;4226:54:0;;;;;-1:-1:-1;;;;;4226:54:0;;;;;;;;;;;;;;;;;4321:10;4287:15;:31;4303:14;4287:31;;;;;;;;;;;:44;;;;;;;;;;;-1:-1:-1;;;;;4287:44:0;;;;;;;;;;-1:-1:-1;;;;;4287:44:0;;;;;-1:-1:-1;;;;;4287:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4287:44:0;;;;;;;;;;-1:-1:-1;;;;;4287:44:0;;;;;-1:-1:-1;;;;;4287:44:0;;;;;;;;;;;;;;;;;4338:6;;:8;;;;;;;;;;;;;4379:14;4358:78;4395:12;:10;:12::i;:::-;4421:14;;;;4358:78;;;-1:-1:-1;;;;;4358:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4450:4:0;;3608:855;-1:-1:-1;;;;3608:855:0:o;2584:217::-;-1:-1:-1;;;;;2654:22:0;;2646:73;;;;-1:-1:-1;;;2646:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2754:6;;2733:38;;-1:-1:-1;;;;;2733:38:0;;;;2754:6;;2733:38;;2754:6;;2733:38;2778:6;:17;;-1:-1:-1;;;;;;2778:17:0;-1:-1:-1;;;;;2778:17:0;;;;;;;;;;2584:217::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

ipfs://42c5f1e4c10df0e0ee131a68838fd7606d0c0ff57cbfc6eb6133cfcdd6ccf3f5
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading