UNPKG

@vechain/vebetterdao-contracts

Version:

Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.

3,413 lines 152 kB
{
  "_format": "hh-sol-artifact-1",
  "contractName": "VeBetterPassportV5",
  "sourceName": "contracts/deprecated/V5/ve-better-passport/VeBetterPassportV5.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "AccessControlBadConfirmation",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "neededRole",
          "type": "bytes32"
        }
      ],
      "name": "AccessControlUnauthorizedAccount",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        }
      ],
      "name": "AddressEmptyCode",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "entity",
          "type": "address"
        }
      ],
      "name": "AlreadyDelegated",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "entity",
          "type": "address"
        }
      ],
      "name": "AlreadyLinked",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "CannotDelegateToSelf",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "CannotLinkToSelf",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "entity",
          "type": "address"
        }
      ],
      "name": "DelegatedEntity",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        }
      ],
      "name": "ERC1967InvalidImplementation",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ERC1967NonPayable",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "FailedInnerCall",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidSignature",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "MaxEntitiesPerPassportReached",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "NotDelegated",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotInitializing",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "NotLinked",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OnlyOneLinkAllowed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OnlyOneUserAllowed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "PassportDelegationFromEntity",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "PassportDelegationToEntity",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "PassportDelegationUnauthorizedUser",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "bits",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "SafeCastOverflowedUintDowncast",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SignatureExpired",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "UUPSUnauthorizedCallContext",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "slot",
          "type": "bytes32"
        }
      ],
      "name": "UUPSUnsupportedProxiableUUID",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "UnauthorizedUser",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "VeBetterPassportUnauthorizedUser",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "string",
          "name": "checkName",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "enabled",
          "type": "bool"
        }
      ],
      "name": "CheckToggled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegator",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegatee",
          "type": "address"
        }
      ],
      "name": "DelegationCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegator",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegatee",
          "type": "address"
        }
      ],
      "name": "DelegationPending",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegator",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegatee",
          "type": "address"
        }
      ],
      "name": "DelegationRevoked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "entity",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "passport",
          "type": "address"
        }
      ],
      "name": "LinkCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "entity",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "passport",
          "type": "address"
        }
      ],
      "name": "LinkPending",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "entity",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "passport",
          "type": "address"
        }
      ],
      "name": "LinkRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "minimumGalaxyMemberLevel",
          "type": "uint256"
        }
      ],
      "name": "MinimumGalaxyMemberLevelSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "passport",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "round",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "actionScore",
          "type": "uint256"
        }
      ],
      "name": "RegisteredAction",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "removedBy",
          "type": "address"
        }
      ],
      "name": "RemovedUserFromBlacklist",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "passport",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "removedBy",
          "type": "address"
        }
      ],
      "name": "RemovedUserFromWhitelist",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "previousAdminRole",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "newAdminRole",
          "type": "bytes32"
        }
      ],
      "name": "RoleAdminChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "RoleGranted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "RoleRevoked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "signaler",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "app",
          "type": "bytes32"
        }
      ],
      "name": "SignalerAssignedToApp",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "signaler",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "app",
          "type": "bytes32"
        }
      ],
      "name": "SignalerRemovedFromApp",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "blacklistedBy",
          "type": "address"
        }
      ],
      "name": "UserBlacklisted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "signaler",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "app",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "UserSignaled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "UserSignalsReset",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "app",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "UserSignalsResetForApp",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "whitelistedBy",
          "type": "address"
        }
      ],
      "name": "UserWhitelisted",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "ACTION_REGISTRAR_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ACTION_SCORE_MANAGER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "CLOCK_MODE",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "DEFAULT_ADMIN_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "RESET_SIGNALER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ROLE_GRANTER",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "SETTINGS_MANAGER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "SIGNALER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "UPGRADER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "UPGRADE_INTERFACE_VERSION",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "WHITELISTER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "delegator",
          "type": "address"
        }
      ],
      "name": "acceptDelegation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "entity",
          "type": "address"
        }
      ],
      "name": "acceptEntityLink",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_signaler",
          "type": "address"
        }
      ],
      "name": "appOfSignaler",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "round",
          "type": "uint256"
        }
      ],
      "name": "appRoundActionCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "appSecurity",
      "outputs": [
        {
          "internalType": "enum PassportTypesV5.APP_SECURITY",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_app",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "appSignalsCounter",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_app",
          "type": "bytes32"
        }
      ],
      "name": "appTotalSignalsCounter",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "app",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "assignSignalerToApp",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "app",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "assignSignalerToAppByAppAdmin",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "blacklist",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "blacklistThreshold",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "cancelOutgoingPendingDelegation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "cancelOutgoingPendingEntityLink",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "clock",
      "outputs": [
        {
          "internalType": "uint48",
          "name": "",
          "type": "uint48"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decayRate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "delegatee",
          "type": "address"
        }
      ],
      "name": "delegatePassport",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "delegator",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        }
      ],
      "name": "delegateWithSignature",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "delegator",
          "type": "address"
        }
      ],
      "name": "denyIncomingPendingDelegation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "entity",
          "type": "address"
        }
      ],
      "name": "denyIncomingPendingEntityLink",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "eip712Domain",
      "outputs": [
        {
          "internalType": "bytes1",
          "name": "fields",
          "type": "bytes1"
        },
        {
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "signatureVersion",
          "type": "string"
        },
        {
          "internalType": "uint256",
          "name": "chainId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "verifyingContract",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        },
        {
          "internalType": "uint256[]",
          "name": "extensions",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "lastRound",
          "type": "uint256"
        }
      ],
      "name": "getCumulativeScoreWithDecay",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "delegator",
          "type": "address"
        }
      ],
      "name": "getDelegatee",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "delegator",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "timepoint",
          "type": "uint256"
        }
      ],
      "name": "getDelegateeInTimepoint",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "delegatee",
          "type": "address"
        }
      ],
      "name": "getDelegator",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "delegatee",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "timepoint",
          "type": "uint256"
        }
      ],
      "name": "getDelegatorInTimepoint",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "passport",
          "type": "address"
        }
      ],
      "name": "getEntitiesLinkedToPassport",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getGalaxyMember",
      "outputs": [
        {
          "internalType": "contract IGalaxyMember",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getMinimumGalaxyMemberLevel",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "entity",
          "type": "address"
        }
      ],
      "name": "getPassportForEntity",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "entity",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "timepoint",
          "type": "uint256"
        }
      ],
      "name": "getPassportForEntityAtTimepoint",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "getPendingDelegations",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "incoming",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "outgoing",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "getPendingLinkings",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "incoming",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "outgoing",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        }
      ],
      "name": "getRoleAdmin",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getX2EarnApps",
      "outputs": [
        {
          "internalType": "contract IX2EarnApps",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getXAllocationVoting",
      "outputs": [
        {
          "internalType": "contract IXAllocationVotingGovernor",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "grantRole",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "hasRole",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "contract IXAllocationVotingGovernor",
              "name": "xAllocationVoting",
              "type": "address"
            },
            {
              "internalType": "contract IX2EarnApps",
              "name": "x2EarnApps",
              "type": "address"
            },
            {
              "internalType": "contract IGalaxyMember",
              "name": "galaxyMember",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "signalingThreshold",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "roundsForCumulativeScore",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "minimumGalaxyMemberLevel",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "blacklistThreshold",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "whitelistThreshold",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maxEntitiesPerPassport",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "decayRate",
              "type": "uint256"
            }
          ],
          "internalType": "struct PassportTypesV5.InitializationData",
          "name": "data",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "admin",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "botSignaler",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "upgrader",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "settingsManager",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "roleGranter",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "blacklister",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "whitelister",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "actionRegistrar",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "actionScoreManager",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "resetSignaler",
              "type": "address"
            }
          ],
          "internalType": "struct PassportTypesV5.InitializationRoleData",
          "name": "roles",
          "type": "tuple"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_resetSignaler",
          "type": "address"
        }
      ],
      "name": "initializeV4",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initializeV5",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "isBlacklisted",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum PassportTypesV5.CheckType",
          "name": "check",
          "type": "uint8"
        }
      ],
      "name": "isCheckEnabled",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "isDelegatee",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "timepoint",
          "type": "uint256"
        }
      ],
      "name": "isDelegateeInTimepoint",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "isDelegator",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "timepoint",
          "type": "uint256"
        }
      ],
      "name": "isDelegatorInTimepoint",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "isEntity",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "timepoint",
          "type": "uint256"
        }
      ],
      "name": "isEntityInTimepoint",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "isPassport",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "passport",
          "type": "address"
        }
      ],
      "name": "isPassportBlacklisted",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "timepoint",
          "type": "uint256"
        }
      ],
      "name": "isPassportInTimepoint",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "passport",
          "type": "address"
        }
      ],
      "name": "isPassportWhitelisted",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "isPerson",
      "outputs": [
        {
          "internalType": "bool",
          "name": "person",
          "type": "bool"
        },
        {
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint48",
          "name": "timepoint",
          "type": "uint48"
        }
      ],
      "name": "isPersonAtTimepoint",
      "outputs": [
        {
          "internalType": "bool",
          "name": "person",
          "type": "bool"
        },
        {
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "isWhitelisted",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "passport",
          "type": "address"
        }
      ],
      "name": "linkEntityToPassport",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "entity",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        }
      ],
      "name": "linkEntityToPassportWithSignature",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "maxEntitiesPerPassport",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "minimumGalaxyMemberLevel",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "registerAction",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "round",
          "type": "uint256"
        }
      ],
      "name": "registerActionForRound",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "entity",
          "type": "address"
        }
      ],
      "name": "removeEntityLink",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "removeFromBlacklist",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "removeFromWhitelist",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "removeSignalerFromApp",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "removeSignalerFromAppByAppAdmin",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "callerConfirmation",
          "type": "address"
        }
      ],
      "name": "renounceRole",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "resetUserSignalsByAppWithReason",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "resetUserSignalsWithReason",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "revokeDelegation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "revokeRole",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "roundsForCumulativeScore",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum PassportTypesV5.APP_SECURITY",
          "name": "security",
          "type": "uint8"
        }
      ],
      "name": "securityMultiplier",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        },
        {
          "internalType": "enum PassportTypesV5.APP_SECURITY",
          "name": "security",
          "type": "uint8"
        }
      ],
      "name": "setAppSecurity",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_threshold",
          "type": "uint256"
        }
      ],
      "name": "setBlacklistThreshold",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_decayRate",
          "type": "uint256"
        }
      ],
      "name": "setDecayRate",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IGalaxyMember",
          "name": "galaxyMember",
          "type": "address"
        }
      ],
      "name": "setGalaxyMember",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "maxEntities",
          "type": "uint256"
        }
      ],
      "name": "setMaxEntitiesPerPassport",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_minimumGalaxyMemberLevel",
          "type": "uint256"
        }
      ],
      "name": "setMinimumGalaxyMemberLevel",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "rounds",
          "type": "uint256"
        }
      ],
      "name": "setRoundsForCumulativeScore",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum PassportTypesV5.APP_SECURITY",
          "name": "security",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "multiplier",
          "type": "uint256"
        }
      ],
      "name": "setSecurityMultiplier",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "threshold",
          "type": "uint256"
        }
      ],
      "name": "setSignalingThreshold",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint208",
          "name": "threshold",
          "type": "uint208"
        }
      ],
      "name": "setThresholdPoPScore",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_threshold",
          "type": "uint256"
        }
      ],
      "name": "setWhitelistThreshold",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IX2EarnApps",
          "name": "_x2EarnApps",
          "type": "address"
        }
      ],
      "name": "setX2EarnApps",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IXAllocationVotingGovernor",
          "name": "xAllocationVoting",
          "type": "address"
        }
      ],
      "name": "setXAllocationVoting",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "signalUser",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        },
        {
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "signalUserWithReason",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "signaledCounter",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "signalingThreshold",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "thresholdPoPScore",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint48",
          "name": "timepoint",
          "type": "uint48"
        }
      ],
      "name": "thresholdPoPScoreAtTimepoint",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum PassportTypesV5.CheckType",
          "name": "check",
          "type": "uint8"
        }
      ],
      "name": "toggleCheck",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newImplementation",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "upgradeToAndCall",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "userAppTotalScore",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "userInteractedApps",
      "outputs": [
        {
          "internalType": "bytes32[]",
          "name": "",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "round",
          "type": "uint256"
        }
      ],
      "name": "userRoundActionCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "round",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "userRoundActionCountApp",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "round",
          "type": "uint256"
        }
      ],
      "name": "userRoundAppCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "round",
          "type": "uint256"
        }
      ],
      "name": "userRoundScore",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "round",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "userRoundScoreApp",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "userTotalScore",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "userUniqueAppInteraction",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "whitelist",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "whitelistThreshold",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051614e2e62000104600039600081816137330152818161375c01526138c30152614e2e6000f3fe60806040526004361061052e5760003560e01c80623620161461053357806270f93d1461056657806301ffc9a71461058857806304e2a79a146105b857806304e7e0b9146105da578063080abb4c146105fa578063081bc0ba1461061a57806308b76b3a1461063c5780630e668aac1461065c5780630f73927a1461067c578063110a8308146106aa5780631332de46146106ca57806313ebae2a146106ea57806314887c581461070c57806315b75cf01461072c57806316e1f015146107415780631acebfbe146107565780631ee7632314610778578063248a9ca31461079857806326b320ab146107b85780632be4d14d146107d85780632d01a9b4146107f85780632d92dcdc146108185780632f2ff15d1461082d578063315b8bd01461084d57806336568abe1461086257806336db28b31461088257806338d8d688146108975780633910d657146108b75780633af32abf146108d75780633bf451a9146108f75780633c8c8f79146109175780633d47fe94146109375780633e420ce31461095757806340a6fc0b14610977578063428cce4414610997578063451e100d146109b7578063453b8b07146109d7578063467b99b6146109f75780634959971214610a175780634bf5d7e914610a375780634e54078014610a595780634f1ef28614610a795780634f69de0814610a8c57806352ba35c414610aa157806352d1902d14610ac1578063537df3b614610ad657806354fd4d5014610af6578063570618e114610b205780635801b70f14610b425780635a1dcf2c14610b625780635ce3309314610b82578063664d6e9e14610b975780636e6a304c14610bac5780637fd4f54f14610bcc57806384b0196e14610be1578063856868ec14610c0957806386fc460614610c29578063886d15d214610c495780638919b6e514610c695780638ab1d68114610c895780638d38b50f14610ca957806391d1485414610cc957806391ddadf414610ce95780639352d27214610d15578063943e710014610d355780639687f51114610d5557806397d8886814610d6a578063981e766214610d8a578063989f5fd514610dac5780639b19251a14610dcc5780639b4e735f14610dec5780639f14e0e214610e0c578063a217fddf14610e2c578063a26596de14610e41578063a4d3180514610e61578063a64ad59514610e76578063a8165f8614610e96578063a9c1f2f114610ec3578063ad3cb1cc14610ed8578063ae0b8da814610f09578063b292864a14610f29578063b48a963414610f56578063b5dadb1714610f76578063b7af069014610f8b578063b93501a514610fab578063bb004e9314610fcb578063bc6237ff14610feb578063c107e0d11461100b578063c60ef11d1461102b578063c791e9371461104b578063c817dcec1461106b578063ca3f511f14611080578063cb156fb0146110ae578063ccc3ced3146110ce578063ce371f06146110ee578063d0023fcb1461110e578063d0ebb0ee1461112e578063d1143f3a1461114e578063d2a98f8b1461116e578063d547741f1461118e578063d6cfbe1b146111ae578063d7ce41eb146111ce578063dc8debb0146111ee578063dd0c704b1461120e578063e0b23db414611223578063e0e4879514611243578063e18c10d314611265578063e432504414611285578063e60fd76c146112a5578063ebd695c3146112d2578063f4079c1f146112f2578063f72c0d8b14611312578063f9561f6714611334578063f9cfdfcc14611354578063f9f92be414611374578063fa7626d014611394578063fd8ab482146113b6578063fe575a87146113d6575b600080fd5b34801561053f57600080fd5b5061055361054e36600461422e565b6113f6565b6040519081526020015b60405180910390f35b34801561057257600080fd5b50610586610581366004614275565b61140b565b005b34801561059457600080fd5b506105a86105a3366004614292565b611473565b604051901515815260200161055d565b3480156105c457600080fd5b50610553600080516020614dd983398151915281565b3480156105e657600080fd5b506105866105f53660046142bc565b6114a8565b34801561060657600080fd5b506105a8610615366004614275565b61155a565b34801561062657600080fd5b50610553600080516020614cb983398151915281565b34801561064857600080fd5b506105a86106573660046142d5565b611565565b34801561066857600080fd5b50610586610677366004614310565b6115e2565b34801561068857600080fd5b5061069c610697366004614275565b61169e565b60405161055d92919061438c565b3480156106b657600080fd5b506105866106c5366004614275565b611727565b3480156106d657600080fd5b506105866106e5366004614275565b611874565b3480156106f657600080fd5b506106ff6118ab565b60405161055d91906143b4565b34801561071857600080fd5b506105a8610727366004614275565b6118ba565b34801561073857600080fd5b506105866118c5565b34801561074d57600080fd5b50610586611923565b34801561076257600080fd5b50610553600080516020614d5983398151915281565b34801561078457600080fd5b5061058661079336600461449c565b6119e1565b3480156107a457600080fd5b506105536107b33660046142bc565b611a68565b3480156107c457600080fd5b506105866107d33660046144ff565b611a88565b3480156107e457600080fd5b506105866107f3366004614275565b611b57565b34801561080457600080fd5b506105866108133660046142bc565b611b8e565b34801561082457600080fd5b506106ff611bde565b34801561083957600080fd5b506105866108483660046144ff565b611be8565b34801561085957600080fd5b50610553611c40565b34801561086e57600080fd5b5061058661087d3660046144ff565b611c4a565b34801561088e57600080fd5b50610586611c82565b3480156108a357600080fd5b506106ff6108b23660046142d5565b611cc6565b3480156108c357600080fd5b506105536108d23660046142d5565b611d43565b3480156108e357600080fd5b506105a86108f2366004614275565b611d4f565b34801561090357600080fd5b506105536109123660046142bc565b611d5a565b34801561092357600080fd5b50610553610932366004614545565b611d65565b34801561094357600080fd5b50610586610952366004614275565b611de3565b34801561096357600080fd5b50610553610972366004614560565b611e5a565b34801561098357600080fd5b50610586610992366004614275565b611e65565b3480156109a357600080fd5b506105a86109b23660046142d5565b611ea7565b3480156109c357600080fd5b506105866109d236600461449c565b611eb3565b3480156109e357600080fd5b506105866109f23660046142bc565b611f3a565b348015610a0357600080fd5b506106ff610a12366004614275565b611fc0565b348015610a2357600080fd5b50610586610a32366004614275565b61203b565b348015610a4357600080fd5b50610a4c612072565b60405161055d919061457b565b348015610a6557600080fd5b506105a8610a74366004614275565b6120ae565b610586610a873660046145ae565b612128565b348015610a9857600080fd5b50610553612147565b348015610aad57600080fd5b50610586610abc3660046146bc565b612151565b348015610acd57600080fd5b50610553612386565b348015610ae257600080fd5b50610586610af1366004614275565b6123a3565b348015610b0257600080fd5b506040805180820190915260018152603560f81b6020820152610a4c565b348015610b2c57600080fd5b50610553600080516020614d9983398151915281565b348015610b4e57600080fd5b50610586610b5d36600461477c565b612428565b348015610b6e57600080fd5b506105a8610b7d366004614275565b6124bf565b348015610b8e57600080fd5b506105536124ca565b348015610ba357600080fd5b506105536124d4565b348015610bb857600080fd5b506105a8610bc73660046142d5565b6124de565b348015610bd857600080fd5b5061055361251a565b348015610bed57600080fd5b50610bf6612524565b60405161055d97969594939291906147b1565b348015610c1557600080fd5b50610553610c24366004614275565b61254e565b348015610c3557600080fd5b50610553610c443660046144ff565b612559565b348015610c5557600080fd5b50610553610c643660046142d5565b612565565b348015610c7557600080fd5b50610553610c843660046142d5565b612571565b348015610c9557600080fd5b50610586610ca4366004614275565b61257d565b348015610cb557600080fd5b50610553610cc436600461477c565b612602565b348015610cd557600080fd5b506105a8610ce43660046144ff565b612619565b348015610cf557600080fd5b50610cfe61264f565b60405165ffffffffffff909116815260200161055d565b348015610d2157600080fd5b50610553610d3036600461477c565b612659565b348015610d4157600080fd5b50610586610d503660046144ff565b612666565b348015610d6157600080fd5b506105536126e6565b348015610d7657600080fd5b50610586610d853660046142bc565b6126fb565b348015610d9657600080fd5b50610553600080516020614cd983398151915281565b348015610db857600080fd5b506105a8610dc7366004614275565b612781565b348015610dd857600080fd5b50610586610de7366004614275565b6127bb565b348015610df857600080fd5b506106ff610e07366004614275565b612840565b348015610e1857600080fd5b50610586610e27366004614847565b61287a565b348015610e3857600080fd5b50610553600081565b348015610e4d57600080fd5b50610586610e5c366004614863565b612901565b348015610e6d57600080fd5b5061058661298f565b348015610e8257600080fd5b506106ff610e91366004614275565b6129d3565b348015610ea257600080fd5b50610eb6610eb1366004614275565b612a0d565b60405161055d919061488c565b348015610ecf57600080fd5b50610553612a18565b348015610ee457600080fd5b50610a4c604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610f1557600080fd5b50610586610f24366004614275565b612a22565b348015610f3557600080fd5b50610f49610f443660046142bc565b612a9a565b60405161055d91906148fa565b348015610f6257600080fd5b50610586610f71366004614275565b612aa5565b348015610f8257600080fd5b50610553612adc565b348015610f9757600080fd5b50610586610fa63660046142d5565b612ae6565b348015610fb757600080fd5b50610586610fc6366004614908565b612b37565b348015610fd757600080fd5b50610586610fe63660046142bc565b612b72565b348015610ff757600080fd5b506106ff6110063660046142d5565b612bf8565b34801561101757600080fd5b50610553611026366004614275565b612c34565b34801561103757600080fd5b50610586611046366004614275565b612c3f565b34801561105757600080fd5b50610586611066366004614908565b612c81565b34801561107757600080fd5b50610553612cbc565b34801561108c57600080fd5b506110a061109b366004614275565b612cc6565b60405161055d9291906149a4565b3480156110ba57600080fd5b506105866110c9366004614275565b612cd3565b3480156110da57600080fd5b506105a86110e93660046149ce565b612d52565b3480156110fa57600080fd5b5061058661110936600461449c565b612d8c565b34801561111a57600080fd5b50610553611129366004614275565b612e13565b34801561113a57600080fd5b5061069c6111493660046149ef565b612e1e565b34801561115a57600080fd5b50610586611169366004614275565b612ebd565b34801561117a57600080fd5b506105866111893660046142bc565b612ef4565b34801561119a57600080fd5b506105866111a93660046144ff565b612f7a565b3480156111ba57600080fd5b506105866111c93660046149ce565b612fd2565b3480156111da57600080fd5b506105536111e93660046142d5565b613021565b3480156111fa57600080fd5b50610586611209366004614275565b61302d565b34801561121a57600080fd5b506106ff6130fa565b34801561122f57600080fd5b5061058661123e366004614275565b613104565b34801561124f57600080fd5b50610553600080516020614db983398151915281565b34801561127157600080fd5b506105536112803660046142d5565b61313b565b34801561129157600080fd5b506105a86112a03660046142d5565b6131b8565b3480156112b157600080fd5b506112c56112c0366004614275565b6131f4565b60405161055d9190614a1b565b3480156112de57600080fd5b506105866112ed3660046142bc565b6131ff565b3480156112fe57600080fd5b506105a861130d3660046142d5565b613285565b34801561131e57600080fd5b50610553600080516020614d1983398151915281565b34801561134057600080fd5b506106ff61134f3660046142d5565b6132c1565b34801561136057600080fd5b506110a061136f366004614275565b6132fd565b34801561138057600080fd5b5061058661138f366004614275565b61330a565b3480156113a057600080fd5b50610553600080516020614d7983398151915281565b3480156113c257600080fd5b506105a86113d1366004614275565b61338f565b3480156113e257600080fd5b506105a86113f1366004614275565b61339a565b600061140283836133a5565b90505b92915050565b6040516270f93d60e01b815273__$0ce9527368cd8611c82ba5104340dc5716$__906270f93d906114409084906004016143b4565b60006040518083038186803b15801561145857600080fd5b505af415801561146c573d6000803e3d6000fd5b5050505050565b60006001600160e01b03198216637965db0b60e01b148061140557506301ffc9a760e01b6001600160e01b0319831614611405565b60006114b48133612619565b1580156114c957506114c7600033612619565b155b156114f25733604051634f2bbdc160e01b81526004016114e991906143b4565b60405180910390fd5b6040516304e7e0b960e01b81526004810183905273__$01bad9438ee2dc44a40ff25bef95b76f4f$__906304e7e0b9906024015b60006040518083038186803b15801561153e57600080fd5b505af4158015611552573d6000803e3d6000fd5b505050505050565b6000611405826133d0565b60405163045bb59d60e11b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__906308b76b3a906115a19086908690600401614a2e565b602060405180830381865af41580156115be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190614a57565b600080516020614dd98339815191526115fb8133612619565b158015611610575061160e600033612619565b155b156116305733604051634f2bbdc160e01b81526004016114e991906143b4565b604051631d0c00a760e21b815273__$01bad9438ee2dc44a40ff25bef95b76f4f$__90637430029c906116699086908690600401614a72565b60006040518083038186803b15801561168157600080fd5b505af4158015611695573d6000803e3d6000fd5b50505050505050565b6000606073__$4e217737702f509f729e089778f517e36b$__630f73927a846040518263ffffffff1660e01b81526004016116d991906143b4565b600060405180830381865af41580156116f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261171e9190810190614a86565b91509150915091565b60046000611733613413565b8054909150600160401b900460ff168061175a575080546001600160401b03808416911610155b156117785760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b178155600080516020614d198339815191526117af81613437565b6001600160a01b0384166118245760405162461bcd60e51b815260206004820152603660248201527f566542657474657250617373706f727456353a207265736574207369676e616c604482015275657220697320746865207a65726f206164647265737360501b60648201526084016114e9565b61183c600080516020614cd983398151915285613444565b5050805460ff60401b19168155604051600080516020614cf983398151915290611867908490614b10565b60405180910390a1505050565b6040516309996f2360e11b815273__$0ce9527368cd8611c82ba5104340dc5716$__90631332de46906114409084906004016143b4565b60006118b56134e5565b905090565b600061140582613503565b73__$0ce9527368cd8611c82ba5104340dc5716$__6315b75cf06040518163ffffffff1660e01b815260040160006040518083038186803b15801561190957600080fd5b505af415801561191d573d6000803e3d6000fd5b50505050565b6005600061192f613413565b8054909150600160401b900460ff1680611956575080546001600160401b03808416911610155b156119745760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b178155600080516020614d198339815191526119ab81613437565b50805460ff60401b19168155604051600080516020614cf9833981519152906119d5908490614b10565b60405180910390a15050565b600080516020614cd98339815191526119fa8133612619565b158015611a0f5750611a0d600033612619565b155b15611a2f5733604051634f2bbdc160e01b81526004016114e991906143b4565b6040516307d3ca5d60e11b815273__$c736492082575433b719bed8a76c099dbf$__90630fa794ba906116699086908690600401614b24565b600080611a73613534565b60009384526020525050604090206001015490565b600080516020614cb9833981519152611aa18133612619565b158015611ab65750611ab4600033612619565b155b15611ad65733604051634f2bbdc160e01b81526004016114e991906143b4565b6040516326b320ab60e01b815273__$c736492082575433b719bed8a76c099dbf$__906326b320ab90611b0f9086908690600401614b48565b60006040518083038186803b158015611b2757600080fd5b505af4158015611b3b573d6000803e3d6000fd5b5050505061191d600080516020614d5983398151915283613444565b604051632be4d14d60e01b815273__$3eecb354d2e66d731696ed2a6ad16f4e98$__90632be4d14d906114409084906004016143b4565b600080516020614d79833981519152611ba681613437565b604051630b406a6d60e21b81526004810183905273__$98aab66687f01439e49ad75e0cf80177a1$__90632d01a9b490602401611526565b60006118b5613558565b600080516020614cb9833981519152611c018133612619565b158015611c165750611c14600033612619565b155b15611c365733604051634f2bbdc160e01b81526004016114e991906143b4565b61191d8383613444565b60006118b5613576565b6001600160a01b0381163314611c735760405163334bd91960e11b815260040160405180910390fd5b611c7d828261359e565b505050565b73__$3eecb354d2e66d731696ed2a6ad16f4e98$__6336db28b36040518163ffffffff1660e01b815260040160006040518083038186803b15801561190957600080fd5b60405163071b1ad160e31b815260009073__$0ce9527368cd8611c82ba5104340dc5716$__906338d8d68890611d029086908690600401614a2e565b602060405180830381865af4158015611d1f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190614b5f565b60006114028383613616565b60006114058261364f565b60006114058261367f565b604051633c8c8f7960e01b815265ffffffffffff8216600482015260009073__$01bad9438ee2dc44a40ff25bef95b76f4f$__90633c8c8f7990602401602060405180830381865af4158015611dbf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114059190614b7c565b6000611def8133612619565b158015611e045750611e02600033612619565b155b15611e245733604051634f2bbdc160e01b81526004016114e991906143b4565b6040516241c19d60e91b815273__$ac38685af835bd8eb36bcfcb5d92d6b288$__906383833a00906115269085906004016143b4565b60006114058261369f565b6000611e7081613437565b604051637d4b948360e01b815273__$ac38685af835bd8eb36bcfcb5d92d6b288$__90637d4b9483906115269085906004016143b4565b600061140283836136ec565b600080516020614d59833981519152611ecc8133612619565b158015611ee15750611edf600033612619565b155b15611f015733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163451e100d60e01b815273__$c736492082575433b719bed8a76c099dbf$__9063451e100d906116699086908690600401614b24565b600080516020614d79833981519152611f538133612619565b158015611f685750611f66600033612619565b155b15611f885733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163453b8b0760e01b81526004810183905273__$44448e0c68a612aa8818defe9fd68968ad$__9063453b8b0790602401611526565b60405163233dccdb60e11b815260009073__$0ce9527368cd8611c82ba5104340dc5716$__9063467b99b690611ffa9085906004016143b4565b602060405180830381865af4158015612017573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114059190614b5f565b6040516324accb8960e11b815273__$3eecb354d2e66d731696ed2a6ad16f4e98$__906349599712906114409084906004016143b4565b60606118b560408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b604051629ca80f60e71b815260009073__$44448e0c68a612aa8818defe9fd68968ad$__90634e540780906120e79085906004016143b4565b602060405180830381865af4158015612104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114059190614a57565b612130613728565b612139826137cf565b61214382826137e7565b5050565b60006118b561389b565b600061215b613413565b805490915060ff600160401b82041615906001600160401b03166000811580156121825750825b90506000826001600160401b0316600114801561219e5750303b155b9050811580156121ac575080155b156121ca5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156121f357845460ff60401b1916600160401b1785555b6121fb6138b0565b6122036138b0565b604051630723217360e31b815273__$ac38685af835bd8eb36bcfcb5d92d6b288$__906339190b989061223a908a90600401614b95565b60006040518083038186803b15801561225257600080fd5b505af4158015612266573d6000803e3d6000fd5b50508751612278925060009150613444565b50612295600080516020614d198339815191528760400151613444565b506122b2600080516020614d598339815191528760200151613444565b506122cf600080516020614cb98339815191528760800151613444565b506122ec600080516020614d798339815191528760600151613444565b50612309600080516020614d998339815191528760c00151613444565b50612326600080516020614db98339815191528760e00151613444565b50612344600080516020614dd9833981519152876101000151613444565b50831561169557845460ff60401b19168555604051600080516020614cf98339815191529061237590600190614b10565b60405180910390a150505050505050565b60006123906138b8565b50600080516020614d3983398151915290565b600080516020614d998339815191526123bc8133612619565b1580156123d157506123cf600033612619565b155b156123f15733604051634f2bbdc160e01b81526004016114e991906143b4565b6040516329bef9db60e11b815273__$44448e0c68a612aa8818defe9fd68968ad$__9063537df3b6906115269085906004016143b4565b600080516020614db983398151915261244081613437565b604051635801b70f60e01b81526001600160a01b0385166004820152602481018490526044810183905273__$01bad9438ee2dc44a40ff25bef95b76f4f$__90635801b70f9060640160006040518083038186803b1580156124a157600080fd5b505af41580156124b5573d6000803e3d6000fd5b5050505050505050565b600061140582613901565b60006118b561392f565b60006118b5613944565b604051631b9a8c1360e21b815260009073__$0ce9527368cd8611c82ba5104340dc5716$__90636e6a304c906115a19086908690600401614a2e565b60006118b5613959565b60006060806000806000606061253861396e565b959d949c50929a50909850965094509092509050565b600061140582613a21565b60006114028383613a4e565b60006114028383613a84565b60006114028383613abd565b600080516020614d998339815191526125968133612619565b1580156125ab57506125a9600033612619565b155b156125cb5733604051634f2bbdc160e01b81526004016114e991906143b4565b604051638ab1d68160e01b815273__$44448e0c68a612aa8818defe9fd68968ad$__90638ab1d681906115269085906004016143b4565b600061260f848484613af6565b90505b9392505050565b600080612624613534565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006118b5613b3a565b600061260f848484613b44565b60405162943e7160e81b815273__$c736492082575433b719bed8a76c099dbf$__9063943e71009061269e9085908590600401614b48565b60006040518083038186803b1580156126b657600080fd5b505af41580156126ca573d6000803e3d6000fd5b50505050611c7d600080516020614d5983398151915282613444565b6000806126f1613b88565b6001015492915050565b600080516020614d798339815191526127148133612619565b1580156127295750612727600033612619565b155b156127495733604051634f2bbdc160e01b81526004016114e991906143b4565b6040516312fb110d60e31b81526004810183905273__$44448e0c68a612aa8818defe9fd68968ad$__906397d8886890602401611526565b60405163989f5fd560e01b815260009073__$44448e0c68a612aa8818defe9fd68968ad$__9063989f5fd5906120e79085906004016143b4565b600080516020614d998339815191526127d48133612619565b1580156127e957506127e7600033612619565b155b156128095733604051634f2bbdc160e01b81526004016114e991906143b4565b604051634d8c928d60e11b815273__$44448e0c68a612aa8818defe9fd68968ad$__90639b19251a906115269085906004016143b4565b604051639b4e735f60e01b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__90639b4e735f90611ffa9085906004016143b4565b600080516020614dd98339815191526128938133612619565b1580156128a857506128a6600033612619565b155b156128c85733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163b6a7eb5560e01b815273__$01bad9438ee2dc44a40ff25bef95b76f4f$__9063b6a7eb55906116699086908690600401614c1f565b600080516020614dd983398151915261291a8133612619565b15801561292f575061292d600033612619565b155b1561294f5733604051634f2bbdc160e01b81526004016114e991906143b4565b604051635132cb6f60e11b81526001600160d01b038316600482015273__$01bad9438ee2dc44a40ff25bef95b76f4f$__9063a26596de90602401611526565b73__$3eecb354d2e66d731696ed2a6ad16f4e98$__63a4d318056040518163ffffffff1660e01b815260040160006040518083038186803b15801561190957600080fd5b60405163a64ad59560e01b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063a64ad59590611ffa9085906004016143b4565b606061140582613bac565b60006118b5613c29565b6000612a2e8133612619565b158015612a435750612a41600033612619565b155b15612a635733604051634f2bbdc160e01b81526004016114e991906143b4565b604051633c6e220160e11b815273__$ac38685af835bd8eb36bcfcb5d92d6b288$__906378dc4402906115269085906004016143b4565b600061140582613c3e565b604051632d22a58d60e21b815273__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063b48a9634906114409084906004016143b4565b60006118b5613c61565b600080516020614db9833981519152612afe81613437565b604051630b7af06960e41b815273__$01bad9438ee2dc44a40ff25bef95b76f4f$__9063b7af0690906116699086908690600401614a2e565b60405163b93501a560e01b815273__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063b93501a59061166990869086908690600401614c3a565b600080516020614dd9833981519152612b8b8133612619565b158015612ba05750612b9e600033612619565b155b15612bc05733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163bb004e9360e01b81526004810183905273__$01bad9438ee2dc44a40ff25bef95b76f4f$__9063bb004e9390602401611526565b60405163bc6237ff60e01b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063bc6237ff90611d029086908690600401614a2e565b600061140582613c76565b6000612c4a81613437565b60405163c60ef11d60e01b815273__$c736492082575433b719bed8a76c099dbf$__9063c60ef11d906115269085906004016143b4565b60405163c791e93760e01b815273__$0ce9527368cd8611c82ba5104340dc5716$__9063c791e9379061166990869086908690600401614c3a565b60006118b56126e6565b6060600061171e83613ca3565b604051630cb156fb60e41b815273__$c736492082575433b719bed8a76c099dbf$__9063cb156fb090612d0a9084906004016143b4565b60006040518083038186803b158015612d2257600080fd5b505af4158015612d36573d6000803e3d6000fd5b50505050612143600080516020614d598339815191528261359e565b6040516307ca491d60e41b815260009073__$98aab66687f01439e49ad75e0cf80177a1$__90637ca491d0906120e7908590600401614c61565b600080516020614d59833981519152612da58133612619565b158015612dba5750612db8600033612619565b155b15612dda5733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163671b8f8360e11b815273__$c736492082575433b719bed8a76c099dbf$__9063ce371f06906116699086908690600401614b24565b600061140582613d41565b604051636875d87760e11b81526001600160a01b038316600482015265ffffffffffff8216602482015260009060609073__$4e217737702f509f729e089778f517e36b$__9063d0ebb0ee90604401600060405180830381865af4158015612e8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612eb29190810190614a86565b915091509250929050565b60405163688a1f9d60e11b815273__$0ce9527368cd8611c82ba5104340dc5716$__9063d1143f3a906114409084906004016143b4565b600080516020614d79833981519152612f0d8133612619565b158015612f225750612f20600033612619565b155b15612f425733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163d2a98f8b60e01b81526004810183905273__$0ce9527368cd8611c82ba5104340dc5716$__9063d2a98f8b90602401611526565b600080516020614cb9833981519152612f938133612619565b158015612fa85750612fa6600033612619565b155b15612fc85733604051634f2bbdc160e01b81526004016114e991906143b4565b61191d838361359e565b600080516020614d79833981519152612fea81613437565b6040516374e046d960e01b815273__$98aab66687f01439e49ad75e0cf80177a1$__906374e046d990611526908590600401614c61565b60006114028383613d6e565b600080516020614cb98339815191526130468133612619565b15801561305b5750613059600033612619565b155b1561307b5733604051634f2bbdc160e01b81526004016114e991906143b4565b604051630dc8debb60e41b815273__$c736492082575433b719bed8a76c099dbf$__9063dc8debb0906130b29085906004016143b4565b60006040518083038186803b1580156130ca57600080fd5b505af41580156130de573d6000803e3d6000fd5b50505050611c7d600080516020614d598339815191528361359e565b60006118b5613da7565b60405163382c8f6d60e21b815273__$0ce9527368cd8611c82ba5104340dc5716$__9063e0b23db4906114409084906004016143b4565b60405163e18c10d360e01b815260009073__$01bad9438ee2dc44a40ff25bef95b76f4f$__9063e18c10d3906131779086908690600401614a2e565b602060405180830381865af4158015613194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190614b7c565b60405163390c941160e21b815260009073__$0ce9527368cd8611c82ba5104340dc5716$__9063e4325044906115a19086908690600401614a2e565b606061140582613dc5565b600080516020614d198339815191526132188133612619565b15801561322d575061322b600033612619565b155b1561324d5733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163ebd695c360e01b81526004810183905273__$c736492082575433b719bed8a76c099dbf$__9063ebd695c390602401611526565b60405163f4079c1f60e01b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063f4079c1f906115a19086908690600401614a2e565b60405163f9561f6760e01b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063f9561f6790611d029086908690600401614a2e565b6060600061171e83613e4b565b600080516020614d998339815191526133238133612619565b1580156133385750613336600033612619565b155b156133585733604051634f2bbdc160e01b81526004016114e991906143b4565b604051633e7e4af960e21b815273__$44448e0c68a612aa8818defe9fd68968ad$__9063f9f92be4906115269085906004016143b4565b600061140582613ee7565b600061140582613f18565b6000806133b0613b88565b6000948552602a0160209081526040808620948652939052505090205490565b6000806133db613b88565b6001600160a01b0384166000908152601f82016020526040902090915061340190613f48565b6001600160a01b031615159392505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b6134418133613f8f565b50565b60008061344f613534565b905061345b8484612619565b6134db576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556134913390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050611405565b6000915050611405565b6000806134f0613b88565b600401546001600160a01b031692915050565b60008061350e613b88565b6001600160a01b0384166000908152601782016020526040902090915061340190613f48565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b600080613563613b88565b600301546001600160a01b031692915050565b600080613581613b88565b905061358f81601101613fba565b6001600160d01b031691505090565b6000806135a9613534565b90506135b58484612619565b156134db576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050611405565b600080613621613b88565b6001600160a01b03949094166000908152600e90940160209081526040808620948652939052505090205490565b60008061365a613b88565b6001600160a01b03909316600090815260059093016020525050604090205460ff1690565b60008061368a613b88565b60009384526027016020525050604090205490565b6000806136aa613b88565b905080600b0160008460038111156136c4576136c46148d0565b60038111156136d5576136d56148d0565b815260200190815260200160002054915050919050565b6000806136f7613b88565b6001600160a01b03949094166000908152601490940160209081526040808620948652939052505090205460ff1690565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806137af57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166137a3600080516020614d39833981519152546001600160a01b031690565b6001600160a01b031614155b156137cd5760405163703e46dd60e11b815260040160405180910390fd5b565b600080516020614d1983398151915261214381613437565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613841575060408051601f3d908101601f1916820190925261383e91810190614b7c565b60015b6138605781604051634c9c8ce360e01b81526004016114e991906143b4565b600080516020614d39833981519152811461389157604051632a87526960e21b8152600481018290526024016114e9565b611c7d8383613fea565b6000806138a6613b88565b601d015492915050565b6137cd614040565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146137cd5760405163703e46dd60e11b815260040160405180910390fd5b60008061390c613b88565b6001600160a01b0390931660009081526018909301602052505060409020541590565b60008061393a613b88565b600a015492915050565b60008061394f613b88565b6012015492915050565b600080613964613b88565b6024015492915050565b60006060806000806000606060405180604001604052806012815260200171566542657474657250617373706f7274563560701b815250604051806040016040528060018152602001603160f81b81525046306000801b60006001600160401b038111156139de576139de6143c8565b604051908082528060200260200182016040528015613a07578160200160208202803683370190505b50600f60f81b9d959c50939a509198509650945092509050565b600080613a2c613b88565b6001600160a01b03909316600090815260259093016020525050604090205490565b600080613a59613b88565b6000948552602601602090815260408086206001600160a01b03959095168652939052505090205490565b600080613a8f613b88565b6001600160a01b03949094166000908152602c90940160209081526040808620948652939052505090205490565b600080613ac8613b88565b6001600160a01b03949094166000908152600f90940160209081526040808620948652939052505090205490565b600080613b01613b88565b6001600160a01b038616600090815260109091016020908152604080832087845282528083208684529091529020549150509392505050565b60006118b5614065565b600080613b4f613b88565b6001600160a01b0386166000908152602b9091016020908152604080832087845282528083208684529091529020549150509392505050565b7f273c9387b78d9b22e6f3371bb3aa3a918f53507e8cacc54e4831933cbb84410090565b60606000613bb8613b88565b6001600160a01b03841660009081526015820160209081526040918290208054835181840281018401909452808452939450919290830182828015613c1c57602002820191906000526020600020905b815481526020019060010190808311613c08575b5050505050915050919050565b600080613c34613b88565b6013015492915050565b600080613c49613b88565b6000938452600c016020525050604090205460ff1690565b600080613c6c613b88565b6009015492915050565b600080613c81613b88565b6001600160a01b03909316600090815260239093016020525050604090205490565b6060600080613cb0613b88565b6001600160a01b03808616600090815260218301602090815260408083206022860183529281902054835482518185028101850190935280835295965092949290931692918491830182828015613d3057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613d12575b505050505091509250925050915091565b600080613d4c613b88565b6001600160a01b039093166000908152600d9093016020525050604090205490565b600080613d79613b88565b6001600160a01b03949094166000908152602990940160209081526040808620948652939052505090205490565b600080613db2613b88565b600201546001600160a01b031692915050565b60606000613dd1613b88565b6001600160a01b03841660009081526019820160209081526040918290208054835181840281018401909452808452939450919290830182828015613c1c57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613e21575050505050915050919050565b6060600080613e58613b88565b6001600160a01b038086166000908152601b830160209081526040808320601c860183529281902054835482518185028101850190935280835295965092949290931692918491830182828015613d30576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311613d1257505050505091509250925050915091565b600080613ef2613b88565b6001600160a01b0384166000908152601e82016020526040902090915061340190613f48565b600080613f23613b88565b6001600160a01b03909316600090815260069093016020525050604090205460ff1690565b80546000908015613f8657613f7083613f62600184614c7b565b600091825260209091200190565b54600160601b90046001600160a01b0316612612565b60009392505050565b613f998282612619565b61214357808260405163e2517d3f60e01b81526004016114e9929190614a2e565b80546000908015613f8657613fd483613f62600184614c7b565b54600160301b90046001600160d01b0316612612565b613ff382614070565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561403857611c7d82826140cc565b612143614142565b614048614161565b6137cd57604051631afcd79f60e31b815260040160405180910390fd5b60006118b54361417b565b806001600160a01b03163b60000361409d5780604051634c9c8ce360e01b81526004016114e991906143b4565b600080516020614d3983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516140e99190614c9c565b600060405180830381855af49150503d8060008114614124576040519150601f19603f3d011682016040523d82523d6000602084013e614129565b606091505b50915091506141398583836141b2565b95945050505050565b34156137cd5760405163b398979f60e01b815260040160405180910390fd5b600061416b613413565b54600160401b900460ff16919050565b600065ffffffffffff8211156141ae576040516306dfcc6560e41b815260306004820152602481018390526044016114e9565b5090565b6060826141c7576141c282614205565b612612565b81511580156141de57506001600160a01b0384163b155b156141fe5783604051639996b31560e01b81526004016114e991906143b4565b5080612612565b8051156142155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6000806040838503121561424157600080fd5b50508035926020909101359150565b6001600160a01b038116811461344157600080fd5b803561427081614250565b919050565b60006020828403121561428757600080fd5b813561261281614250565b6000602082840312156142a457600080fd5b81356001600160e01b03198116811461261257600080fd5b6000602082840312156142ce57600080fd5b5035919050565b600080604083850312156142e857600080fd5b82356142f381614250565b946020939093013593505050565b80356004811061427057600080fd5b6000806040838503121561432357600080fd5b8235915061433360208401614301565b90509250929050565b60005b8381101561435757818101518382015260200161433f565b50506000910152565b6000815180845261437881602086016020860161433c565b601f01601f19169290920160200192915050565b821515815260406020820152600061260f6040830184614360565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60405161014081016001600160401b0381118282101715614401576144016143c8565b60405290565b604051601f8201601f191681016001600160401b038111828210171561442f5761442f6143c8565b604052919050565b60006001600160401b03821115614450576144506143c8565b50601f01601f191660200190565b600061447161446c84614437565b614407565b905082815283838301111561448557600080fd5b828260208301376000602084830101529392505050565b600080604083850312156144af57600080fd5b82356144ba81614250565b915060208301356001600160401b038111156144d557600080fd5b8301601f810185136144e657600080fd5b6144f58582356020840161445e565b9150509250929050565b6000806040838503121561451257600080fd5b82359150602083013561452481614250565b809150509250929050565b803565ffffffffffff8116811461427057600080fd5b60006020828403121561455757600080fd5b6114028261452f565b60006020828403121561457257600080fd5b61140282614301565b6020815260006114026020830184614360565b600082601f83011261459f57600080fd5b6114028383356020850161445e565b600080604083850312156145c157600080fd5b82356145cc81614250565b915060208301356001600160401b038111156145e757600080fd5b6144f58582860161458e565b6000610140828403121561460657600080fd5b61460e6143de565b905061461982614265565b815261462760208301614265565b602082015261463860408301614265565b604082015261464960608301614265565b606082015261465a60808301614265565b608082015261466b60a08301614265565b60a082015261467c60c08301614265565b60c082015261468d60e08301614265565b60e08201526101006146a0818401614265565b908201526101206146b2838201614265565b9082015292915050565b6000808284036102808112156146d157600080fd5b610140808212156146e157600080fd5b6146e96143de565b91506146f485614265565b825261470260208601614265565b602083015261471360408601614265565b6040830152606085013560608301526080850135608083015260a085013560a083015260c085013560c083015260e085013560e0830152610100808601358184015250610120808601358184015250819350614771868287016145f3565b925050509250929050565b60008060006060848603121561479157600080fd5b833561479c81614250565b95602085013595506040909401359392505050565b60ff60f81b881681526000602060e0818401526147d160e084018a614360565b83810360408501526147e3818a614360565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561483557835183529284019291840191600101614819565b50909c9b505050505050505050505050565b6000806040838503121561485a57600080fd5b6142f383614301565b60006020828403121561487557600080fd5b81356001600160d01b038116811461261257600080fd5b6020808252825182820181905260009190848201906040850190845b818110156148c4578351835292840192918401916001016148a8565b50909695505050505050565b634e487b7160e01b600052602160045260246000fd5b600481106148f6576148f66148d0565b9052565b6020810161140582846148e6565b60008060006060848603121561491d57600080fd5b833561492881614250565b92506020840135915060408401356001600160401b0381111561494a57600080fd5b6149568682870161458e565b9150509250925092565b600081518084526020808501945080840160005b838110156149995781516001600160a01b031687529582019590820190600101614974565b509495945050505050565b6040815260006149b76040830185614960565b905060018060a01b03831660208301529392505050565b6000602082840312156149e057600080fd5b81356006811061261257600080fd5b60008060408385031215614a0257600080fd5b8235614a0d81614250565b91506143336020840161452f565b6020815260006114026020830184614960565b6001600160a01b03929092168252602082015260400190565b8051801515811461427057600080fd5b600060208284031215614a6957600080fd5b61140282614a47565b8281526040810161261260208301846148e6565b60008060408385031215614a9957600080fd5b614aa283614a47565b60208401519092506001600160401b03811115614abe57600080fd5b8301601f81018513614acf57600080fd5b8051614add61446c82614437565b818152866020838501011115614af257600080fd5b614b0382602083016020860161433c565b8093505050509250929050565b6001600160401b0391909116815260200190565b6001600160a01b038316815260406020820181905260009061260f90830184614360565b9182526001600160a01b0316602082015260400190565b600060208284031215614b7157600080fd5b815161261281614250565b600060208284031215614b8e57600080fd5b5051919050565b600061014082019050614ba98284516143a7565b6020830151614bbb60208401826143a7565b506040830151614bce60408401826143a7565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525092915050565b60408101614c2d82856148e6565b8260208301529392505050565b60018060a01b03841681528260208201526060604082015260006141396060830184614360565b6020810160068310614c7557614c756148d0565b91905290565b8181038181111561140557634e487b7160e01b600052601160045260246000fd5b60008251614cae81846020870161433c565b919091019291505056fea2328fc90c90feb8f254e41caa67a90952094a7c9c879c5eb4f2088aaecb4ae8ac58be8a321c2206f40fa040e0bfbe81fe4f1915b764a1a014733153b88bdbc4c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca4ce4aad7fca001529f4aae69bf669c4020e0aaa65ff85dc9f7b13c20e01624adfc0438b5754beb343462ff330f73266ff7457fdf879dfb68c958ccbe15765f38619cecd8b9e095ab43867f5b69d492180450fe862e6b50bfbfb24b75dd84c8a8593847a64af02e2c08b9075e3efde9fd32eb3ff59614cee8a349147abaf4870871b548319d0d53ee45b68fe2655a151a3b31b6371a6e2c04597200a2ca54474a2646970667358221220e374ed5f0af4410e8709b948f325f5d53642c613b57b4116d6398e3f6768d7fd64736f6c63430008140033",
  "deployedBytecode": "0x60806040526004361061052e5760003560e01c80623620161461053357806270f93d1461056657806301ffc9a71461058857806304e2a79a146105b857806304e7e0b9146105da578063080abb4c146105fa578063081bc0ba1461061a57806308b76b3a1461063c5780630e668aac1461065c5780630f73927a1461067c578063110a8308146106aa5780631332de46146106ca57806313ebae2a146106ea57806314887c581461070c57806315b75cf01461072c57806316e1f015146107415780631acebfbe146107565780631ee7632314610778578063248a9ca31461079857806326b320ab146107b85780632be4d14d146107d85780632d01a9b4146107f85780632d92dcdc146108185780632f2ff15d1461082d578063315b8bd01461084d57806336568abe1461086257806336db28b31461088257806338d8d688146108975780633910d657146108b75780633af32abf146108d75780633bf451a9146108f75780633c8c8f79146109175780633d47fe94146109375780633e420ce31461095757806340a6fc0b14610977578063428cce4414610997578063451e100d146109b7578063453b8b07146109d7578063467b99b6146109f75780634959971214610a175780634bf5d7e914610a375780634e54078014610a595780634f1ef28614610a795780634f69de0814610a8c57806352ba35c414610aa157806352d1902d14610ac1578063537df3b614610ad657806354fd4d5014610af6578063570618e114610b205780635801b70f14610b425780635a1dcf2c14610b625780635ce3309314610b82578063664d6e9e14610b975780636e6a304c14610bac5780637fd4f54f14610bcc57806384b0196e14610be1578063856868ec14610c0957806386fc460614610c29578063886d15d214610c495780638919b6e514610c695780638ab1d68114610c895780638d38b50f14610ca957806391d1485414610cc957806391ddadf414610ce95780639352d27214610d15578063943e710014610d355780639687f51114610d5557806397d8886814610d6a578063981e766214610d8a578063989f5fd514610dac5780639b19251a14610dcc5780639b4e735f14610dec5780639f14e0e214610e0c578063a217fddf14610e2c578063a26596de14610e41578063a4d3180514610e61578063a64ad59514610e76578063a8165f8614610e96578063a9c1f2f114610ec3578063ad3cb1cc14610ed8578063ae0b8da814610f09578063b292864a14610f29578063b48a963414610f56578063b5dadb1714610f76578063b7af069014610f8b578063b93501a514610fab578063bb004e9314610fcb578063bc6237ff14610feb578063c107e0d11461100b578063c60ef11d1461102b578063c791e9371461104b578063c817dcec1461106b578063ca3f511f14611080578063cb156fb0146110ae578063ccc3ced3146110ce578063ce371f06146110ee578063d0023fcb1461110e578063d0ebb0ee1461112e578063d1143f3a1461114e578063d2a98f8b1461116e578063d547741f1461118e578063d6cfbe1b146111ae578063d7ce41eb146111ce578063dc8debb0146111ee578063dd0c704b1461120e578063e0b23db414611223578063e0e4879514611243578063e18c10d314611265578063e432504414611285578063e60fd76c146112a5578063ebd695c3146112d2578063f4079c1f146112f2578063f72c0d8b14611312578063f9561f6714611334578063f9cfdfcc14611354578063f9f92be414611374578063fa7626d014611394578063fd8ab482146113b6578063fe575a87146113d6575b600080fd5b34801561053f57600080fd5b5061055361054e36600461422e565b6113f6565b6040519081526020015b60405180910390f35b34801561057257600080fd5b50610586610581366004614275565b61140b565b005b34801561059457600080fd5b506105a86105a3366004614292565b611473565b604051901515815260200161055d565b3480156105c457600080fd5b50610553600080516020614dd983398151915281565b3480156105e657600080fd5b506105866105f53660046142bc565b6114a8565b34801561060657600080fd5b506105a8610615366004614275565b61155a565b34801561062657600080fd5b50610553600080516020614cb983398151915281565b34801561064857600080fd5b506105a86106573660046142d5565b611565565b34801561066857600080fd5b50610586610677366004614310565b6115e2565b34801561068857600080fd5b5061069c610697366004614275565b61169e565b60405161055d92919061438c565b3480156106b657600080fd5b506105866106c5366004614275565b611727565b3480156106d657600080fd5b506105866106e5366004614275565b611874565b3480156106f657600080fd5b506106ff6118ab565b60405161055d91906143b4565b34801561071857600080fd5b506105a8610727366004614275565b6118ba565b34801561073857600080fd5b506105866118c5565b34801561074d57600080fd5b50610586611923565b34801561076257600080fd5b50610553600080516020614d5983398151915281565b34801561078457600080fd5b5061058661079336600461449c565b6119e1565b3480156107a457600080fd5b506105536107b33660046142bc565b611a68565b3480156107c457600080fd5b506105866107d33660046144ff565b611a88565b3480156107e457600080fd5b506105866107f3366004614275565b611b57565b34801561080457600080fd5b506105866108133660046142bc565b611b8e565b34801561082457600080fd5b506106ff611bde565b34801561083957600080fd5b506105866108483660046144ff565b611be8565b34801561085957600080fd5b50610553611c40565b34801561086e57600080fd5b5061058661087d3660046144ff565b611c4a565b34801561088e57600080fd5b50610586611c82565b3480156108a357600080fd5b506106ff6108b23660046142d5565b611cc6565b3480156108c357600080fd5b506105536108d23660046142d5565b611d43565b3480156108e357600080fd5b506105a86108f2366004614275565b611d4f565b34801561090357600080fd5b506105536109123660046142bc565b611d5a565b34801561092357600080fd5b50610553610932366004614545565b611d65565b34801561094357600080fd5b50610586610952366004614275565b611de3565b34801561096357600080fd5b50610553610972366004614560565b611e5a565b34801561098357600080fd5b50610586610992366004614275565b611e65565b3480156109a357600080fd5b506105a86109b23660046142d5565b611ea7565b3480156109c357600080fd5b506105866109d236600461449c565b611eb3565b3480156109e357600080fd5b506105866109f23660046142bc565b611f3a565b348015610a0357600080fd5b506106ff610a12366004614275565b611fc0565b348015610a2357600080fd5b50610586610a32366004614275565b61203b565b348015610a4357600080fd5b50610a4c612072565b60405161055d919061457b565b348015610a6557600080fd5b506105a8610a74366004614275565b6120ae565b610586610a873660046145ae565b612128565b348015610a9857600080fd5b50610553612147565b348015610aad57600080fd5b50610586610abc3660046146bc565b612151565b348015610acd57600080fd5b50610553612386565b348015610ae257600080fd5b50610586610af1366004614275565b6123a3565b348015610b0257600080fd5b506040805180820190915260018152603560f81b6020820152610a4c565b348015610b2c57600080fd5b50610553600080516020614d9983398151915281565b348015610b4e57600080fd5b50610586610b5d36600461477c565b612428565b348015610b6e57600080fd5b506105a8610b7d366004614275565b6124bf565b348015610b8e57600080fd5b506105536124ca565b348015610ba357600080fd5b506105536124d4565b348015610bb857600080fd5b506105a8610bc73660046142d5565b6124de565b348015610bd857600080fd5b5061055361251a565b348015610bed57600080fd5b50610bf6612524565b60405161055d97969594939291906147b1565b348015610c1557600080fd5b50610553610c24366004614275565b61254e565b348015610c3557600080fd5b50610553610c443660046144ff565b612559565b348015610c5557600080fd5b50610553610c643660046142d5565b612565565b348015610c7557600080fd5b50610553610c843660046142d5565b612571565b348015610c9557600080fd5b50610586610ca4366004614275565b61257d565b348015610cb557600080fd5b50610553610cc436600461477c565b612602565b348015610cd557600080fd5b506105a8610ce43660046144ff565b612619565b348015610cf557600080fd5b50610cfe61264f565b60405165ffffffffffff909116815260200161055d565b348015610d2157600080fd5b50610553610d3036600461477c565b612659565b348015610d4157600080fd5b50610586610d503660046144ff565b612666565b348015610d6157600080fd5b506105536126e6565b348015610d7657600080fd5b50610586610d853660046142bc565b6126fb565b348015610d9657600080fd5b50610553600080516020614cd983398151915281565b348015610db857600080fd5b506105a8610dc7366004614275565b612781565b348015610dd857600080fd5b50610586610de7366004614275565b6127bb565b348015610df857600080fd5b506106ff610e07366004614275565b612840565b348015610e1857600080fd5b50610586610e27366004614847565b61287a565b348015610e3857600080fd5b50610553600081565b348015610e4d57600080fd5b50610586610e5c366004614863565b612901565b348015610e6d57600080fd5b5061058661298f565b348015610e8257600080fd5b506106ff610e91366004614275565b6129d3565b348015610ea257600080fd5b50610eb6610eb1366004614275565b612a0d565b60405161055d919061488c565b348015610ecf57600080fd5b50610553612a18565b348015610ee457600080fd5b50610a4c604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610f1557600080fd5b50610586610f24366004614275565b612a22565b348015610f3557600080fd5b50610f49610f443660046142bc565b612a9a565b60405161055d91906148fa565b348015610f6257600080fd5b50610586610f71366004614275565b612aa5565b348015610f8257600080fd5b50610553612adc565b348015610f9757600080fd5b50610586610fa63660046142d5565b612ae6565b348015610fb757600080fd5b50610586610fc6366004614908565b612b37565b348015610fd757600080fd5b50610586610fe63660046142bc565b612b72565b348015610ff757600080fd5b506106ff6110063660046142d5565b612bf8565b34801561101757600080fd5b50610553611026366004614275565b612c34565b34801561103757600080fd5b50610586611046366004614275565b612c3f565b34801561105757600080fd5b50610586611066366004614908565b612c81565b34801561107757600080fd5b50610553612cbc565b34801561108c57600080fd5b506110a061109b366004614275565b612cc6565b60405161055d9291906149a4565b3480156110ba57600080fd5b506105866110c9366004614275565b612cd3565b3480156110da57600080fd5b506105a86110e93660046149ce565b612d52565b3480156110fa57600080fd5b5061058661110936600461449c565b612d8c565b34801561111a57600080fd5b50610553611129366004614275565b612e13565b34801561113a57600080fd5b5061069c6111493660046149ef565b612e1e565b34801561115a57600080fd5b50610586611169366004614275565b612ebd565b34801561117a57600080fd5b506105866111893660046142bc565b612ef4565b34801561119a57600080fd5b506105866111a93660046144ff565b612f7a565b3480156111ba57600080fd5b506105866111c93660046149ce565b612fd2565b3480156111da57600080fd5b506105536111e93660046142d5565b613021565b3480156111fa57600080fd5b50610586611209366004614275565b61302d565b34801561121a57600080fd5b506106ff6130fa565b34801561122f57600080fd5b5061058661123e366004614275565b613104565b34801561124f57600080fd5b50610553600080516020614db983398151915281565b34801561127157600080fd5b506105536112803660046142d5565b61313b565b34801561129157600080fd5b506105a86112a03660046142d5565b6131b8565b3480156112b157600080fd5b506112c56112c0366004614275565b6131f4565b60405161055d9190614a1b565b3480156112de57600080fd5b506105866112ed3660046142bc565b6131ff565b3480156112fe57600080fd5b506105a861130d3660046142d5565b613285565b34801561131e57600080fd5b50610553600080516020614d1983398151915281565b34801561134057600080fd5b506106ff61134f3660046142d5565b6132c1565b34801561136057600080fd5b506110a061136f366004614275565b6132fd565b34801561138057600080fd5b5061058661138f366004614275565b61330a565b3480156113a057600080fd5b50610553600080516020614d7983398151915281565b3480156113c257600080fd5b506105a86113d1366004614275565b61338f565b3480156113e257600080fd5b506105a86113f1366004614275565b61339a565b600061140283836133a5565b90505b92915050565b6040516270f93d60e01b815273__$0ce9527368cd8611c82ba5104340dc5716$__906270f93d906114409084906004016143b4565b60006040518083038186803b15801561145857600080fd5b505af415801561146c573d6000803e3d6000fd5b5050505050565b60006001600160e01b03198216637965db0b60e01b148061140557506301ffc9a760e01b6001600160e01b0319831614611405565b60006114b48133612619565b1580156114c957506114c7600033612619565b155b156114f25733604051634f2bbdc160e01b81526004016114e991906143b4565b60405180910390fd5b6040516304e7e0b960e01b81526004810183905273__$01bad9438ee2dc44a40ff25bef95b76f4f$__906304e7e0b9906024015b60006040518083038186803b15801561153e57600080fd5b505af4158015611552573d6000803e3d6000fd5b505050505050565b6000611405826133d0565b60405163045bb59d60e11b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__906308b76b3a906115a19086908690600401614a2e565b602060405180830381865af41580156115be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190614a57565b600080516020614dd98339815191526115fb8133612619565b158015611610575061160e600033612619565b155b156116305733604051634f2bbdc160e01b81526004016114e991906143b4565b604051631d0c00a760e21b815273__$01bad9438ee2dc44a40ff25bef95b76f4f$__90637430029c906116699086908690600401614a72565b60006040518083038186803b15801561168157600080fd5b505af4158015611695573d6000803e3d6000fd5b50505050505050565b6000606073__$4e217737702f509f729e089778f517e36b$__630f73927a846040518263ffffffff1660e01b81526004016116d991906143b4565b600060405180830381865af41580156116f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261171e9190810190614a86565b91509150915091565b60046000611733613413565b8054909150600160401b900460ff168061175a575080546001600160401b03808416911610155b156117785760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b178155600080516020614d198339815191526117af81613437565b6001600160a01b0384166118245760405162461bcd60e51b815260206004820152603660248201527f566542657474657250617373706f727456353a207265736574207369676e616c604482015275657220697320746865207a65726f206164647265737360501b60648201526084016114e9565b61183c600080516020614cd983398151915285613444565b5050805460ff60401b19168155604051600080516020614cf983398151915290611867908490614b10565b60405180910390a1505050565b6040516309996f2360e11b815273__$0ce9527368cd8611c82ba5104340dc5716$__90631332de46906114409084906004016143b4565b60006118b56134e5565b905090565b600061140582613503565b73__$0ce9527368cd8611c82ba5104340dc5716$__6315b75cf06040518163ffffffff1660e01b815260040160006040518083038186803b15801561190957600080fd5b505af415801561191d573d6000803e3d6000fd5b50505050565b6005600061192f613413565b8054909150600160401b900460ff1680611956575080546001600160401b03808416911610155b156119745760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b178155600080516020614d198339815191526119ab81613437565b50805460ff60401b19168155604051600080516020614cf9833981519152906119d5908490614b10565b60405180910390a15050565b600080516020614cd98339815191526119fa8133612619565b158015611a0f5750611a0d600033612619565b155b15611a2f5733604051634f2bbdc160e01b81526004016114e991906143b4565b6040516307d3ca5d60e11b815273__$c736492082575433b719bed8a76c099dbf$__90630fa794ba906116699086908690600401614b24565b600080611a73613534565b60009384526020525050604090206001015490565b600080516020614cb9833981519152611aa18133612619565b158015611ab65750611ab4600033612619565b155b15611ad65733604051634f2bbdc160e01b81526004016114e991906143b4565b6040516326b320ab60e01b815273__$c736492082575433b719bed8a76c099dbf$__906326b320ab90611b0f9086908690600401614b48565b60006040518083038186803b158015611b2757600080fd5b505af4158015611b3b573d6000803e3d6000fd5b5050505061191d600080516020614d5983398151915283613444565b604051632be4d14d60e01b815273__$3eecb354d2e66d731696ed2a6ad16f4e98$__90632be4d14d906114409084906004016143b4565b600080516020614d79833981519152611ba681613437565b604051630b406a6d60e21b81526004810183905273__$98aab66687f01439e49ad75e0cf80177a1$__90632d01a9b490602401611526565b60006118b5613558565b600080516020614cb9833981519152611c018133612619565b158015611c165750611c14600033612619565b155b15611c365733604051634f2bbdc160e01b81526004016114e991906143b4565b61191d8383613444565b60006118b5613576565b6001600160a01b0381163314611c735760405163334bd91960e11b815260040160405180910390fd5b611c7d828261359e565b505050565b73__$3eecb354d2e66d731696ed2a6ad16f4e98$__6336db28b36040518163ffffffff1660e01b815260040160006040518083038186803b15801561190957600080fd5b60405163071b1ad160e31b815260009073__$0ce9527368cd8611c82ba5104340dc5716$__906338d8d68890611d029086908690600401614a2e565b602060405180830381865af4158015611d1f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190614b5f565b60006114028383613616565b60006114058261364f565b60006114058261367f565b604051633c8c8f7960e01b815265ffffffffffff8216600482015260009073__$01bad9438ee2dc44a40ff25bef95b76f4f$__90633c8c8f7990602401602060405180830381865af4158015611dbf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114059190614b7c565b6000611def8133612619565b158015611e045750611e02600033612619565b155b15611e245733604051634f2bbdc160e01b81526004016114e991906143b4565b6040516241c19d60e91b815273__$ac38685af835bd8eb36bcfcb5d92d6b288$__906383833a00906115269085906004016143b4565b60006114058261369f565b6000611e7081613437565b604051637d4b948360e01b815273__$ac38685af835bd8eb36bcfcb5d92d6b288$__90637d4b9483906115269085906004016143b4565b600061140283836136ec565b600080516020614d59833981519152611ecc8133612619565b158015611ee15750611edf600033612619565b155b15611f015733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163451e100d60e01b815273__$c736492082575433b719bed8a76c099dbf$__9063451e100d906116699086908690600401614b24565b600080516020614d79833981519152611f538133612619565b158015611f685750611f66600033612619565b155b15611f885733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163453b8b0760e01b81526004810183905273__$44448e0c68a612aa8818defe9fd68968ad$__9063453b8b0790602401611526565b60405163233dccdb60e11b815260009073__$0ce9527368cd8611c82ba5104340dc5716$__9063467b99b690611ffa9085906004016143b4565b602060405180830381865af4158015612017573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114059190614b5f565b6040516324accb8960e11b815273__$3eecb354d2e66d731696ed2a6ad16f4e98$__906349599712906114409084906004016143b4565b60606118b560408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b604051629ca80f60e71b815260009073__$44448e0c68a612aa8818defe9fd68968ad$__90634e540780906120e79085906004016143b4565b602060405180830381865af4158015612104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114059190614a57565b612130613728565b612139826137cf565b61214382826137e7565b5050565b60006118b561389b565b600061215b613413565b805490915060ff600160401b82041615906001600160401b03166000811580156121825750825b90506000826001600160401b0316600114801561219e5750303b155b9050811580156121ac575080155b156121ca5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156121f357845460ff60401b1916600160401b1785555b6121fb6138b0565b6122036138b0565b604051630723217360e31b815273__$ac38685af835bd8eb36bcfcb5d92d6b288$__906339190b989061223a908a90600401614b95565b60006040518083038186803b15801561225257600080fd5b505af4158015612266573d6000803e3d6000fd5b50508751612278925060009150613444565b50612295600080516020614d198339815191528760400151613444565b506122b2600080516020614d598339815191528760200151613444565b506122cf600080516020614cb98339815191528760800151613444565b506122ec600080516020614d798339815191528760600151613444565b50612309600080516020614d998339815191528760c00151613444565b50612326600080516020614db98339815191528760e00151613444565b50612344600080516020614dd9833981519152876101000151613444565b50831561169557845460ff60401b19168555604051600080516020614cf98339815191529061237590600190614b10565b60405180910390a150505050505050565b60006123906138b8565b50600080516020614d3983398151915290565b600080516020614d998339815191526123bc8133612619565b1580156123d157506123cf600033612619565b155b156123f15733604051634f2bbdc160e01b81526004016114e991906143b4565b6040516329bef9db60e11b815273__$44448e0c68a612aa8818defe9fd68968ad$__9063537df3b6906115269085906004016143b4565b600080516020614db983398151915261244081613437565b604051635801b70f60e01b81526001600160a01b0385166004820152602481018490526044810183905273__$01bad9438ee2dc44a40ff25bef95b76f4f$__90635801b70f9060640160006040518083038186803b1580156124a157600080fd5b505af41580156124b5573d6000803e3d6000fd5b5050505050505050565b600061140582613901565b60006118b561392f565b60006118b5613944565b604051631b9a8c1360e21b815260009073__$0ce9527368cd8611c82ba5104340dc5716$__90636e6a304c906115a19086908690600401614a2e565b60006118b5613959565b60006060806000806000606061253861396e565b959d949c50929a50909850965094509092509050565b600061140582613a21565b60006114028383613a4e565b60006114028383613a84565b60006114028383613abd565b600080516020614d998339815191526125968133612619565b1580156125ab57506125a9600033612619565b155b156125cb5733604051634f2bbdc160e01b81526004016114e991906143b4565b604051638ab1d68160e01b815273__$44448e0c68a612aa8818defe9fd68968ad$__90638ab1d681906115269085906004016143b4565b600061260f848484613af6565b90505b9392505050565b600080612624613534565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006118b5613b3a565b600061260f848484613b44565b60405162943e7160e81b815273__$c736492082575433b719bed8a76c099dbf$__9063943e71009061269e9085908590600401614b48565b60006040518083038186803b1580156126b657600080fd5b505af41580156126ca573d6000803e3d6000fd5b50505050611c7d600080516020614d5983398151915282613444565b6000806126f1613b88565b6001015492915050565b600080516020614d798339815191526127148133612619565b1580156127295750612727600033612619565b155b156127495733604051634f2bbdc160e01b81526004016114e991906143b4565b6040516312fb110d60e31b81526004810183905273__$44448e0c68a612aa8818defe9fd68968ad$__906397d8886890602401611526565b60405163989f5fd560e01b815260009073__$44448e0c68a612aa8818defe9fd68968ad$__9063989f5fd5906120e79085906004016143b4565b600080516020614d998339815191526127d48133612619565b1580156127e957506127e7600033612619565b155b156128095733604051634f2bbdc160e01b81526004016114e991906143b4565b604051634d8c928d60e11b815273__$44448e0c68a612aa8818defe9fd68968ad$__90639b19251a906115269085906004016143b4565b604051639b4e735f60e01b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__90639b4e735f90611ffa9085906004016143b4565b600080516020614dd98339815191526128938133612619565b1580156128a857506128a6600033612619565b155b156128c85733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163b6a7eb5560e01b815273__$01bad9438ee2dc44a40ff25bef95b76f4f$__9063b6a7eb55906116699086908690600401614c1f565b600080516020614dd983398151915261291a8133612619565b15801561292f575061292d600033612619565b155b1561294f5733604051634f2bbdc160e01b81526004016114e991906143b4565b604051635132cb6f60e11b81526001600160d01b038316600482015273__$01bad9438ee2dc44a40ff25bef95b76f4f$__9063a26596de90602401611526565b73__$3eecb354d2e66d731696ed2a6ad16f4e98$__63a4d318056040518163ffffffff1660e01b815260040160006040518083038186803b15801561190957600080fd5b60405163a64ad59560e01b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063a64ad59590611ffa9085906004016143b4565b606061140582613bac565b60006118b5613c29565b6000612a2e8133612619565b158015612a435750612a41600033612619565b155b15612a635733604051634f2bbdc160e01b81526004016114e991906143b4565b604051633c6e220160e11b815273__$ac38685af835bd8eb36bcfcb5d92d6b288$__906378dc4402906115269085906004016143b4565b600061140582613c3e565b604051632d22a58d60e21b815273__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063b48a9634906114409084906004016143b4565b60006118b5613c61565b600080516020614db9833981519152612afe81613437565b604051630b7af06960e41b815273__$01bad9438ee2dc44a40ff25bef95b76f4f$__9063b7af0690906116699086908690600401614a2e565b60405163b93501a560e01b815273__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063b93501a59061166990869086908690600401614c3a565b600080516020614dd9833981519152612b8b8133612619565b158015612ba05750612b9e600033612619565b155b15612bc05733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163bb004e9360e01b81526004810183905273__$01bad9438ee2dc44a40ff25bef95b76f4f$__9063bb004e9390602401611526565b60405163bc6237ff60e01b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063bc6237ff90611d029086908690600401614a2e565b600061140582613c76565b6000612c4a81613437565b60405163c60ef11d60e01b815273__$c736492082575433b719bed8a76c099dbf$__9063c60ef11d906115269085906004016143b4565b60405163c791e93760e01b815273__$0ce9527368cd8611c82ba5104340dc5716$__9063c791e9379061166990869086908690600401614c3a565b60006118b56126e6565b6060600061171e83613ca3565b604051630cb156fb60e41b815273__$c736492082575433b719bed8a76c099dbf$__9063cb156fb090612d0a9084906004016143b4565b60006040518083038186803b158015612d2257600080fd5b505af4158015612d36573d6000803e3d6000fd5b50505050612143600080516020614d598339815191528261359e565b6040516307ca491d60e41b815260009073__$98aab66687f01439e49ad75e0cf80177a1$__90637ca491d0906120e7908590600401614c61565b600080516020614d59833981519152612da58133612619565b158015612dba5750612db8600033612619565b155b15612dda5733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163671b8f8360e11b815273__$c736492082575433b719bed8a76c099dbf$__9063ce371f06906116699086908690600401614b24565b600061140582613d41565b604051636875d87760e11b81526001600160a01b038316600482015265ffffffffffff8216602482015260009060609073__$4e217737702f509f729e089778f517e36b$__9063d0ebb0ee90604401600060405180830381865af4158015612e8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612eb29190810190614a86565b915091509250929050565b60405163688a1f9d60e11b815273__$0ce9527368cd8611c82ba5104340dc5716$__9063d1143f3a906114409084906004016143b4565b600080516020614d79833981519152612f0d8133612619565b158015612f225750612f20600033612619565b155b15612f425733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163d2a98f8b60e01b81526004810183905273__$0ce9527368cd8611c82ba5104340dc5716$__9063d2a98f8b90602401611526565b600080516020614cb9833981519152612f938133612619565b158015612fa85750612fa6600033612619565b155b15612fc85733604051634f2bbdc160e01b81526004016114e991906143b4565b61191d838361359e565b600080516020614d79833981519152612fea81613437565b6040516374e046d960e01b815273__$98aab66687f01439e49ad75e0cf80177a1$__906374e046d990611526908590600401614c61565b60006114028383613d6e565b600080516020614cb98339815191526130468133612619565b15801561305b5750613059600033612619565b155b1561307b5733604051634f2bbdc160e01b81526004016114e991906143b4565b604051630dc8debb60e41b815273__$c736492082575433b719bed8a76c099dbf$__9063dc8debb0906130b29085906004016143b4565b60006040518083038186803b1580156130ca57600080fd5b505af41580156130de573d6000803e3d6000fd5b50505050611c7d600080516020614d598339815191528361359e565b60006118b5613da7565b60405163382c8f6d60e21b815273__$0ce9527368cd8611c82ba5104340dc5716$__9063e0b23db4906114409084906004016143b4565b60405163e18c10d360e01b815260009073__$01bad9438ee2dc44a40ff25bef95b76f4f$__9063e18c10d3906131779086908690600401614a2e565b602060405180830381865af4158015613194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190614b7c565b60405163390c941160e21b815260009073__$0ce9527368cd8611c82ba5104340dc5716$__9063e4325044906115a19086908690600401614a2e565b606061140582613dc5565b600080516020614d198339815191526132188133612619565b15801561322d575061322b600033612619565b155b1561324d5733604051634f2bbdc160e01b81526004016114e991906143b4565b60405163ebd695c360e01b81526004810183905273__$c736492082575433b719bed8a76c099dbf$__9063ebd695c390602401611526565b60405163f4079c1f60e01b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063f4079c1f906115a19086908690600401614a2e565b60405163f9561f6760e01b815260009073__$3eecb354d2e66d731696ed2a6ad16f4e98$__9063f9561f6790611d029086908690600401614a2e565b6060600061171e83613e4b565b600080516020614d998339815191526133238133612619565b1580156133385750613336600033612619565b155b156133585733604051634f2bbdc160e01b81526004016114e991906143b4565b604051633e7e4af960e21b815273__$44448e0c68a612aa8818defe9fd68968ad$__9063f9f92be4906115269085906004016143b4565b600061140582613ee7565b600061140582613f18565b6000806133b0613b88565b6000948552602a0160209081526040808620948652939052505090205490565b6000806133db613b88565b6001600160a01b0384166000908152601f82016020526040902090915061340190613f48565b6001600160a01b031615159392505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b6134418133613f8f565b50565b60008061344f613534565b905061345b8484612619565b6134db576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556134913390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050611405565b6000915050611405565b6000806134f0613b88565b600401546001600160a01b031692915050565b60008061350e613b88565b6001600160a01b0384166000908152601782016020526040902090915061340190613f48565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b600080613563613b88565b600301546001600160a01b031692915050565b600080613581613b88565b905061358f81601101613fba565b6001600160d01b031691505090565b6000806135a9613534565b90506135b58484612619565b156134db576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050611405565b600080613621613b88565b6001600160a01b03949094166000908152600e90940160209081526040808620948652939052505090205490565b60008061365a613b88565b6001600160a01b03909316600090815260059093016020525050604090205460ff1690565b60008061368a613b88565b60009384526027016020525050604090205490565b6000806136aa613b88565b905080600b0160008460038111156136c4576136c46148d0565b60038111156136d5576136d56148d0565b815260200190815260200160002054915050919050565b6000806136f7613b88565b6001600160a01b03949094166000908152601490940160209081526040808620948652939052505090205460ff1690565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806137af57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166137a3600080516020614d39833981519152546001600160a01b031690565b6001600160a01b031614155b156137cd5760405163703e46dd60e11b815260040160405180910390fd5b565b600080516020614d1983398151915261214381613437565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613841575060408051601f3d908101601f1916820190925261383e91810190614b7c565b60015b6138605781604051634c9c8ce360e01b81526004016114e991906143b4565b600080516020614d39833981519152811461389157604051632a87526960e21b8152600481018290526024016114e9565b611c7d8383613fea565b6000806138a6613b88565b601d015492915050565b6137cd614040565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146137cd5760405163703e46dd60e11b815260040160405180910390fd5b60008061390c613b88565b6001600160a01b0390931660009081526018909301602052505060409020541590565b60008061393a613b88565b600a015492915050565b60008061394f613b88565b6012015492915050565b600080613964613b88565b6024015492915050565b60006060806000806000606060405180604001604052806012815260200171566542657474657250617373706f7274563560701b815250604051806040016040528060018152602001603160f81b81525046306000801b60006001600160401b038111156139de576139de6143c8565b604051908082528060200260200182016040528015613a07578160200160208202803683370190505b50600f60f81b9d959c50939a509198509650945092509050565b600080613a2c613b88565b6001600160a01b03909316600090815260259093016020525050604090205490565b600080613a59613b88565b6000948552602601602090815260408086206001600160a01b03959095168652939052505090205490565b600080613a8f613b88565b6001600160a01b03949094166000908152602c90940160209081526040808620948652939052505090205490565b600080613ac8613b88565b6001600160a01b03949094166000908152600f90940160209081526040808620948652939052505090205490565b600080613b01613b88565b6001600160a01b038616600090815260109091016020908152604080832087845282528083208684529091529020549150509392505050565b60006118b5614065565b600080613b4f613b88565b6001600160a01b0386166000908152602b9091016020908152604080832087845282528083208684529091529020549150509392505050565b7f273c9387b78d9b22e6f3371bb3aa3a918f53507e8cacc54e4831933cbb84410090565b60606000613bb8613b88565b6001600160a01b03841660009081526015820160209081526040918290208054835181840281018401909452808452939450919290830182828015613c1c57602002820191906000526020600020905b815481526020019060010190808311613c08575b5050505050915050919050565b600080613c34613b88565b6013015492915050565b600080613c49613b88565b6000938452600c016020525050604090205460ff1690565b600080613c6c613b88565b6009015492915050565b600080613c81613b88565b6001600160a01b03909316600090815260239093016020525050604090205490565b6060600080613cb0613b88565b6001600160a01b03808616600090815260218301602090815260408083206022860183529281902054835482518185028101850190935280835295965092949290931692918491830182828015613d3057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613d12575b505050505091509250925050915091565b600080613d4c613b88565b6001600160a01b039093166000908152600d9093016020525050604090205490565b600080613d79613b88565b6001600160a01b03949094166000908152602990940160209081526040808620948652939052505090205490565b600080613db2613b88565b600201546001600160a01b031692915050565b60606000613dd1613b88565b6001600160a01b03841660009081526019820160209081526040918290208054835181840281018401909452808452939450919290830182828015613c1c57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613e21575050505050915050919050565b6060600080613e58613b88565b6001600160a01b038086166000908152601b830160209081526040808320601c860183529281902054835482518185028101850190935280835295965092949290931692918491830182828015613d30576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311613d1257505050505091509250925050915091565b600080613ef2613b88565b6001600160a01b0384166000908152601e82016020526040902090915061340190613f48565b600080613f23613b88565b6001600160a01b03909316600090815260069093016020525050604090205460ff1690565b80546000908015613f8657613f7083613f62600184614c7b565b600091825260209091200190565b54600160601b90046001600160a01b0316612612565b60009392505050565b613f998282612619565b61214357808260405163e2517d3f60e01b81526004016114e9929190614a2e565b80546000908015613f8657613fd483613f62600184614c7b565b54600160301b90046001600160d01b0316612612565b613ff382614070565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561403857611c7d82826140cc565b612143614142565b614048614161565b6137cd57604051631afcd79f60e31b815260040160405180910390fd5b60006118b54361417b565b806001600160a01b03163b60000361409d5780604051634c9c8ce360e01b81526004016114e991906143b4565b600080516020614d3983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516140e99190614c9c565b600060405180830381855af49150503d8060008114614124576040519150601f19603f3d011682016040523d82523d6000602084013e614129565b606091505b50915091506141398583836141b2565b95945050505050565b34156137cd5760405163b398979f60e01b815260040160405180910390fd5b600061416b613413565b54600160401b900460ff16919050565b600065ffffffffffff8211156141ae576040516306dfcc6560e41b815260306004820152602481018390526044016114e9565b5090565b6060826141c7576141c282614205565b612612565b81511580156141de57506001600160a01b0384163b155b156141fe5783604051639996b31560e01b81526004016114e991906143b4565b5080612612565b8051156142155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6000806040838503121561424157600080fd5b50508035926020909101359150565b6001600160a01b038116811461344157600080fd5b803561427081614250565b919050565b60006020828403121561428757600080fd5b813561261281614250565b6000602082840312156142a457600080fd5b81356001600160e01b03198116811461261257600080fd5b6000602082840312156142ce57600080fd5b5035919050565b600080604083850312156142e857600080fd5b82356142f381614250565b946020939093013593505050565b80356004811061427057600080fd5b6000806040838503121561432357600080fd5b8235915061433360208401614301565b90509250929050565b60005b8381101561435757818101518382015260200161433f565b50506000910152565b6000815180845261437881602086016020860161433c565b601f01601f19169290920160200192915050565b821515815260406020820152600061260f6040830184614360565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60405161014081016001600160401b0381118282101715614401576144016143c8565b60405290565b604051601f8201601f191681016001600160401b038111828210171561442f5761442f6143c8565b604052919050565b60006001600160401b03821115614450576144506143c8565b50601f01601f191660200190565b600061447161446c84614437565b614407565b905082815283838301111561448557600080fd5b828260208301376000602084830101529392505050565b600080604083850312156144af57600080fd5b82356144ba81614250565b915060208301356001600160401b038111156144d557600080fd5b8301601f810185136144e657600080fd5b6144f58582356020840161445e565b9150509250929050565b6000806040838503121561451257600080fd5b82359150602083013561452481614250565b809150509250929050565b803565ffffffffffff8116811461427057600080fd5b60006020828403121561455757600080fd5b6114028261452f565b60006020828403121561457257600080fd5b61140282614301565b6020815260006114026020830184614360565b600082601f83011261459f57600080fd5b6114028383356020850161445e565b600080604083850312156145c157600080fd5b82356145cc81614250565b915060208301356001600160401b038111156145e757600080fd5b6144f58582860161458e565b6000610140828403121561460657600080fd5b61460e6143de565b905061461982614265565b815261462760208301614265565b602082015261463860408301614265565b604082015261464960608301614265565b606082015261465a60808301614265565b608082015261466b60a08301614265565b60a082015261467c60c08301614265565b60c082015261468d60e08301614265565b60e08201526101006146a0818401614265565b908201526101206146b2838201614265565b9082015292915050565b6000808284036102808112156146d157600080fd5b610140808212156146e157600080fd5b6146e96143de565b91506146f485614265565b825261470260208601614265565b602083015261471360408601614265565b6040830152606085013560608301526080850135608083015260a085013560a083015260c085013560c083015260e085013560e0830152610100808601358184015250610120808601358184015250819350614771868287016145f3565b925050509250929050565b60008060006060848603121561479157600080fd5b833561479c81614250565b95602085013595506040909401359392505050565b60ff60f81b881681526000602060e0818401526147d160e084018a614360565b83810360408501526147e3818a614360565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561483557835183529284019291840191600101614819565b50909c9b505050505050505050505050565b6000806040838503121561485a57600080fd5b6142f383614301565b60006020828403121561487557600080fd5b81356001600160d01b038116811461261257600080fd5b6020808252825182820181905260009190848201906040850190845b818110156148c4578351835292840192918401916001016148a8565b50909695505050505050565b634e487b7160e01b600052602160045260246000fd5b600481106148f6576148f66148d0565b9052565b6020810161140582846148e6565b60008060006060848603121561491d57600080fd5b833561492881614250565b92506020840135915060408401356001600160401b0381111561494a57600080fd5b6149568682870161458e565b9150509250925092565b600081518084526020808501945080840160005b838110156149995781516001600160a01b031687529582019590820190600101614974565b509495945050505050565b6040815260006149b76040830185614960565b905060018060a01b03831660208301529392505050565b6000602082840312156149e057600080fd5b81356006811061261257600080fd5b60008060408385031215614a0257600080fd5b8235614a0d81614250565b91506143336020840161452f565b6020815260006114026020830184614960565b6001600160a01b03929092168252602082015260400190565b8051801515811461427057600080fd5b600060208284031215614a6957600080fd5b61140282614a47565b8281526040810161261260208301846148e6565b60008060408385031215614a9957600080fd5b614aa283614a47565b60208401519092506001600160401b03811115614abe57600080fd5b8301601f81018513614acf57600080fd5b8051614add61446c82614437565b818152866020838501011115614af257600080fd5b614b0382602083016020860161433c565b8093505050509250929050565b6001600160401b0391909116815260200190565b6001600160a01b038316815260406020820181905260009061260f90830184614360565b9182526001600160a01b0316602082015260400190565b600060208284031215614b7157600080fd5b815161261281614250565b600060208284031215614b8e57600080fd5b5051919050565b600061014082019050614ba98284516143a7565b6020830151614bbb60208401826143a7565b506040830151614bce60408401826143a7565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525092915050565b60408101614c2d82856148e6565b8260208301529392505050565b60018060a01b03841681528260208201526060604082015260006141396060830184614360565b6020810160068310614c7557614c756148d0565b91905290565b8181038181111561140557634e487b7160e01b600052601160045260246000fd5b60008251614cae81846020870161433c565b919091019291505056fea2328fc90c90feb8f254e41caa67a90952094a7c9c879c5eb4f2088aaecb4ae8ac58be8a321c2206f40fa040e0bfbe81fe4f1915b764a1a014733153b88bdbc4c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca4ce4aad7fca001529f4aae69bf669c4020e0aaa65ff85dc9f7b13c20e01624adfc0438b5754beb343462ff330f73266ff7457fdf879dfb68c958ccbe15765f38619cecd8b9e095ab43867f5b69d492180450fe862e6b50bfbfb24b75dd84c8a8593847a64af02e2c08b9075e3efde9fd32eb3ff59614cee8a349147abaf4870871b548319d0d53ee45b68fe2655a151a3b31b6371a6e2c04597200a2ca54474a2646970667358221220e374ed5f0af4410e8709b948f325f5d53642c613b57b4116d6398e3f6768d7fd64736f6c63430008140033",
  "linkReferences": {
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportChecksLogicV5.sol": {
      "PassportChecksLogicV5": [
        {
          "length": 20,
          "start": 7360
        },
        {
          "length": 20,
          "start": 11880
        },
        {
          "length": 20,
          "start": 12541
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportConfiguratorV5.sol": {
      "PassportConfiguratorV5": [
        {
          "length": 20,
          "start": 7990
        },
        {
          "length": 20,
          "start": 8067
        },
        {
          "length": 20,
          "start": 8982
        },
        {
          "length": 20,
          "start": 11126
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportDelegationLogicV5.sol": {
      "PassportDelegationLogicV5": [
        {
          "length": 20,
          "start": 5755
        },
        {
          "length": 20,
          "start": 7274
        },
        {
          "length": 20,
          "start": 7560
        },
        {
          "length": 20,
          "start": 8526
        },
        {
          "length": 20,
          "start": 10582
        },
        {
          "length": 20,
          "start": 10901
        },
        {
          "length": 20,
          "start": 10985
        },
        {
          "length": 20,
          "start": 11192
        },
        {
          "length": 20,
          "start": 11338
        },
        {
          "length": 20,
          "start": 11534
        },
        {
          "length": 20,
          "start": 13211
        },
        {
          "length": 20,
          "start": 13271
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportEntityLogicV5.sol": {
      "PassportEntityLogicV5": [
        {
          "length": 20,
          "start": 5405
        },
        {
          "length": 20,
          "start": 6535
        },
        {
          "length": 20,
          "start": 6603
        },
        {
          "length": 20,
          "start": 7644
        },
        {
          "length": 20,
          "start": 8406
        },
        {
          "length": 20,
          "start": 9716
        },
        {
          "length": 20,
          "start": 11668
        },
        {
          "length": 20,
          "start": 12240
        },
        {
          "length": 20,
          "start": 12380
        },
        {
          "length": 20,
          "start": 12823
        },
        {
          "length": 20,
          "start": 13006
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportPersonhoodLogicV5.sol": {
      "PassportPersonhoodLogicV5": [
        {
          "length": 20,
          "start": 6056
        },
        {
          "length": 20,
          "start": 12116
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportPoPScoreLogicV5.sol": {
      "PassportPoPScoreLogicV5": [
        {
          "length": 20,
          "start": 5644
        },
        {
          "length": 20,
          "start": 5955
        },
        {
          "length": 20,
          "start": 7817
        },
        {
          "length": 20,
          "start": 9584
        },
        {
          "length": 20,
          "start": 10715
        },
        {
          "length": 20,
          "start": 10865
        },
        {
          "length": 20,
          "start": 11281
        },
        {
          "length": 20,
          "start": 11482
        },
        {
          "length": 20,
          "start": 12881
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportSignalingLogicV5.sol": {
      "PassportSignalingLogicV5": [
        {
          "length": 20,
          "start": 6978
        },
        {
          "length": 20,
          "start": 7145
        },
        {
          "length": 20,
          "start": 8212
        },
        {
          "length": 20,
          "start": 10104
        },
        {
          "length": 20,
          "start": 11613
        },
        {
          "length": 20,
          "start": 11750
        },
        {
          "length": 20,
          "start": 12013
        },
        {
          "length": 20,
          "start": 12686
        },
        {
          "length": 20,
          "start": 13159
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportWhitelistAndBlacklistLogicV5.sol": {
      "PassportWhitelistAndBlacklistLogicV5": [
        {
          "length": 20,
          "start": 8354
        },
        {
          "length": 20,
          "start": 8643
        },
        {
          "length": 20,
          "start": 9476
        },
        {
          "length": 20,
          "start": 9950
        },
        {
          "length": 20,
          "start": 10339
        },
        {
          "length": 20,
          "start": 10391
        },
        {
          "length": 20,
          "start": 10524
        },
        {
          "length": 20,
          "start": 13419
        }
      ]
    }
  },
  "deployedLinkReferences": {
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportChecksLogicV5.sol": {
      "PassportChecksLogicV5": [
        {
          "length": 20,
          "start": 7100
        },
        {
          "length": 20,
          "start": 11620
        },
        {
          "length": 20,
          "start": 12281
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportConfiguratorV5.sol": {
      "PassportConfiguratorV5": [
        {
          "length": 20,
          "start": 7730
        },
        {
          "length": 20,
          "start": 7807
        },
        {
          "length": 20,
          "start": 8722
        },
        {
          "length": 20,
          "start": 10866
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportDelegationLogicV5.sol": {
      "PassportDelegationLogicV5": [
        {
          "length": 20,
          "start": 5495
        },
        {
          "length": 20,
          "start": 7014
        },
        {
          "length": 20,
          "start": 7300
        },
        {
          "length": 20,
          "start": 8266
        },
        {
          "length": 20,
          "start": 10322
        },
        {
          "length": 20,
          "start": 10641
        },
        {
          "length": 20,
          "start": 10725
        },
        {
          "length": 20,
          "start": 10932
        },
        {
          "length": 20,
          "start": 11078
        },
        {
          "length": 20,
          "start": 11274
        },
        {
          "length": 20,
          "start": 12951
        },
        {
          "length": 20,
          "start": 13011
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportEntityLogicV5.sol": {
      "PassportEntityLogicV5": [
        {
          "length": 20,
          "start": 5145
        },
        {
          "length": 20,
          "start": 6275
        },
        {
          "length": 20,
          "start": 6343
        },
        {
          "length": 20,
          "start": 7384
        },
        {
          "length": 20,
          "start": 8146
        },
        {
          "length": 20,
          "start": 9456
        },
        {
          "length": 20,
          "start": 11408
        },
        {
          "length": 20,
          "start": 11980
        },
        {
          "length": 20,
          "start": 12120
        },
        {
          "length": 20,
          "start": 12563
        },
        {
          "length": 20,
          "start": 12746
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportPersonhoodLogicV5.sol": {
      "PassportPersonhoodLogicV5": [
        {
          "length": 20,
          "start": 5796
        },
        {
          "length": 20,
          "start": 11856
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportPoPScoreLogicV5.sol": {
      "PassportPoPScoreLogicV5": [
        {
          "length": 20,
          "start": 5384
        },
        {
          "length": 20,
          "start": 5695
        },
        {
          "length": 20,
          "start": 7557
        },
        {
          "length": 20,
          "start": 9324
        },
        {
          "length": 20,
          "start": 10455
        },
        {
          "length": 20,
          "start": 10605
        },
        {
          "length": 20,
          "start": 11021
        },
        {
          "length": 20,
          "start": 11222
        },
        {
          "length": 20,
          "start": 12621
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportSignalingLogicV5.sol": {
      "PassportSignalingLogicV5": [
        {
          "length": 20,
          "start": 6718
        },
        {
          "length": 20,
          "start": 6885
        },
        {
          "length": 20,
          "start": 7952
        },
        {
          "length": 20,
          "start": 9844
        },
        {
          "length": 20,
          "start": 11353
        },
        {
          "length": 20,
          "start": 11490
        },
        {
          "length": 20,
          "start": 11753
        },
        {
          "length": 20,
          "start": 12426
        },
        {
          "length": 20,
          "start": 12899
        }
      ]
    },
    "contracts/deprecated/V5/ve-better-passport/libraries/PassportWhitelistAndBlacklistLogicV5.sol": {
      "PassportWhitelistAndBlacklistLogicV5": [
        {
          "length": 20,
          "start": 8094
        },
        {
          "length": 20,
          "start": 8383
        },
        {
          "length": 20,
          "start": 9216
        },
        {
          "length": 20,
          "start": 9690
        },
        {
          "length": 20,
          "start": 10079
        },
        {
          "length": 20,
          "start": 10131
        },
        {
          "length": 20,
          "start": 10264
        },
        {
          "length": 20,
          "start": 13159
        }
      ]
    }
  }
}